Skip to content

Releases: PataphysicalSociety/soupault

1.4

26 Oct 21:41
Compare
Choose a tag to compare
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

06 Oct 15:31
Compare
Choose a tag to compare

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

05 Oct 21:34
Compare
Choose a tag to compare

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

29 Sep 05:12
Compare
Choose a tag to compare
1.3

Improvements

  • [footnotes widget] New options link_id_prepend and back_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 correct page_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

12 Aug 00:36
Compare
Choose a tag to compare
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

01 Aug 04:00
Compare
Choose a tag to compare
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

20 Jul 11:34
Compare
Choose a tag to compare

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 and use_heading_slug options. Old use_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

1.0-beta1

15 Jul 02:14
Compare
Choose a tag to compare

The first beta. It's stable enough to build my own website with a pretty interesting config, but may still have rough edges.