12 releases
0.0.14 | Jul 28, 2024 |
---|---|
0.0.13 | Apr 28, 2024 |
0.0.12 | Mar 28, 2024 |
0.0.9 | Feb 9, 2024 |
0.0.3 | Jul 31, 2023 |
#542 in Web programming
640 downloads per month
460KB
4.5K
SLoC
Overview
- Utilizes the versatile highlight.js JavaScript library.
- Supports 90+ coding languages.
- Choose from all 95+ available themes.
- Provides a component for adding code snippets.
- Highlight multi-line blocks of code.
- Detects
language-
andlang-
class prefixes. - Customize the highlight.js init JavaScript.
- Smart loading of CSS & JS assets.
Usage
Add pagetop-hljs
to your Cargo.toml
:
[dependencies]
pagetop-hljs = "<Version>"
Add pagetop_hljs::HighlightJS
to your dependencies package:
use pagetop::prelude::*;
impl PackageTrait for MyPackage {
// ...
fn dependencies(&self) -> Vec<PackageRef> {
vec![
// ...
&pagetop_hljs::HighlightJS,
// ...
]
}
fn configure_service(&self, cfg: &mut service::web::ServiceConfig) {
cfg.route("/", service::web::get().to(hljs_sample));
}
// ...
}
And put your code snippets on web pages:
use pagetop_hljs::prelude::*;
#[service::get("/")]
async fn hljs_sample(request: HttpRequest) -> ResultPage<Markup, ErrorPage> {
Page::new(request)
.with_component(Snippet::with(
HljsLang::Rust,
r###"
// This is the main function.
fn main() {
// Print text to the console.
println!("Hello World!");
}
"###,
))
.render()
}
📦 About PageTop
PageTop is an opinionated web framework to build modular Server-Side Rendering web solutions.
🚧 Warning
PageTop framework is currently in active development. The API is unstable and subject to frequent changes. Production use is not recommended until version 0.1.0.
📜 License
All code in this project is dual-licensed under either:
-
MIT License (LICENSE-MIT or https://opensource.org/licenses/MIT)
-
Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
at your option. This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem.
Dependencies
~27–42MB
~729K SLoC