Skip to content

Transform HTML files to Markdown in a Grunt task

License

Notifications You must be signed in to change notification settings

marcusds/grunt-turndown

 
 

Repository files navigation

grunt-turndown

Transform HTML files to Markdown in a Grunt task

Build Status Maintainability dependencies Status

Getting Started

This Grunt task plugin transforms the given HTML files to the Markdown format.

This plugin requires Grunt ~1.0 and Node.js version to be minimum of 8.11.1, which is the active Long Term Support (LTS) version, and handles the transformation via Turndown ~5.0.

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-turndown --save-dev

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

grunt.loadNpmTasks('grunt-turndown');

The "turndown" task

Overview

In your project's Gruntfile, add a section named turndown to the data object passed into grunt.initConfig().

grunt.initConfig({
  turndown: {
    your_target: {
      // Target-specific source file lists and/or file write options go here.
    },
  },
})

Options

Options are passed to the turndown handler, please see https://github.com/domchristie/turndown for further details

options.gfm

Type: boolean

Default value: false

GitHub Flavoured Markdown

Usage Examples

Default Options

In this example, the default options are used, as there aren't any at the moment. All the files matching the src/*.html and legacy/*.html selectors will be used as HTML sources, which will be converted to Markdown files placed in the same folder as the given source file.

grunt.initConfig({
  turndown: {
    main: {
      src: [
        'src/*.html',
        'legacy/*.html'
      ]
    },
  },
})

Testing and Linting

Linting is done with ESLint and can be executed with npm run lint. There should be no errors appearing after any JavaScript file changes.

Unit tests are done with Nodeunit.

npm install
npm run lint
npm test

Version history

  • v3.1.0 (2018-10)

    • Fix optional GFM.
  • v3.0.0 (2018-10)

    • Initial release of grunt-turndown
    • Use Turndown, the replacement for html2md

License

Portions copyright Juga Paazmaya paazmaya@yahoo.com.

Licensed under the MIT license.

About

Transform HTML files to Markdown in a Grunt task

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%