pagetop/extensions/pagetop-hljs
2025-01-15 21:00:47 +01:00
..
examples 🔖 [hljs] Libera versión de desarrollo 0.0.17 2025-01-15 21:00:47 +01:00
src 🚚 Gran actualización de Paquetes a Extensiones 2025-01-15 17:46:46 +01:00
static 🚚 Gran actualización de Paquetes a Extensiones 2025-01-15 17:46:46 +01:00
.gitattributes 🚚 Gran actualización de Paquetes a Extensiones 2025-01-15 17:46:46 +01:00
build.rs 🚚 Gran actualización de Paquetes a Extensiones 2025-01-15 17:46:46 +01:00
Cargo.toml 🔖 [hljs] Libera versión de desarrollo 0.0.17 2025-01-15 21:00:47 +01:00
README.md 🚚 Gran actualización de Paquetes a Extensiones 2025-01-15 17:46:46 +01:00

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.