express-docs-block

    0.1.3 • Public • Published

    express-docs-block

    npm version

    -> See a Demo

    An Express (4.0+) middleware to generate a documentation page written in markdown.

    Features

    • Beautiful and simple doc page
    • Menu auto generated in Sidebar
    • Highlight code by default
    • Shipped with simple CSS theme
    • Integrated in your EJS
    • Fuzzy search
    • Home Page to showcase all articles

    It's designed to be extremely simple to use:

    • Write doc articles as markdown files
    • Add the middleware to the /docs routes
    • include the generated template in your ejs

    Usage

    Add your pages as markdown files under a /docs folder.

    Install the library

    npm install express-docs-block

    The items array of object contains your documentation menu, with respect to the order.

    An item can either be type: 'title' or type: 'doc'. Titles are used to define sections (like "API reference", "Guides", ...)

    const docs = require('express-docs-block')({
        folder: 'docs/',
        items: [{
            type: 'title',
            name: 'Deployment guides'
        }, {
            type: 'doc',
            id: 'node',
            name: 'Node.js'
        }, {
            type: 'title',
            name: 'Options'
        }, {
            type: 'doc',
            name: 'Advanced',
            id: 'advanced'
        }, {
            type: 'doc',
            name: 'Custom domain',
            id: 'domain'
        }]
    })
     
    app.get("/docs", docs, (req, res, next) => {
        res.render("views/docs")
    })
     
    app.get("/docs/:page", docs, (req, res, next) => {
        res.render("views/docs")
    })
     

    The middleware will pass res.locals.pageHtml variable that contains your documentation page (menu & content with basic CSS) so it's directly accessible in your template.

    It's super easy to add in your docs.ejs view:

    ...
    <body>
        <h1>A really great doc page</h1>
     
        <%- pageHtml %>
     
        <footer>Copyright...</footer>
    </body>
    ...

    Keywords

    none

    Install

    npm i express-docs-block

    DownloadsWeekly Downloads

    0

    Version

    0.1.3

    License

    ISC

    Unpacked Size

    9.11 kB

    Total Files

    5

    Last publish

    Collaborators

    • vincelwt