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: 5 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 8 years ago)
- Default Branch: master
- Last Pushed: 2017-08-24T02:32:21.000Z (over 8 years ago)
- Last Synced: 2025-08-23T11:06:09.832Z (5 months ago)
- Language: JavaScript
- Size: 126 KB
- Stars: 2
- Watchers: 2
- 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.js
const { 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.git
cd 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