Skip to content

Commit

Permalink
chore(playground):update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
AVGVSTVS96 committed Aug 5, 2024
1 parent 9aec038 commit d230197
Showing 1 changed file with 19 additions and 24 deletions.
43 changes: 19 additions & 24 deletions playground/README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,25 @@
# React + TypeScript + Vite
# react-shiki-example

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
## Syntax highlighter component for react using shiki

Currently, two official plugins are available:
### Usage

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:

- Configure the top-level `parserOptions` property like this:

```js
export default {
// other rules...
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
project: ['./tsconfig.json', './tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: __dirname,
},
```tsx
function AyuDark() {
return (
<ShikiHighlighter language="jsx" theme="ayu-dark">
{code.trim()}
</ShikiHighlighter>
);
}
```
The ShikiHighlighter is imported in your project and used as a component, with code to be highlighted passed as children.

Shiki handles dynamically imports only the languages and themes used on the page.

The component accepts several props in addition to language and theme:

- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list
- `showLanguage: boolean` - Shows the language name in the top right corner of the code block.
- `style: object` - Style object to be passed to the component.
- `as: string` - The component to be rendered. Defaults to 'pre'.
- `className: string` - Class name to be passed to the component.

0 comments on commit d230197

Please sign in to comment.