- code! macroINCLUDED
- Pre-styled spansINCLUDED
- Themes (scoped CSS)× 30+
- SourceCode runtimeOPT-IN
- Tree-sitter grammars+3.33 MiB
PARSER BYTES SHIPPED0
A drop-in component with two source modes — compile-time macro and runtime detection. No JS, no flash of unstyled code.
$cargo add dioxus-code
Updating crates.io index
Adding dioxus-code v0.1 to dependencies
Done.
use dioxus::prelude::*;
use dioxus_code::{Code, Theme, code};
fn main() {
dioxus::launch(App);
}
#[component]
fn App() -> Element {
rsx! {
div { class: "app",
Code {
src: code!("/snippets/demo.rs"),
theme: Theme::GITHUB_DARK,
}
}
}
}Enable the runtime feature when source comes from user input, generated files, or network responses.
dioxus-code = { version = "0.1", features = ["runtime"] }Pass any string through SourceCode. Provide a language hint when you already know it — Arborium handles tokenizing.
use dioxus::prelude::*;
use dioxus_code::{Code, CodeTheme, SourceCode, Theme};
fn main() {
dioxus::launch(App);
}
#[component]
fn App() -> Element {
let source = use_signal(|| "fn main() {}".to_string());
rsx! {
Code {
src: SourceCode::new(source()).with_language("rust"),
theme: CodeTheme::system(Theme::GITHUB_LIGHT, Theme::GITHUB_DARK),
}
}
}Use the macro for examples, docs, and any source checked in alongside your app. Highlight markup is generated at compile time.
use dioxus::prelude::*;
use dioxus_code::{Code, Theme, code};
fn main() {
dioxus::launch(App);
}
#[component]
fn App() -> Element {
rsx! {
Code {
src: code!("/snippets/example.rs"),
theme: Theme::GITHUB_DARK,
}
}
}