Skip to content

Kbd Plugin

Плагин @ampernic/markdown-it-kbd превращает [[x]] в <kbd>x</kbd>. TypeScript-переписка классического markdown-it-kbd с типизированным API и минимальным набором опций.

📦 Установка

bash
npm install @ampernic/markdown-it-kbd

Пакет доступен во внутреннем Forgejo-реестре:

@ampernic:registry=https://altlinux.space/api/packages/ampernic/npm/

🚀 Использование в VitePress

typescript
// docs/.vitepress/config.ts
import { defineConfig } from 'vitepress'
import kbd from '@ampernic/markdown-it-kbd'

export default defineConfig({
  markdown: {
    config: (md) => {
      md.use(kbd)
    },
  },
})

📖 Синтаксис

markdown
Нажмите [[Ctrl]] + [[C]] чтобы скопировать

Рендерится как:

Нажмите Ctrl + C чтобы скопировать

Правила разбора

  • Закрывающий ]] должен быть на той же строке, что и открывающий [[.
  • Вложенный [[ до закрытия отменяет совпадение.
  • Внутри [[...]] продолжает работать инлайновый Markdown: [[*Ctrl*]] -> <kbd><em>Ctrl</em></kbd>.
  • В инлайновом и блочном коде клавиши не оборачиваются.

Опции

Передаются вторым аргументом в md.use(kbd, options):

ОпцияТипПо умолчаниюОписание
tagstring'kbd'Тег-обёртка для клавиши
classNamestring-Класс на теге-обёртке. Опускается, если не задан

Пример с настройками

typescript
md.use(kbd, { tag: 'span', className: 'kbd-key' })
// [[Ctrl]] -> <span class="kbd-key">Ctrl</span>