Skip to content

thin Docsify plugin to support templating languages on Docsify

License

Notifications You must be signed in to change notification settings

dwiyanr/docsify-templating

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

docsify-templating

A thin Docsify plugin to support templating languages on Docsify markdown. Heavily inspired by docsify-mustache.

Installation

Add the following script into docsify document:

<script src="//unpkg.com/docsify-templating/dist/docsify-templating.min.js"></script>

Usage

Using handlebars

Docsify configuration:

<!-- Need template engine to be added to the html, this example use Handlebars -->
<script src="//unpkg.com/handlebars/dist/handlebars.min.js"></script>
<script >
    window.$docsify = {
      // ...
      templating: {
        render: (content, data) => Handlebars.compile(content)(data),
        data: {
          from: "me",
          to: "World"
        }
      }
    };
</script>

Markdown File:

Hello {{to}}!
Greetings from {{from}}.

Rendered Markdown:

Hello World!
Greetings from me.

Using function as data

Docsify configuration:

window.$docsify = {
  // ...
  templating: {
    render: renderFun,
    data: {
      fetchFunction: async () =>
        JSON.parse(await Docsify.get("resource/data.json"))
    }
  }
};

Data file resource/data.json

{
  "from": "me",
  "to": "world"
}

Markdown File:

Hello {{fetchFunction.to}}!
Greetings from {{fetchFunction.from}}.

Rendered Markdown:

Hello World!
Greetings from me.

Options

Docsify template configuration options

templating.data

object

The data to be used to render the template. By default, it is an empty object. The object can be a nested one. The first level of data can be a function that returns the value that wants to be used. This can be used to fetch the data from external sources or separate docsify resource.

templating.render

function(markdown_template, data) => string

A render function that accepts docsify markdown content as the template and the data that specified on templating.data.

About

thin Docsify plugin to support templating languages on Docsify

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published