You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

svelte-highlight

Package Overview
Dependencies
Maintainers
1
Versions
78
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

svelte-highlight

Syntax Highlighting for Svelte using highlight.js

0.3.2
Source
npmnpm
Version published
Weekly downloads
12K
15.2%
Maintainers
1
Weekly downloads
 
Created
Source

svelte-highlight

NPM Build Coverage

Syntax Highlighting for Svelte using highlight.js.

This component wraps highlight.js to provide syntax highlighting in Svelte 3.

Demo

Install

yarn add svelte-highlight

Usage

There are two ways to use highlight.js styles: through a CSS stylesheet loader or the svelte:head API.

CSS Stylesheet

Importing a CSS stylesheet in Svelte requires a CSS loader. Refer to the rollup and webpack examples for sample set-ups.

<script>
  import Highlight from 'svelte-highlight';
  import { typescript } from 'svelte-highlight/languages';
  import 'svelte-highlight/styles/github.css';
</script>

<Highlight language={typescript}>
  {`function add(a: number, b: number) {
  return a + b;
}

const sum = add(1, 2);`}
</Highlight>

svelte:head

This component exports highlight.js themes in JavaScript. Simply import the theme as JavaScript and inject it using the svelte:head API.

<script>
  import Highlight from 'svelte-highlight';
  import { typescript } from 'svelte-highlight/languages';
  import { github } from 'svelte-highlight/styles';
</script>

<svelte:head>
  {@html github}
</svelte:head>

<Highlight language={typescript}>
  {`function add(a: number, b: number) {
  return a + b;
}

const sum = add(1, 2);`}
</Highlight>

The code Prop

Code passed to the slot (like in the above examples) will not dynamically update. Use the code prop for code that changes.

<script>
  import Highlight from 'svelte-highlight';
  import { typescript } from 'svelte-highlight/languages';
  import 'svelte-highlight/styles/github.css';

  let count = 0;

  function increment() {
    count += 1;
  }

  $: code = `let count = ${count};`;
</script>

<button on:click={increment}>Increment</button>

<Highlight language={typescript} {code} />

Custom Language

For custom language highlighting, pass a name and register function to the language prop.

Refer to the highlight.js language definition guide for more info.

<script>
  import Highlight from 'svelte-highlight';
  import hljs from 'highlight.js';

  const language = {
    name: 'custom-lang',
    register: (hljs) => {
      return {
        // ...
      }
    }
  }

  const code = 'custom language';
</script>

<Highlight {language} {code} />

Supported Languages

Supported Styles

Examples

Changelog

License

MIT

Keywords

svelte

FAQs

Package last updated on 12 Dec 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts