summaryrefslogtreecommitdiff
path: root/src/generate_html.rs
Commit message (Collapse)AuthorAge
* Expand list of recognised checkbox formatsBen Bridle2025-01-19
| | | | | Checkboxes on list lines no longer have to be inside a monospace line element.
* Check that embedded file paths are validBen Bridle2025-01-19
|
* Update supported markdown syntaxBen Bridle2025-01-19
| | | | | Added math blocks, and changed link syntax, embedded file syntax, and bold line element syntax.
* Fix mailto: linksBen Bridle2025-01-18
| | | | | These were previously being detected only if they begin with ://, which is incorrect and generates incorrect links.
* Check that links to static files are validBen Bridle2025-01-18
| | | | | | | | | | When a link doesn't contain a protocol, it's assumed to be a link to a relative or absolute path to an internal static file. This link is checked against the list of collected static files to ensure that it exists. For an unlabelled link to an internal static file, the label will be the file name without preceding path segments.
* Fix invalid HTML in img and audio elementsBen Bridle2025-01-15
|
* Count only level 1 and 2 headings when checking if page needs contentsBen Bridle2025-01-15
|
* Implement image galleriesBen Bridle2025-01-15
| | | | | | Each gallery image must be kept in the three directories images/large, images/small, and images/thumb. A gallery is a fragment with the language 'gallery' containing a list of image filenames, one per line.
* Allow the use of site-local absolute URLs in external linksBen Bridle2025-01-15
| | | | | | | | | | External links with no protocol that start with a forward-slash are interpreted as being links to a file in the generated site. To make these work with the relative-paths paradigm of the generator, the slash is replaced with the page path-to-root to convert it to a relative path. This commit also fixes an issue where unlabelled links with no protocol were being given an empty label.
* Add line breaks to math blocksBen Bridle2025-01-15
| | | | | | Math blocks are used when you have multiple lines of equations. Instead of requiring the user to insert a `\\` line break after every line, line breaks are now added automatically.
* Fix broken parent linksBen Bridle2025-01-15
| | | | | Generation of parent links for pages with two or more parents before the root index was not working correctly.
* Implement redirectsBen Bridle2025-01-15
| | | | | Source files with extension .redirect will be converted into redirect pages linking to the internal-style URL in each file.
* Sanitize site and page nameBen Bridle2025-01-14
|
* Get the global HTML head from the config fileBen Bridle2025-01-14
| | | | | The value of the configuration key `html.head` is inserted into the <head> section of every generated HTML page.
* Sanitize the label of an embedded fileBen Bridle2025-01-14
| | | | | There was an issue where an apostrophe character in the label string would prematurely terminate the string.
* Parse checkbox listsBen Bridle2025-01-14
| | | | | If a list item line begins with `[ ]` or `[x]`, the token is interpreted as a checkbox and replaced with a real HTML checkbox.
* Change HTML header formatBen Bridle2025-01-14
| | | | | The header of the main index page is no longer cleared, it can be hidden with CSS by the user instead.
* Implement recipe parsingBen Bridle2025-01-14
|
* Rewrite link handling and add navigation features to generated HTMLBen Bridle2025-01-09
|
* Wrap table sections with <tbody>Ben Bridle2025-01-08
| | | | | Each section of a table is now wrapped with <tbody>, instead of just the entire table.
* More robust file traversal logicBen Bridle2025-01-08
| | | | | | | | | | | | | | File traversal can now cope with symbolic links. The original path to each file is preserved where before they were unintentionally canonicalized, so the source folder prefix can now be correctly stripped from the path of each source file. This commit also adds the !folder syntax from the original toaster. Directories with a !-prefix are copied without modification to the site root. A --delete option has been added to the program. When this option is set, the destination directory is first deleted if it already exists.
* Load default CSS and JavaScript files from site rootBen Bridle2025-01-07
| | | | | | | | | | | | | Instead of linking to a static path for the CSS and JavaScript files in the head of each generated HTML document, dynamically generate a relative path that backtracks to the site root before descending into the chosen directory. This ensures that all pages will link to the same set of CSS/JS files, no matter how deeply nested. This could have been accomplished through the use of absolute paths, but I want the websites generated by this program to be able to be freely mixed and matched with existing websites, which requires the use of relative paths only.
* A collection of fixesBen Bridle2025-01-07
| | | | | | Fixed a lot of issues around internal relative links and link validity checks. Added a math fragment syntax and the $$..$$ math form. Added heading link validity checks.
* Initial versionv1.0.0Ben Bridle2025-01-06