#yew #component #prism #highlighter #language #import

yew_prism

Yew Prism is a highlighter code component based in Prism for yew

7 unstable releases

0.4.2 Jun 15, 2021
0.4.1 Jun 29, 2020
0.3.0 May 15, 2020
0.2.1 Apr 26, 2020
0.1.0 Apr 18, 2020

#1203 in WebAssembly

MIT license

8KB
64 lines

Yew Prism

Yew Prism is a highlighter code component based in Prism for yew

How it works

  1. Install the prismjs node module

    npm install prismjs

  2. Import the prismjs module and styles, and all the languages component which you want to use for highlighting, in your javascript/typescript main file yew project

import 'prismjs/themes/prism.css';
import 'prismjs';
import 'prismjs/components/prism-markup';
import 'prismjs/components/prism-rust';
import module from '../crate/Cargo.toml';

module.run();

Note: You can use yew-parcel-template or another template described here to create a yew project

  1. Add yew_prism in your cargo.toml
[dependencies]
yew = { version = "0.17", features = ["web_sys"]}
yew_prism="0.4"
  1. Now you are ready to use the component 🚀

Example

use yew::prelude::*;
use yew_prism::Prism;

pub struct App;
impl Component for App {
    type Message = ();
    type Properties = ();

    fn create(_: Self::Properties, _: ComponentLink<Self>) -> Self {
        App {}
    }

    fn update(&mut self, _: Self::Message) -> ShouldRender {
        false
    }

    fn change(&mut self, _props: Self::Properties) -> ShouldRender {
        false
    }

    fn view(&self) -> Html {
        html! {
            <Prism
                code="let greeting: &str = \"Hello World\";"
                language="rust"
            />
        }
    }
}

Dependencies

~15MB
~277K SLoC