-
: version 0.6.1
Bug-fix a regression test that was erroneously failing.
Specify that Mac OS X users should use
bmakeor brew-installed GNU make instead of the ancientmakedistributed with (at least) Sonoma, GNU make 3.81, released 2006. -
: version 0.6.0
Improve interface for blog templates (all existing functionality is retained). Foremost, elements no longer need to be
<nav>or<article>to trigger querying for navigation or article template blocks (data-sblg-navanddata-sblg-article, respectively).Similarly, article sources and standalone templates no longer require
<article>elements to trigger scanning for article content: thedata-sblg-articleattribute suffices.Introduce
data-sblg-navstyle-contentanddata-sblg-navstyle-element, which allow for several different ways of formatting the navigation content. The olddata-sblg-navcontentanddata-sblg-navxmlare deprecated, but will not ever be removed. -
: version 0.5.12
Document how to esape tag symbols: use the HTML entity instead of the dollar character (e.g.,
${TOKEN}).This brought to attention a long-standing issue: that HTML entities were discarded. Modify the parser to allow for HTML entities (e.g., $) and pass them through as text without validation. This significantly improves workflow that has well-formed HTML that would not pass through libexpat without a DTD parsed for the entities. HTML entities in attributes will still not work.
Pass keywords specified in the input (e.g., as
data-sblg-set-foo=bar) into the JSON output in thekeysrecord property. The JSON output may now be consumed in TypeScript systems with a package uploaded to npm: sblg. -
: version 0.5.11
Improve documentation, improve portability (with latest oconfigure), and add a large regression suite for testing behaviour of the system. This is run by
make regressand requires no additional utilities to run (beyonddiff).Allow
${sblg-source}to be overridden and provide${sblg-real}for the actual file. -
: version 0.5.10
Tiny updates to portability. For most systems, no functional change. Update to newest oconfigure.
-
: version 0.5.9
Extensive portability work. Internally switches to pkg-config(1) for detecting dependency locations. Now builds and installs properly on most popular UNIX systems.
-
: version 0.5.8
Add
data-sblg-const-imgvariants of the existingdata-sblg-imgand friends. This behaves like implicitly grabbing from the first<img>in that only the first invocation sets the value. The existingdata-sblg-imgattributes, on the other hand, will overwrite previous invocations. -
: version 0.5.7
Add
${sblg-setcount}for printing the number of remaining articles in a tagged navigation series. -
: version 0.5.6
Add
data-sblg-authorattribute that can override the set author. This is like thedata-sblg-imgand so forth.Add
data-sblg-atomcontentto mirrordata-sblg-navcontentin that Atom entry contents are retained with symbols replaced.Atom contents are now typed as XHTML and wrapped in an
xmlnsattribute accordingly. -
: version 0.5.5
Add
LDFLAGSto Makefile and fix typos in manpage. -
: version 0.5.4
Add two templates for photography blogs, one with a grid front page and one that's columnar. These create the blogs directly from EXIF data in your photos!
Finally remove that articles are followed by a permanent link by default that must be disabled with
data-sblg-permlink="0". This has now been inverted such thatdata-sblg-permlink="1"is required to emit the permanent link.Add
${sblg-version}and the-Vflag to the binary to emit the version. -
: version 0.5.3
Add a brutalist template to the mix. This is has a front page and per-article styles. The way templates are installed has changed, but that's not likely to change any behaviour.
-
: version 0.5.2
Provide the
${sblg-next-has}and${sblg-prev-has}to allow masking or showing of${sblg-next}and friends.Add some style templates for simple blogs: one that's one article per page and one with a blogroll, and a retro blogroll. These are installed with the system and may be used a simple start to a blog.
Significant updates to the Atom functionality. This necessitates a minor version bump because Atom identifiers created by the system no longer use the
tag
scheme, but instead the URL itself. This makes the system much simpler. Also, several attributes (data-sblg-update,data-sblg-id) are no longer necessary to stipulate: since there can only be one element for each invocation, these are superfluous. All of these makes it much easier to combine existing Atom entries with an automated feed.While here, update the documentation to be much more specific about how the template is handled.
-
: version 0.4.29
Provide the
data-sblg-asideattribute like the others (data-sblg-title, etc.). Also bring up to date with latest oconfigure. -
: version 0.4.28
Documentation updates only: clarify
multi-standalone
mode as combined, remove references to amalgamation, clarify where tag symbols may be used, add more meaningful examples, etc. No code change. -
: version 0.4.26
Add
ititleandrititlefor case-insensitive title sort. -
: version 0.4.25
Add
data-sblg-ign-onceattribute, which is recognised in the template file to indicate that adata-sblg-articleshould be ignored. Theoncepart specifies that the attribute be removed when it is processed. This makes it easier to chain output to input, so a template may, for example, wrap a navigation set as an article. I use this for tag cloud collections.Fix value reported by
${sblg-abscount}, which was off by one.Provide
data-sblg-titleanddata-sblg-datetimeoverrides just like already found indata-sblg-img.All sort types now have a
reverse
mode. Add in thetitlesort, while here. -
: version 0.4.24
Fix typo causing compile errors on Linux.
-
: version 0.4.23
Bug-fix a coredump caused by copy-paste. This occurred when a sort was specified on a navigation.
-
: version 0.4.22
Add
${sblg-abscount}variable. -
: version 0.4.21
No functionality changes. Speed up internal code by using hashtable lookups for element and attribute names. Conform to OpenBSD's style(9) more.
-
: version 0.4.20
In list mode (-l), allow for
long-format
listing by specifying another -l. This puts all tags (or files, with -r) to be printed on the same line. This makes it easier to use shell scripting to process tag lists. -
: version 0.4.19
When creating Atom feeds, strip away
dangerous
HTML attributes. Do this by using the W3C's Atom feed attribute whitelist, defined in their validator security considerations. In doing so, Atom feeds validate nicely. -
: version 0.4.18
Add
data-sblg-forallto Atom generation. This makes it easy to have a single<entry>for all Atom entries. Also fix the generated<id>to use the current year and tidy the sblg(1) documentation.Also add
data-sblg-altlink-fmtto allow the alternative link to be formatted arbitrarily.While there, make Atom output process its internal tags. This means you can use the
${sblg-xxxxx}tags within documents and have them properly render within your Atom feed content. Clean up some possible memory leaks, too. -
: version 0.4.17
Add
${sblg-pos-frac}$,${sblg-pos-pct}, and${sblg-countto generate nice progress bars. -
: version 0.4.16
Specify what
${sblg-pos}actually does: shows the current navigation index regardless the filters. Add${sblg-abspos}for the actual position in the full list of articles. (Why anybody would want that, I don't know.)Add
${sblg-get-escaped[|tag]}, which is like${sblg-get}except that white-space is escaped for use with thedata-sblg-navtaganddata-sblg-articletagattributes. -
: version 0.4.15
Introduce
${sblg-has|key}, which tests whetherkeyhas been set (e.g.,data-sblg-set-key=foo). If it has been set, emitssblg-has-key, or nothing otherwise. This is useful for classes whose children will be masked depending upon the existence of a key.Properly show dates in UTC instead of localtime. (Unless asking for localtime.)
-
: version 0.4.14
Allow for
data-sblg-navtaganddata-sblg-articletagto support an embedded${sblg-get|xxx}. This is useful for having a navigation list (in -L or -C mode) deriving from the page itself, such as asee also
. Also bring up to date with newest oconfigure. -
: version 0.4.13
Compatibility fix for
%F, which wasn't supported by musl. Also makedata-sblg-articletagrespect escaped spaces. -
: version 0.4.12
Allow for white-space around date processing in the input document's
<time>element. -
: version 0.4.11
Bump to latest oconfigure. Fix up some documentation. No code change.
-
: version 0.4.10
Bump to latest oconfigure. Fix up some documentation as noted by Johan Huldtgren—thanks!
-
: version 0.4.9
Start using oconfigure for configuration.
-
: version 0.4.6
Allow for
data-sblg-navsortattribute to override the search order set by -s. Also add the rdate search order (reverse date). -
: version 0.4.5
Allow for
data-sblg-set-xxxx="yyyy"attributes for custom key-value pairs. These may later be extracted using the${sblg-get|xxxx}invocation. This is very useful for having structured values within, say, navigation.Also merge Reyk Flöter's
data-sblg-navxmltag to cause the contents of adata-sblg-nav="1"statement to be included verbatim, not within a list. -
: version 0.4.4
Fix
<id>element in Atom feeds as patched by Reyk Flöter. Thanks! -
: version 0.4.3
Make Atom feeds aware of the
data-sblg-striplinkattribute. This attribute strips the directory part from the altlink (if requested), allowing input files to have arbitrary directory parts harmlessly. -
: version 0.4.2
Fix
data-sblg-navtagto also support escaped spaces. -
: version 0.4.1
Enpower -l (tag-listing mode). This is now able to emit all tags in JSON formatted output via -j, which makes it easy for dynamic sites to play with tag listings in any way they choose. (See sblg(1) for an explanation of the output format.) Also add -r, which stipulates that -l will print tag-first. This is most useful for -j, as it allows for easy browsing by tag name.
Also internally start using a new way to
configurethe build. -
: version 0.3.10
Added a new flag, -L, documented in sblg(1). This acts as if -C were specified for each article in its input without needing to run sblg(1) again and again. (Obviously, it will re-write the suffix just like -c without -o.) This makes the compile time for our divelog, which has many articles that used to be run with -C, much faster.
While plumbing, add some examples to the manpage and note the caveat regarding HTML entity names.
-
: version 0.3.9
-
: version 0.3.8
Fix the installation tarball. No code/functionality change.
-
: version 0.3.7
Add the ability to attach an image to an article. This is selected from the first
<img>or as overriden by thedata-sblg-imgattribute. Also add the ability to list tags in an article with${sblg-tags}, which accepts a filter prefix as${sblg-tags|filter}. Then add${sblg-datetime}to format time-date UTC pairs and${sblg-datetime-fmt}for human-formatted dates and times. These collectively make date and time formatting much more rigorous. While documenting these, polish up sblg(1). -
: version 0.3.6
Implement a new option, -l, that prints all tags for a given set of filenames. Also allow tags to have spaces if backslash-escaped.
-
: version 0.3.5
Add support for JSON output with the -j flag. This generates a dump of all articles in JSON format. This makes it easy to mingle your static content with a dynamic feed, such as one coming from dblg.
-
: version 0.3.4
Add sorting by command-line (natural) invocation order. Fix an issue reported by trondd555 where text after the end of an input article would continue to be printed. Thanks!
-
: version 0.3.3
Require a valid ISO 3339 date-time for the article time, which now lets articles have a time as well as the date component. Add a
${sblg-pos}tag for specifying the article's shown position. -
: version 0.3.2
-
: version 0.3.1
Allow multiple articles to be specified within a single input file. This warrants a minor bump because the internals changed quite significantly, as did the default behaviour of handling multiple articles per file (earlier they were just ignored).
-
: version 0.2.14
Add the
data-sblg-articletagattribute for articles (likedata-sblg-navtag) and allow fordata-sblg-navstartfor navigation (the first article to show of those that would be shown). Also clean up the manpage in the interests of readability. -
: version 0.2.13
-
: version 0.2.12
Implement Darwin's sandbox for security's sake.
-
: version 0.2.11
Fix
${sblg-prev-stripbase}, which was accidentally behaving the same as${sblg-prev-base}. Change all thestrip
tags to refer only to directory and suffix stripping, then add thelang
addition (e.g.,${sblg-striplangbase}to remove both. Add thedata-sblg-sortattribute to articles that allows them to override their relative positioning. Prepare for importing a read-only repository into GitHub. -
: version 0.2.10
Add a
${sblg-stripbase}version of${sblg-base}that also removes the directory part. The same has been added to the positional references like${sblg-next-base}. -
: version 0.2.9
Bug-fix: when reading the time from an article (via the
<time>element), sblg was looking only at the first attribute. This has been fixed: all attributes are examined until finding the time. -
: version 0.2.8
Bug-fix: if an amalgamation template had more entries than articles, it would crash. This was found and noted by Hiroshi Hakoyama—thanks!
-
: version 0.2.7
Spruce up documentation and web content for clarity, including fixing some of the older
Tips and Tricks
articles in the blog section. No functional change. -
: version 0.2.6
Fix the Atom generator (using the -a flag) to use the <content> tag regardless of whether displaying a summary or the content itself. This behaviour conforms to RFC 4287. Noted by Svyatoslav Mishyn–thanks! While here, spend a few hours running the system through AFL. Note: I had accidentally installed version 0.2.5 as version 0.2.6. This error pointed out by Svyatoslav–thanks again!
-
: version 0.2.5
First, actually use the -C (the prior -f was still specified). Second, have the blog amalgamation, standalone amalgamation, and compile modes properly treat the template symbols described in sblg(1). In doing so, the system was made much more efficient by re-using the saved buffer of article contents instead of re-parsing for each treatment.
-
: version 0.2.4
Add the
<article data-sblg-lang="en lv ru">attribute for controlling how filenames are stripped for the${sblg-base}symbol (see sblg(1)), specifically that a language of (e.g.)enwould, in a filename ofindex.en.htmlorindex.html.en, have the.enpart stripped out before the suffix is stripped. This makes multilanguage sites much easier to manage.Also add a small portability framework, automatically invoked by the Makefile, that provides compatibility functions for strlcat(3), strlcpy(3), and reallocarray(3). So now the system is portable across most UNIX systems, not just BSD!
-
: version 0.2.3
Polish documentation and web-site. No significant functional changes.
-
: version 0.2.2
Document (and fix) the
${sblg-next-base}and${sblg-prev-base}keywords. Add the${sblg-first-base}and${sblg-last-base}keywords. Allow multiple tags indata-sblg-navtagattributes. -
: version 0.2.1
Bumped minor after changing the symbols replaced within
<nav data-sblg-navcontent="1">. These are all now prefixed withsblg-. Also switched-fto-Cfor consistency. Lastly, allowed all non-article and non-navigation text and attribute values within the templates for-cand-Cto have the same symbols as for navigation replacement. -
: version 0.1.3
Fix tagging to allow for
data-sblg-tagsattributes anywhere in an article. Also fix off-by-one in replacing.xmlwith.htmlin -c mode. -
: version 0.1.2
Stipulate that all content is used when
data-sblg-content="1"is used in an Atom template. Allowed<hN>,<aside>,<time>, and<author>tags to appear anywhere in the article instead of just in the<header>. Disable expansion of internal entity references (e.g., <) so that input is completely preserved. Addedtitletextto filled-in parameters such as to differentiate fromtitle, which includes any markup within the parse context. While there, addauthorandauthortext. -
: version 0.1.1
Overhaul documentation (web, articles, manual, in-line) for simplicity. Add tag indexing (see Tags article). Simplify the flow of standalone to amalgamated articles by mandating that
data-sblg-article="1"appear in input articles. -
: version 0.0.13
Fix download so that it compiles properly.