curry the example webpage() function in a common lib.typ
This commit is contained in:
parent
7fe9b99535
commit
500a6ad181
5 changed files with 46 additions and 81 deletions
|
|
@ -39,12 +39,18 @@
|
||||||
|
|
||||||
/// Concatenate all css found in css-list at the end of the document
|
/// Concatenate all css found in css-list at the end of the document
|
||||||
#let get-css(page-label) = context {
|
#let get-css(page-label) = context {
|
||||||
html.style(css-list.at(label(str(page-label) + "-end")).join("\n\n"))
|
let end-page-label = label(str(page-label) + "-end")
|
||||||
|
if css-list.at(end-page-label) != () {
|
||||||
|
html.style(css-list.at(end-page-label).join("\n\n"))
|
||||||
|
} else {}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Concatenate all js found in js-list at the end of the document
|
/// Concatenate all js found in js-list at the end of the document
|
||||||
#let get-js(page-label) = context {
|
#let get-js(page-label) = context {
|
||||||
html.script(js-list.at(label(str(page-label) + "-end")).join("\n\n"))
|
let end-page-label = label(str(page-label) + "-end")
|
||||||
|
if js-list.at(end-page-label) != () {
|
||||||
|
html.script(js-list.at(end-page-label).join("\n\n"))
|
||||||
|
} else {}
|
||||||
}
|
}
|
||||||
|
|
||||||
#let reset-page-states() = {
|
#let reset-page-states() = {
|
||||||
|
|
|
||||||
35
test_template/lib.typ
Normal file
35
test_template/lib.typ
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
#import "@local/template-web:0.0.1": webpage as webpage-org, icons
|
||||||
|
|
||||||
|
#let webpage = webpage-org.with(
|
||||||
|
logo: image(
|
||||||
|
"/assets/platypus.png",
|
||||||
|
alt: "A drawing of a blue-ish round-ish platypus with big eyes, holding a laptop. This platypus is quite cute, but I might be biased.",
|
||||||
|
height: 100pt,
|
||||||
|
width: 100pt, // TODO 0.15 regression? in 0.14 setting the height was enough
|
||||||
|
),
|
||||||
|
footer: context [
|
||||||
|
|
||||||
|
#sym.copyright #document.date.display("[year]") Histausse \
|
||||||
|
Please don't train AI on my stuff without explicit permission
|
||||||
|
],
|
||||||
|
nav-elements: (
|
||||||
|
/*
|
||||||
|
link(
|
||||||
|
"http://test.example.com",
|
||||||
|
image(
|
||||||
|
"/assets/platypus.png",
|
||||||
|
alt: "A drawing of a blue-ish round-ish platypus with big eyes, holding a laptop. This platypus is quite cute, but I might be biased.",
|
||||||
|
height: 2em,
|
||||||
|
)
|
||||||
|
),*/
|
||||||
|
html.a(href: "http://test.example.com", aria-label: "Home", icons.home-icon), // /!\ aria-label is important for accessibility /!\
|
||||||
|
html.a(href: "/feed.rss", aria-label: "RSS feed", icons.rss-icon),
|
||||||
|
),
|
||||||
|
menu: [
|
||||||
|
- #link(<index-page>)[Home]
|
||||||
|
- #link(<pyscript-page>)[Demo Pyscript]
|
||||||
|
- #link(<cards-page>)[Demo the summary card system]
|
||||||
|
],
|
||||||
|
site-name: "TTT",
|
||||||
|
icon: "/img/platypus.png", // TODO: use <ico> somehow? probably not supported in 0.15
|
||||||
|
)
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#import "@local/template-web:0.0.1": *
|
#import "@local/template-web:0.0.1": *
|
||||||
|
#import "/lib.typ": webpage
|
||||||
|
|
||||||
#let summ = summary(
|
#let summ = summary(
|
||||||
base-url: "http://test.example.com",
|
base-url: "http://test.example.com",
|
||||||
|
|
@ -17,40 +18,10 @@
|
||||||
|
|
||||||
#show: webpage.with(
|
#show: webpage.with(
|
||||||
..summ.template-args,
|
..summ.template-args,
|
||||||
logo: image(
|
|
||||||
"/assets/platypus.png",
|
|
||||||
alt: "A drawing of a blue-ish round-ish platypus with big eyes, holding a laptop. This platypus is quite cute, but I might be biased.",
|
|
||||||
height: 100pt,
|
|
||||||
width: 100pt, // TODO 0.15 regression? in 0.14 setting the height was enough
|
|
||||||
),
|
|
||||||
header: [
|
header: [
|
||||||
= Summary Cards
|
= Summary Cards
|
||||||
Showcase summary cards
|
Showcase summary cards
|
||||||
],
|
],
|
||||||
footer: context [
|
|
||||||
|
|
||||||
#sym.copyright #document.date.display("[year]") Histausse \
|
|
||||||
Please don't train AI on my stuff without explicit permission
|
|
||||||
],
|
|
||||||
menu: [
|
|
||||||
- #link(<index-page>)[Home]
|
|
||||||
- #link(<pyscript-page>)[Demo Pyscript]
|
|
||||||
- #link(<cards-page>)[Demo the card system]
|
|
||||||
],
|
|
||||||
site-name: "TTT",
|
|
||||||
icon: "/img/platypus.png", // TODO: use <ico> somehow? probably not supported in 0.15
|
|
||||||
|
|
||||||
// Pyscript:
|
|
||||||
pyscript-data-list: (
|
|
||||||
"remote-2026.3.1": pyscript-data(
|
|
||||||
"https://pyscript.net/releases/2026.3.1/core.js",
|
|
||||||
additionnal-head-tags: {
|
|
||||||
html.elem("script", attrs: (src: "/mini-coi.js")) // TODO: use <mini-coi> somehow? probably not supported in 0.15
|
|
||||||
html.elem("link", attrs: (rel: "stylesheet", href: "https://pyscript.net/releases/2026.3.1/core.css"))
|
|
||||||
},
|
|
||||||
)
|
|
||||||
),
|
|
||||||
pyscript-version: "remote-2026.3.1",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#import "@local/template-web:0.0.1": *
|
#import "@local/template-web:0.0.1": *
|
||||||
|
#import "/lib.typ": webpage
|
||||||
|
|
||||||
#let summ = summary(
|
#let summ = summary(
|
||||||
base-url: "http://test.example.com",
|
base-url: "http://test.example.com",
|
||||||
|
|
@ -17,41 +18,10 @@
|
||||||
|
|
||||||
#show: webpage.with(
|
#show: webpage.with(
|
||||||
..summ.template-args,
|
..summ.template-args,
|
||||||
logo: image(
|
|
||||||
"/assets/platypus.png",
|
|
||||||
alt: "A drawing of a blue-ish round-ish platypus with big eyes, holding a laptop. This platypus is quite cute, but I might be biased.",
|
|
||||||
height: 100pt,
|
|
||||||
width: 100pt, // TODO 0.15 regression? in 0.14 setting the height was enough
|
|
||||||
),
|
|
||||||
header: [
|
header: [
|
||||||
= Test TeTyTe
|
= Test TeTyTe
|
||||||
Hello World!
|
Hello World!
|
||||||
],
|
],
|
||||||
footer: context [
|
|
||||||
|
|
||||||
#sym.copyright #document.date.display("[year]") Histausse \
|
|
||||||
Please don't train AI on my stuff without explicit permission
|
|
||||||
],
|
|
||||||
nav-elements: (
|
|
||||||
/*
|
|
||||||
link(
|
|
||||||
"http://test.example.com",
|
|
||||||
image(
|
|
||||||
"/assets/platypus.png",
|
|
||||||
alt: "A drawing of a blue-ish round-ish platypus with big eyes, holding a laptop. This platypus is quite cute, but I might be biased.",
|
|
||||||
height: 2em,
|
|
||||||
)
|
|
||||||
),*/
|
|
||||||
html.a(href: "http://test.example.com", aria-label: "Home", icons.home-icon), // /!\ aria-label is important for accessibility /!\
|
|
||||||
html.a(href: "/feed.rss", aria-label: "RSS feed", icons.rss-icon),
|
|
||||||
),
|
|
||||||
menu: [
|
|
||||||
- #link(<index-page>)[Home]
|
|
||||||
- #link(<pyscript-page>)[Demo Pyscript]
|
|
||||||
- #link(<cards-page>)[Demo the summary card system]
|
|
||||||
],
|
|
||||||
site-name: "TTT",
|
|
||||||
icon: "/img/platypus.png", // TODO: use <ico> somehow? probably not supported in 0.15
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#import "@local/template-web:0.0.1": *
|
#import "@local/template-web:0.0.1": *
|
||||||
|
#import "/lib.typ": webpage
|
||||||
|
|
||||||
#let summ = summary(
|
#let summ = summary(
|
||||||
base-url: "http://test.example.com",
|
base-url: "http://test.example.com",
|
||||||
|
|
@ -17,28 +18,10 @@
|
||||||
|
|
||||||
#show: webpage.with(
|
#show: webpage.with(
|
||||||
..summ.template-args,
|
..summ.template-args,
|
||||||
logo: image(
|
|
||||||
"/assets/platypus.png",
|
|
||||||
alt: "A drawing of a blue-ish round-ish platypus with big eyes, holding a laptop. This platypus is quite cute, but I might be biased.",
|
|
||||||
height: 100pt,
|
|
||||||
width: 100pt, // TODO 0.15 regression? in 0.14 setting the height was enough
|
|
||||||
),
|
|
||||||
header: [
|
header: [
|
||||||
= Showcase Pyscript
|
= Showcase Pyscript
|
||||||
Show how to run Python in the browser
|
Show how to run Python in the browser
|
||||||
],
|
],
|
||||||
footer: context [
|
|
||||||
|
|
||||||
#sym.copyright #document.date.display("[year]") Histausse \
|
|
||||||
Please don't train AI on my stuff without explicit permission
|
|
||||||
],
|
|
||||||
site-name: "TTT",
|
|
||||||
icon: "/img/platypus.png", // TODO: use <ico> somehow? probably not supported in 0.15
|
|
||||||
menu: [
|
|
||||||
- #link(<index-page>)[Home]
|
|
||||||
- #link(<pyscript-page>)[Demo Pyscript]
|
|
||||||
- #link(<cards-page>)[Demo the summary card system]
|
|
||||||
],
|
|
||||||
// Pyscript:
|
// Pyscript:
|
||||||
pyscript-data-list: (
|
pyscript-data-list: (
|
||||||
"remote-2026.3.1": pyscript-data(
|
"remote-2026.3.1": pyscript-data(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue