🎨 Mejora presentación de la API en los paquetes
This commit is contained in:
parent
265be3011d
commit
d5e275ea73
12 changed files with 89 additions and 86 deletions
|
|
@ -24,7 +24,7 @@ impl PackageTrait for HljsSample {
|
|||
|
||||
async fn hljs_sample(request: HttpRequest) -> ResultPage<Markup, ErrorPage> {
|
||||
Page::new(request)
|
||||
.with_component(Snippet::with(
|
||||
.with_component(HljsSnippet::with(
|
||||
HljsLang::Rust,
|
||||
r###"
|
||||
use pagetop::prelude::*;
|
||||
|
|
|
|||
|
|
@ -20,8 +20,8 @@
|
|||
|
||||
use pagetop::prelude::*;
|
||||
|
||||
use crate::hljs_mode::HljsMode;
|
||||
use crate::hljs_theme::HljsTheme;
|
||||
use crate::mode::HljsMode;
|
||||
use crate::theme::HljsTheme;
|
||||
|
||||
use serde::Deserialize;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
use pagetop::prelude::*;
|
||||
|
||||
use crate::config;
|
||||
use crate::hljs_lang::HljsLang;
|
||||
use crate::hljs_mode::HljsMode;
|
||||
use crate::hljs_theme::HljsTheme;
|
||||
use crate::lang::HljsLang;
|
||||
use crate::mode::HljsMode;
|
||||
use crate::theme::HljsTheme;
|
||||
|
||||
use std::collections::HashSet;
|
||||
|
||||
|
|
@ -72,30 +72,34 @@
|
|||
|
||||
use pagetop::prelude::*;
|
||||
|
||||
// API *********************************************************************************************
|
||||
|
||||
pub mod config;
|
||||
|
||||
pub mod hljs_context;
|
||||
pub mod hljs_lang;
|
||||
pub mod hljs_mode;
|
||||
pub mod hljs_theme;
|
||||
pub mod snippet;
|
||||
|
||||
// PRELUDE *****************************************************************************************
|
||||
|
||||
pub mod prelude {
|
||||
pub use crate::hljs_context::HljsContext;
|
||||
pub use crate::hljs_lang::HljsLang;
|
||||
pub use crate::hljs_mode::HljsMode;
|
||||
pub use crate::hljs_theme::HljsTheme;
|
||||
pub use crate::snippet::Snippet;
|
||||
}
|
||||
// GLOBAL ******************************************************************************************
|
||||
|
||||
include_files!(hljs);
|
||||
|
||||
include_locales!(LOCALES_HLJS);
|
||||
|
||||
const HLJS_VERSION: &str = "11.7.0"; // Versión de la librería Highlight.js.
|
||||
|
||||
// API *********************************************************************************************
|
||||
|
||||
pub mod config;
|
||||
|
||||
pub mod context;
|
||||
pub mod lang;
|
||||
pub mod mode;
|
||||
pub mod theme;
|
||||
|
||||
pub mod snippet;
|
||||
|
||||
pub mod prelude {
|
||||
pub use crate::context::HljsContext;
|
||||
pub use crate::lang::HljsLang;
|
||||
pub use crate::mode::HljsMode;
|
||||
pub use crate::theme::HljsTheme;
|
||||
|
||||
pub use crate::snippet::HljsSnippet;
|
||||
}
|
||||
|
||||
/// Implementa [`PackageTrait`].
|
||||
pub struct HighlightJS;
|
||||
|
||||
|
|
@ -113,15 +117,12 @@ impl PackageTrait for HighlightJS {
|
|||
}
|
||||
}
|
||||
|
||||
// Versión de la librería Highlight.js.
|
||||
const HLJS_VERSION: &str = "11.7.0";
|
||||
|
||||
// Define los recursos para la página según se use highlight.js en su versión "core" o "common".
|
||||
fn after_render_body(page: &mut Page) {
|
||||
use hljs_context::HljsContext;
|
||||
use hljs_lang::HljsLang;
|
||||
use hljs_mode::HljsMode;
|
||||
use hljs_theme::HljsTheme;
|
||||
use context::HljsContext;
|
||||
use lang::HljsLang;
|
||||
use mode::HljsMode;
|
||||
use theme::HljsTheme;
|
||||
|
||||
let cx = page.context();
|
||||
|
||||
|
|
|
|||
|
|
@ -2,19 +2,19 @@
|
|||
|
||||
use pagetop::prelude::*;
|
||||
|
||||
use crate::hljs_context::HljsContext;
|
||||
use crate::hljs_lang::HljsLang;
|
||||
use crate::context::HljsContext;
|
||||
use crate::lang::HljsLang;
|
||||
|
||||
#[derive(AutoDefault)]
|
||||
/// Component to put code snippets on web pages.
|
||||
pub struct Snippet {
|
||||
pub struct HljsSnippet {
|
||||
language: HljsLang,
|
||||
snippet: String,
|
||||
}
|
||||
|
||||
impl ComponentTrait for Snippet {
|
||||
impl ComponentTrait for HljsSnippet {
|
||||
fn new() -> Self {
|
||||
Snippet::default()
|
||||
HljsSnippet::default()
|
||||
}
|
||||
|
||||
fn setup_before_prepare(&mut self, cx: &mut Context) {
|
||||
|
|
@ -32,9 +32,11 @@ impl ComponentTrait for Snippet {
|
|||
}
|
||||
}
|
||||
|
||||
impl Snippet {
|
||||
impl HljsSnippet {
|
||||
pub fn with(language: HljsLang, code: impl Into<String>) -> Self {
|
||||
Snippet::new().with_language(language).with_snippet(code)
|
||||
HljsSnippet::new()
|
||||
.with_language(language)
|
||||
.with_snippet(code)
|
||||
}
|
||||
|
||||
// Hljs BUILDER.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue