pagetop-hljs

Crates.iopagetop-hljs
lib.rspagetop-hljs
version0.0.17
created_at2023-07-06 18:30:06.744406+00
updated_at2025-01-15 20:12:54.908227+00
descriptionUtiliza HighlightJS para mostrar fragmentos de código con resaltado de sintaxis con PageTop.
homepagehttps://pagetop.cillero.es
repositoryhttps://github.com/manuelcillero/pagetop
max_upload_size
id910179
size672,496
Manuel Cillero (manuelcillero)

documentation

README

PageTop HighlightJS

Utiliza HighlightJS para mostrar fragmentos de código con resaltado de sintaxis con PageTop.

Licencia Doc API Crates.io Descargas

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- y lang-.
  • 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 de la extensión o aplicación que lo requiera:

use pagetop::prelude::*;

impl ExtensionTrait for MyExtension {
    // ...
    fn dependencies(&self) -> Vec<ExtensionRef> {
        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:

Puedes elegir la licencia que prefieras. Este enfoque de doble licencia es el estándar de facto en el ecosistema Rust.

Commit count: 95

cargo fmt