This is an umbrella project for centralizing access to various self-contained educational units from different domains, like software engineering, parallel and distributed computing, computer science, etc. The key benefits from this approach are as follows:
Centralized Overview: An umbrella project allows visitors to see all linked projects in one place, making it easier to navigate and understand the scope of each individual learning material.
Increased Visibility: GitHub limits the number of pinned repositories to 6, so this approach allows for more projects to be highlighted.
Simplified Maintenance: Updating information or adding new projects becomes more streamlined when managed through a single repository.
Community Contributions: This project is open for contributions from the community. If you have a self-contained educational unit that you would like to share, please consider contributing it to this project. Read the Contributors' Guide for details.
Independent Evolution: Subprojects may evolve independently of their container website. This is particularly useful when the subprojects are maintained by different authors or teams (in case people decide to contribute their unit(s) to this project).
Self-Referencing Property: This project is itself an educational unit, showcasing how to organize and present subordinate educational materials in a structured manner. More specifically, technologies like Jekyll, GitHub Pages, and Markdown are used to create a website that lists all linked projects. The custom subdomain for this site was obtained via the dnsimple service.
The GitHub Pages based website for this project contains a list of all the linked projects, along with a brief description and a link to the respective repository. The website is accessible by following the link displayed in the right sidebar of this repository.
Since this site is also an educational unit, it has its own learning objectives. By exploring this site, you will learn how to:
_config.yml
file to define site-wide settings. The theme used in this project is Architect.An educational unit is a self-contained piece of educational material that can be used to learn a specific topic or skill. It can be a demo application, tutorial, a course, a workshop, a blog, a video series, etc. The key characteristics of an educational unit are as follows:
The accompanying website contains a collection of educational units that complement each other with minimal overlap. Educational units may be used both by teachers and students, although the primary focus is on self-learning. The units are organized by domain, and each domain may contain multiple educational units.
The UI is designed to be simple and intuitive. The main page contains a selection box with currently available domains (the All Domains option is chosen by default). The rest of the home page lists all educational units filtered by domain. Each educational unit is represented as a clickable card that will open the respective repository in a new tab.
The whole website project is situated inside the docs
folder. It uses Jekyll with some customizations. The card definitions are located in the _data/projects.yml
file. The structure of this file is self-explanatory, as it already contains many examples.
You have witnessed the power of an umbrella project that centralizes access to various self-contained educational units from different domains. This approach allows for increased visibility, simplified maintenance, and community contributions. Exploring the content of the docs
folder (this is the specified source for the GitHub Pages) you were able to fathom relevant details how the Jekyll, Liquid and GitHub Pages technology stack operates as well as how to customize the appearance of the site using a custom theme. You also learned how to produce a GitHub social media preview image for a project with Microsoft Designer.