Hoping for ability to import/sync Markdown (.md) from GitHub into new/existing courses

Hoping there is a way to create course module content (HTML it appears) from raw GitHub markdown maintained in an open source repo. We can currently create GitBooks and similar HTML content and allow our community to maintain the raw markdown source together as features are added or change over time. Is such a function possible? Initially, just import of .md to .html would be extremely helpful and then hoping for a future “sync” we could run and pull (rebuild html) from the github source repo. Any help in this direction would be appreciated and likely save weeks of effort creating several courses initially and simplify long term maint. which can be spread to the contribs/committers on our open source project…

Hi @mrutkowski,

What you are saying it possible if you create a script that converts the current markdown structure into a course structure that can be imported into the platform.

You create a script in the language of your choice that:

  • reads the current gitbook/markdown structure and extracts a course structure out of it with sections, subsections, units and content blocks.
  • Each block of HTML content can be put in an HTML block.
  • The HTML content can be rendered using a markdown-to-html library
  • Internal links can be modified to follow the URL structure of edx-platform.

Note that the internal link modification could be implemented as a plugin to the markdown converter. Python-Markdown for instance supports such plugins. GitBook itself might support the creation of plugins that simplify this, I am not familiar with it but it does seem to support plugins.

This is likely to take a bit of effort but will eventually allow automating the GitBook/markdown to course conversion process. You can read more about course imports/exports here and can see a sample XML importable demo course here.