1.1.0 • Published 7 years ago

markdown-reader v1.1.0

Weekly downloads
4
License
ISC
Repository
github
Last release
7 years ago

markdown-reader

Create a stream of markdown files from a set of directories.

npm travis standard conduct

About

markdown-reader is a library for reading a collection of markdown files, and making them easy to use in tools like static site generators.

  • urls are rewritten (optionally) from github-style relative links to absolute links appropriate for static html
  • frontmatter yaml is parsed into an object
  • markdown is transformed into html

An example item in the stream:

{
  basename: 'index.js',
  relname: 'tests/index.js',
  root: '/Users/sdv/workspace/sethvincent/folder-reader',
  filepath: '/Users/sdv/workspace/sethvincent/folder-reader/tests/index.js',
  stat: [fs.Stat Object],
  type: 'file', // or 'directory',
  file: '', // the original contents of the file
  markdown: '', // the markdown content without frontmatter
  data: {}, // an object containing any values from frontmatter
  html: '' // the markdown transformed into html
}

Install

npm install --save markdown-reader

Usage

var path = require('path')
var reader = require('markdown-reader')

var dir = path.join(__dirname, 'files')
reader(dir).on('data', console.log)

Using alternate fs implementations

You can use this module with alternate fs implementations like hyperdrive by passing the alternate fs as an option:

var reader = require('markdown-reader')
var hyperdrive = require('hyperdrive')

var drive = hyperdrive('./drive')

reader('/some/dir', { fs: drive })

Documentation

Examples

Contributing

Contributions are welcome! Please read the contributing guidelines first.

Conduct

It is important that this project contributes to a friendly, safe, and welcoming environment for all. Read this project's code of conduct

Changelog

Read about the changes to this project in CHANGELOG.md. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Contact

  • issues – Please open issues in the issues queue
  • twitter – Have a question? @sethdvincent
  • email – Need in-depth support via paid contract? Send an email to sethvincent@gmail.com

License

ISC