The Highlight component requires language and code props. The langtag prop is optional and it will add a language tag.
<script lang="ts">
import { Highlight } from 'svelte-rune-highlight';
import typescript from 'svelte-rune-highlight/languages/typescript';
const modules = import.meta.glob('./samples/*.md', { query: '?raw', import: 'default', eager: true });
</script>
<Highlight language={typescript} code={modules['./samples/javascript.md'] as string} />
let message = "Hello, world!";
console.log(message);
const age = 25;
if (age > 18) {
console.log("You are more than 18 years.");
}
Set langtag and language props to display the language name in the top right corner of the code block.
<script lang="ts">
import { Highlight } from 'svelte-rune-highlight';
import markdown from 'svelte-rune-highlight/languages/markdown';
const modules = import.meta.glob('./samples/*.md', { query: '?raw', import: 'default', eager: true });
</script>
<Highlight language={markdown} code={modules['./samples/markdown.md'] as string} langtag --langtag-color="lightgreen" />
Here's what you'll see when you run this code:
# This is a heading
This is some paragraph text.
* Here is an unordered list item.
* Another list item.
**This text is bold.**
Yaml example:
<script lang="ts">
import { Highlight } from 'svelte-rune-highlight';
import yaml from 'svelte-rune-highlight/languages/yaml';
const modules = import.meta.glob('./samples/*.md', { query: '?raw', import: 'default', eager: true });
</script>
<Highlight language={yaml} code={modules['./samples/yaml.md'] as string} langtag --langtag-color="lightcoral" />
This code generates the following output:
name: My Application
version: 1.0.0
services:
- name: web
image: my-image:latest
ports:
- 80:80
JSON example:
<script lang="ts">
import { Highlight } from 'svelte-rune-highlight';
import json from 'svelte-rune-highlight/languages/json';
const modules = import.meta.glob('./samples/*.md', { query: '?raw', import: 'default', eager: true });
</script>
<Highlight language={json} code={modules['./samples/json.md'] as string} langtag --langtag-color="springgreen" />
The code produces this output:
{
"name": "John Doe",
"age": 30,
"city": "New York",
"is_active": true,
"hobbies": ["reading", "hiking", "coding"]
}
Props example:
numberLine?: boolean;
language: any;
code: string;
langtag?: boolean;
hideBorder?: boolean;
wrapLines?: boolean;
startingLineNumber?: number = 1;
highlightedLines?: number[];
Customize the language tag background, color, and border-radius using style props.
--langtag-top = 0: Top position of the langtag
--langtag-right = 0: Right position of the langtag
--langtag-background = inherit: Background color of the langtag
--langtag-color = inherit: Text color of the langtag
--langtag-border-radius = 0: Border radius of the langtag
--langtag-padding = 1em: Padding of the langtag
See more about line numbers in the Line Numbers page.