A Markdown Post
3 |With some "amazing", riveting, coooonnnntent.
4 |├── .editorconfig ├── .gitattributes ├── .gitignore ├── .npmignore ├── .travis.yml ├── History.md ├── Makefile ├── Readme.md ├── lib └── index.js ├── package-lock.json ├── package.json └── test ├── fixtures ├── basic │ ├── expected │ │ └── index.html │ └── src │ │ └── index.md ├── combo │ ├── expected │ │ └── index.html │ └── src │ │ └── index.md ├── env-plugin │ ├── expected │ │ └── index.html │ └── src │ │ └── index.md ├── options │ ├── expected │ │ └── index.html │ └── src │ │ └── index.md ├── parser │ ├── expected │ │ └── index.html │ └── src │ │ └── index.md ├── plugin-options-preset │ ├── expected │ │ └── index.htm │ └── src │ │ └── index.html ├── plugin-options │ ├── expected │ │ └── index.htm │ └── src │ │ └── index.html ├── plugin │ ├── expected │ │ └── index.html │ └── src │ │ └── index.md └── preset │ ├── expected │ └── index.html │ └── src │ └── index.md └── index.js /.editorconfig: -------------------------------------------------------------------------------- 1 | [*.js] 2 | indent_style = space 3 | indent_size = 2 -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | test/fixtures/** text eol=lf -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test/fixtures/*/build/* 3 | .DS_Store -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .editorconfig 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | sudo: false 3 | node_js: 4 | - '4.4' 5 | deploy: 6 | provider: npm 7 | email: mayo@oyam.ca 8 | api_key: 9 | secure: Em8W02VJR8lMtZL7UvaXm5kjZhd7w2uG4NI+ccnUqtk85qTT58gtiwrHlNhhs8WUH117LJjVU2Y7W3AfGhjsA60QqPRIAX+cn92WgcA/vine8zWTzkCvA8HR5bNOhfiPdj/boLpGcuInMZYfvAcQKEKnq7voLzIgokAeinaLaDA= 10 | on: 11 | tags: true 12 | repo: mayo/metalsmith-markdownit 13 | -------------------------------------------------------------------------------- /History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.2.1 - February 6, 2013 3 | ------------------------ 4 | * add debug statements 5 | 6 | 0.2.0 - February 5, 2013 7 | ------------------------ 8 | * update to use buffers for metalsmith 0.1.0 9 | 10 | 0.1.0 - February 5, 2013 11 | ------------------------ 12 | * add `keys` option 13 | 14 | 0.0.1 - February 4, 2013 15 | ------------------------ 16 | :sparkles: -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | 2 | node_modules: package.json 3 | @npm install 4 | 5 | test: node_modules 6 | @./node_modules/.bin/mocha --reporter spec 7 | 8 | .PHONY: test -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | I no longer use this project and do not maintain the code. 2 | 3 | [](https://travis-ci.org/mayo/metalsmith-markdownit) 4 | 5 | # metalsmith-markdownit 6 | 7 | A Metalsmith plugin to convert markdown files using [markdown-it](https://github.com/markdown-it/markdown-it) library. 8 | 9 | This plugin is not one to one replacement for metalsmith-markdown. There are slight differences in how the underlying libraries behave, but I find I get better results with markdown-it. Markdown-it, however, does not support all GFM features. 10 | 11 | ## Installation 12 | 13 | $ npm install metalsmith-markdownit 14 | 15 | ## CLI Usage 16 | 17 | Install via npm and then add the `metalsmith-markdownit` key to your `metalsmith.json` plugins with any [markdown-it](https://github.com/markdown-it/markdown-it) options you want, like so: 18 | 19 | ```json 20 | { 21 | "plugins": { 22 | "metalsmith-markdownit": { 23 | "typographer": true, 24 | "html": true 25 | } 26 | } 27 | } 28 | ``` 29 | 30 | ## Javascript Usage 31 | 32 | Pass `options` to the markdown plugin and pass it to Metalsmith with the `use` method: 33 | 34 | ```js 35 | var markdown = require('metalsmith-markdownit'); 36 | 37 | metalsmith.use(markdown({ 38 | typographer: true, 39 | html: true 40 | })); 41 | ``` 42 | 43 | You can also pass a markdown-it preset to the plugin: 44 | 45 | ```js 46 | var markdown = require('metalsmith-markdownit'); 47 | 48 | metalsmith.use(markdown('default', { 49 | typographer: true, 50 | html: true 51 | })); 52 | ``` 53 | 54 | If you want to control plugin behaviour, you can set options under the `plugin` key of the `options` object (these options are not passed to Markdown It): 55 | 56 | ```js 57 | metalsmith.use(markdown('default', { 58 | typographer: true, 59 | html: true, 60 | plugin: { 61 | // options.plugin.pattern (string) - glob pattern. Defaults to '**/*@(md|markdown)' 62 | pattern: '**/*.html', 63 | // options.plugin.fields (string|Array) - field or list of fields to parse with Markdown-It. Defaults to 'contents' 64 | fields: ['contents', 'excerpt'] 65 | // options.plugin.extension (string) - the file extension for parsed files. Defaults to 'html' 66 | extension: 'htm' 67 | } 68 | })); 69 | ``` 70 | 71 | If you need access to markdown-it directly to enable features or use plugins, you can access the parser directly: 72 | 73 | ```js 74 | var markdown = require('metalsmith-markdownit'); 75 | 76 | var md = markdown('zero', { html: true }); 77 | md.parser.enable(['emphasis', 'html_block', 'html_tag']); 78 | 79 | metalsmith.use(md); 80 | ``` 81 | 82 | The parser's `enable`, `disable`, `use` and `set` methods are proxied on the metalsmith plugin, so you may access them like so: 83 | 84 | ```js 85 | var markdown = require('metalsmith-markdownit'); 86 | 87 | metalsmith.use(markdown('zero', {html: true}).enable('emphasis', 'html_block', 'html_tag')) 88 | ``` 89 | 90 | You may provide a function to set the parser & renderer's environment on a per-page basis, should you need to: 91 | 92 | ```js 93 | var markdown = require('metalsmith-markdownit'); 94 | 95 | metalsmith.use(markdown('default').env(function(page){ return page; })) 96 | ``` 97 | 98 | ## License 99 | 100 | MIT 101 | -------------------------------------------------------------------------------- /lib/index.js: -------------------------------------------------------------------------------- 1 | 2 | var basename = require('path').basename; 3 | var debug = require('debug')('metalsmith-markdown'); 4 | var dirname = require('path').dirname; 5 | var extname = require('path').extname; 6 | var join = require('path').join; 7 | var markdownIt = require('markdown-it'); 8 | var minimatch = require('minimatch'); 9 | 10 | /** 11 | * Expose `plugin`. 12 | */ 13 | 14 | module.exports = plugin; 15 | 16 | /** 17 | * Metalsmith plugin to convert markdown files. 18 | * 19 | * @param {Object} options (optional) - options to pass to markdownIt 20 | * @param {Object} options.plugin (optional) - options used by the plugin. Will not be passed to MarkdownIt 21 | * @param {string} options.plugin.pattern - glob pattern for filtering which files to process (passed to minimatch.filter) 22 | * @param {string|Array} options.plugin.fields - field or list of fields which MarkdownIt should process 23 | * @param {string} options.plugin.extension - file extension for output files 24 | * @return {Function} 25 | */ 26 | 27 | function plugin(preset, options){ 28 | var defaults = { 29 | pattern: '**/*.@(md|markdown)', 30 | fields: 'contents', 31 | extension: 'html' 32 | } 33 | var pluginOptions = defaults; 34 | 35 | // handle cases where a preset isn't specified 36 | var pluginOpts = false; 37 | if (options && options.plugin) { 38 | pluginOpts = options.plugin; 39 | delete options.plugin; 40 | } else if (!options && typeof preset === 'object' && preset.plugin){ 41 | pluginOpts = preset.plugin; 42 | delete preset.plugin; 43 | } 44 | 45 | if (pluginOpts) { 46 | // merge defaults with supplied options 47 | for (var prop in pluginOpts) { 48 | pluginOptions[prop] = pluginOpts[prop]; 49 | } 50 | } 51 | // normalize pluginOptions.fields into an array 52 | if (typeof pluginOptions.fields === 'string') pluginOptions.fields = [pluginOptions.fields] 53 | 54 | var markdown = new markdownIt(preset, options), 55 | envSetter = function(){}; 56 | 57 | var plugin = function(files, metalsmith, done){ 58 | setImmediate(done); 59 | Object.keys(files).filter(minimatch.filter(pluginOptions.pattern)).forEach(function(file){ 60 | var data = files[file]; 61 | var dir = dirname(file); 62 | var html = basename(file, extname(file)) + '.' + pluginOptions.extension; 63 | if (dir !== '.') html = join(dir, html); 64 | 65 | var env = {}; 66 | if (envSetter) { 67 | env = envSetter(data, metalsmith.metadata()); 68 | } 69 | 70 | debug('converting file: %s', file); 71 | pluginOptions.fields.forEach(function(field){ 72 | debug('- checking field: %s', field); 73 | if (!data[field]) return 74 | debug('- converting field: %s', field); 75 | var str = markdown.render(data[field].toString(), env); 76 | data[field] = new Buffer(str); 77 | }) 78 | 79 | delete files[file]; 80 | files[html] = data; 81 | }); 82 | }; 83 | 84 | plugin.parser = markdown; 85 | 86 | /* proxy parser methods to return plugin for inline use */ 87 | 88 | ['use', 'set', 'enable', 'disable'].forEach(function(fn){ 89 | plugin[fn] = function(){ 90 | var args = Array.prototype.slice.call(arguments); 91 | markdown[fn].apply(markdown, args); 92 | return plugin; 93 | } 94 | }); 95 | 96 | plugin.env = function(setter){ 97 | envSetter = setter; 98 | return plugin; 99 | } 100 | 101 | plugin.withParser = function(fn){ 102 | fn(markdown); 103 | return plugin; 104 | } 105 | 106 | return plugin; 107 | } -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "metalsmith-markdownit", 3 | "version": "0.5.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "assert-dir-equal": { 8 | "version": "1.1.0", 9 | "resolved": "https://registry.npmjs.org/assert-dir-equal/-/assert-dir-equal-1.1.0.tgz", 10 | "integrity": "sha1-nOsU3IHeguz4NmJIaM0bWP/C9fs=", 11 | "dev": true, 12 | "requires": { 13 | "buffer-equal": "0.0.0", 14 | "fs-readdir-recursive": "0.0.1", 15 | "is-utf8": "~0.2.0" 16 | }, 17 | "dependencies": { 18 | "buffer-equal": { 19 | "version": "0.0.0", 20 | "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.0.tgz", 21 | "integrity": "sha1-SmgZasM1ItqhfsmYWLMCpja2LPE=", 22 | "dev": true 23 | }, 24 | "fs-readdir-recursive": { 25 | "version": "0.0.1", 26 | "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-0.0.1.tgz", 27 | "integrity": "sha1-8iI6tAKT5DZpbTO2f2s+bS5qjBI=", 28 | "dev": true 29 | }, 30 | "is-utf8": { 31 | "version": "0.2.1", 32 | "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", 33 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", 34 | "dev": true 35 | } 36 | } 37 | }, 38 | "debug": { 39 | "version": "3.2.6", 40 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", 41 | "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", 42 | "requires": { 43 | "ms": "^2.1.1" 44 | }, 45 | "dependencies": { 46 | "ms": { 47 | "version": "2.1.1", 48 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 49 | "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=" 50 | } 51 | } 52 | }, 53 | "markdown-it": { 54 | "version": "8.4.2", 55 | "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", 56 | "integrity": "sha1-OG+YmY3BWjdyKqdyIIT0Agvdm1Q=", 57 | "requires": { 58 | "argparse": "^1.0.7", 59 | "entities": "~1.1.1", 60 | "linkify-it": "^2.0.0", 61 | "mdurl": "^1.0.1", 62 | "uc.micro": "^1.0.5" 63 | }, 64 | "dependencies": { 65 | "argparse": { 66 | "version": "1.0.10", 67 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 68 | "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", 69 | "requires": { 70 | "sprintf-js": "~1.0.2" 71 | }, 72 | "dependencies": { 73 | "sprintf-js": { 74 | "version": "1.0.3", 75 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 76 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" 77 | } 78 | } 79 | }, 80 | "entities": { 81 | "version": "1.1.2", 82 | "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", 83 | "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=" 84 | }, 85 | "linkify-it": { 86 | "version": "2.0.3", 87 | "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz", 88 | "integrity": "sha1-2UpGSPmxwXnWT6lykSaL22zpQ08=", 89 | "requires": { 90 | "uc.micro": "^1.0.1" 91 | } 92 | }, 93 | "mdurl": { 94 | "version": "1.0.1", 95 | "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", 96 | "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" 97 | }, 98 | "uc.micro": { 99 | "version": "1.0.5", 100 | "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz", 101 | "integrity": "sha1-DGXxX4FaoItWCmHOi023/8P0U3Y=" 102 | } 103 | } 104 | }, 105 | "markdown-it-abbr": { 106 | "version": "1.0.4", 107 | "resolved": "https://registry.npmjs.org/markdown-it-abbr/-/markdown-it-abbr-1.0.4.tgz", 108 | "integrity": "sha1-1mtTZFIcuz3Yqlna37ovtoZcj9g=", 109 | "dev": true 110 | }, 111 | "metalsmith": { 112 | "version": "2.3.0", 113 | "resolved": "https://registry.npmjs.org/metalsmith/-/metalsmith-2.3.0.tgz", 114 | "integrity": "sha1-gzr7taKmOF4tmuPZNeOeM+rqUjE=", 115 | "dev": true, 116 | "requires": { 117 | "absolute": "0.0.1", 118 | "chalk": "^1.1.3", 119 | "clone": "^1.0.2", 120 | "co-fs-extra": "^1.2.1", 121 | "commander": "^2.6.0", 122 | "gray-matter": "^2.0.0", 123 | "has-generators": "^1.0.1", 124 | "is": "^3.1.0", 125 | "is-utf8": "~0.2.0", 126 | "recursive-readdir": "^2.1.0", 127 | "rimraf": "^2.2.8", 128 | "stat-mode": "^0.2.0", 129 | "thunkify": "^2.1.2", 130 | "unyield": "0.0.1", 131 | "ware": "^1.2.0", 132 | "win-fork": "^1.1.1" 133 | }, 134 | "dependencies": { 135 | "absolute": { 136 | "version": "0.0.1", 137 | "resolved": "https://registry.npmjs.org/absolute/-/absolute-0.0.1.tgz", 138 | "integrity": "sha1-wigi+H4ck59XmIdQTZwQnEFzgp0=", 139 | "dev": true 140 | }, 141 | "chalk": { 142 | "version": "1.1.3", 143 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 144 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 145 | "dev": true, 146 | "requires": { 147 | "ansi-styles": "^2.2.1", 148 | "escape-string-regexp": "^1.0.2", 149 | "has-ansi": "^2.0.0", 150 | "strip-ansi": "^3.0.0", 151 | "supports-color": "^2.0.0" 152 | }, 153 | "dependencies": { 154 | "ansi-styles": { 155 | "version": "2.2.1", 156 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 157 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 158 | "dev": true 159 | }, 160 | "escape-string-regexp": { 161 | "version": "1.0.5", 162 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 163 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 164 | "dev": true 165 | }, 166 | "has-ansi": { 167 | "version": "2.0.0", 168 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 169 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 170 | "dev": true, 171 | "requires": { 172 | "ansi-regex": "^2.0.0" 173 | }, 174 | "dependencies": { 175 | "ansi-regex": { 176 | "version": "2.1.1", 177 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 178 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 179 | "dev": true 180 | } 181 | } 182 | }, 183 | "strip-ansi": { 184 | "version": "3.0.1", 185 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 186 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 187 | "dev": true, 188 | "requires": { 189 | "ansi-regex": "^2.0.0" 190 | }, 191 | "dependencies": { 192 | "ansi-regex": { 193 | "version": "2.1.1", 194 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 195 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 196 | "dev": true 197 | } 198 | } 199 | }, 200 | "supports-color": { 201 | "version": "2.0.0", 202 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 203 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 204 | "dev": true 205 | } 206 | } 207 | }, 208 | "clone": { 209 | "version": "1.0.4", 210 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 211 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", 212 | "dev": true 213 | }, 214 | "co-fs-extra": { 215 | "version": "1.2.1", 216 | "resolved": "https://registry.npmjs.org/co-fs-extra/-/co-fs-extra-1.2.1.tgz", 217 | "integrity": "sha1-O2rXfPJhRTD2d7HPYmZPW6dWtyI=", 218 | "dev": true, 219 | "requires": { 220 | "co-from-stream": "~0.0.0", 221 | "fs-extra": "~0.26.5", 222 | "thunkify-wrap": "~1.0.4" 223 | }, 224 | "dependencies": { 225 | "co-from-stream": { 226 | "version": "0.0.0", 227 | "resolved": "https://registry.npmjs.org/co-from-stream/-/co-from-stream-0.0.0.tgz", 228 | "integrity": "sha1-GlzYztdyY5RglPo58kmaYyl7yvk=", 229 | "dev": true, 230 | "requires": { 231 | "co-read": "0.0.1" 232 | }, 233 | "dependencies": { 234 | "co-read": { 235 | "version": "0.0.1", 236 | "resolved": "https://registry.npmjs.org/co-read/-/co-read-0.0.1.tgz", 237 | "integrity": "sha1-+Bs+uKhmdf7FHj2IOn9WToc8k4k=", 238 | "dev": true 239 | } 240 | } 241 | }, 242 | "fs-extra": { 243 | "version": "0.26.7", 244 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", 245 | "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", 246 | "dev": true, 247 | "requires": { 248 | "graceful-fs": "^4.1.2", 249 | "jsonfile": "^2.1.0", 250 | "klaw": "^1.0.0", 251 | "path-is-absolute": "^1.0.0", 252 | "rimraf": "^2.2.8" 253 | }, 254 | "dependencies": { 255 | "graceful-fs": { 256 | "version": "4.1.11", 257 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 258 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 259 | "dev": true 260 | }, 261 | "jsonfile": { 262 | "version": "2.4.0", 263 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", 264 | "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", 265 | "dev": true, 266 | "requires": { 267 | "graceful-fs": "^4.1.6" 268 | } 269 | }, 270 | "klaw": { 271 | "version": "1.3.1", 272 | "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", 273 | "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", 274 | "dev": true, 275 | "requires": { 276 | "graceful-fs": "^4.1.9" 277 | } 278 | }, 279 | "path-is-absolute": { 280 | "version": "1.0.1", 281 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 282 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 283 | "dev": true 284 | } 285 | } 286 | }, 287 | "thunkify-wrap": { 288 | "version": "1.0.4", 289 | "resolved": "https://registry.npmjs.org/thunkify-wrap/-/thunkify-wrap-1.0.4.tgz", 290 | "integrity": "sha1-tSvlSN3+/aIOALWMYJZ2K0PdaIA=", 291 | "dev": true, 292 | "requires": { 293 | "enable": "1" 294 | }, 295 | "dependencies": { 296 | "enable": { 297 | "version": "1.3.2", 298 | "resolved": "https://registry.npmjs.org/enable/-/enable-1.3.2.tgz", 299 | "integrity": "sha1-nrpoN9FtCYK1n4fYib91REPVKTE=", 300 | "dev": true 301 | } 302 | } 303 | } 304 | } 305 | }, 306 | "commander": { 307 | "version": "2.19.0", 308 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", 309 | "integrity": "sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=", 310 | "dev": true 311 | }, 312 | "gray-matter": { 313 | "version": "2.1.1", 314 | "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", 315 | "integrity": "sha1-MELZrewqHe1qdwep7SOA+KF6Qw4=", 316 | "dev": true, 317 | "requires": { 318 | "ansi-red": "^0.1.1", 319 | "coffee-script": "^1.12.4", 320 | "extend-shallow": "^2.0.1", 321 | "js-yaml": "^3.8.1", 322 | "toml": "^2.3.2" 323 | }, 324 | "dependencies": { 325 | "ansi-red": { 326 | "version": "0.1.1", 327 | "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", 328 | "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", 329 | "dev": true, 330 | "requires": { 331 | "ansi-wrap": "0.1.0" 332 | }, 333 | "dependencies": { 334 | "ansi-wrap": { 335 | "version": "0.1.0", 336 | "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", 337 | "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", 338 | "dev": true 339 | } 340 | } 341 | }, 342 | "coffee-script": { 343 | "version": "1.12.7", 344 | "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", 345 | "integrity": "sha1-wF2uDLeVkdBbMHCoQzqYyaiczFM=", 346 | "dev": true 347 | }, 348 | "extend-shallow": { 349 | "version": "2.0.1", 350 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 351 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 352 | "dev": true, 353 | "requires": { 354 | "is-extendable": "^0.1.0" 355 | }, 356 | "dependencies": { 357 | "is-extendable": { 358 | "version": "0.1.1", 359 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 360 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 361 | "dev": true 362 | } 363 | } 364 | }, 365 | "js-yaml": { 366 | "version": "3.12.0", 367 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", 368 | "integrity": "sha1-6u1lbsg0TxD1J8a/obbiJE3hZ9E=", 369 | "dev": true, 370 | "requires": { 371 | "argparse": "^1.0.7", 372 | "esprima": "^4.0.0" 373 | }, 374 | "dependencies": { 375 | "argparse": { 376 | "version": "1.0.10", 377 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 378 | "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", 379 | "dev": true, 380 | "requires": { 381 | "sprintf-js": "~1.0.2" 382 | }, 383 | "dependencies": { 384 | "sprintf-js": { 385 | "version": "1.0.3", 386 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 387 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 388 | "dev": true 389 | } 390 | } 391 | }, 392 | "esprima": { 393 | "version": "4.0.1", 394 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 395 | "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", 396 | "dev": true 397 | } 398 | } 399 | }, 400 | "toml": { 401 | "version": "2.3.3", 402 | "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.3.tgz", 403 | "integrity": "sha1-jWg9cpV3yyhiMd/HqK/+WNMXKPs=", 404 | "dev": true 405 | } 406 | } 407 | }, 408 | "has-generators": { 409 | "version": "1.0.1", 410 | "resolved": "https://registry.npmjs.org/has-generators/-/has-generators-1.0.1.tgz", 411 | "integrity": "sha1-pqLlVIYBGUBILhPiyTeRxEms9Ek=", 412 | "dev": true 413 | }, 414 | "is": { 415 | "version": "3.2.1", 416 | "resolved": "https://registry.npmjs.org/is/-/is-3.2.1.tgz", 417 | "integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU=", 418 | "dev": true 419 | }, 420 | "is-utf8": { 421 | "version": "0.2.1", 422 | "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", 423 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", 424 | "dev": true 425 | }, 426 | "recursive-readdir": { 427 | "version": "2.2.2", 428 | "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", 429 | "integrity": "sha1-mUb7MnThYo3m42svZxSVO0hFCU8=", 430 | "dev": true, 431 | "requires": { 432 | "minimatch": "3.0.4" 433 | } 434 | }, 435 | "rimraf": { 436 | "version": "2.6.2", 437 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", 438 | "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", 439 | "dev": true, 440 | "requires": { 441 | "glob": "^7.0.5" 442 | }, 443 | "dependencies": { 444 | "glob": { 445 | "version": "7.1.3", 446 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", 447 | "integrity": "sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE=", 448 | "dev": true, 449 | "requires": { 450 | "fs.realpath": "^1.0.0", 451 | "inflight": "^1.0.4", 452 | "inherits": "2", 453 | "minimatch": "^3.0.4", 454 | "once": "^1.3.0", 455 | "path-is-absolute": "^1.0.0" 456 | }, 457 | "dependencies": { 458 | "fs.realpath": { 459 | "version": "1.0.0", 460 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 461 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 462 | "dev": true 463 | }, 464 | "inflight": { 465 | "version": "1.0.6", 466 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 467 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 468 | "dev": true, 469 | "requires": { 470 | "once": "^1.3.0", 471 | "wrappy": "1" 472 | }, 473 | "dependencies": { 474 | "wrappy": { 475 | "version": "1.0.2", 476 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 477 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 478 | "dev": true 479 | } 480 | } 481 | }, 482 | "inherits": { 483 | "version": "2.0.3", 484 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 485 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 486 | "dev": true 487 | }, 488 | "once": { 489 | "version": "1.4.0", 490 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 491 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 492 | "dev": true, 493 | "requires": { 494 | "wrappy": "1" 495 | }, 496 | "dependencies": { 497 | "wrappy": { 498 | "version": "1.0.2", 499 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 500 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 501 | "dev": true 502 | } 503 | } 504 | }, 505 | "path-is-absolute": { 506 | "version": "1.0.1", 507 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 508 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 509 | "dev": true 510 | } 511 | } 512 | } 513 | } 514 | }, 515 | "stat-mode": { 516 | "version": "0.2.2", 517 | "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", 518 | "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", 519 | "dev": true 520 | }, 521 | "thunkify": { 522 | "version": "2.1.2", 523 | "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", 524 | "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=", 525 | "dev": true 526 | }, 527 | "unyield": { 528 | "version": "0.0.1", 529 | "resolved": "https://registry.npmjs.org/unyield/-/unyield-0.0.1.tgz", 530 | "integrity": "sha1-FQ5l2kK/d0JEW5WKZOubhdHSsYA=", 531 | "dev": true, 532 | "requires": { 533 | "co": "~3.1.0" 534 | }, 535 | "dependencies": { 536 | "co": { 537 | "version": "3.1.0", 538 | "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz", 539 | "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=", 540 | "dev": true 541 | } 542 | } 543 | }, 544 | "ware": { 545 | "version": "1.3.0", 546 | "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz", 547 | "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=", 548 | "dev": true, 549 | "requires": { 550 | "wrap-fn": "^0.1.0" 551 | }, 552 | "dependencies": { 553 | "wrap-fn": { 554 | "version": "0.1.5", 555 | "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz", 556 | "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=", 557 | "dev": true, 558 | "requires": { 559 | "co": "3.1.0" 560 | }, 561 | "dependencies": { 562 | "co": { 563 | "version": "3.1.0", 564 | "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz", 565 | "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=", 566 | "dev": true 567 | } 568 | } 569 | } 570 | } 571 | }, 572 | "win-fork": { 573 | "version": "1.1.1", 574 | "resolved": "https://registry.npmjs.org/win-fork/-/win-fork-1.1.1.tgz", 575 | "integrity": "sha1-j1jgZW/KAK3IyGoriePNLWotXl4=", 576 | "dev": true 577 | } 578 | } 579 | }, 580 | "minimatch": { 581 | "version": "3.0.4", 582 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 583 | "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", 584 | "requires": { 585 | "brace-expansion": "^1.1.7" 586 | }, 587 | "dependencies": { 588 | "brace-expansion": { 589 | "version": "1.1.11", 590 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 591 | "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", 592 | "requires": { 593 | "balanced-match": "^1.0.0", 594 | "concat-map": "0.0.1" 595 | }, 596 | "dependencies": { 597 | "balanced-match": { 598 | "version": "1.0.0", 599 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 600 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" 601 | }, 602 | "concat-map": { 603 | "version": "0.0.1", 604 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 605 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 606 | } 607 | } 608 | } 609 | } 610 | }, 611 | "mocha": { 612 | "version": "5.2.0", 613 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", 614 | "integrity": "sha1-bYrlCPWRZ/lA8rWzxKYSrlDJCuY=", 615 | "dev": true, 616 | "requires": { 617 | "browser-stdout": "1.3.1", 618 | "commander": "2.15.1", 619 | "debug": "3.1.0", 620 | "diff": "3.5.0", 621 | "escape-string-regexp": "1.0.5", 622 | "glob": "7.1.2", 623 | "growl": "1.10.5", 624 | "he": "1.1.1", 625 | "minimatch": "3.0.4", 626 | "mkdirp": "0.5.1", 627 | "supports-color": "5.4.0" 628 | }, 629 | "dependencies": { 630 | "browser-stdout": { 631 | "version": "1.3.1", 632 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", 633 | "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=", 634 | "dev": true 635 | }, 636 | "commander": { 637 | "version": "2.15.1", 638 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", 639 | "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=", 640 | "dev": true 641 | }, 642 | "debug": { 643 | "version": "3.1.0", 644 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 645 | "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", 646 | "dev": true, 647 | "requires": { 648 | "ms": "2.0.0" 649 | }, 650 | "dependencies": { 651 | "ms": { 652 | "version": "2.0.0", 653 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 654 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 655 | "dev": true 656 | } 657 | } 658 | }, 659 | "diff": { 660 | "version": "3.5.0", 661 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", 662 | "integrity": "sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=", 663 | "dev": true 664 | }, 665 | "escape-string-regexp": { 666 | "version": "1.0.5", 667 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 668 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 669 | "dev": true 670 | }, 671 | "glob": { 672 | "version": "7.1.2", 673 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 674 | "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", 675 | "dev": true, 676 | "requires": { 677 | "fs.realpath": "^1.0.0", 678 | "inflight": "^1.0.4", 679 | "inherits": "2", 680 | "minimatch": "^3.0.4", 681 | "once": "^1.3.0", 682 | "path-is-absolute": "^1.0.0" 683 | }, 684 | "dependencies": { 685 | "fs.realpath": { 686 | "version": "1.0.0", 687 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 688 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 689 | "dev": true 690 | }, 691 | "inflight": { 692 | "version": "1.0.6", 693 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 694 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 695 | "dev": true, 696 | "requires": { 697 | "once": "^1.3.0", 698 | "wrappy": "1" 699 | }, 700 | "dependencies": { 701 | "wrappy": { 702 | "version": "1.0.2", 703 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 704 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 705 | "dev": true 706 | } 707 | } 708 | }, 709 | "inherits": { 710 | "version": "2.0.3", 711 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 712 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 713 | "dev": true 714 | }, 715 | "once": { 716 | "version": "1.4.0", 717 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 718 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 719 | "dev": true, 720 | "requires": { 721 | "wrappy": "1" 722 | }, 723 | "dependencies": { 724 | "wrappy": { 725 | "version": "1.0.2", 726 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 727 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 728 | "dev": true 729 | } 730 | } 731 | }, 732 | "path-is-absolute": { 733 | "version": "1.0.1", 734 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 735 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 736 | "dev": true 737 | } 738 | } 739 | }, 740 | "growl": { 741 | "version": "1.10.5", 742 | "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", 743 | "integrity": "sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4=", 744 | "dev": true 745 | }, 746 | "he": { 747 | "version": "1.1.1", 748 | "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", 749 | "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", 750 | "dev": true 751 | }, 752 | "mkdirp": { 753 | "version": "0.5.1", 754 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 755 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 756 | "dev": true, 757 | "requires": { 758 | "minimist": "0.0.8" 759 | }, 760 | "dependencies": { 761 | "minimist": { 762 | "version": "0.0.8", 763 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 764 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 765 | "dev": true 766 | } 767 | } 768 | }, 769 | "supports-color": { 770 | "version": "5.4.0", 771 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", 772 | "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=", 773 | "dev": true, 774 | "requires": { 775 | "has-flag": "^3.0.0" 776 | }, 777 | "dependencies": { 778 | "has-flag": { 779 | "version": "3.0.0", 780 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 781 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 782 | "dev": true 783 | } 784 | } 785 | } 786 | } 787 | } 788 | } 789 | } 790 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "metalsmith-markdownit", 3 | "description": "A Metalsmith plugin to convert markdown files.", 4 | "repository": "git://github.com/mayo/metalsmith-markdownit.git", 5 | "version": "0.5.0", 6 | "license": "MIT", 7 | "main": "lib/index.js", 8 | "dependencies": { 9 | "debug": "^3.2.6", 10 | "markdown-it": "^8.4.2", 11 | "minimatch": "^3.0.4" 12 | }, 13 | "devDependencies": { 14 | "mocha": "5.x", 15 | "metalsmith": "2.x", 16 | "assert-dir-equal": "1.x", 17 | "markdown-it-abbr": "^1.0.4" 18 | }, 19 | "scripts": { 20 | "test": "mocha" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /test/fixtures/basic/expected/index.html: -------------------------------------------------------------------------------- 1 |
With some "amazing", riveting, coooonnnntent.
3 | -------------------------------------------------------------------------------- /test/fixtures/basic/src/index.md: -------------------------------------------------------------------------------- 1 | # A Markdown Post 2 | 3 | With some "amazing", _riveting_, **coooonnnntent**. 4 | -------------------------------------------------------------------------------- /test/fixtures/combo/expected/index.html: -------------------------------------------------------------------------------- 1 |With some “amazing” coooonnnntent.
3 | -------------------------------------------------------------------------------- /test/fixtures/combo/src/index.md: -------------------------------------------------------------------------------- 1 | # A Markdown Post 2 | 3 | With some "amazing" coooonnnntent. 4 | -------------------------------------------------------------------------------- /test/fixtures/env-plugin/expected/index.html: -------------------------------------------------------------------------------- 1 |Shall we render the This is my page title now? Btw, we're on The test build site.
2 | -------------------------------------------------------------------------------- /test/fixtures/env-plugin/src/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: This is my page title 3 | --- 4 | 5 | Shall we render the @title now? Btw, we're on @siteName site. 6 | -------------------------------------------------------------------------------- /test/fixtures/options/expected/index.html: -------------------------------------------------------------------------------- 1 |With some "amazing", riveting, coooonnnntent.
4 |# A Markdown Post
2 |With some slanted content.
3 | -------------------------------------------------------------------------------- /test/fixtures/parser/src/index.md: -------------------------------------------------------------------------------- 1 | # A Markdown Post 2 | 3 | With some *slanted* content. 4 | -------------------------------------------------------------------------------- /test/fixtures/plugin-options-preset/expected/index.htm: -------------------------------------------------------------------------------- 1 |With some "amazing", riveting, coooonnnntent.
3 | 4 |The excerpt has bold text in it!
5 | -------------------------------------------------------------------------------- /test/fixtures/plugin-options-preset/src/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: Test 3 | excerpt: The excerpt has **bold** text in it! 4 | --- 5 | # A Markdown Post 6 | 7 | With some "amazing", _riveting_, **coooonnnntent**. 8 | -------------------------------------------------------------------------------- /test/fixtures/plugin-options/expected/index.htm: -------------------------------------------------------------------------------- 1 |With some "amazing", riveting, coooonnnntent.
3 | 4 |The excerpt has bold text in it!
5 | -------------------------------------------------------------------------------- /test/fixtures/plugin-options/src/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: Test 3 | excerpt: The excerpt has **bold** text in it! 4 | --- 5 | # A Markdown Post 6 | 7 | With some "amazing", _riveting_, **coooonnnntent**. 8 | -------------------------------------------------------------------------------- /test/fixtures/plugin/expected/index.html: -------------------------------------------------------------------------------- 1 |A markdown post with a HTML abbreviation.
2 | -------------------------------------------------------------------------------- /test/fixtures/plugin/src/index.md: -------------------------------------------------------------------------------- 1 | *[HTML]: Hyper Text Markup Language 2 | A markdown post with a HTML abbreviation. 3 | -------------------------------------------------------------------------------- /test/fixtures/preset/expected/index.html: -------------------------------------------------------------------------------- 1 |<h1>A Markdown post</h1>
2 |With some "amazing", riveting, coooonnnntent.
3 | -------------------------------------------------------------------------------- /test/fixtures/preset/src/index.md: -------------------------------------------------------------------------------- 1 |