Mon Jan 27 09:34:53 2025 UTC
Sorry for the inconvenience, but I had to fix another FSM-related bug: the generator in 0.2.52 sometimes places a paragraph start just before the end of a tag where paragraphs are not eligible (e.g. h2, ul, pre...), so Thalassa 0.3.53 has just been made available, in which the problem is (hopefully) fixed. This time no changes to configs are needed, just replace the version and recompile. It is also recommended to regenerate your site, just in case the bug manifestated somewhere you didn't notice.
I'm really sorry for having this many bugfix releases in a row, which means each time I was releasing immature code. This is only because the initial “major” release, 0.3.50, was an urgent fix itself.
Wed Jan 22 18:23:23 2025 UTC
Thalassa 0.3.52 uploaded. Another FSM-related bug
has been fixed (well, paragraphs starting with a permitted tag such as
em
or strong
didn't render correctly). Besides
that, support for the new filtering policy has been added to templates,
both Smoky and Agenda; by default (which is specified within the
“base” part of the templates, not intended for changes), tags
a
, img
, span
are no longer listed as
permitted, and the only premitted attribute (listed for all tags) is
title
. However, within the default config.ini
,
these tags are permitted as well as some additional attributes. If you use
any of the two templates and comments are premoderated at your
site, you might want to add something like this to your
config.ini
:
[options site] moretags = a img span moreattrs = a=href img=src img=alt img=height img=width align style class
Don't do this if untrusted users are allowed to leave comments with no premoderation on your site.
Mon Jan 20 13:54:57 2025 UTC
UPD (Jan 21, 2025): the version 0.3.50 found to be buggy. Please download the version 0.3.51 which is a quick-fix release.
Some brain-damaged webcoding addicts demonstrated me (by submitting
comments with some related crap) the possibility to introduce JavaScript
into user comments using tag attributes appeared in HTML5 such as
onclick
, onpageshow
etc., and browsers happily
ignore the fact the document they render has nothing to do with HTML5. I
have to admit I didn't realize things like that are possible. Luckily, all
my sites are premoderated, so no visible consequences occured, but it
became obvious for me that tag attributes need to be filtered just like
tags theyselves.
It took several days of work to significantly rewrite the filter (for those
who're courious, it is implemented in the
lib/stfilter/stfhtml.cpp
file using an FSM) and add the
appropriate support to Thalassa itself, as well as to the
thalcgi.cgi
program. Anyway, Thalassa 0.3.50 is now ready and has just been made available.
There are two user-visible changes:
tag_attributes
is added to the
[format ]
section both in the Thalassa main configuration and the
thalcgi.ini
file. A kinda-safe default is provided for
its value, and the default value is
a=href img=src img=alt
, only allowing to use the
href
attribute within the a
tag, and
src
and alt
attributes for the img
tag, if the tags are allowed. All this only affects
headed text files where the
tags
flag is found in the format
header field
(typically the comments written by users using the web interface). You
only need to worry about all this in case you really wish to allow users
more things to do within their comments, like, e.g., allowing the
style
attribute for all tags (think carefully before
you do).thalcgi.cgi
configuration, the
%[cmtinfo:attrs]
macro function added.Nothing should (hopefully) break on your site if you move to this new version from the previous one; most users leaving comments simply don't remember about all these tag attributes. However, we strongly recommend to test it before deploying on running sites.
Tue Dec 3 20:37:09 2024 UTC
Thalassa 0.3.30 released. This release is mainly
devoted to the new comment displaying style, named thread
.
With this style, top-level comments are displayed on the page being
commented, and for each top-level comment, a separate page is created to
hold replies on that comment, if any. The Agenda template, from now on,
allows to choose the style for comments, either “plain”
(list
), or tree
(the default one), or the new
thread
style. The new comment style also affected the
macroprocessor, where the %[cmt:replies]
and
%[cmt:threadpg]
functions are added.
Besides that, this release fixes a problem related to the
dirname(3)
function. The problem didn't let Thalassa work on
OpenBSD due to a slightly different implementation of the function.
And the last thing to mention: the %[rfcdate: ]
macro now
adds “UTC” to the text representation of the date.
This release doesn't (hopefully) introduce any incompatibilities with
earlier releases; it should be safe to upgrade both the Thalassa version
and the Agenda template. If you'd like to give a try to the support of
different comment styles, then take a look at the
appearance.ini
file, find the [options cmt]
sectioin and copy it to your appearance.ini
, then
edit as appropriate.
Sun Nov 17 23:45:04 2024 UTC
Thalassa 0.3.20 released. This time Thalassa itself gets only minor changes:
path
parameter which overrides the
section name for local path (URI) of the page; the parameter is passed
through the macroprocessor, so the actual name for the generated file may
be set by, e.g., an
option, and setting
it to some “special” values disables the page.Besides that, a segfault has been fixed, which happened on an attempt to generate an unknown (unconfigured) stand-alone page from command line.
More significant changes are related to site templates. First of all,
a brand new template, named Agenda
, is added.
The new template mostly provides the same functions as the old good
Smoky
: pages, feed (either a news strip or a blog, exported to
RSS), a guestbook and contact form. Unlike Smoky, Agenda uses a side panel
for the main menu, and the panel may be placed at the left side, at the
right side, or suppressed (in which case you'll probably have to care about
basic navigation on your own). Four prepared color schemes come with
Agenda, and generally a color scheme consists of less values to be set, so
it made customizable by the site author. Besides that, some sizes and
lengths may also be customized; the side panel's width may serve as a good
example.
The next notable thing is that both templates now support translations to languages other than English. In the source tarball, translations to Russian are provided, both for koi8-r and utf-8 encodings.
The two templates have a lot
Sun Jun 2 23:42:02 2024 UTC
Thalassa 0.3.10 released. This is mainly a bugfix release, including:
Sat Apr 20 21:25:31 2024 UTC
Within the documentation section, a
step-by-step guide to setup Apache for
serving Thalassa-based sites is now available. It is strongly recommended
to use suexec
even if your servier is only going to serve a
single site, but along with that, the guide explain how to configure your
server properly to make the default Apache site Thalassa-based and how to
serve several virtual sites without suexec
, although it is
specially stressed that this approach is ugly.