* stable createData namespacing + second-blog dogfooding
* Docs: support multi-instance + make community docs a separate instance
* tests: add 2nd docs instance to versioned site
* fix docs version cli tests
* fix docs versioning cli
* typo
* team: add link to my site
* better extendCli integration
* fix metadata tests
* tests for versioned site with second docs instance
* move some validation code to utils-validation
* fix missing dependency
* fix bad compiled output due to importing constants in ./client folder
* make docs tests easier to maintain
* refactors
* prevent lodash imports in client bundle
* redirect old community docs to new urls
* test(v2): add tests for correctly defined fields
* test(v2): add test for remarkPlugins and rehypePlugins validation
* test(v2): modify tests and comments
* fix(v2): make navbar title validation less strict
* fix(v2): fix validation for rehype plugin
* fix(v2): allow empty string for routeBasePath
* fix(v2): fix validation for stylesheets and scripts field
* fix(v2): rerun CI
* fix(v2): relax check for stylesheet href
* doc components initial simplification
* doc components initial simplification
* add docContext test
* Add poc of global data system + use it in the theme
* Revert "doc components initial simplification"
This reverts commit f657b4c4
* revert useless changes
* avoid loosing context on docs switch
* fix docs tests
* fix @generated/globalData ts declaration / es import
* typo
* revert bad commit
* refactor navbar in multiple parts + add navbar item types validation + try to fix remaining merge bugs
* add missing watch mode for plugin debug
* fix docs global data integration, move related hooks to docs plugin + convert to TS
* change versions link label
* fix activeClassName react warning
* improve docs global data system + contextual navbar dropdown
* fix bug preventing the deployment
* refactor the global data system to namespace automatically by plugin name + plugin id
* proper NavbarItem comp
* fix tests
* fix snapshot
* extract theme config schema in separate file + rename navbar links to navbar items
* minor typos
* polish docs components/api
* polish useDocs api surface
* fix the docs version suggestions comp + data
* refactors + add docsClientUtils unit tests
* Add documentation
* typo
* Add check for duplicate plugin ids detection
* multi-instance: createData plugin data should be namespaced by plugin instance id
* remove attempt for multi-instance support
* add validation for blog plugin
* fix wrong default component
* fix test and add yup to package.json
* remove console.log
* add validation for classic theme and code block theme
* add yup to packages
* remove console.log
* fix build
* fix logo required
* replaced yup with joi
* fix test
* remove hapi from docusuars core
* replace joi with @hapi/joi
* fix eslint
* fix remark plugin type
* change remark plugin validation to match documentation
* move schema to it's own file
* allow unknown only on outer theme object
* fix type for schema type
* fix yarn.lock
* support both commonjs and ES modules
* add docs for new lifecycle method
* perf(v2): convert synchronous filewrite to asynchronous in feed file generate
This looks like should return a Promise list , other than a sync io operation
* perf(v2): convert synchronous filewrite to asynchronous in sitemap generate
* perf(v2): convert Promise style to async/await style
for consistency
* improve markdown parsing errors by adding file path to error
* typo commit
* Add default nav item position to right (as v1)
* improve error when sidebar references unexisting document
* parseMarkdownFile: improve errors by providing hint about using "" to avoid parsing errors, if using special characters
* improve subcategory migration error for Unknown sidebar item type
* improve unrecognizedFields error
* typo
* fix inline snapshots
* improve the migration docs
* improve the migration docs
* improve migration doc
* Update migrating-from-v1-to-v2.md
Co-authored-by: Yangshun Tay <tay.yang.shun@gmail.com>
* fix(v2): use remark-admonitions separately in each plugin instead of in preset only
* Update types.d.ts
* Update types.d.ts
* Address fixes from review
Co-authored-by: Yangshun Tay <tay.yang.shun@gmail.com>
* wip embed metadata to content
* embed metadata in blog as well
* refactor
* update test
* yarn lock
* avoid overwriting file everytime we run new nodejs process
* nits
* feat(v2): Implement feed for blog posts
Fixes: #1698
Test plan:
- added tests
Ran `yarn build` on website with the following config (and disabled blog
from preset-classic):
```js
[
'@docusaurus/plugin-content-blog',
{
path: '../website-1.x/blog',
feedOptions: {
copyright: 'Copy',
type: 'atom',
},
},
],
```
which genereted the following feed:
```xml
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>https://v2.docusaurus.io/blog</id>
<title>Docusaurus Blog</title>
<updated>2018-12-14T00:00:00.000Z</updated>
<generator>https://github.com/jpmonette/feed</generator>
<link rel="alternate" href="https://v2.docusaurus.io/blog"/>
<subtitle>Docusaurus Blog</subtitle>
<icon>https://v2.docusaurus.io/img/docusaurus.ico</icon>
<rights>Copy</rights>
<entry>
<title type="html"><![CDATA[Happy 1st Birthday Slash!]]></title>
<id>Happy 1st Birthday Slash!</id>
<link href="https://v2.docusaurus.io/blog/2018/12/14/Happy-First-Birthday-Slash"/>
<updated>2018-12-14T00:00:00.000Z</updated>
<summary type="html"><]]></summary>
</entry>
<entry>
<title type="html"><![CDATA[Towards Docusaurus 2]]></title>
<id>Towards Docusaurus 2</id>
<link href="https://v2.docusaurus.io/blog/2018/09/11/Towards-Docusaurus-2"/>
<updated>2018-09-11T00:00:00.000Z</updated>
<summary type="html">< over nine months ago as a way to easily build open source documentation websites. Since then, it has amassed over 8,600 GitHub Stars, and is used by many popular open source projects such as [React Native](https://facebook.github.io/react-native/), [Babel](https://babeljs.io/), [Jest](https://jestjs.io/), [Reason](https://reasonml.github.io/) and [Prettier](https://prettier.io/).]]></summary>
</entry>
<entry>
<title type="html"><![CDATA[How I Converted Profilo to Docusaurus in Under 2 Hours]]></title>
<id>How I Converted Profilo to Docusaurus in Under 2 Hours</id>
<link href="https://v2.docusaurus.io/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus"/>
<updated>2018-04-30T00:00:00.000Z</updated>
<summary type="html"><![CDATA[> _“Joel and I were discussing having a website and how it would have been great to launch with it. So I challenged myself to add Docusaurus support. It took just over an hour and a half. I'm going to send you a PR with the addition so you can take a look and see if you like it. Your workflow for adding docs wouldn't be much different from editing those markdown files.”_]]></summary>
</entry>
<entry>
<title type="html"><![CDATA[Introducing Docusaurus]]></title>
<id>Introducing Docusaurus</id>
<link href="https://v2.docusaurus.io/blog/2017/12/14/introducing-docusaurus"/>
<updated>2017-12-14T00:00:00.000Z</updated>
<summary type="html"><]]></summary>
</entry>
</feed>
```
* new feedOptions type 'all' and use correct path