# For Later **Single-tile weather radar** Using the RainViewer API for the radar and an OpenStreetMap tileserver for the map tile. Make a gif with a few frames of radar so we can embed it on the site. Zoomed out far enough that I'm not worried about opsec and with no marker for where I am in the tile. ## Dirfiles These are files that match the name of the directory. The problem with a normal `index.html` is that you need the full path to get a semblance of what the file is for. This can be solved by matching the served file of a directory to it's name. For example, a `multimedia/` would have it's `index.html` renamed to `multimedia.html`. This does, however, make it harder to change the name/path of directories as you'll have to rename the dirfile if the directory name changes. What do you name the root file, then? You shouldn't have to match the webroot's directory name. Perhaps it should be configurable. I think for now we'll hard-code in `home.html`, though. **TODO:** we need to redirect directories to themselves with slashes. The browser thinks that anything not ending in a slash is a file. It couldvery well be right, but this causes chaos when we try to relative link to a directories resources. ## Page-content uses templates Because writing the same outer-html for everything poses a few problems. I'll enumerate them for fun! 1) it makes keeping a consistent page style difficult. 2) making a style change or renaming a core-stylesheet would require going through and editing a large number of files. 3) helps separate the layout and content of the page. We're using the bempline templating engine. Not because it's the best or even really *that good*, but because I wrote it and I like it :) Page-content files will have frontmatter in the form: ``` --- key=value --- ``` blank lines and comments are acceptable. comments are lines starting with a `#` with these keys being common and defined. **title** (default: filename) the `
` so damn much. A block of text, a textblock, are consecutive lines that contain text. A double linebreak separates blocks. If a block starts with a `<` it's assumed to be raw HTML and will not be wrapped in a paragraph. You can escape any commands or annotations, both of which are described below, with a `\`. Like this: `\[`. You can also escape the slash itself, `\\`, or an opening greater-than, `\<`. ### commands **[@paragraphs off]** - stop wrapping text-blocks in paragrapha and just pass them through as is. this is useful for HTML. **[@paragraphs on]** - start wrapping text-blocks in paragraphs starting at the next line. ### annotations **[#element-id]** - give the paragraph for this text block an ID of `element-id`