summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Move string utilities to separate moduleBen Bridle2026-02-06
| | | | This makes things tidier.
* Add commentsBen Bridle2026-02-06
| | | | More housekeeping to make the codebase more understandable.
* Update switchboard dependencyBen Bridle2026-02-06
| | | | This has no real effect on the program, it's more for tidiness.
* Update version to 1.13.0v1.13.0Ben Bridle2026-02-05
|
* Auto-insert line breaks for environment-free math fragmentsBen Bridle2026-01-31
| | | | | | | This was an important functionality for a lot of my math notes, so I've brought it back, but only if the math syntax fragment doesn't contain a '\begin', which denotes the sort of advanced environment where automatic line breaks are not welcome.
* Improve smart-quote direction around punctuationBen Bridle2026-01-30
| | | | | An apostrophe or quotation mark should point right (start a quote) if it is preceded either by whitespace or a punctuation character.
* Don't auto-insert line breaks for math syntax fragmentsBen Bridle2026-01-30
| | | | | Some KaTeX contexts (matrix, array) don't work correctly if every line is manually broken, so we now leave this up to the user.
* Support markdown line elements in page titlesBen Bridle2026-01-30
| | | | | | Page titles are now treated as markdown and rendered as HTML. The URL for a page will be the plain-text version of the title, with markdown syntax stripped out.
* Add rust-toolchain.toml fileBen Bridle2026-01-30
| | | | | This makes it easier for other people to compile Toaster, by not having to specify +nightly.
* Update markdown dependencyBen Bridle2026-01-30
| | | | | | This fixes an issue where tables that contain line elements that themselves contain characters that are valid delimiters for another line element were not being recognised as tables.
* Allow using regular images in galleriesBen Bridle2025-12-12
| | | | | | | Galleries previously required images to be placed in /images/large/.. and /images/thumb/.., but this was a chore if there was only a single average-quality version of the image to display. The path /images/.. is now used as a fallback if these more specialised paths do not exist.
* Allow pages to contain duplicate headings under different h1 headingsBen Bridle2025-12-12
| | | | | This kind of works, but the whole system will have to be rewritten from the ground up so that every heading knows its own canonical name.
* Update markdown dependencyBen Bridle2025-12-12
| | | | | This adds ignoring of pipe characters in styled tokens in tables, so that I can use pipe characters inside equations in tables.
* Update highlight dependencyBen Bridle2025-12-12
|
* Wrap each <video> element in a <figure>Ben Bridle2025-10-17
| | | | This is needed to be able to center a video in the page.
* Add an override-title syntax for overriding the page title shownBen Bridle2025-10-17
|
* Add a html.redirect.head key to insert text into HTML redirectsBen Bridle2025-10-17
| | | | | This is needed so that I can include the analytics script in all of my redirect pages.
* Allow folder names to contain a numeric prefix for sorting purposesBen Bridle2025-10-10
| | | | | | Markdown files could use a numeric prefix to force files to sort in a particular order, with that prefix being stripped off and ignored by toaster. This commit allows folders to also use a sorting prefix.
* Change commentsBen Bridle2025-10-10
|
* Remove document parameter from functionsBen Bridle2025-10-10
| | | | | The markdown document is already passed as a field on the page argument, so passing it in as a separate argument was redundant.
* Wrap each heading with an <a> tag that links to that headingBen Bridle2025-09-04
| | | | | | This is so that a heading can be clicked to get a permalink to that heading, which is useful when sending someone a link to a particular section of a document.
* Wrap each h1-delimited block of a generated page in <article> tagsBen Bridle2025-09-04
| | | | | This is to make it possible when printing the document to start each h1 heading element at the top of a new page using CSS.
* Add table of contents sidebar to generated HTMLBen Bridle2025-09-04
| | | | | This is in addition to the existing table of contents at the top of each page.
* Update highlight dependencyBen Bridle2025-08-21
| | | | | This considerably reduces the binary bloat originally introduced by the highlight crate.
* Add embed-html-head and override-html-head fragment typesBen Bridle2025-07-29
| | | | | | These will both add content to the <head> HTML element on that page, with the override variant also preventing the default head declared in the toaster.conf file from being used on that page.
* Qualify page names in log messagesBen Bridle2025-06-09
| | | | | The name of each page is now prefixed with the name of the parent in log messages, to disambiguate between pages that share the same name.
* Update version to 1.12.0v1.12.0Ben Bridle2025-05-21
|
* Implement syntax highlighting for syntax fragmentsBen Bridle2025-05-21
| | | | | | | A new key 'highlighters' has been added to the toaster.conf file. The value should be a line defining the languages to use that syntax for, like [py/python]. The lines following are the template definitions, as per the highlighter library.
* Update vagabond libraryBen Bridle2025-05-21
|
* Update log libraryBen Bridle2025-05-21
|
* Sanitize quotes in file pathsBen Bridle2025-05-21
|
* Refine dash replacement rulesBen Bridle2025-05-21
| | | | | A dash that isn't mid-word will be replaced with an em dash if in the middle of a line, or with an en dash if at the start of a line.
* Change criteria for generating a table of contentsBen Bridle2025-05-21
| | | | | | Count level 3 headings when deciding whether there are enough headings on a page to justify generating a table of contents. Previously, only level 1 and 2 headings were being counted.
* Fix IDs generated for styled headingsBen Bridle2025-03-21
| | | | | | | Headings that contained line elements other than Normal were being stringified with the line_to_html function, which was causing the generated ID for such a heading to contain HTML tags. This was fixed by instead stringifying using the basic to_string() method of Line.
* Update version to 1.11.0v1.11.0Ben Bridle2025-03-14
|
* Support labelled internal linksBen Bridle2025-03-14
| | | | | | The latest version of the markdown library supports labelled internal links, which allows an internal link to point to a page but to display with a different name.
* Fix issue when formatting syntax fragmentsBen Bridle2025-03-14
| | | | | Syntax fragments with unhandled languages were not being correctly converted to HTML.
* URL-encode special characters in unsanitized pathsBen Bridle2025-02-11
| | | | | | | | | | | Unlike for internal links, external links are never sanitized. When an external link contained an apostrophe or a double-quote character, it would prematurely terminate the href property of the containing <a> tag and break the link. Paths in internal and external links are now passed through a new url_encode function, which replaces quote characters with the percent-encoded equivalent.
* Update version to 1.10.0v1.10.0Ben Bridle2025-02-08
|
* Tidy codeBen Bridle2025-02-08
|
* Implement poem syntax fragmentBen Bridle2025-02-08
|
* Update log crateBen Bridle2025-02-08
|
* Update version to 1.9.0v1.9.0Ben Bridle2025-02-03
|
* Use switchboard crate for parsing command line argumentsBen Bridle2025-02-03
|
* Use log crate for printing log messagesBen Bridle2025-02-03
|
* Update version to 1.8.0v1.8.0Ben Bridle2025-02-01
|
* Implement 'gallery-nav' fragment typeBen Bridle2025-02-01
| | | | | | | This type is for showing a list of pages as clickable image previews. Each line in the fragment is an internal page link, followed by a '::' separator, followed by the name of an image file. Image files must be stored inside the '/images/thumb/' directory of the generated website.
* Separate link parsing code from line_to_html functionBen Bridle2025-02-01
| | | | This is so that links can be parsed in other contexts in the future.
* Support vertical borders in tablesBen Bridle2025-02-01
| | | | | | | | The latest version of the markdown library includes support for a new vertical-border syntax in tables. When a table has a double-thickness pipe border between two columns in the markdown, each <th> and <td> cell in the column on the left side of the border is given the class 'border'.
* Support embedding video files in pagesBen Bridle2025-02-01
|