From eccbc178e5f2c50be67a82e35f9a97a0679a58ce Mon Sep 17 00:00:00 2001 From: Frank Li Date: Mon, 17 Jul 2017 10:57:08 -0700 Subject: [PATCH] Add optional sidebar_title docs front matter field for sidebar titles distinct from document article titles --- examples/example-docs/en/doc1.md | 1 + lib/core/nav/SideNav.js | 20 ++++++++++++++------ lib/write-translations.js | 6 +++++- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/examples/example-docs/en/doc1.md b/examples/example-docs/en/doc1.md index 8f2fd96029..9b17145a73 100644 --- a/examples/example-docs/en/doc1.md +++ b/examples/example-docs/en/doc1.md @@ -1,6 +1,7 @@ --- id: doc1 title: Docusaurus +sidebar_title: Docusaurus Guide layout: docs category: Docusaurus permalink: docs/en/doc1.html diff --git a/lib/core/nav/SideNav.js b/lib/core/nav/SideNav.js index 2ea8576642..04bcddd338 100644 --- a/lib/core/nav/SideNav.js +++ b/lib/core/nav/SideNav.js @@ -69,12 +69,20 @@ class SideNav extends React.Component { return categoryString; } getLocalizedString(metadata) { - let localizedString = translation[this.props.language] - ? translation[this.props.language]["localized-strings"][ - metadata.localized_id - ] || metadata.title - : metadata.title; - + let localizedString; + if (metadata.sidebar_title) { + localizedString = translation[this.props.language] + ? translation[this.props.language]["localized-strings"][ + metadata.sidebar_title + ] || metadata.sidebar_title + : metadata.sidebar_title; + } else { + localizedString = translation[this.props.language] + ? translation[this.props.language]["localized-strings"][ + metadata.localized_id + ] || metadata.title + : metadata.title; + } return localizedString; } getLink(metadata) { diff --git a/lib/write-translations.js b/lib/write-translations.js index 84e6ed5cd5..4bd7e711a1 100644 --- a/lib/write-translations.js +++ b/lib/write-translations.js @@ -47,6 +47,11 @@ function execute() { translations["localized-strings"][metadata.id] = metadata.title; translations["localized-strings"][metadata.category] = metadata.category; + + if (metadata.sidebar_title) { + translations["localized-strings"][metadata.sidebar_title] = + metadata.sidebar_title; + } } }); /* look through header links for text to translate */ @@ -89,7 +94,6 @@ function execute() { }); } }); - writeFileAndCreateFolder(CWD + "/i18n/en.json", JSON.stringify(translations)); }