A static site generator
This releases focuses on news feeds.
feeds
setting is added in the website config. This setting deprecates rss
. The rss
setting will continue to work in new releases of Tclssg v2.rss enable
and rss tagFeeds
to false has an effect.<meta name="robots" content="noindex">
to all pages. If you were wondering why Google wasn't indexing your website, this is why. :facepalm: It is recommended that users rebuild and redeploy their Tclssg v2 website projects.::tclssg::utils
and the bulit-in Web server.class="language-foo"
to ```foo ...```
code blocks to help with syntax highlighting.This release completes the release cycle of Tclssg 2.0. Version 1.0 is now deprecated and won't be supported.
Below is a summary of the changes to Tclssg since version 1.0. It will be familiar to you if you have followed the beta releases of Tclssg 2.0.
This release brings major changes to Tclssg. You will need to migrate your version 1.0 project. See the migration guide. Projects created with Tclssg v2.0.0-beta-1
through Tclssg v2.0.0-beta-5
will likely need a minor update.
customCss
is now customCSS
). Some settings have been deleted or had their possible values changed. Many website settings have become page settings for more granular configuration. The migration tool tools/migrate.tcl
is provided to handle these changes.blogPostSettings
and pageSettings
in the website config are subsumed into presets.absoluteLinks
feature has been scraped. Tclssg has a strong point in generating relative links that are portable between hosts and paths, and supporting both absolute and relative links complicated templates.grep
is included in tools/
. The output of the search tool is very close to the old log format./tag-foo-2/
-> /tag-foo/page/2/
/index-2/
-> /page/2/
hello-world.html
or hello-world/index.html
) are collected on one tag page.sortTagsBy
has become a page setting.Migration: replace sortTagsBy xyz
in website.conf
with {sidebar tagCloud sortBy}
in presets/default
with the same value.
websiteTitle
has become a page setting.Migration: move websiteTitle foo
from website.conf
to presets/default
.
timezone
has been removed. There are new page settings to replace it.Migration: replace timezone
in website.conf
with {timezone date}
in presets/default
with the same value.
The new settings are:
{timezone date}
— if set, used for scanning the page's date
and modified
when they don't contain a time zone as well as to add a time zone to the attribute datetime
of the <time>
tags of the article.{timezone text}
— a human-readable time zone name;{timezone show}
— whether to show {timezone text}
.moreText
has been split into two.Migration: rename the key moreText
in $inputDir/presets/blog
to {more markup}
.
The new settings are {more markup}
for the HTML markup with variables $link
(as before) and $text
(new) and {more text}
for the human-readable customizable text like "read more". For example,
moreText {(<a href="$link">read more</a>)}
should be replaced with
{more markup} {(<a href="$link">read more</a>)}
or
more {
markup {(<a href="$link">$text</a>)}
text {read more}
}
{bootstrap theme}
can now be a link, not just a path.{sidebar tagCloud hide}
allows you to hide certain tags.$inputDir/data/
.-articleScript
in ::document::render
.This release:
This release:
hello-world.html
or hello-world/index.html
) will be collected on one tag page.tidy-html5
is enabled.