🍱 Añade gestión de recursos estáticos de PageTop
This commit is contained in:
parent
0f9daa7403
commit
7d7920237f
6 changed files with 39 additions and 9 deletions
3
Cargo.lock
generated
3
Cargo.lock
generated
|
@ -1569,7 +1569,7 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pagetop"
|
name = "pagetop"
|
||||||
version = "0.0.13"
|
version = "0.0.14"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"actix-files",
|
"actix-files",
|
||||||
"actix-session",
|
"actix-session",
|
||||||
|
@ -1582,6 +1582,7 @@ dependencies = [
|
||||||
"figlet-rs",
|
"figlet-rs",
|
||||||
"fluent-templates",
|
"fluent-templates",
|
||||||
"itoa",
|
"itoa",
|
||||||
|
"pagetop-build",
|
||||||
"pagetop-macros",
|
"pagetop-macros",
|
||||||
"parking_lot",
|
"parking_lot",
|
||||||
"pastey",
|
"pastey",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "pagetop"
|
name = "pagetop"
|
||||||
version = "0.0.13"
|
version = "0.0.14"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
description = """\
|
description = """\
|
||||||
|
@ -42,7 +42,7 @@ static-files.workspace = true
|
||||||
|
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
serde = { version = "1.0", features = ["derive"] }
|
||||||
|
|
||||||
pagetop-macros = { version = "0.0", path = "helpers/pagetop-macros" }
|
pagetop-macros.workspace = true
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
|
@ -51,6 +51,8 @@ testing = []
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
tempfile = "3.20.0"
|
tempfile = "3.20.0"
|
||||||
|
|
||||||
|
[build-dependencies]
|
||||||
|
pagetop-build.workspace = true
|
||||||
|
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
|
@ -68,3 +70,6 @@ authors = ["Manuel Cillero <manuel@cillero.es>"]
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
static-files = "0.2.5"
|
static-files = "0.2.5"
|
||||||
|
|
||||||
|
pagetop-build = { version = "0.0", path = "helpers/pagetop-build" }
|
||||||
|
pagetop-macros = { version = "0.0", path = "helpers/pagetop-macros" }
|
||||||
|
|
7
build.rs
Normal file
7
build.rs
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
use pagetop_build::StaticFilesBundle;
|
||||||
|
|
||||||
|
fn main() -> std::io::Result<()> {
|
||||||
|
StaticFilesBundle::from_dir("./static", None)
|
||||||
|
.with_name("assets")
|
||||||
|
.build()
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
use crate::core::action::add_action;
|
use crate::core::action::add_action;
|
||||||
use crate::core::extension::ExtensionRef;
|
use crate::core::extension::ExtensionRef;
|
||||||
use crate::core::theme::all::THEMES;
|
use crate::core::theme::all::THEMES;
|
||||||
use crate::{/*global, include_files, include_files_service, */ service, trace};
|
use crate::{global, include_files, include_files_service, service, trace};
|
||||||
|
|
||||||
use parking_lot::RwLock;
|
use parking_lot::RwLock;
|
||||||
|
|
||||||
|
@ -125,13 +125,13 @@ pub fn initialize_extensions() {
|
||||||
|
|
||||||
// CONFIGURA LOS SERVICIOS *************************************************************************
|
// CONFIGURA LOS SERVICIOS *************************************************************************
|
||||||
|
|
||||||
//include_files!(assets);
|
include_files!(assets);
|
||||||
|
|
||||||
pub fn configure_services(scfg: &mut service::web::ServiceConfig) {
|
pub fn configure_services(scfg: &mut service::web::ServiceConfig) {
|
||||||
for extension in ENABLED_EXTENSIONS.read().iter() {
|
for extension in ENABLED_EXTENSIONS.read().iter() {
|
||||||
extension.configure_service(scfg);
|
extension.configure_service(scfg);
|
||||||
}
|
}
|
||||||
/*include_files_service!(
|
include_files_service!(
|
||||||
scfg, assets => "/", [&global::SETTINGS.dev.pagetop_project_dir, "static"]
|
scfg, assets => "/", [&global::SETTINGS.dev.pagetop_project_dir, "static"]
|
||||||
);*/
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,9 @@ include_config!(SETTINGS: Settings => [
|
||||||
"app.language" => "en-US",
|
"app.language" => "en-US",
|
||||||
"app.startup_banner" => "Slant",
|
"app.startup_banner" => "Slant",
|
||||||
|
|
||||||
|
// [dev]
|
||||||
|
"dev.pagetop_project_dir" => "",
|
||||||
|
|
||||||
// [log]
|
// [log]
|
||||||
"log.enabled" => true,
|
"log.enabled" => true,
|
||||||
"log.tracing" => "Info",
|
"log.tracing" => "Info",
|
||||||
|
@ -27,10 +30,11 @@ include_config!(SETTINGS: Settings => [
|
||||||
]);
|
]);
|
||||||
|
|
||||||
#[derive(Debug, Deserialize)]
|
#[derive(Debug, Deserialize)]
|
||||||
/// Ajustes para las secciones globales [`[app]`](App), [`[log]`](Log) y [`[server]`](Server) de
|
/// Ajustes para las secciones globales [`[app]`](App), [`[dev]`](Dev), [`[log]`](Log) y
|
||||||
/// [`SETTINGS`].
|
/// [`[server]`](Server) de [`SETTINGS`].
|
||||||
pub struct Settings {
|
pub struct Settings {
|
||||||
pub app: App,
|
pub app: App,
|
||||||
|
pub dev: Dev,
|
||||||
pub log: Log,
|
pub log: Log,
|
||||||
pub server: Server,
|
pub server: Server,
|
||||||
}
|
}
|
||||||
|
@ -54,6 +58,16 @@ pub struct App {
|
||||||
pub run_mode: String,
|
pub run_mode: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Deserialize)]
|
||||||
|
/// Sección `[Dev]` de la configuración. Forma parte de [`Settings`].
|
||||||
|
pub struct Dev {
|
||||||
|
/// Los archivos estáticos requeridos por `PageTop` se integran por defecto en el binario
|
||||||
|
/// ejecutable. Sin embargo, durante el desarrollo puede resultar útil servirlos desde su propio
|
||||||
|
/// directorio para evitar recompilar cada vez que se modifican. En ese caso, este ajuste debe
|
||||||
|
/// indicar la ruta absoluta al directorio raíz del proyecto.
|
||||||
|
pub pagetop_project_dir: String,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, Deserialize)]
|
#[derive(Debug, Deserialize)]
|
||||||
/// Sección `[log]` de la configuración. Forma parte de [`Settings`].
|
/// Sección `[log]` de la configuración. Forma parte de [`Settings`].
|
||||||
pub struct Log {
|
pub struct Log {
|
||||||
|
|
|
@ -9,6 +9,9 @@ pub use actix_web::dev::ServiceResponse as Response;
|
||||||
pub use actix_web::{cookie, http, rt, web};
|
pub use actix_web::{cookie, http, rt, web};
|
||||||
pub use actix_web::{App, Error, HttpMessage, HttpRequest, HttpResponse, HttpServer};
|
pub use actix_web::{App, Error, HttpMessage, HttpRequest, HttpResponse, HttpServer};
|
||||||
|
|
||||||
|
pub use actix_web_files::Files as ActixFiles;
|
||||||
|
pub use actix_web_static_files::ResourceFiles;
|
||||||
|
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
pub use actix_web::test;
|
pub use actix_web::test;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue