gm

grunt-mkdocs

Grunt plugin generating documentation web site from Markdown sources using mkdocs

Showing:

Popularity

Downloads/wk

23

GitHub Stars

2

Maintenance

Last Commit

3yrs ago

Contributors

2

Package

Dependencies

0

License

Type Definitions

Tree-Shakeable

No?

Categories

Readme

grunt-mkdocs

NPM version Build Status Coverage Status Dependency Status devDependency Status devDependency Status Code Climate Codacy Badge Built with Grunt

NPM Downloads

Grunt plugin generating documentation web site from Markdown sources using mkdocs

Getting Started

You need node >= 0.8, npm and grunt >= 0.4 installed and your project build managed by a Gruntfile with the necessary modules listed in package.json. If you haven't used Grunt before, be sure to check out the [Getting Started] guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

$ npm install grunt-mkdocs --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-mkdocs');

The "mkdocs" tool

This plugin depends on the mkdocs documentation web site generator, which can produce HTML files and other assets suitable for upload to the Read The Docs web site. You must install it before you build the documentation.

You need Python and pip installed, then you install the mkdocs package:

$ sudo pip install mkdocs

Input

Store your written articles in to a folder (docs) and specify a target folder for the generated HTML pages (site); the index.md file will become the title page:

docs/
  index.md
  overview.md
  ...
site/
 overview/
 index.html
 ...
mkdocs.yml
Gruntfile.js

The "mkdocs" task

This module provides a grunt multi-task generating HTML documentation from Markdown sources using mkdocs. In your project's Gruntfile, add a section named mkdocs to the data object passed into grunt.initConfig().

grunt.initConfig({
  mkdocs: {
    dist: {
      src: '.',
      options: {
        clean: true
      }
    }
  }
})

All documentation project options should be maintained in the mkdocs configuration file (mkdocs.yml) in this plugin version.

Options

src

Type: String Default value: '.'

Path to documentation root directory with the mkdocs.yml file.

options.clean

Type: Boolean Default value: false

Removes stale files (from previous builds) from the target folder.

Build

Call the mkdocs task:

$ grunt mkdocs

or integrate it to the default build sequence in the Gruntfile:

grunt.registerTask('default', ['mkdocs', ...]);

Notes

If you want to browse the generated web site from the file system (using the file:// scheme), add the option use_directory_urls: false to the mkdocs.yml configuration files. The generated links will point to .../index.html files instead of just .../ directories relying on the default documents supported by the web servers.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

  • 2018-04-27 v1.0.0 Dropped support of Node.js 4
  • 2016-02-24 v0.2.3 Upgrade dependencies
  • 2016-26-08 v0.2.0 Upgrade to Grunt 1.x
  • 2015-07-30 v0.1.0 Initial release

License

Copyright (c) 2015-2019 Ferdinand Prantl

Licensed under the MIT license.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100