2018-10-25 20:03:19 -04:00
/ * *
2020-02-25 10:12:28 -05:00
* Copyright ( c ) Facebook , Inc . and its affiliates .
2018-10-25 20:03:19 -04:00
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree .
* /
2020-07-08 06:32:41 -04:00
const path = require ( 'path' ) ;
2019-11-23 21:13:16 -05:00
const versions = require ( './versions.json' ) ;
2020-06-10 11:22:08 -04:00
const allDocHomesPaths = [
2020-06-29 12:38:28 -04:00
'/docs/' ,
'/docs/next/' ,
... versions . slice ( 1 ) . map ( ( version ) => ` /docs/ ${ version } / ` ) ,
2020-06-10 11:22:08 -04:00
] ;
2020-08-28 12:37:49 -04:00
const isDev = process . env . NODE _ENV === 'development' ;
const isDeployPreview =
process . env . NETLIFY && process . env . CONTEXT === 'deploy-preview' ;
2020-07-22 13:55:40 -04:00
const baseUrl = process . env . BASE _URL || '/' ;
2020-08-17 14:18:37 -04:00
const isBootstrapPreset = process . env . DOCUSAURUS _PRESET === 'bootstrap' ;
2020-08-28 12:37:49 -04:00
const isVersioningDisabled = ! ! process . env . DISABLE _VERSIONING ;
2020-07-22 13:55:40 -04:00
2018-09-17 00:50:43 -04:00
module . exports = {
2018-11-11 11:25:13 -05:00
title : 'Docusaurus' ,
2019-11-25 13:31:14 -05:00
tagline : 'Build optimized websites quickly, focus on your content' ,
2018-09-21 06:46:19 -04:00
organizationName : 'facebook' ,
projectName : 'docusaurus' ,
2020-07-22 13:55:40 -04:00
baseUrl ,
2019-05-26 19:43:28 -04:00
url : 'https://v2.docusaurus.io' ,
2020-08-17 14:18:37 -04:00
onBrokenLinks : isVersioningDisabled ? 'warn' : 'throw' ,
2018-10-28 04:32:19 -04:00
favicon : 'img/docusaurus.ico' ,
2019-11-25 13:31:14 -05:00
customFields : {
description :
'An optimized site generator in React. Docusaurus helps you to move fast and write content. Build documentation websites, blogs, marketing pages, and more.' ,
} ,
2019-06-10 02:21:36 -04:00
themes : [ '@docusaurus/theme-live-codeblock' ] ,
2019-07-17 09:53:40 -04:00
plugins : [
2020-05-25 14:06:52 -04:00
[
2020-08-05 12:27:55 -04:00
'@docusaurus/plugin-content-docs' ,
{
id : 'community' ,
path : 'community' ,
editUrl : 'https://github.com/facebook/docusaurus/edit/master/website/' ,
routeBasePath : 'community' ,
sidebarPath : require . resolve ( './sidebarsCommunity.js' ) ,
showLastUpdateAuthor : true ,
showLastUpdateTime : true ,
} ,
] ,
[
'@docusaurus/plugin-content-blog' ,
{
id : 'second-blog' ,
path : 'dogfooding/second-blog' ,
routeBasePath : 'second-blog' ,
editUrl :
'https://github.com/facebook/docusaurus/edit/master/website/dogfooding' ,
postsPerPage : 3 ,
feedOptions : {
type : 'all' ,
copyright : ` Copyright © ${ new Date ( ) . getFullYear ( ) } Facebook, Inc. ` ,
} ,
} ,
] ,
[
2020-05-25 14:06:52 -04:00
'@docusaurus/plugin-client-redirects' ,
{
fromExtensions : [ 'html' ] ,
2020-06-10 11:22:08 -04:00
createRedirects : function ( path ) {
// redirect to /docs from /docs/introduction,
// as introduction has been made the home doc
if ( allDocHomesPaths . includes ( path ) ) {
return [ ` ${ path } /introduction ` ] ;
2020-06-03 12:15:12 -04:00
}
} ,
2020-08-05 12:27:55 -04:00
redirects : [
{
from : [ '/docs/support' , '/docs/next/support' ] ,
to : '/community/support' ,
} ,
{
from : [ '/docs/team' , '/docs/next/team' ] ,
to : '/community/team' ,
} ,
{
from : [ '/docs/resources' , '/docs/next/resources' ] ,
to : '/community/resources' ,
} ,
] ,
2020-05-25 14:06:52 -04:00
} ,
] ,
2019-07-17 09:53:40 -04:00
[
'@docusaurus/plugin-ideal-image' ,
{
quality : 70 ,
max : 1030 , // max resized image's size.
min : 640 , // min resized image's size. if original is lower, use that size.
steps : 2 , // the max number of images generated between min and max (inclusive)
} ,
] ,
2020-07-08 06:32:41 -04:00
[
'@docusaurus/plugin-pwa' ,
{
debug : false ,
offlineModeActivationStrategies : [ 'appInstalled' , 'queryString' ] ,
// swRegister: false,
swCustom : path . resolve ( _ _dirname , 'src/sw.js' ) ,
pwaHead : [
{
tagName : 'link' ,
rel : 'icon' ,
href : '/img/docusaurus.png' ,
} ,
{
tagName : 'link' ,
rel : 'manifest' ,
href : '/manifest.json' ,
} ,
{
tagName : 'meta' ,
name : 'theme-color' ,
content : 'rgb(37, 194, 160)' ,
} ,
{
tagName : 'meta' ,
name : 'apple-mobile-web-app-capable' ,
content : 'yes' ,
} ,
{
tagName : 'meta' ,
name : 'apple-mobile-web-app-status-bar-style' ,
content : '#000' ,
} ,
{
tagName : 'link' ,
rel : 'apple-touch-icon' ,
href : '/img/docusaurus.png' ,
} ,
{
tagName : 'link' ,
rel : 'mask-icon' ,
href : '/img/docusaurus.svg' ,
color : 'rgb(62, 204, 94)' ,
} ,
{
tagName : 'meta' ,
name : 'msapplication-TileImage' ,
content : '/img/docusaurus.png' ,
} ,
{
tagName : 'meta' ,
name : 'msapplication-TileColor' ,
content : '#000' ,
} ,
] ,
} ,
] ,
2019-07-17 09:53:40 -04:00
] ,
2019-06-10 02:21:36 -04:00
presets : [
[
2020-08-17 14:18:37 -04:00
isBootstrapPreset
? '@docusaurus/preset-bootstrap'
: '@docusaurus/preset-classic' ,
2019-06-10 02:21:36 -04:00
{
2020-08-07 05:47:43 -04:00
debug : true , // force debug plugin usage
2019-06-10 02:21:36 -04:00
docs : {
2020-08-05 12:27:55 -04:00
// routeBasePath: '/',
2019-06-10 02:21:36 -04:00
path : 'docs' ,
sidebarPath : require . resolve ( './sidebars.js' ) ,
2019-10-10 14:10:18 -04:00
editUrl :
2019-11-11 09:24:04 -05:00
'https://github.com/facebook/docusaurus/edit/master/website/' ,
2019-10-11 00:45:39 -04:00
showLastUpdateAuthor : true ,
showLastUpdateTime : true ,
2019-11-23 21:32:26 -05:00
remarkPlugins : [ require ( './src/plugins/remark-npm2yarn' ) ] ,
2020-08-17 14:18:37 -04:00
disableVersioning : isVersioningDisabled ,
2020-08-28 12:37:49 -04:00
lastVersion : isDev || isDeployPreview ? 'current' : undefined ,
2020-08-31 11:08:24 -04:00
onlyIncludeVersions :
! isVersioningDisabled && ( isDev || isDeployPreview )
? [ 'current' , ... versions . slice ( 0 , 2 ) ]
: undefined ,
2020-08-28 12:37:49 -04:00
versions : {
current : {
// path: isDev || isDeployPreview ? '' : 'next',
label :
isDev || isDeployPreview
? ` Next ( ${ isDeployPreview ? 'deploy preview' : 'dev' } ) `
: 'Next' ,
} ,
} ,
2019-06-10 02:21:36 -04:00
} ,
blog : {
2020-08-05 12:27:55 -04:00
// routeBasePath: '/',
2019-06-10 02:21:36 -04:00
path : '../website-1.x/blog' ,
2020-04-05 05:34:48 -04:00
editUrl :
'https://github.com/facebook/docusaurus/edit/master/website-1.x/' ,
2019-06-10 02:21:36 -04:00
postsPerPage : 3 ,
feat(v2): Implement plugin creating feed for blog posts (#1916)
* 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
2019-11-06 02:45:31 -05:00
feedOptions : {
type : 'all' ,
copyright : ` Copyright © ${ new Date ( ) . getFullYear ( ) } Facebook, Inc. ` ,
} ,
2019-06-10 02:21:36 -04:00
} ,
2020-07-31 10:04:56 -04:00
pages : {
remarkPlugins : [ require ( './src/plugins/remark-npm2yarn' ) ] ,
} ,
2019-06-10 02:21:36 -04:00
theme : {
2019-06-15 12:59:23 -04:00
customCss : require . resolve ( './src/css/custom.css' ) ,
2019-06-10 02:21:36 -04:00
} ,
} ,
] ,
] ,
2019-05-08 04:21:11 -04:00
themeConfig : {
2020-06-30 06:21:20 -04:00
colorMode : {
defaultMode : 'light' ,
disableSwitch : false ,
respectPrefersColorScheme : true ,
} ,
2020-03-31 12:08:55 -04:00
announcementBar : {
id : 'supportus' ,
content :
'⭐️ If you like Docusaurus, give it a star on <a target="_blank" rel="noopener noreferrer" href="https://github.com/facebook/docusaurus">GitHub</a>! ⭐️' ,
} ,
2019-12-25 09:52:34 -05:00
prism : {
theme : require ( 'prism-react-renderer/themes/github' ) ,
darkTheme : require ( 'prism-react-renderer/themes/dracula' ) ,
} ,
2020-03-21 22:05:23 -04:00
image : 'img/docusaurus-soc.png' ,
2019-06-10 02:21:36 -04:00
gtag : {
trackingID : 'UA-141789564-1' ,
} ,
2019-05-08 04:21:11 -04:00
algolia : {
apiKey : '47ecd3b21be71c5822571b9f59e52544' ,
indexName : 'docusaurus-2' ,
2020-07-23 08:36:38 -04:00
searchParameters : {
2019-11-30 06:05:45 -05:00
facetFilters : [ ` version: ${ versions [ 0 ] } ` ] ,
} ,
2019-05-08 04:21:11 -04:00
} ,
2019-05-17 03:54:11 -04:00
navbar : {
2019-12-12 07:19:37 -05:00
hideOnScroll : true ,
2019-05-17 03:54:11 -04:00
title : 'Docusaurus' ,
logo : {
alt : 'Docusaurus Logo' ,
src : 'img/docusaurus.svg' ,
2020-03-22 09:33:19 -04:00
srcDark : 'img/docusaurus_keytar.svg' ,
2019-05-17 03:54:11 -04:00
} ,
2020-07-21 05:16:08 -04:00
items : [
2019-11-23 21:13:16 -05:00
{
2020-07-21 05:16:08 -04:00
type : 'docsVersionDropdown' ,
2020-02-19 21:10:22 -05:00
position : 'left' ,
2020-07-22 05:56:28 -04:00
nextVersionLabel : '2.0.0-next' ,
2020-02-19 21:10:22 -05:00
} ,
2019-05-17 03:54:11 -04:00
{ to : 'blog' , label : 'Blog' , position : 'left' } ,
2019-07-14 00:44:40 -04:00
{ to : 'showcase' , label : 'Showcase' , position : 'left' } ,
2020-05-27 08:56:59 -04:00
{
2020-08-05 12:27:55 -04:00
to : '/community/support' ,
2020-05-27 08:56:59 -04:00
label : 'Community' ,
position : 'left' ,
2020-08-05 12:27:55 -04:00
activeBaseRegex : ` /community/ ` ,
2020-05-27 08:56:59 -04:00
} ,
2019-05-17 03:54:11 -04:00
{
2020-07-22 13:55:40 -04:00
to : '/versions' ,
2020-07-22 05:56:28 -04:00
label : 'All versions' ,
2020-03-31 15:10:04 -04:00
position : 'right' ,
} ,
{
2019-05-17 03:54:11 -04:00
href : 'https://github.com/facebook/docusaurus' ,
position : 'right' ,
2020-04-26 14:21:36 -04:00
className : 'header-github-link' ,
2020-04-27 07:17:55 -04:00
'aria-label' : 'GitHub repository' ,
2019-05-17 03:54:11 -04:00
} ,
] ,
} ,
2019-05-16 02:27:52 -04:00
footer : {
style : 'dark' ,
links : [
{
2020-04-22 00:30:03 -04:00
title : 'Learn' ,
2019-05-16 02:27:52 -04:00
items : [
{
label : 'Introduction' ,
2020-06-03 20:38:01 -04:00
to : 'docs' ,
2019-05-16 02:27:52 -04:00
} ,
{
2019-07-26 11:42:03 -04:00
label : 'Installation' ,
to : 'docs/installation' ,
2019-05-16 02:27:52 -04:00
} ,
2019-10-12 04:03:51 -04:00
{
label : 'Migration from v1 to v2' ,
2019-10-12 15:02:16 -04:00
to : 'docs/migrating-from-v1-to-v2' ,
2019-10-12 04:03:51 -04:00
} ,
2019-05-16 02:27:52 -04:00
] ,
} ,
{
title : 'Community' ,
items : [
{
label : 'Stack Overflow' ,
href : 'https://stackoverflow.com/questions/tagged/docusaurus' ,
} ,
{
label : 'Feedback' ,
to : 'feedback' ,
} ,
{
label : 'Discord' ,
href : 'https://discordapp.com/invite/docusaurus' ,
} ,
2019-10-12 04:03:51 -04:00
{
label : 'Help' ,
2020-08-05 12:27:55 -04:00
to : '/community/support' ,
2019-10-12 04:03:51 -04:00
} ,
2019-05-16 02:27:52 -04:00
] ,
} ,
{
2020-01-01 11:43:08 -05:00
title : 'More' ,
2019-05-16 02:27:52 -04:00
items : [
{
label : 'Blog' ,
to : 'blog' ,
} ,
{
label : 'GitHub' ,
href : 'https://github.com/facebook/docusaurus' ,
} ,
{
label : 'Twitter' ,
href : 'https://twitter.com/docusaurus' ,
} ,
2019-12-25 04:36:42 -05:00
{
2020-01-01 10:23:57 -05:00
html : `
< a href = "https://www.netlify.com" target = "_blank" rel = "noreferrer noopener" aria - label = "Deploys by Netlify" >
< img src = "https://www.netlify.com/img/global/badges/netlify-color-accent.svg" alt = "Deploys by Netlify" / >
< / a >
` ,
2019-12-25 04:36:42 -05:00
} ,
2019-05-16 02:27:52 -04:00
] ,
} ,
2020-04-22 00:30:03 -04:00
{
title : 'Legal' ,
// Please do not remove the privacy and terms, it's a legal requirement.
items : [
{
label : 'Privacy' ,
href : 'https://opensource.facebook.com/legal/privacy/' ,
} ,
{
label : 'Terms' ,
href : 'https://opensource.facebook.com/legal/terms/' ,
} ,
] ,
} ,
2019-05-16 02:27:52 -04:00
] ,
logo : {
alt : 'Facebook Open Source Logo' ,
2020-05-27 08:56:59 -04:00
src : 'img/oss_logo.png' ,
2020-04-22 00:30:03 -04:00
href : 'https://opensource.facebook.com' ,
2019-05-16 02:27:52 -04:00
} ,
2020-04-22 01:52:59 -04:00
copyright : ` Copyright © ${ new Date ( ) . getFullYear ( ) } Facebook, Inc. Built with Docusaurus. ` ,
2019-05-16 02:27:52 -04:00
} ,
2018-10-28 04:32:19 -04:00
} ,
2018-09-17 00:50:43 -04:00
} ;