mirror of
https://github.com/docsifyjs/docsify.git
synced 2025-12-08 19:55:52 +00:00
I couldn't get a prism typescript language grammar to work until I realised that script order mattered. This might not be the best language or format for this, but I think it probably belongs in the documentation in some manner. Thank you!
1.7 KiB
1.7 KiB
Language highlighting
Docsify uses Prism to highlight code blocks in your pages. Prism supports the following languages by default:
- Markup -
markup,html,xml,svg,mathml,ssml,atom,rss - CSS -
css - C-like -
clike - JavaScript -
javascript,js
Support for additional languages is available by loading the language-specific grammar files via CDN:
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-bash.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-php.min.js"></script>
!> This <script> tag must be placed after the docisfy <script> to work.
To enable syntax highlighting, wrap each code block in triple backticks with the language specified on the first line:
```html
<p>This is a paragraph</p>
<a href="//docsify.js.org/">Docsify</a>
```
```bash
echo "hello"
```
```php
function getAdder(int $x): int
{
return 123;
}
```
The above markdown will be rendered as:
<p>This is a paragraph</p>
<a href="//docsify.js.org/">Docsify</a>
echo "hello"
function getAdder(int $x): int
{
return 123;
}
Highlighting Dynamic Content
Code blocks dynamically created from javascript can be highlighted using the method Prism.highlightElement like so:
var code = document.createElement("code");
code.innerHTML = "console.log('Hello World!')";
code.setAttribute("class", "lang-javascript");
Prism.highlightElement(code);