An open, collaborative home for several courses in one site – inside or outside your LMS, with content in portable Markdown files you control.
Try the demo
A free, open-source alternative to Grav Helios Course Hub, built on Grav CMS and the Bootstrap4 Open Matter theme, with Markdown file-based content, a built-in Admin panel, and no database required. Helios Course Hub, built on the premium Helios theme, adds a more refined design, a table of contents on pages, automatic single or multi-course setup, and Common Cartridge import from Canvas or another LMS.
Open MultiCourse Hub – Courses homepage (left) and a course homepage (right)
A complete, pre-configured package that gives several courses an open and collaborative home in a single site, inside or outside your LMS. Each course has its own pages, header image, sidebar, and footer, and content can also be shared between courses. Content is stored as simple Markdown files you can keep locally, with a built-in Admin panel for browser-based editing and no database required. Runs on nearly any web hosting service.
- Several courses, one site – a homepage of course cards, with each course getting its own navigation, header image, sidebar, footer, NavBar colour, and favicon
- Share content between courses – reuse any page or section across courses with the included Page Inject plugin
- LMS embedding without LTI – add
/chromeless:trueor?embedded=trueto any page URL to show only its content, or display the whole site without its menu, sidebar, and footer - Open authoring built in – Git Sync keeps the site in step with GitHub or a similar Git service, with "Edit this Page" links to each page's Markdown source
- A course-ready structure – weekly units listed newest first, "What's Happening This Week" reminders, plus schedule, resources, and syllabus pages in every course
- Rich embeds – Google Slides, H5P, PDF, iFrame, Embedly, and link preview cards, plus badges and buttons, all with shortcodes, and GitHub-style alerts (
> [!NOTE]) for callouts - Course content shortcodes – learning objectives, key takeaways, reflections, definitions, examples, case studies, references, and more, with the same shortcodes as Grav Helios Course Hub
- Course search – search the current course from its sidebar (an all-courses box can be added to the homepage)
- Visual styles – 2026 Refresh or Classic, with optional Dark Mode
- Portable by design – your content is plain Markdown files on your server, ready to move to any tool or host if your needs change
Grav Open MultiCourse Hub is a good fit when you:
- Want lightweight, open companion sites for several courses, managed in one installation
- Want each course to have its own look – header image, sidebar, footer, NavBar colour, and favicon
- Value Git-based, open authoring of course materials
- Prefer a simple Bootstrap look you can adjust through theme options
Other options might be better when you:
- Want a structured course site with a table of contents on pages, a more refined design, and Common Cartridge import from Canvas or another LMS – consider Grav Helios Course Hub, built on the premium Helios theme
- Have only one course – the Grav Open Course Hub is a simpler starting point
- Want a guide or open textbook-style resource alongside a blog, rather than weekly course companions – consider Grav Open Publishing Space
- Need real LMS features such as enrollment, grading, or student progress tracking
Already running Open MultiCourse Hub? See moving to Grav Helios Course Hub for step-by-step migration guidance. Content using the shared shortcodes (including [topics] and the course content shortcodes), GitHub-style alerts, and course card fields moves across unchanged.
Open MultiCourse Hub is best suited for authors and educators comfortable with web hosting and folder-based content. An online Admin panel is included for browser-based editing – no code editor required.
- Confirm your web server meets Grav's requirements (PHP 8.3 or higher, or PHP 8.0.2 or higher for the Grav 1.7 version)
- Have your web server login credentials ready (username and password)
- Download the Open MultiCourse Hub Skeleton package (a Grav 1.7 version is also available on the release page)
- Unzip the package onto your desktop
- Copy the entire Grav Open MultiCourse Hub folder to your web server
- Open your browser and go to your site's URL
- Create your site administrator account when prompted
- You're done! – press the preview icon in the Admin Panel to view your site
Tip
When copying the Grav Open MultiCourse Hub folder to your web server, copy the entire folder – it contains hidden files (such as .htaccess) that are not selected by default. Omitting these hidden files can cause problems when running Grav.
- Site name and description – in the Admin Panel under Configuration → Site
- Courses homepage – the Home page shows a card for each course; edit its welcome text, and set the card width and order in its page options. Each card uses its course's header image
- Courses – each course is a top-level folder (
cpt363-basic,cpt363-intermediate,cpt363-advanced) with its own Home, Schedule, Resources, and Syllabus pages. In the course's page options, set its title, card title and description, instructor, badge, group heading, and card image, whether it appears on the homepage, its home page, and its NavBar background colour - Adding a course – copy an existing course folder and rename it, or use Pages → Add with the Subsite page type (or the Course page type, which uses a
course.mdfile as in Grav Helios Course Hub) - Course-specific parts – each course has its own
sidebar,footer, andheaderimagepages, and an optionalfaviconpage; when a course leaves one out, the site-wide version is used - Within each course – weekly units, reminders, and pages work as in the Grav Open Course Hub
- Sharing content – include any page in another course with
[plugin:page-inject](/cpt363-basic/resources) - Look and options – under Themes → My Theme: Theme Style, Dark Mode, NavBar, chromeless site, and Creative Commons license (see the Bootstrap4 Open Matter README for all options)
- LMS embedding – add
/chromeless:trueor?embedded=trueto any page URL, for example/cpt363-basic/home/chromeless:true; each course'slms-homepage shows just that course's reminders and preparations, ready to embed - Git Sync and "Edit this Page" – set up the Git Sync plugin in the Admin Panel, then choose where the link appears and whether it views or edits the source in the theme's Git Sync Link options; add
?edit_link=falseto a page URL to hide the link on that page - Callouts – start a blockquote with
> [!NOTE],> [!TIP],> [!IMPORTANT],> [!WARNING], or> [!CAUTION]; thecpt363-intermediateHome page's announcement shows an example - Course content shortcodes – wrap content in
[objectives],[key-takeaways],[reflection],[definition],[example],[case-study],[project-brief],[process-note],[feedback-requested],[announcement],[exercise],[references], or[excerpt]; see Week 1 ofcpt363-advancedfor[objectives]and[references] - Topics index – wrap a list of
## A,## B, … sections in[topics]...[/topics]for an automatic A–Z index; seecpt363-advanced/topics - Search – the SimpleSearch plugin is included; to keep a page out of results, add
simplesearch: process: falseto its frontmatter (each course'slms-homepage does this)
- PHP >= 8.3 (or >= 8.0.2 for the Grav 1.7 version)
- Grav CMS 2.0 (included in the package), or Grav CMS 1.7 in the Grav 1.7 version
- Share your feedback in the Open Course Hub Survey
- Follow @hibbittsdesign@mastodon.social on Mastodon for updates
- 👩🏻💻🧑🏻💻 Join the Grav Discord and often find me there
- Add a ⭐️ star on GitHub to the Open MultiCourse Hub project repository
- For bugs or feature requests, open an issue on GitHub
By leveraging his extensive UX design expertise and systems-oriented approach, Paul helps teams and individuals utilize open content in education and publication settings. Professional services include user experience and workflow consulting, premium support subscriptions, workshops, and custom development. Interested? Send a note to paul@hibbittsdesign.org.
MIT – Hibbitts Design

