# Code Block Learn how to integrate Shiki, a beautiful yet powerful syntax highlighter.
Shiki (式, a Japanese word for "Style") is a beautiful and powerful syntax highlighter based on TextMate grammar and themes, the same engine as VS Code's syntax highlighting. It provides accurate and fast syntax highlighting for almost any mainstream programming language.
` tag is auto-generated by Shiki; target utility classes with: `[&>pre]:myClassHere`. ## Programmatic UsageIn some cases you may not have direct access to the source code, such as content from a blog posts or CMS pages. In fact the code may even come pre-baked with surrounding `This use case falls outside the scope of Skeleton. The following is provided merely as guidance.
` or `` elements. For this, you'll need to follow the general steps below. Specific implementation may differ based on your app and meta-framework. 1. Query all `
` or `` blocks using Javascript tools like `document.querySelectorAll()`. Be as specific as possible. 2. Ensure you have a clean instance of the source code itself, with no extra markup injected within. 3. Use Shiki's [codeToHtml](https://shiki.style/guide/install#shorthands) feature to parse the code as styled HTML markup. 4. Then append each instance of the code blocks in your DOM. For more instructions, please refer to this guide by [Joy of Code](https://joyofcode.xyz/) explaining how to [implement Shiki via MDX](https://joyofcode.xyz/sveltekit-markdown-blog#using-components-inside-markdown). ## Custom Themes Shiki provides support for generating a custom highlighter theme: - [Loading Custom Themes](https://shiki.style/guide/load-theme) - [List of Bundled Themes](https://shiki.style/themes) Shiki theme values can be defined using Skeleton custom theme properties, such as `rgba(--color-primary-500)`. ## Accessibility See [Salma Alam-Naylor's](https://whitep4nth3r.com/about/) guidelines for [creating accessible code blocks](https://whitep4nth3r.com/blog/how-to-make-your-code-blocks-accessible-on-your-website/) that meet WGAC standards.