https://github.com/jrainlau/extract-yaml-from-markdown-plugin
extract yaml information from a markdown file automatically
https://github.com/jrainlau/extract-yaml-from-markdown-plugin
Last synced: 2 months ago
JSON representation
extract yaml information from a markdown file automatically
- Host: GitHub
- URL: https://github.com/jrainlau/extract-yaml-from-markdown-plugin
- Owner: jrainlau
- License: mit
- Created: 2017-08-04T07:27:16.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-08-24T02:32:21.000Z (over 7 years ago)
- Last Synced: 2025-01-28T00:22:12.681Z (3 months ago)
- Language: JavaScript
- Size: 126 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Extract-Yaml-From-Markdown-Plugin
A webpack plugin for extracting yaml content from a markdown file automatically# Why
This plugin allows people to write `markdown` with `YAML`, then extrct the `YAML` content to a `.json` file.What's more, while under `--watch` mode or `webpack-dev-server`, every changes inside a pointed directory will be detected(adding, changing and deleting), and the new content will be written to a `.json` file automatically.


# Install
Yarn:
```
yarn add extract-yaml-from-markdown-plugin --dev
```Npm:
```
npm install extract-yaml-from-markdown-plugin --save-dev
```# Usage
Go into your `webpack.config.js`, require `extract-yaml-from-markdown-plugin.js`, then init it in the `plugins` option.```javascript
// webpack.config.jsconst { resolve } = require('path')
const extractYamlFromMarkdownPlugin = require('extract-yaml-from-markdown-plugin.js')module.exports = {
plugins: [
new extractYamlFromMarkdownPlugin({
mdDir: resolve(__dirname, './your-markdown-directory'),
output: resolve(__dirname, './output-path-of-you-want')
})
]
}
```# Options
- `mdDir` { String }:Your markdown files' directory. After defined, the plugin will be watching this directory. Once you `add`/`update`/`delete` one markdown file, the plugin will update the YAML information and then write them to a `.json` file.
- `output` { String }:
The plugin will extract YAML information from the given markdown file, then write them to a `.json` file from the path you set to `output`.
- `exclude` { Array }:
An array of **regEx** that you don't want the plugin to care about.
- `format` { Number }:
The plugin using `JSON.stringify()` method to convert an object into string. `format` will be the last param of this method.# Test
```
git clone https://github.com/jrainlau/extract-yaml-from-markdown-plugin.gitcd extract-yaml-from-markdown-plugin && yarn
# using `webpack` command
yarn test# using `webpack --watch` command
yarn test:watch# using `webpack-dev-server` command
yarn test:dev-server
```
Go to `/example` directory to find out what you got.# Lisence
MIT