dynamic/static embeds

This commit is contained in:
Robin Appelman 2023-04-12 21:08:09 +02:00
commit cb56c80555
22 changed files with 9068 additions and 665 deletions

View file

@ -1,6 +1,6 @@
use crate::asset::saved_asset_url;
use crate::data::demo::ListDemo;
use crate::pages::Page;
use demostf_build::Asset;
use maud::{html, Markup, Render};
use std::borrow::Cow;
@ -10,13 +10,17 @@ pub struct Index<'a> {
pub api: &'a str,
}
#[derive(Asset)]
#[asset(source = "script/demo_list.js", url = "/demo_list.js")]
pub struct DemoListScript;
impl Page for Index<'_> {
fn title(&self) -> Cow<'static, str> {
"Demos - demos.tf".into()
}
fn render(&self) -> Markup {
let script = saved_asset_url!("demo_list.js");
let script = DemoListScript::url();
html! {
h1 { "Demos" }
#filter-bar data-maps = (MapList(&self.maps)) data-api-base = (self.api) {}

View file

@ -4,8 +4,8 @@ pub mod index;
mod plugin_section;
pub mod upload;
use crate::asset::saved_asset_url;
use crate::session::SessionData;
use demostf_build::Asset;
use maud::{html, Markup, DOCTYPE};
use std::borrow::Cow;
@ -14,8 +14,12 @@ pub trait Page {
fn render(&self) -> Markup;
}
#[derive(Asset)]
#[asset(source = "style/style.css", url = "/style.css")]
pub struct GlobalStyle;
pub fn render<T: Page>(page: T, session: SessionData) -> Markup {
let style_url = saved_asset_url!("style.css");
let style_url = GlobalStyle::url();
html! {
(DOCTYPE)
html {

View file

@ -1,6 +1,6 @@
use crate::asset::saved_asset_url;
use crate::pages::plugin_section::PluginSection;
use crate::pages::Page;
use demostf_build::Asset;
use maud::{html, Markup};
use std::borrow::Cow;
@ -17,13 +17,17 @@ impl<'a> UploadPage<'a> {
}
}
#[derive(Asset)]
#[asset(source = "script/upload.ts", url = "/upload.js")]
pub struct UploadScript;
impl Page for UploadPage<'_> {
fn title(&self) -> Cow<'static, str> {
"Upload - demos.tf".into()
}
fn render(&self) -> Markup {
let script = saved_asset_url!("upload.js");
let script = UploadScript::url();
html! {
.upload-page {
section.upload {