2.6 KiB
2.6 KiB
TO-DO
- Refactor the directory structure processing
- Implement zola-style structure instead
zona init
command to populate the required files, with defaults (unlike zola)- Interactive for setting values, also an option to create
.gitignore
withpublic
in it.
- Interactive for setting values, also an option to create
zona.yml
is required and should mark the root:templates
,content
,static
,zona.yml
- multiple
zona.yml
files should be an error - if the folder containing
zona.yml
doesn't contain exactly the expected directories and files, it's an error
- Paths in page metadata should start at these folders
- i.e.
(template|footer|header): name.html
→root/templates/name.html
(style|icon): name.ext
→root/static/name.ext
- i.e.
- Traverse
content
andstatic
separately, applying different rules- everything in
static/**
should be directly copied content/**
should be processed*.md
converted, everything else copied directly./name.md
→ ./name/index.html- Either
./name.md
or./name/index.md
are valid, together they cause an error!
- everything in
- What about markdown links to internal pages?
- Relative links should be supported to play nice with LSP
- in case of relative link, zona should attempt to resolve it, figuring
out which file it's pointing to, and convert it to a
/
prefixed link pointing to appropriate place - so
../blog/a-post.md
→/blog/a-post
where/blog/a-post/index.html
exists
- in case of relative link, zona should attempt to resolve it, figuring
out which file it's pointing to, and convert it to a
- links from project root should also be supported
- check link validity at build time and supply warning
- tl;dr all links should be resolved to the absolute path to that resource starting from the website root. that's the link that should actually be written to the HTML.
- Relative links should be supported to play nice with LSP
- Implement zola-style structure instead
- Re-consider what
zona.yml
should have in it.- Set syntax highlighting theme here
- a string that's not a file path: name of any built-in theme in chroma
- path to
xml
oryml
file: custom theme for passing to chroma- if
xml
, pass directly - if
yml
, parse and convert into expectedxml
format before passing
- if
- Set website root URL here
- toggle option for zona's custom image label expansion, image container div, etc, basically all the custom rendering stuff
- Set syntax highlighting theme here
- Syntax highlighting for code blocks
- Add
zona serve
command with local dev server to preview the site - Both
zona build
andzona serve
should output warning and error - Write actual unit tests!