(build): Introduce nuevas funciones de build

Añade `compile_scss()`, `copy_dir()`, `copy_file()`,
`copy_file_replacing()` y `minify_js()` para preparar activos en
`build.rs`. Adopta el patrón `assets/ -> static/`: los archivos
estáticos se mueven a `assets/` y `static/` se añade a `.gitignore`. Los
`build.rs` de *pagetop* y *pagetop-htmx* se actualizan con el nuevo
patrón.  La documentación del módulo se reescribe para reflejar los
nuevos cambios.
This commit is contained in:
Manuel Cillero 2026-06-14 21:18:54 +02:00
parent 6376e3e88c
commit f27790c3a2
26 changed files with 468 additions and 236 deletions

58
Cargo.lock generated
View file

@ -20,6 +20,15 @@ dependencies = [
"zerocopy",
]
[[package]]
name = "aho-corasick"
version = "0.7.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
dependencies = [
"memchr",
]
[[package]]
name = "aho-corasick"
version = "1.1.4"
@ -933,7 +942,7 @@ version = "0.4.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3"
dependencies = [
"aho-corasick",
"aho-corasick 1.1.4",
"bstr",
"log",
"regex-automata",
@ -965,6 +974,16 @@ dependencies = [
"rand",
]
[[package]]
name = "hashbrown"
version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
dependencies = [
"ahash",
"bumpalo",
]
[[package]]
name = "hashbrown"
version = "0.14.5"
@ -1495,6 +1514,17 @@ dependencies = [
"unicase",
]
[[package]]
name = "minify-js"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1fa5546ee8bd66024113e506cabe4230e76635a094c06ea2051b66021dda92e"
dependencies = [
"aho-corasick 0.7.20",
"lazy_static",
"parse-js",
]
[[package]]
name = "miniz_oxide"
version = "0.8.9"
@ -1721,7 +1751,6 @@ version = "0.1.0"
dependencies = [
"pagetop",
"pagetop-build",
"tokio",
]
[[package]]
@ -1731,7 +1760,6 @@ dependencies = [
"pagetop",
"pagetop-build",
"serde",
"tokio",
]
[[package]]
@ -1739,9 +1767,18 @@ name = "pagetop-build"
version = "0.3.2"
dependencies = [
"grass",
"minify-js",
"pagetop-statics",
]
[[package]]
name = "pagetop-htmx"
version = "0.1.0"
dependencies = [
"pagetop",
"pagetop-build",
]
[[package]]
name = "pagetop-macros"
version = "0.3.0"
@ -1812,6 +1849,19 @@ dependencies = [
"windows-link",
]
[[package]]
name = "parse-js"
version = "0.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2742b5e32dcb5930447ed9f9e401a7dfd883867fc079c4fac44ae8ba3593710e"
dependencies = [
"aho-corasick 0.7.20",
"bumpalo",
"hashbrown 0.13.2",
"lazy_static",
"memchr",
]
[[package]]
name = "pastey"
version = "0.2.2"
@ -2094,7 +2144,7 @@ version = "0.4.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f"
dependencies = [
"aho-corasick",
"aho-corasick 1.1.4",
"memchr",
"regex-syntax",
]