Added option for client to include there own remarkable config (#974)

* Added option for client to include there own remarkable config

* Better use merge here

* Added lodash ...

* Change use of lodash to deepmerge and added description to api site

* markdownConfig -> markdownOptions

* Update api-site-config.md

* remove 1.4 docs change

 since it is unrelated (the feature will only be available in next release)

* Run prettier
This commit is contained in:
Marvin Heilemann 2018-09-20 09:00:59 +02:00 committed by Endilie Yacop Sucipto
parent 3c36a1cc8c
commit 8568a96e65
3 changed files with 27 additions and 4 deletions

View file

@ -149,6 +149,8 @@ h1 {
`manifest` - Path to your web app manifest (e.g., `/manifest.json`). This will add a `<link>` tag to `<head>` with `rel` as `"manifest"` and `content` as the provided path.
`markdownOptions` - Override default [Remarkable options](https://github.com/jonschlinkert/remarkable#options) that will be used to render markdown.
`markdownPlugins` - An array of plugins to be loaded by Remarkable, the markdown parser and renderer used by Docusaurus. The plugin will receive a reference to the Remarkable instance, allowing custom parsing and rendering rules to be defined.
`ogImage` - Local path to an Open Graph image (e.g., `img/myImage.png`). This image will show up when your site is shared on Facebook and other websites/apps where the Open Graph protocol is supported.

View file

@ -8,6 +8,7 @@
const hljs = require('highlight.js');
const Markdown = require('remarkable');
const prismjs = require('prismjs');
const deepmerge = require('deepmerge');
const anchors = require('./anchors.js');
@ -21,7 +22,7 @@ class MarkdownRenderer {
constructor() {
const siteConfig = require(`${CWD}/siteConfig.js`);
const md = new Markdown({
let markdownOptions = {
// Highlight.js expects hljs css classes on the code element.
// This results in <pre><code class="hljs css languages-jsx">
langPrefix: 'hljs css language-',
@ -67,7 +68,18 @@ class MarkdownRenderer {
},
html: true,
linkify: true,
});
};
// Allow overriding default options
if (siteConfig.markdownOptions) {
markdownOptions = deepmerge(
{},
markdownOptions,
siteConfig.markdownOptions,
);
}
const md = new Markdown(markdownOptions);
// Register anchors plugin
md.use(anchors);

View file

@ -3,7 +3,12 @@
"description": "Easy to Maintain Open Source Documentation Websites",
"version": "1.4.0",
"license": "MIT",
"keywords": ["documentation", "websites", "open source", "docusaurus"],
"keywords": [
"documentation",
"websites",
"open source",
"docusaurus"
],
"repository": {
"type": "git",
"url": "https://github.com/facebook/Docusaurus.git"
@ -14,7 +19,11 @@
"start": "cd website && yarn start"
},
"jest": {
"testPathIgnorePatterns": ["/node_modules/", "__fixtures__", "v2"],
"testPathIgnorePatterns": [
"/node_modules/",
"__fixtures__",
"v2"
],
"testURL": "http://localhost/"
},
"bin": {