* Add introductory blog post
For launch!
\o/
* Update post to launch date
* Add ogImage and fix how we get og:Description
Plus a few updates to the post
* Remove some code block info
* Ensure Edit this Doc links always point to the master source of truth, and not a particular version
* Only show Edit this Doc link if editUrl has been set
* Add Prettier formatting to source files and example files, and check that Prettier formatting is maintained on PRs
* Remove trailing-comma as we are using Node 6 on Circle
* Use latest Node 6 LTS version in Circle
* Remove unused test
Marked had the ability to display html code. This is useful if you want to embed iframes, set size to images... This allows arbitrary html to be embedded with no sanitization, so `<script>alert()</script>` will be executed. This isn't such a big issue since the markdown is written only by contributors.
I also removed the componentWillUpdate call since it's not used (and wrong).
* Add the ability to define a default language
I don't want to have to add the language i'm working on to every single block nor do I want to rely on a default heuristic to find the language.
This adds the ability to write
```
highlight: { defaultLang: 'xxxx' }
```
in `siteConfig.js` to force the language when not specified.
I tested it without a a highlight block, without a defaultLang attribute and with one and with a wrong one. All of them work as expected.
* Move comment around
* Remove client side highlighting
* Update CSS rules to render plain code blocks with expected left border
* Add back codeColor background color config
* Ensure all pre code blocks use Highlight.js classes
* added a note about needing more than one language to be enabled to allow for a drop down
* Removing debug statements
* Add 'Help Translate' to translatable strings, improves error messages around missing translated strings, calls write-translations on some routes
* Adds sitemap.xml to live server and build. Versioning not supported. -- Also did some file name and module cache cleanups.
* Add the ability to provide custom layout
When I designed the system, I added the ability to provide a custom layout that would use arbitrary JavaScript to render some custom pages. This is why files are called "DocsLayout.js", "BlogPostLayout.js"... This ability to customize it was [ripped out](https://github.com/facebook/react-native/blob/master/website/server/convert.js#L78) during the migration to Docusaurus but I need it for the project I'm working on right now (that should remain unnamed!).
This adds back the ability to do it in a way that fits the third party system. In order to provide a new layout:
1) Add a `layout` field in the header of your markdown file:
```js
---
layout: mylayout
---
```
2) In your `siteConfig`, add
```js
layouts: {
mylayout: function({React, Marked}) {
return class extends React.Component {
render() {
return React.createElement('div', {}, this.props.metadata.layout);
}
}
}
}
```
I think that it's a reasonable to add and would unblock me :)
* Update DocsLayout.js
I was getting this error when running the examples:
```
Error: It looks like you've enabled language support, but haven't provided translated files. The document with id: 'en-doc1' doesn't exist.
```
However, this error was an indirect result of me not renaming the `docs-examples-from-docusaurus` directory to `docs` since I had `doc` in my
`headerLinks` in the example siteConfig.js.
So let's check the headerLinks and make sure we have the required directories.
Here is an example of the error if I try to load a Docusaurus site just after running `npm run examples` without having renamed the directories.
```
Error: You have 'doc' in your headerLinks, but no 'docs' folder exists one level up from 'website' folder. Are you running the examples? If so, make sure you rename 'docs-examples-from-docusaurus' to 'docs'.
at /Users/joelm/dev/test/website/node_modules/docusaurus/lib/core/nav/HeaderNav.js:226:15
:
:
```
Test Plan: Tested a local package in verdaccio
* Add Reason support to Prism.js
* Add XML/ATOM feed. Generates for both localhost and build script. Adds meta links to feeds to all html files.
* Updated /core/Footer.js to pull from siteConfig