From 1111560e0388324e93ee09e9b60317c5a2c3bce2 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Sun, 2 Feb 2020 00:54:35 +0300 Subject: [PATCH 1/4] feat(v2): pluralize posts on tag's page --- .../src/theme/BlogTagsPostsPage/index.js | 4 +++- .../docusaurus-theme-classic/src/theme/DocSidebar/index.js | 2 +- packages/docusaurus/src/client/exports/Link.js | 2 +- packages/docusaurus/src/client/exports/utils.js | 7 ++++++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/docusaurus-theme-classic/src/theme/BlogTagsPostsPage/index.js b/packages/docusaurus-theme-classic/src/theme/BlogTagsPostsPage/index.js index aaf7ea57a96c..0e31d77f841d 100644 --- a/packages/docusaurus-theme-classic/src/theme/BlogTagsPostsPage/index.js +++ b/packages/docusaurus-theme-classic/src/theme/BlogTagsPostsPage/index.js @@ -10,6 +10,7 @@ import React from 'react'; import Layout from '@theme/Layout'; import BlogPostItem from '@theme/BlogPostItem'; import Link from '@docusaurus/Link'; +import {pluralize} from '@docusaurus/utils'; // eslint-disable-line import/no-extraneous-dependencies function BlogTagsPostPage(props) { const {metadata, items} = props; @@ -23,7 +24,8 @@ function BlogTagsPostPage(props) {

- {count} post(s) tagged with "{tagName}" + {count} {pluralize(count, 'post')} tagged with "{tagName} + "

View All Tags
diff --git a/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js b/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js index a994194366d0..f0f471776a0b 100644 --- a/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js +++ b/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js @@ -11,7 +11,7 @@ import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import useBaseUrl from '@docusaurus/useBaseUrl'; import useLockBodyScroll from '@theme/hooks/useLockBodyScroll'; import Link from '@docusaurus/Link'; -import isInternalUrl from '@docusaurus/utils'; // eslint-disable-line import/no-extraneous-dependencies +import {isInternalUrl} from '@docusaurus/utils'; // eslint-disable-line import/no-extraneous-dependencies import styles from './styles.module.css'; diff --git a/packages/docusaurus/src/client/exports/Link.js b/packages/docusaurus/src/client/exports/Link.js index bc0ab6274bcc..db34e4e6b014 100644 --- a/packages/docusaurus/src/client/exports/Link.js +++ b/packages/docusaurus/src/client/exports/Link.js @@ -7,7 +7,7 @@ import React, {useEffect, useRef} from 'react'; import {NavLink} from 'react-router-dom'; -import isInternalUrl from '@docusaurus/utils'; +import {isInternalUrl} from '@docusaurus/utils'; function Link(props) { const {to, href} = props; diff --git a/packages/docusaurus/src/client/exports/utils.js b/packages/docusaurus/src/client/exports/utils.js index 74ed1a117757..e05e236c35de 100644 --- a/packages/docusaurus/src/client/exports/utils.js +++ b/packages/docusaurus/src/client/exports/utils.js @@ -4,6 +4,11 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -export default function isInternalUrl(url) { + +export function isInternalUrl(url) { return /^\/(?!\/)/.test(url); } + +export function pluralize(count, word) { + return count > 1 ? `${word}s` : word; +} From 765b371ef77691f51d7eb7e0ee1c8b2c6baa1831 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Sun, 2 Feb 2020 07:07:00 +0300 Subject: [PATCH 2/4] FIx ESlint error for import/no-extraneous-dependencies rule --- packages/docusaurus-theme-classic/package.json | 3 +++ .../src/theme/BlogTagsPostsPage/index.js | 2 +- .../docusaurus-theme-classic/src/theme/DocSidebar/index.js | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/docusaurus-theme-classic/package.json b/packages/docusaurus-theme-classic/package.json index 26d420164018..78653f0d0d5f 100644 --- a/packages/docusaurus-theme-classic/package.json +++ b/packages/docusaurus-theme-classic/package.json @@ -23,6 +23,9 @@ "react": "^16.8.4", "react-dom": "^16.8.4" }, + "bundledDependencies": [ + "@docusaurus/utils" + ], "engines": { "node": ">=10.9.0" } diff --git a/packages/docusaurus-theme-classic/src/theme/BlogTagsPostsPage/index.js b/packages/docusaurus-theme-classic/src/theme/BlogTagsPostsPage/index.js index 0e31d77f841d..7dbc18911a17 100644 --- a/packages/docusaurus-theme-classic/src/theme/BlogTagsPostsPage/index.js +++ b/packages/docusaurus-theme-classic/src/theme/BlogTagsPostsPage/index.js @@ -10,7 +10,7 @@ import React from 'react'; import Layout from '@theme/Layout'; import BlogPostItem from '@theme/BlogPostItem'; import Link from '@docusaurus/Link'; -import {pluralize} from '@docusaurus/utils'; // eslint-disable-line import/no-extraneous-dependencies +import {pluralize} from '@docusaurus/utils'; function BlogTagsPostPage(props) { const {metadata, items} = props; diff --git a/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js b/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js index f0f471776a0b..b564d79873b5 100644 --- a/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js +++ b/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js @@ -11,7 +11,7 @@ import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import useBaseUrl from '@docusaurus/useBaseUrl'; import useLockBodyScroll from '@theme/hooks/useLockBodyScroll'; import Link from '@docusaurus/Link'; -import {isInternalUrl} from '@docusaurus/utils'; // eslint-disable-line import/no-extraneous-dependencies +import {isInternalUrl} from '@docusaurus/utils'; import styles from './styles.module.css'; From 018599c39bd1dd9fcaa11770ceb1eacd129a3072 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Mon, 3 Feb 2020 07:58:50 +0300 Subject: [PATCH 3/4] Move pluralize method to theme scope --- .../src/theme/BlogTagsPostsPage/index.js | 5 ++++- packages/docusaurus/src/client/exports/utils.js | 6 +----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/docusaurus-theme-classic/src/theme/BlogTagsPostsPage/index.js b/packages/docusaurus-theme-classic/src/theme/BlogTagsPostsPage/index.js index 7dbc18911a17..1cfc93da7678 100644 --- a/packages/docusaurus-theme-classic/src/theme/BlogTagsPostsPage/index.js +++ b/packages/docusaurus-theme-classic/src/theme/BlogTagsPostsPage/index.js @@ -10,7 +10,10 @@ import React from 'react'; import Layout from '@theme/Layout'; import BlogPostItem from '@theme/BlogPostItem'; import Link from '@docusaurus/Link'; -import {pluralize} from '@docusaurus/utils'; + +function pluralize(count, word) { + return count > 1 ? `${word}s` : word; +} function BlogTagsPostPage(props) { const {metadata, items} = props; diff --git a/packages/docusaurus/src/client/exports/utils.js b/packages/docusaurus/src/client/exports/utils.js index e05e236c35de..269c9ace702c 100644 --- a/packages/docusaurus/src/client/exports/utils.js +++ b/packages/docusaurus/src/client/exports/utils.js @@ -5,10 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -export function isInternalUrl(url) { +export default function isInternalUrl(url) { return /^\/(?!\/)/.test(url); } - -export function pluralize(count, word) { - return count > 1 ? `${word}s` : word; -} From 52982ee8384b85854ecec60ae903851321db1c49 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Mon, 3 Feb 2020 08:50:47 +0300 Subject: [PATCH 4/4] Fix import --- packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js | 2 +- packages/docusaurus/src/client/exports/Link.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js b/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js index b564d79873b5..f72126d714ea 100644 --- a/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js +++ b/packages/docusaurus-theme-classic/src/theme/DocSidebar/index.js @@ -11,7 +11,7 @@ import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import useBaseUrl from '@docusaurus/useBaseUrl'; import useLockBodyScroll from '@theme/hooks/useLockBodyScroll'; import Link from '@docusaurus/Link'; -import {isInternalUrl} from '@docusaurus/utils'; +import isInternalUrl from '@docusaurus/utils'; import styles from './styles.module.css'; diff --git a/packages/docusaurus/src/client/exports/Link.js b/packages/docusaurus/src/client/exports/Link.js index db34e4e6b014..bc0ab6274bcc 100644 --- a/packages/docusaurus/src/client/exports/Link.js +++ b/packages/docusaurus/src/client/exports/Link.js @@ -7,7 +7,7 @@ import React, {useEffect, useRef} from 'react'; import {NavLink} from 'react-router-dom'; -import {isInternalUrl} from '@docusaurus/utils'; +import isInternalUrl from '@docusaurus/utils'; function Link(props) { const {to, href} = props;