JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 13
  • Score
    100M100P100Q68859F
  • License MIT

A VuePress plugin which convert Chinese title to transliterate permalink.一个 VuePress 插件,将中文标题转换为音译永久链接.

Package Exports

  • @vuepress-denaro/vuepress-plugin-permalink-pinyin
  • @vuepress-denaro/vuepress-plugin-permalink-pinyin/lib/node/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@vuepress-denaro/vuepress-plugin-permalink-pinyin) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

vuepress-plugin-permalink-pinyin

🎉 A VuePress plugin which convert Chinese title to transliterate permalink.一个 VuePress 插件,将中文标题转换为音译永久链接.

npm version GitHub stars GitHub issues
jsdelivr npm NPM

Usage

  • Install
# npm
npm install @vuepress-denaro/vuepress-plugin-permalink-pinyin

# yarn
yarn add @vuepress-denaro/vuepress-plugin-permalink-pinyin
  • Update plugins in .vuepress/config.js

js

const { permainkPinyinPlugin } = require('@vuepress-denaro/vuepress-plugin-permalink-pinyin')
module.exports = {
  plugins: [
    permainkPinyinPlugin({
      lowercase: true, // Converted into lowercase, default: true
      separator: '-' // Separator of the slug, default: '-'
    }),
  ],
}

ts

import { permainkPinyinPlugin } from '@vuepress-denaro/vuepress-plugin-permalink-pinyin'
import { defineUserConfig } from '@vuepress/cli'

export default defineUserConfig({
  plugins: [
    permainkPinyinPlugin({
      lowercase: true, // Converted into lowercase, default: true
      separator: '-' // Separator of the slug, default: '-'
    })
  ]
})

Configurations

/**
  * Ignore a list of strings untouched
  * @example tr('你好,世界', { ignore: ['你'] }) // 你 Hao , Shi Jie
  */
ignore?: string[];
/**
  * Replace a list of string / regex in the source string with the provided target string before transliteration
  * The option can either be an array or an object
  * @example tr('你好,世界', { replace: {你: 'You'} }) // You Hao , Shi Jie
  * @example tr('你好,世界', { replace: [['你', 'You']] }) // You Hao , Shi Jie
  * @example tr('你好,世界', { replace: [[/你/g, 'You']] }) // You Hao , Shi Jie
  */
replace?: OptionReplaceCombined;
/**
  * Same as `replace` but after transliteration
  */
replaceAfter?: OptionReplaceCombined;
/**
  * Decides whether or not to trim the result string after transliteration
  * @default false
  */
trim?: boolean;
/**
  * Any characters not known by this library will be replaced by a specific string `unknown`
  * @default ''
  */
unknown?: string;
/**
  * Whether the result need to be converted into lowercase
  * @default true
  */
lowercase?: boolean;
/**
  * Whether the result need to be converted into uppercase
  * @default false
  */
uppercase?: boolean;
/**
  * Custom separator string
  * @default '-'
  */
separator?: string;
/**
  * Allowed characters.
  * When `allowedChars` is set to `'abc'`, only characters which match `/[abc]/g` will be preserved.
  * Other characters will all be converted to `separator`
  * @default 'a-zA-Z0-9-_.~''
  */
allowedChars?: string;
/**
  * Fix Chinese spacing. For example, `你好` is transliterated to `Ni Hao` instead of `NiHao`. If you don't need to transliterate Chinese characters, set it to false to false to improve performance.
  */
fixChineseSpacing?: boolean;

Thanks

vuepress-plugin-permalink-pinyin