code-hike / lighter

The syntax highlighter used by Code Hike.

Home Page:https://lighter-codehike.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The syntax highlighter used by Code Hike.

Usage

import { highlight } from "@code-hike/lighter";

const { lines, style } = await highlight(
  /* code  */ "print('hello')",
  /* lang  */ "py",
  /* theme */ "github-dark"
);

// base foreground and background
const { color, background } = style;

console.log(lines);

Output:

[
  [
    { "style": { "color": "#79C0FF" }, "content": "print" },
    { "style": { "color": "#C9D1D9" }, "content": "(" },
    { "style": { "color": "#A5D6FF" }, "content": "'hello'" },
    { "style": { "color": "#C9D1D9" }, "content": ")" }
  ]
]

For dark/light theme support with CSS see #25

For more theme colors (like line number foreground, selection background, etc.):

import { getThemeColors } from "@code-hike/lighter";

const themeColors = await getThemeColors("material-darker");

Credits

  • Using vscode-oniguruma for highlighting
  • Heavily inspired by Shiki and adapted to Code Hike needs.
  • Some more inspiration from starry-night
  • Grammars and some themes come from Shiki, which pulls them from different sources.

About

The syntax highlighter used by Code Hike.

https://lighter-codehike.vercel.app


Languages

Language:JavaScript 56.1%Language:TypeScript 43.2%Language:CSS 0.7%