| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When generating a file from a source file, the last-modified time
of the generated file will be set to be the same as the last-modified
time of the source file. This is so that when copying the generated
website to a server with rsync, only modified files will be copied
over, saving considerable time.
This commit also updates vagabond to the latest version which includes
a change where files are only copied if they have been modified or if
they haven't yet been copied. This saves considerable time when
generating the website, if the website contains large static files.
|
|
|
|
|
|
| |
For pages at the root of the website, the length of the parents vec is
zero. To avoid an underflow when subtracting from the length, we can
just call `.last()` instead of `.get(len-1)`.
|
| |
|
|
|
|
|
|
| |
If a heading is prefixed with 'Appendix #:', the link to that heading
will not include that prefix. This is to make it possible to rearrange
appendices in a document without breaking existing links.
|
|
|
|
|
| |
Keep quotes and dashes unmodified in monospace line elements, math
blocks, math elements, and fragment blocks.
|
|
|
|
|
| |
Checkboxes on list lines no longer have to be inside a monospace line
element.
|
| |
|
|
|
|
|
| |
Added math blocks, and changed link syntax, embedded file syntax, and
bold line element syntax.
|
| |
|
|
|
|
|
| |
These were previously being detected only if they begin with ://, which
is incorrect and generates incorrect links.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This was being triggered when an internal link was given as [[/]],
which is admittedly an invalid link anyway.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Generation of parent links for pages with two or more parents before
the root index was not working correctly.
|
|
|
|
|
| |
Source files with extension .redirect will be converted into redirect
pages linking to the internal-style URL in each file.
|
| |
|
|
|
|
|
| |
The value of the configuration key `html.head` is inserted into the
<head> section of every generated HTML page.
|
|
|
|
|
|
| |
If the file `toaster.conf` is found in the root of the source directory,
the contents are parsed as key-value pairs. A line with no indentation
is a key, and all following indented lines are the value.
|
|
|
|
|
| |
There was an issue where an apostrophe character in the label string
would prematurely terminate the string.
|
|
|
|
|
| |
If a list item line begins with `[ ]` or `[x]`, the token is interpreted
as a checkbox and replaced with a real HTML checkbox.
|
|
|
|
|
| |
The header of the main index page is no longer cleared, it can be
hidden with CSS by the user instead.
|
| |
|
|
|
|
|
|
| |
This is an issue because the duplicate headings will have identical
ids, and all links to the lower heading will instead link to the upper
heading.
|
| |
|
|
|
|
|
| |
Each section of a table is now wrapped with <tbody>, instead of just
the entire table.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|