<feed xmlns='http://www.w3.org/2005/Atom'>
<title>toaster/src, branch v1.12.0</title>
<subtitle>Generate websites from markdown files
</subtitle>
<id>https://code.benbridle.com/toaster/atom?h=v1.12.0</id>
<link rel='self' href='https://code.benbridle.com/toaster/atom?h=v1.12.0'/>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/'/>
<updated>2025-05-21T07:50:09Z</updated>
<entry>
<title>Implement syntax highlighting for syntax fragments</title>
<updated>2025-05-21T07:50:09Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-05-21T02:25:18Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=060c1f23a5585a5fdabc56eda808b4cfd90f9081'/>
<id>urn:sha1:060c1f23a5585a5fdabc56eda808b4cfd90f9081</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Sanitize quotes in file paths</title>
<updated>2025-05-21T07:50:09Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-05-21T01:09:11Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=29ffca829925a30ff920c79f94ec1b3dbf48f8fa'/>
<id>urn:sha1:29ffca829925a30ff920c79f94ec1b3dbf48f8fa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refine dash replacement rules</title>
<updated>2025-05-21T07:50:09Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-05-21T00:57:14Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=d98b9a0e6b8cbe499e92a49cd749d0248f0d8e47'/>
<id>urn:sha1:d98b9a0e6b8cbe499e92a49cd749d0248f0d8e47</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Change criteria for generating a table of contents</title>
<updated>2025-05-21T07:50:09Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-05-21T07:48:07Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=24bc3c6bd64be8ed84ae3aff75cf9f2901214555'/>
<id>urn:sha1:24bc3c6bd64be8ed84ae3aff75cf9f2901214555</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Fix IDs generated for styled headings</title>
<updated>2025-03-21T01:44:28Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-03-21T01:44:28Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=fb9b3dfdd3d9edce96ca6f61b00d241f0429462b'/>
<id>urn:sha1:fb9b3dfdd3d9edce96ca6f61b00d241f0429462b</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Support labelled internal links</title>
<updated>2025-03-13T23:59:41Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-03-13T23:59:16Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=a9dab5cd4fd71e06d705cd1612588568502ddc07'/>
<id>urn:sha1:a9dab5cd4fd71e06d705cd1612588568502ddc07</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Fix issue when formatting syntax fragments</title>
<updated>2025-03-13T23:57:41Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-03-13T23:57:41Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=8b7affdd9f256f38b99d416c2d7ba3a4a76cc6ad'/>
<id>urn:sha1:8b7affdd9f256f38b99d416c2d7ba3a4a76cc6ad</id>
<content type='text'>
Syntax fragments with unhandled languages were not being correctly
converted to HTML.
</content>
</entry>
<entry>
<title>URL-encode special characters in unsanitized paths</title>
<updated>2025-02-10T23:14:31Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2025-02-10T23:13:40Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=4ce5f34163756f39fefa5114c87922999e9d6320'/>
<id>urn:sha1:4ce5f34163756f39fefa5114c87922999e9d6320</id>
<content type='text'>
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 &lt;a&gt; 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.
</content>
</entry>
<entry>
<title>Tidy code</title>
<updated>2025-02-07T23:22:33Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2025-02-07T23:22:33Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=e9d26f244a12a132592012a76c55db130997bb61'/>
<id>urn:sha1:e9d26f244a12a132592012a76c55db130997bb61</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement poem syntax fragment</title>
<updated>2025-02-07T23:22:27Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2025-02-07T23:22:27Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=1a33dca75d0d13cc7a4d2886af80fa2c1b0243a9'/>
<id>urn:sha1:1a33dca75d0d13cc7a4d2886af80fa2c1b0243a9</id>
<content type='text'>
</content>
</entry>
</feed>
