Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/antfu/prism-theme-vars

A customizable Prism.js theme using CSS variables
https://github.com/antfu/prism-theme-vars

Last synced: 13 days ago
JSON representation

A customizable Prism.js theme using CSS variables

Awesome Lists containing this project

README

        

# Prism --theme-vars

A customizable Prism.js theme using CSS variables

[![NPM version](https://img.shields.io/npm/v/prism-theme-vars?color=a1b858)](https://www.npmjs.com/package/prism-theme-vars)

[🌈 **Live Playground**](https://prism-theme-vars.netlify.app/)

- [codemirror-theme-vars](https://github.com/antfu/codemirror-theme-vars)

## Usage

```bash
npm i prism-theme-vars
```

```ts
import 'prism-theme-vars/base.css'
```

or

```html

```

## Configuration

Add CSS variables in your CSS, For example:

```css
@import 'prism-theme-vars/base.css';

:root {
--prism-foreground: #393a34;
--prism-background: #fbfbfb;
--prism-comment: #b8c4b8;
--prism-string: #c67b5d;
--prism-literal: #3a9c9b;
--prism-keyword: #248459;
--prism-function: #849145;
--prism-deleted: #a14f55;
--prism-class: #2b91af;
--prism-builtin: #a52727;
--prism-property: #ad502b;
--prism-namespace: #c96880;
--prism-punctuation: #8e8f8b;
--prism-decorator: #bd8f8f;
--prism-json-property: #698c96;
}
```

See [base.css](./base.css) for more options avaliable.

### Built-in Themes

We have a few themes variables built-in that you can directly use.

```css
@import 'prism-theme-vars/base.css';
@import 'prism-theme-vars/themes/vitesse-light.css';

/* Overrides */
:root {
--prism-background: #ffffff;
}
```

See all themes avaliable under [themes/\*](./themes). Contributions are also greatly welcome!

### Work with `codemirror-theme-vars`

```css
@import 'prism-theme-vars/base.css';
@import 'prism-theme-vars/to-codemirror.css';

/* --prism prefix will alias to --cm automatically */
:root {
--prism-foreground: #393a34;
--prism-background: #fbfbfb;
}
```

### Dark mode

Here is an example of Tailwind CSS favored dark mode support.

```css
html:not(.dark) {
--prism-foreground: #393a34;
--prism-background: #f8f8f8;

--prism-comment: #758575;
--prism-namespace: #444444;
--prism-string: #bc8671;
--prism-punctuation: #80817d;
--prism-literal: #36acaa;
--prism-keyword: #248459;
--prism-function: #849145;
--prism-deleted: #9a050f;
--prism-class: #2b91af;
--prism-builtin: #800000;
--prism-property: #ce9178;
--prism-regex: #ad502b;
}

html.dark {
--prism-foreground: #d4d4d4;
--prism-background: #1e1e1e;

--prism-namespace: #aaaaaa;
--prism-comment: #758575;
--prism-namespace: #444444;
--prism-string: #ce9178;
--prism-punctuation: #d4d4d4;
--prism-literal: #36acaa;
--prism-keyword: #38a776;
--prism-function: #dcdcaa;
--prism-deleted: #9a050f;
--prism-class: #4ec9b0;
--prism-builtin: #d16969;
--prism-property: #ce9178;
--prism-regex: #ad502b;
}
```

## License

MIT