Index-ext was a bit of a kludge used to support symlinking the index.html rather
than due to any real need for indexes to have different extensions than other
documents. Instead of an empty string to indicate no extension, we will use nil.
We hardcode "index.html" and use the first numeric-index's page-url to not make
assumptions about the user's routing scheme.
Once the title has been converted to a URL (by `slugify`), name-fn changes it.
It is available in the .coleslawrc as `:namefn 'fn`, with the default
`:name-fn 'identity`
I wanted posts to have no extension (via :page-ext), so I had to allow for
:page-ext "" to work, and without inserting a dot at the end of my files. To
allow for index.html when :page-ext is not "html", :index-ext "html" in the
.coleslawrc is supported.
Before calling RENDER-TEXT, we have to ensure that the FORMAT slot is a
keyword. This bug was introduced in
a6164f0bc0
Thanks to Masataro Asai (Guicho) for reporting the bug.
Besides avoiding duplicate work the order in which we assign the values to the
slots no longer matters as excerpt doesn't read the contents from the TEXT slot
anymore.
cf. e1ab552e8f
Ideally the package coleslaw would only have symbols that refer to
configuration variables. However to ease setting *BASEDIR* to the right
value using UIOP:SYMBOL-CALL we provide a setter, SET-BASEDIR.
- Split each ASDF system into its own file
- All system definitions are made in the ASDF-USER package, as
recommended by ASDF.
Fixes#110
Coleslaw is able to write the blog content to xhtml file as well, using the
configuration setting :page-ext. But it did ignore the file extension when
creating the index page link responsible for the default landing page. With this
fix the file extension gets honored. E.g. when "xhtml" is configured, coleslaw
will generate a link from "index.xhtml" to "1.xhtml".
added class-name-p function to util
refactored incremental plugin process-change and documents purge-all
to use class-name-p when matching against exact class names
find-all implementation returns false positives for subclasses
added parameter of a predicate to implement matching, with a default
value that preserves original behaviour
added an exact class matcher to purge-all invocation of find-all to stop
it purging subclasses
A warning with the full error message will be printed and the original
file `LOAD`ed instead. If the error isn't related to the `fasl` file
output, then the `LOAD` should also throw an error, at which point the
normal error handling would take place.