Skip to content

Commit

Permalink
Fix content/7.blog/21.shiki-v1.md
Browse files Browse the repository at this point in the history
Co-authored-by: Alex Peshkov <[email protected]>
  • Loading branch information
JonikUl and mnenie authored Jul 11, 2024
1 parent adc6d9f commit 1b47d41
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion content/7.blog/21.shiki-v1.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ Shiki также получил [совершенно новый сайт док

[Twoslash](https://github.com/twoslashes/twoslash) — это инструмент интеграции для извлечения информации о типе из [TypeScript Language Services](https://github.com/microsoft/TypeScript/wiki/Using-the-Language-Service-API) и генерации в ваш сниппет кода. По сути, он делает статический фрагмент кода похожим на редактор VS Code. Он создан [Orta Therox](https://github.com/orta) для [сайта документации TypeScript](https://github.com/microsoft/TypeScript-Website), вы можете найти [исходный код здесь](https://github.com/microsoft/TypeScript-Website/tree/v2/packages/ts-twoslasher). Orta также создал [интеграцию Twoslash для версий Shiki v0.x](https://github.com/shikijs/twoslash). Тогда у Shiki [не было надлежащей системы плагинов](https://github.com/shikijs/shiki/issues/380), из-за чего `shiki-twoslash` приходилось создавать как оболочку над Shiki, что немного усложняло настройку, поскольку существующие интеграции Shiki не работали напрямую с Twoslash.

Мы также воспользовались шансом пересмотреть интеграции Twoslash, когда переписывали Shikiji, попробовать ["dog-fooding"](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) и проверить расширяемость. С новым внутренним HAST мы можем [интегрировать Twoslash как плагин-трансформер](https://shiki.style/packages/twoslash), что делает его работающим везде, где работает Shiki, а также тспользовать в виде композабла с другими трансформерами.
Мы также воспользовались шансом пересмотреть интеграции Twoslash, когда переписывали Shikiji, попробовать ["dog-fooding"](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) и проверить расширяемость. С новым внутренним HAST мы можем [интегрировать Twoslash как плагин-трансформер](https://shiki.style/packages/twoslash), что делает его работающим везде, где работает Shiki, а также использовать в виде композабла с другими трансформерами.

Далее мы начали думать, что, вероятно, сможем заставить Twoslash работать на [nuxt.com](/), веб-сайте, который вы читаете. nuxt.com под капотом использует [Nuxt Content](https://github.com/nuxt/content), и в отличие от других инструментов документирования, таких как VitePress, одним из преимуществ Nuxt Content является то, что он может обрабатывать динамический контент и работать на распределенных серверах. Поскольку Twoslash полагается на TypeScript, а также на гигантский граф типов модулей из ваших зависимостей, было бы не идеально отправлять все эти вещи на периферийные сервера или в браузер. Звучит сложно, но вызов принят!

Expand Down

0 comments on commit 1b47d41

Please sign in to comment.