14 releases
new 0.0.16 | Jan 6, 2025 |
---|---|
0.0.15 | Dec 22, 2024 |
0.0.14 | Jul 28, 2024 |
0.0.12 | Mar 28, 2024 |
0.0.3 | Jul 31, 2023 |
#1161 in Web programming
151 downloads per month
680KB
9K
SLoC
PageTop HighlightJS
Utiliza HighlightJS para mostrar fragmentos de código con resaltado de sintaxis con PageTop.
Descripción general
- Usa la versátil librería JavaScript highlight.js.
- Soporta más de 90 lenguajes de programación.
- Ofrece más de 95 temas disponibles para elegir.
- Proporciona un componente para mostrar fragmentos de código fácilmente.
- Permite resaltar bloques de código multilínea.
- Detecta prefijos de clase
language-
ylang-
. - Permite personalizar la inicialización de highlight.js.
- Carga inteligente de recursos CSS y JS.
Sobre PageTop
PageTop es un entorno de desarrollo que reivindica la esencia de la web clásica para crear soluciones web SSR (renderizadas en el servidor) modulares, extensibles y configurables, basadas en HTML, CSS y JavaScript.
⚡️ Guía rápida
Añade pagetop-hljs
a tu archivo Cargo.toml
:
[dependencies]
pagetop-hljs = "<Version>"
Incluye pagetop_hljs::HighlightJS
en las dependencias del paquete o aplicación que lo requiera:
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) {
scfg.route("/snippet", service::web::get().to(hljs_sample));
}
// ...
}
Y finalmente añade tus fragmentos de código con resaltado de sintaxis en páginas web:
use pagetop_hljs::prelude::*;
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()
}
🚧 Advertencia
PageTop
es un proyecto personal que hago por diversión para aprender cosas nuevas. Está en
desarrollo activo, su API es inestable y está sujeta a cambios frecuentes. No recomiendo su uso en
producción, al menos hasta liberar la versión 1.0.0.
📜 Licencia
El código está disponible bajo una doble licencia:
-
Licencia MIT (LICENSE-MIT o también https://opensource.org/licenses/MIT)
-
Licencia Apache, Versión 2.0 (LICENSE-APACHE o también https://www.apache.org/licenses/LICENSE-2.0)
Puedes elegir la licencia que prefieras. Este enfoque de doble licencia es el estándar de facto en el ecosistema Rust.
Dependencies
~27–41MB
~723K SLoC