diff --git a/packages/docusaurus-types/src/index.d.ts b/packages/docusaurus-types/src/index.d.ts
index f052625476..2ee518bf34 100644
--- a/packages/docusaurus-types/src/index.d.ts
+++ b/packages/docusaurus-types/src/index.d.ts
@@ -12,7 +12,7 @@ import {ParsedUrlQueryInput} from 'querystring';
export interface DocusaurusConfig {
baseUrl: string;
favicon: string;
- tagline: string;
+ tagline?: string;
title: string;
url: string;
organizationName?: string;
diff --git a/packages/docusaurus/src/client/theme-fallback/Layout/index.js b/packages/docusaurus/src/client/theme-fallback/Layout/index.js
index 0869fae853..70e869b8f9 100644
--- a/packages/docusaurus/src/client/theme-fallback/Layout/index.js
+++ b/packages/docusaurus/src/client/theme-fallback/Layout/index.js
@@ -13,12 +13,12 @@ import useBaseUrl from '@docusaurus/useBaseUrl';
function Layout(props) {
const context = useDocusaurusContext();
const {siteConfig = {}} = context;
- const {favicon, tagline, title: defaultTitle} = siteConfig;
+ const {favicon, tagline = '', title: defaultTitle} = siteConfig;
const {children, title, description} = props;
const faviconUrl = useBaseUrl(favicon);
return (
<>
-
+
{title && {`${title} · ${tagline}`}}
{favicon && }
{description && }
diff --git a/packages/docusaurus/src/server/__tests__/config.test.ts b/packages/docusaurus/src/server/__tests__/config.test.ts
index 01438cb69b..17def9321b 100644
--- a/packages/docusaurus/src/server/__tests__/config.test.ts
+++ b/packages/docusaurus/src/server/__tests__/config.test.ts
@@ -41,7 +41,7 @@ describe('loadConfig', () => {
expect(() => {
loadConfig(siteDir);
}).toThrowErrorMatchingInlineSnapshot(
- `"The required field(s) 'favicon', 'tagline', 'url' are missing from docusaurus.config.js"`,
+ `"The required field(s) 'favicon', 'url' are missing from docusaurus.config.js"`,
);
});
diff --git a/packages/docusaurus/src/server/config.ts b/packages/docusaurus/src/server/config.ts
index 4cbd8524a0..ab631f6b96 100644
--- a/packages/docusaurus/src/server/config.ts
+++ b/packages/docusaurus/src/server/config.ts
@@ -12,7 +12,7 @@ import path from 'path';
import {CONFIG_FILE_NAME} from '../constants';
import {DocusaurusConfig, PluginConfig} from '@docusaurus/types';
-const REQUIRED_FIELDS = ['baseUrl', 'favicon', 'tagline', 'title', 'url'];
+const REQUIRED_FIELDS = ['baseUrl', 'favicon', 'title', 'url'];
const OPTIONAL_FIELDS = [
'organizationName',
@@ -25,6 +25,7 @@ const OPTIONAL_FIELDS = [
'themeConfig',
'scripts',
'stylesheets',
+ 'tagline',
];
const DEFAULT_CONFIG: {
diff --git a/website/docs/docusaurus.config.js.md b/website/docs/docusaurus.config.js.md
index 83f8eb6ade..81817247f0 100644
--- a/website/docs/docusaurus.config.js.md
+++ b/website/docs/docusaurus.config.js.md
@@ -23,20 +23,6 @@ module.exports = {
};
```
-### `tagline`
-
-- Type: `string`
-
-The tagline for your website.
-
-```js
-// docusaurus.config.js
-module.exports = {
- tagline:
- 'Docusaurus makes it easy to maintain Open Source documentation websites.',
-};
-```
-
### `favicon`
- Type: `string`
@@ -98,6 +84,20 @@ module.exports = {
## Optional fields
+### `tagline`
+
+- Type: `string`
+
+The tagline for your website.
+
+```js
+// docusaurus.config.js
+module.exports = {
+ tagline:
+ 'Docusaurus makes it easy to maintain Open Source documentation websites.',
+};
+```
+
### `organizationName`
- Type: `string`