Skip to content

Commit

Permalink
feat: support Docusaurus v2.0.0-beta.15, fixes #93
Browse files Browse the repository at this point in the history
BREAKING CHANGE: the minimum supported Docusaurus version is now v2.0.0-beta15.
  • Loading branch information
cmfcmf committed Jan 28, 2022
1 parent e947ad1 commit 30a6c66
Show file tree
Hide file tree
Showing 9 changed files with 704 additions and 719 deletions.
6 changes: 1 addition & 5 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,7 @@ jobs:
matrix:
node-version: [14.x, 16.x, 17.x]
docusaurus-version:
- "v2.0.0-beta.9"
- "v2.0.0-beta.10"
- "v2.0.0-beta.11"
- "v2.0.0-beta.13"
- "v2.0.0-beta.14"
- "v2.0.0-beta.15"
- "canary"

steps:
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Offline / Local Search for Docusaurus v2.0.0-beta9+
# Offline / Local Search for Docusaurus v2.0.0-beta.15+

![Version](https://img.shields.io/npm/v/@cmfcmf/docusaurus-search-local?style=flat-square)
![License](https://img.shields.io/npm/l/@cmfcmf/docusaurus-search-local?style=flat-square)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
![GitHub issues](https://img.shields.io/github/issues/cmfcmf/docusaurus-search-local?style=flat-square)
![GitHub last commit](https://img.shields.io/github/last-commit/cmfcmf/docusaurus-search-local?style=flat-square)

Offline / local search for Docusaurus **v2.0.0-beta9+** that works behind your firewall.
Offline / local search for Docusaurus **v2.0.0-beta.15+** that works behind your firewall.

Feature Highlights:

Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"packages/*"
],
"devDependencies": {
"@docusaurus/core": "^2.0.0-beta.13",
"@docusaurus/preset-classic": "^2.0.0-beta.13",
"@docusaurus/core": "^2.0.0-beta.15",
"@docusaurus/preset-classic": "^2.0.0-beta.15",
"@playwright/test": "^1.17.1",
"husky": "^7.0.4",
"lerna": "^4.0.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/docusaurus-search-local/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
"mark.js": "^8.11.1"
},
"peerDependencies": {
"@docusaurus/core": "^v2.0.0-beta.9",
"@docusaurus/core": "^v2.0.0-beta.15",
"nodejieba": "^2.5.0"
},
"peerDependenciesMeta": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,6 @@ import Head from "@docusaurus/Head";
import { translate } from "@docusaurus/Translate";
import { useHistory } from "@docusaurus/router";
import useDocusaurusContext from "@docusaurus/useDocusaurusContext";
import {
useActivePluginAndVersion,
useAllDocsData,
} from "@theme/hooks/useDocs";
import {
docVersionSearchTag,
DEFAULT_SEARCH_TAG,
useDocsPreferredVersionByPluginId,
} from "@docusaurus/theme-common";
import { mylunr, tokenize } from "./generatedWrapper";
import {
DSLALocationState,
Expand All @@ -29,6 +20,7 @@ import {
import { usePluginData } from "@docusaurus/useGlobalData";
import type { DSLAPluginData, MyDocument } from "../../../types";
import useIsBrowser from "@docusaurus/useIsBrowser";
import { useContextualSearchFilters } from "@docusaurus/theme-common";

const SEARCH_INDEX_AVAILABLE = process.env.NODE_ENV === "production";
const MAX_SEARCH_RESULTS = 8;
Expand Down Expand Up @@ -85,42 +77,6 @@ async function fetchIndex(
}
}

// Copied from Docusaurus, will be available from @docusaurus/theme-common from beta10 onwards.
// https://github.com/facebook/docusaurus/blob/main/packages/docusaurus-theme-common/src/utils/useContextualSearchFilters.ts
function useContextualSearchFilters() {
const { i18n } = useDocusaurusContext();
const allDocsData = useAllDocsData();
const activePluginAndVersion = useActivePluginAndVersion();
const docsPreferredVersionByPluginId = useDocsPreferredVersionByPluginId();

function getDocPluginTags(pluginId: string) {
const activeVersion =
activePluginAndVersion?.activePlugin?.pluginId === pluginId
? activePluginAndVersion.activeVersion
: undefined;

const preferredVersion = docsPreferredVersionByPluginId[pluginId];

const latestVersion = allDocsData[pluginId]!.versions.find(
(v) => v.isLast
)!;

const version = activeVersion ?? preferredVersion ?? latestVersion;

return docVersionSearchTag(pluginId, version.name);
}

const tags = [
DEFAULT_SEARCH_TAG,
...Object.keys(allDocsData).map(getDocPluginTags),
];

return {
locale: i18n.currentLocale,
tags,
};
}

type IndexWithDocuments = {
documents: MyDocument[];
index: lunr.Index;
Expand Down
18 changes: 6 additions & 12 deletions packages/docusaurus-search-local/src/server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,12 @@ import type {
OptionValidationContext,
Plugin,
} from "@docusaurus/types";
import type {
LoadedContent as DocsLoadedContent,
PluginOptions as DocsOptions,
} from "@docusaurus/plugin-content-docs/src/types";
import type {
BlogContent as BlogLoadedContent,
PluginOptions as BlogOptions,
} from "@docusaurus/plugin-content-blog/src/types";
import type {
LoadedContent as PagesLoadedContent,
PluginOptions as PagesOptions,
} from "@docusaurus/plugin-content-pages/src/types";
import type { LoadedContent as DocsLoadedContent } from "@docusaurus/plugin-content-docs/src/types";
import type { PluginOptions as DocsOptions } from "@docusaurus/plugin-content-docs";
import type { BlogContent as BlogLoadedContent } from "@docusaurus/plugin-content-blog/src/types";
import type { PluginOptions as BlogOptions } from "@docusaurus/plugin-content-blog";
import type { LoadedContent as PagesLoadedContent } from "@docusaurus/plugin-content-pages/src/types";
import type { PluginOptions as PagesOptions } from "@docusaurus/plugin-content-pages";
import { Joi } from "@docusaurus/utils-validation";
import type { DSLAPluginData, MyDocument } from "../types";
import { html2text, getDocusaurusTag } from "./parse";
Expand Down
2 changes: 1 addition & 1 deletion packages/docusaurus-search-local/src/server/parse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ export function html2text(

const docSidebarParentCategories =
type === "docs"
? $("*[class^=docSidebarContainer_] .menu__link--active")
? $(".theme-doc-sidebar-container .menu__link--active")
.map((_, element) => $(element).text())
.get()
.slice(0, -1)
Expand Down
4 changes: 2 additions & 2 deletions packages/example-docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
"clsx": "^1.1.1"
},
"peerDependencies": {
"@docusaurus/core": "^2.0.0-beta.13",
"@docusaurus/preset-classic": "^2.0.0-beta.13",
"@docusaurus/core": "^2.0.0-beta.15",
"@docusaurus/preset-classic": "^2.0.0-beta.15",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
Expand Down

0 comments on commit 30a6c66

Please sign in to comment.