Releases: PataphysicalSociety/soupault
1.4
You can download binaries from https://files.baturin.org/software/soupault/1.4/
Changes
- New
newest_entries_first
option for[index]
that sorts index data by date in descending order - New
--debug
/debug = true
option and revamped verbose/debug output - New
ignore_file_extensions
option. - More illustrative default config.
1.3.2 maintenance release
Bug fixes
- [Windows] Full support for running external scripts.
- External scripts now output both stdout and stderr on errors, to account for scripts that don't honor the stderr convention.
1.3.1 maintenance release
Bug fixes
- [Windows] Preprocessors and other external programs that are
%PATH%
now work as expected, no need to specify an absolute path [preprocessors]
section doesn't cause an erroneus "invalid config section" warning anymore
1.3
Improvements
- [footnotes widget] New options
link_id_prepend
andback_link_id_append
that allow you to create a separate "namespace" for footnote links. - [footnotes widget] More logical handling of ids: if a footnote element has an id, it's kept in place so that the footnote itself can be hotlinked using that id.
- Invalid config options cause warning messages now, e.g.
option "foo" is not valid for widget "title"
. - There's now spellchecking and suggestions for mistyped options, e.g.
invalid option "backlinks", did you mean "back_links"?
- AsciiDoc extension (
.adoc
) is now in the default page extensions list. - New Lua plugin functions for error reporting:
Log.info
,Log.warning
,Log.error
Bug fixes
soupault --init
generates correctpage_file_extensions
option in the default config now.- Incorrect config options no longer pass silently.
- Useless "build directory doesn't exist" log message no longer appears when the build directory does exist.
- Sample site config works properly with recent versions.
Build
- ppx_monadic library was replaced with more actively maintained ocaml-monadic.
- Soupault can be built with OCaml up to the latest 4.09.0.
Verifying release files
You can verify the releases using my GPG key and attached .asc
signature files.
1.2
New features
Bug fixes
- Better error reporting for circular and broken widget dependencies.
- Correct error message for missing "html" option of the
include_html
widget.
1.1
New features
Back links in footnotes
Footnotes now include links back to the original location in the document for easier navigation.
It's possible to disable this and make footnote links one way with back_links = false
widget option.
[widgets.footnotes]
widget = "footnotes"
# No back links
back_links = false
# ...
Path regex options for widgets
It's now possible to limit widgets to page file paths matching a Perl-compatible regex.
[widgets.starts-with-foo]
path_regex = "/foo(.*)"
widget = "insert_html"
selector = "body"
html = '<p>This page name starts with foo!</p>'
Excluding pages from widgets
It's now possible to explicitly exclude pages from a widget using these options:
exclude_page
exclude_section
exclude_path_regex
For example:
[widgets.toc]
# No ToC on any page named "index"
exclude_path_regex = '/index(\.*)'
Bug fixes
- HTML tags inside headings are now preserved by the ToC widget and the auto-indexer.
- Autoindex generator doesn't inadvertently remove nodes from the page anymore.
Platform support
Binaries for macOS are available.
1.0.1
Behaviour changes
Only files with extensions .htm .html .md .rst
are assumed to be pages now, all other files are copied to the build dir unchanged. This is to simplify switching for existing websites that store assets together with pages, and to comply with the principle of least astonishment.
You can change it with page_file_extensions
option, for example:
[settings]
page_file_extensions = ["htm", "html", "md", "rst", "txt"]
New features
JSON index data export
It is now possible to export the global website index to file:
[index]
index = true
dump_json = "path/to/file.json"
Custom index fields
Example:
[index.custom_fields]
tags = {selector = ".tag", select_all = true}
category = {selector = "#category" }
Lists of selectors
page
and section
options can now be either single selector or lists.
This also applies to the selector
option in title and footnotes widgets, with different semantics (select any that exists and select all respectively).
Bug fixes
- Fixed missing dependency in the OPAM package spec.
- Strict mode (
--strict
/strict = true
) now actually stops on the first error. - Output lines are no longer prefixed with superfluous executable file name
- Correct spelling of
use_heading_text
anduse_heading_slug
options. Olduse_header_*
options are kept for compatibility but deprecated. - A warning and a suggestion to use
soupault --init
are now displayed if neither site dir nor default template exist. - Graceful handling of sections (directories) without an index page or with no pages at all