Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including markdown-elearnjs with all npm packages installed. Try it out:

var markdownElearnjs = require("markdown-elearnjs")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

markdown-elearnjs v1.7.3

Simple markdown conversion to elearn.js based HTML and PDF.

markdown-elearnjs

Build Status npm Test Status Test Coverage

markdown-elearnjs is a node.js package for simple markdown conversion to elearn.js based HTML and PDF. It is used for example by atom-elearnjs.

If you want to create your own conversion tool, this library will do all the actual conversion work so you can focus on the UI and additional features.

Installation

Use the following

npm install --save markdown-elearnjs

Usage

Insert this into your file

const MarkdownElearnJS = require('markdown-elearnjs');

or you can import the components you need directly

import {
    HtmlConverter,
    PdfConverter,
    ExtensionManager,
    FileExtractor,
    FileExtractorObject
} from 'markdown-elearnjs';

Conversion

To convert some markdown code to Html you can simply use

var htmlConverter = new MarkdownElearnJS.HtmlConverter();

htmlConverter.toFile(markdown, filePath, rootPath).then((filename) => {
    console.log(filename);
}, err => console.error(err));

htmlConverter.toHtml(markdown).then((html) => {
    console.log(html);
}, err => console.error(err));

Or for Pdf conversion

var pdfConverter = new MarkdownElearnJS.PdfConverter();

// save as file
pdfConverter.toFile(markdown, filePath, rootPath).then((filename) => {
    console.log(filename);
}, err => console.error(err));

//get a buffer
pdfConverter.toBuffer(markdown, rootPath).then((buffer) => {
    // do something with the buffer
}, err => console.error(err));

// only the html if you want to use your own render framework
pdfConverter.toHtml(markdown).then((html) => {
    console.log(html);
}, err => console.error(err));

You can also use conversion options in each function call and specific converter settings. Check the wiki pages.

Additional Features

The package does not only support the markdown conversion but also additional features like elearn.js extension detection, assets export and extraction of linked files. For more information on this check the wiki pages.

Known Issues

  • All platforms:
    • PDF output might be slow
      • consider keeping Chrome alive for multiple PDF exports (check settings)

Credits

  • elearn.js based for output scripts and styles.
  • Showdown used for Markdown to HTML conversion.
  • Puppeteer used for HTML to PDF conversion.

License

markdown-elearnjs is developed by dl.min of Universität Hamburg.

The software is using MIT-License.

cc-by Michael Heinecke, Arne Westphal, dl.min, Universität Hamburg

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free