docusaurus/packages/docusaurus-utils/src/slugger.ts
Sébastien Lorber cfae5d0933
feat(content-docs): sidebar category linking to document or auto-generated index page (#5830)
Co-authored-by: Joshua Chen <sidachen2003@gmail.com>
Co-authored-by: Armano <armano2@users.noreply.github.com>
Co-authored-by: Alexey Pyltsyn <lex61rus@gmail.com>
2021-12-03 14:44:59 +01:00

24 lines
696 B
TypeScript

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import GithubSlugger from 'github-slugger';
// We create our own abstraction on top of the lib:
// - unify usage everywhere in the codebase
// - ability to add extra options
export type SluggerOptions = {maintainCase?: boolean};
export type Slugger = {
slug: (value: string, options?: SluggerOptions) => string;
};
export function createSlugger(): Slugger {
const githubSlugger = new GithubSlugger();
return {
slug: (value, options) => githubSlugger.slug(value, options?.maintainCase),
};
}