Awesome
<center><img src="./misc/repo-icon.png" /></center>[!NOTE] Twoslash has been moved to the new repository twoslashes/twoslash with some refactoring and improvements. The Shiki v1.0 integration is now in Shiki's monorepo as a transformer, which means Twoslash will now work everywhere Shiki is supported. We will make Shiki supports more high-level tools so Twoslash could later inherit that.
This repository is for Shiki v0.x integration with Twoslash. As we port more integrations to the new format, this repo will fade out gradually.
You take some Shiki, add a hint of TypeScript compiler, and 🎉 incredible statically generated code samples.
See the user-facing docs at: https://shikijs.github.io/twoslash/
This Repo
The majority of this repo uses pnpm, the rest yarn. There are four main areas of interest:
packages
, the shiki meets twoslash plugins for markdown renderers and static site generatorssite
, the docs micro-siteexamples
, example static site generator projects which use the pluginsextensions
, right now, just the vscode extension for twoslash code samples
Packages
The site
extensions
and examples
are excluded from the workspace. To work on those, cd
to their folders and read instructions.
Otherwise:
git clone https://github.com/shikijs/twoslash
cd twoslash
pnpm i
pnpm bootstrap
pnpm test
Then see the contributing for advice and the vision file for the long-term perspective.
Plugins
docusaurus-preset-shiki-twoslash
- for Docusauruseleventy-plugin-shiki-twoslash
- For 11tygatsby-remark-shiki-twoslash
- For Gatsbyhexo-shiki-twoslash
- For Hexovuepress-plugin-shiki-twoslash
- For VuePress
Markdown Renderers
markdown-it-shiki-twoslash
- For Markdown-Itremark-shiki-twoslash
- For Remark
Root Abstractions
shiki-twoslash
- Provides all the building blocks for abovetwoslash-cli
- A CLI for converting md/ts/tsx/js/jsx files to HTML
Deploys
Run: pnpm deploy
.