@dodiameer/md2pages

    1.0.2 • Public • Published

    md2pages

    A basic SSG that turns Markdown to HTML pages. It uses md2html, another package I made that wraps around remark and gray-matter, to generate HTML, and then replaces placeholders in a template with the generated HTML and (optional) YAML front-matter data.

    Usage

    Usage is very simple, as currently it only has one function. Once more functionality is added, there will be a documentation page.

    Javascript

    const md2pages = require("@dodiameer/md2pages");
    const fs = require("fs");
    /* HTML Template Can be a multiline string with backticks (`...`)
     * or an output of fs.readFile() (or fs.readFileSync). I.E as long
     * as you pass a string it should be okay
     */
    const htmlTemplate = fs.readFileSync("path/to/template.html"); // Or a multiline string  
    md2pages.generateHTML(inputDirectory, outputDirectory, {
        htmlTemplate: htmlTemplate
    });

    If no template is provided, it will default to a simple template with the content inside an <article/>.

    HTML template

    <html>
        <head>
            <!-- Anything inside {curly brackets} is considered YAML front-matter data -->
            <title>{title}</title>
            <!-- Here, {title} will be replaced with the title defined in YAML front-matter -->
        </head>
        <body>
            <article>
                <h1>{title}</h1>
                <h2>Author: {author}</h2>
                {{html}}
                <!-- 
                    {{html}} is where the generated HTML will be placed. If omitted, generated HTML will not be output. NOTE: this is the only tag with double curly brackets
                -->
            </article>
        </body>
    </html>

    Note: currently, YAMl front-matter support only works with strings and numbers, meaning you can't use lists or objects. However, there are plans to support this in the near future.

    Contributors

    • dodiameer (Me)

    Note that currently, I'm the only one working on this and I'm just a hobbyist with no work experience. Some code will run badly and have unexpected bugs (features?). I don't recommend using this in a project other than a simple project or a project where you don't mind messy code in your libraries, until I either have proper knowledge or someone with me to give me some guidance. If you do decide to use this or even just give it a try, please tell me what you think. Your advice is priceless and will always be welcome.

    Thanks for reading ^__^.

    Install

    npm i @dodiameer/md2pages

    DownloadsWeekly Downloads

    5

    Version

    1.0.2

    License

    GPL-3.0-or-later

    Unpacked Size

    37.4 kB

    Total Files

    8

    Last publish

    Collaborators

    • dodiameer