<feed xmlns='http://www.w3.org/2005/Atom'>
<title>toaster, branch v1.6.0</title>
<subtitle>Generate websites from markdown files
</subtitle>
<id>https://code.benbridle.com/toaster/atom?h=v1.6.0</id>
<link rel='self' href='https://code.benbridle.com/toaster/atom?h=v1.6.0'/>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/'/>
<updated>2025-01-18T00:54:40Z</updated>
<entry>
<title>Update version to 1.6.0</title>
<updated>2025-01-18T00:54:40Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2025-01-18T00:54:40Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=e39e46095d719d14e71ecf1d58e29fe58e973a5c'/>
<id>urn:sha1:e39e46095d719d14e71ecf1d58e29fe58e973a5c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix mailto: links</title>
<updated>2025-01-18T00:54:19Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2025-01-18T00:53:45Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=7dfb8d68c1f596c16702d30ad619160f1a2ecb44'/>
<id>urn:sha1:7dfb8d68c1f596c16702d30ad619160f1a2ecb44</id>
<content type='text'>
These were previously being detected only if they begin with ://, which
is incorrect and generates incorrect links.
</content>
</entry>
<entry>
<title>Check that links to static files are valid</title>
<updated>2025-01-17T23:04:07Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2025-01-17T23:04:07Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=3765c30ef322c31456aa419e970955330a1461ad'/>
<id>urn:sha1:3765c30ef322c31456aa419e970955330a1461ad</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Allow redirects to point to external websites</title>
<updated>2025-01-17T21:00:44Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2025-01-17T21:00:44Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=9717476273e05379ada099946307ae2682b8abef'/>
<id>urn:sha1:9717476273e05379ada099946307ae2682b8abef</id>
<content type='text'>
If the path in a .redirect file contains any scheme (detected as ://),
the path is used as-is instead of trying to resolve to the name of an
internal page.
</content>
</entry>
<entry>
<title>Fix panic when internal link has no path segments</title>
<updated>2025-01-17T20:59:08Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2025-01-17T20:59:08Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=a9d9f98283394d7edc0f5ed73569fefe1c15721b'/>
<id>urn:sha1:a9d9f98283394d7edc0f5ed73569fefe1c15721b</id>
<content type='text'>
This was being triggered when an internal link was given as [[/]],
which is admittedly an invalid link anyway.
</content>
</entry>
<entry>
<title>Fix internal links to headings on another page</title>
<updated>2025-01-17T20:57:42Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2025-01-17T20:57:42Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=b40c687689763b5c7d6d33fe3c6149c38c6248bb'/>
<id>urn:sha1:b40c687689763b5c7d6d33fe3c6149c38c6248bb</id>
<content type='text'>
The heading section of the link wasn't being suffixed to the generated
link target, so links to a heading on another page were just regular
links to the top of that page.
</content>
</entry>
<entry>
<title>Fix invalid HTML in img and audio elements</title>
<updated>2025-01-15T03:45:12Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-01-15T03:45:04Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=123a223f7e3e9271fda3d7ff687c4a7d3fc257a8'/>
<id>urn:sha1:123a223f7e3e9271fda3d7ff687c4a7d3fc257a8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Count only level 1 and 2 headings when checking if page needs contents</title>
<updated>2025-01-15T03:44:35Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-01-15T03:44:35Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=47fdfb62dd302d0e3d998e3f213e5af49f5a7039'/>
<id>urn:sha1:47fdfb62dd302d0e3d998e3f213e5af49f5a7039</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement image galleries</title>
<updated>2025-01-15T03:22:59Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-01-15T02:54:27Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=bc3e25f8c1edbd233ed0c266c574892e88644d9c'/>
<id>urn:sha1:bc3e25f8c1edbd233ed0c266c574892e88644d9c</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Allow the use of site-local absolute URLs in external links</title>
<updated>2025-01-14T21:01:19Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-01-14T21:00:31Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/toaster/commit/?id=01cd799f688ad39cfb03ede3e149512d1c8faef6'/>
<id>urn:sha1:01cd799f688ad39cfb03ede3e149512d1c8faef6</id>
<content type='text'>
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.
</content>
</entry>
</feed>
