Valentin Gagarin
73c3262d74
render content via structured DOM representation
2024-11-13 15:24:41 +01:00
Valentin Gagarin
01be60f9c6
formatting
2024-11-13 15:24:41 +01:00
Valentin Gagarin
62f5e16f38
implement a slice of the DOM spec as modules
...
this is roughly sufficient to recreate the website as it currently is
- elements:
- document
- html
- head
- title
- base
- link (variants that must be unique nested under `head` directly)
- canonical
- meta (same as for link):
- charset
- viewport
- author (can be multiple, but still unique in aggregate for a document)
- description
- global attributes:
- class
- hidden
- id
- lang
- style
- title
- element-specific attributes:
- href
- target
there's still a lot to do for a reasonably complete implementation, most
importantly everything concerning
- navigation
- top-level flow content (`div`, `article`, headings, `p`, ...)
- stylesheets
there's also some infrastructure to be arranged for easy but somewhat
safe switching between literal HTML and structured representations.
2024-11-13 15:24:41 +01:00
Valentin Gagarin
5b99ef52f5
add more string processing helpers
2024-11-13 15:24:41 +01:00
Valentin Gagarin
07ba9d70c4
add type for list of unique elements
2024-11-13 15:24:41 +01:00
Valentin Gagarin
92b2f0ba58
don't use outPath any more
...
- links are constructed explicitly, relative to the current page's
location
- templates are called explicitly by output type
2024-11-13 15:24:41 +01:00
Valentin Gagarin
c5966cd4cb
let navigation have its own template
2024-11-13 15:24:41 +01:00
Valentin Gagarin
e3578b0440
make a proper link
2024-11-13 15:24:41 +01:00
Valentin Gagarin
a340863781
move more content
2024-11-13 15:24:41 +01:00
Valentin Gagarin
ad1e193067
set a default location for documents
...
it turns out that setting a value appends to that.
the default only needs to be overridden when the symbolic name of the
document changes. while there's a chance people will inadvertently break
links that way, it's requires less up-front knowledge to work with.
2024-11-13 15:24:41 +01:00
Valentin Gagarin
c2fe5da469
allow prefixing output paths of collection items
2024-11-13 15:24:41 +01:00
Valentin Gagarin
c3774eb1f6
delete obsolete page
2024-11-13 15:24:41 +01:00
Valentin Gagarin
d2265cb2b7
allow menu entries to be subtypes of page
...
with an example
2024-11-13 15:24:41 +01:00
Valentin Gagarin
8397a2641d
split content types into separate files
2024-11-13 15:24:41 +01:00
Valentin Gagarin
c76bc2cbad
extract importing Nix files
2024-11-13 15:24:41 +01:00
Valentin Gagarin
fbebdbb7a1
implement correct-by-construction relative links
2024-11-13 15:24:41 +01:00
Valentin Gagarin
dde36364b4
smarter indent
...
this allows writing the beginning of the indented string at the desired
indentation
2024-11-13 15:24:41 +01:00
Valentin Gagarin
48bb34ccfe
stricter type for articles
2024-11-13 15:24:41 +01:00
Valentin Gagarin
c8caf09ebf
separate templating from file system outputs
2024-11-13 15:24:41 +01:00
Valentin Gagarin
24bd786896
extract generic document type
2024-11-13 15:24:41 +01:00
Valentin Gagarin
7eb147a5a0
add note
2024-11-13 15:24:41 +01:00
Valentin Gagarin
ebec1d8e25
implement navigation
2024-11-13 15:24:41 +01:00
Valentin Gagarin
6a22b197ac
split out template library
2024-11-13 15:24:41 +01:00
Valentin Gagarin
8634df5833
add TODO
2024-11-13 15:24:41 +01:00
Valentin Gagarin
0708801f6a
extract presentation module
2024-11-13 15:24:41 +01:00
Valentin Gagarin
a483b7e5fa
add some documentation
2024-11-13 15:24:41 +01:00
Valentin Gagarin
6991bc9c0e
split content types into module
2024-11-13 15:24:41 +01:00
Valentin Gagarin
ea0319c60e
move custom type into custom lib
2024-11-13 15:24:41 +01:00
Valentin Gagarin
c9abe13377
more scalable imports
...
that directory will only grow
2024-11-13 15:24:41 +01:00
Valentin Gagarin
68168db215
add TODOs
2024-11-13 15:24:41 +01:00
Valentin Gagarin
94744a6241
clean up artefacts
2024-11-13 15:24:41 +01:00
Valentin Gagarin
128dceb32c
sort news by date
2024-11-13 15:24:41 +01:00
Valentin Gagarin
9c7a3b11c6
migrate news entries
2024-11-13 15:24:41 +01:00
Valentin Gagarin
f4b3a08a37
implement collections
2024-11-13 15:24:41 +01:00
Valentin Gagarin
e807aec04b
put partners in a directory
2024-11-13 15:24:40 +01:00
Valentin Gagarin
193809672e
add back partners
2024-11-13 15:24:40 +01:00
Valentin Gagarin
d0de76a21a
re-add fediversity page
2024-11-13 15:24:40 +01:00
Valentin Gagarin
86b9a0a30e
modularize
2024-11-13 15:24:40 +01:00
Valentin Gagarin
74a9077b3d
add partners
2024-11-13 15:24:40 +01:00
Valentin Gagarin
41195c821c
remove processed pages
2024-11-13 15:24:40 +01:00
Valentin Gagarin
15d9f02101
remove one layer
2024-11-13 15:24:40 +01:00
Valentin Gagarin
9c6425bb2d
rename
2024-11-13 15:24:40 +01:00
Valentin Gagarin
b2fac26a69
uncle bob
2024-11-13 15:24:40 +01:00
Valentin Gagarin
1a8b04f21a
extract file processing
2024-11-13 15:24:40 +01:00
Valentin Gagarin
6b934ceb21
extract main document conversion
2024-11-13 15:24:40 +01:00
Valentin Gagarin
d29f1a0fb0
dir is a path
2024-11-13 15:24:40 +01:00
Valentin Gagarin
4292bc495f
PoC: build site from nix files
2024-11-13 15:24:40 +01:00
Valentin Gagarin
f71888ae21
remove all the junk
2024-11-13 15:24:40 +01:00
Laurens
61d3db7273
img update for nordunet conf
2024-09-17 13:48:00 +02:00
Laurens
53abf58eb2
nordunet conference
2024-09-17 13:34:04 +02:00