Changes
- plugins/feeds: Render summary before writing it to the feed.
- plugins/redirects: Allow to use tabs or spaces as separator between columns.
- plugins/rst: Set referrer policy for embedded YouTube videos.
Bugfixes
- plugins/sphinx-themes: Dependency to setuptools is needed starting with Python 3.12.
Bugfixes
- plugins/Sphinx: Sphinx 7.3.0 has introduced a
new configuration format for themes.
This breaks the way we parse the theme configuration.
For this bugfix release we pin the Sphinx dependency to
<7.3.0 to work around this problem.
v1.10 (2024-04-22)
Changes
- plugins/tags: The
tag metadata can now be a real yaml-list instead of a list string.
- plugins/feeds: A podcast-author can be added to a feeds metadata by setting the
itunes_author property in the feed definition.
- plugins/feeds: The HTML content of a feed-entry can be filtered by a function.
This is intended to remove items that should not be included in the feed
(e.g. the actual podcast player for podcasts)
or to only publish a preview of the post.
- Feeds: The
content type of entries is now set to HTML.
This should reduce confusion in some feed readers.
- Feeds: Convert all URLs from relative to absolute.
Feeds should not contain relative URLs. Some feed readers and
podcast clients seem to convert relative URLs into absolute ones. Let's
not rely on that and convert relative URLs into absolute URLs for a.href
and img.src.
- BeautifulSoup: Silence
MarkupResemblesLocatorWarning.
BS4 now raises a MarkupResemblesLocatorWarning every time a content
looks like a path or URL.
In Flamingo this is usually intended and not an user error.
So we silence this warning completely.
v1.9 (2022-11-22)
Changes
- plugins/sphinx_themes: Make compatible to Sphinx>=5.02.
- plugins/feeds: Add support for Podcast-Style RSS feeds
Bugfixes
- tests/plugin_git now works with output on systems with other languages than English.
- plugins/feeds: Set attributes that are mandatory for RSS feeds
v1.8 (2021-05-12)
Changes
- jinja2: Make integration compatible to jinja2 > 3.0.0
- tox: It's now possible to run a single test using tox -- <testname>
- Release Workflow: Moved from a tox-based to a make-based workflow.
We can now run make sdist and make _release to upload a new dist to pypi.
v1.7.1 (2021-12-16)
Bugfixes
- plugins: Tags: titles in tag listing pages were fixed
- Previously tag listing pages contained "None" if the template didn't set
a proper title
v1.7 (2021-12-02)
Breaking Changes
- plugins: reStructuredText: document_xform is now disabled by default
- With this option enabled all articles with more than one heading are
structured in sections, and all articles with less than two headings are
not. This caused all sorts of CSS an structuring problems.
Bugfixes
- plugins: SphinxThemes: handling of active menu items was fixed
- Previously the menu was not expanded correctly in all cases
v1.6.1 (2021-11-09)
Bugfixes
- server: fix compatibility issues with aiohttp 3.8
- core: data model: NOT, OR, AND: fix compatibility problems between different
python versions
- plugins: SphinxThemes: pin dependencies to a compatible versions
v1.6 (2021-04-09)
Changes
- shell: replace IPython with rlpython
- server: add a aiohttp-json-rpc replacement
- server: update aiohttp dependency
- server: set default watcher refresh interval to 1 second
- plugins: SphinxThemes: add support for multiple toctree captions
- plugins: SphinxThemes: add support for extra stylesheets and scripts
- plugins: setup flamingo.plugins.rstTable
- doc: use official ReadTheDocs theme instead of fork
v1.5 (2021-03-17)
This release brings support for Shpinx themes, reStructuredText includes and
various bugfixes and also drops support for Python 3.5
Breaking Changes
- change range of supported Python versions to Python>3.5
- core: utils: html: extract_section_by_title got renamed to
get_section_to_title
- plugins: Menu: Menu uses its own plugin namespace for resolving paths
instead of the settings namespace now
- all templates now have to use context.plugins.Menu.menu.main instead
of context.settings.MENU.main
Changes
- server: better support for related_paths keyword
- server: add --shutdown-timeout
- default in set to 0.0 (this fixes previous shutdown problems)
- plugins: add plugins.SphinxThemes
- plugins: add plugins.rstInclude
- plugins: Feeds: error messages are more human readable now
- plugins: reStructuredText: fix wrong line numbers in warnings and
error messages
- plugins: Photoswipe: add support for SVGs
- plugins: Thumbnails: add support for SVGs
Bugfixes
- plugins: rstImage: fix name clashes in meta data
- plugins: Feeds: fix link resolving in feed items
- plugins: reStructuredText: Container directive: fix namespace problems
- plugins: Thumbnails: fix thumbnail output paths
- The previous naming scheme $FILE_NAME.thumb.$EXTENSION was not unique
and lead to overriding of thumbnail. The new naming scheme is
$FILE_NAME.thumb.$HASH.$EXTENSION.
v1.4 (2020-08-30)
This release brings a changes and bugfixes for plugins.Time
Breaking Changes
- plugins: Time: add comparison between datetime.date and
datetime.datetime objects
- If a value in content['date'] comes without a time string,
datetime.datetime.min.time() gets used for comparisons
Bugfixes
- plugins: Time: wrong implicit type casting of time object
- Previously it could happen that datetime.datetime objects got
mistakenly type casted to datetime.date objects
v1.3 (2020-07-26)
This release brings bugfixes, performance improvements and long anticipated
development features like directory-listing and configurable directory-indexing
Breaking Changes
- core: set content['output'] to /dev/null when output
and path are not set
- This saves loop iterations when rendering output
- server: consolidate command line args
- Previously the command line used terms like --disable-$FEATURE which
lead to double negation in code. Also it made it hard to change defaults.
- plugins: Feeds: use title or content_title for feed items
- This emulates flamingos behavior on how to search for a content files title
- plugins: reStructuredText: split plugin in multiple modules
- plugins: rstLink: remove obsolete option find_name
- This option never made sense: If you provide a link name, it is obvious
that flamingo don't has to search for one. If you don't provide one,
setting find_name=False can only result in a crash.
- plugins: remove plugins.rst.rstFile
- Since plugins.rst.rstLink has support for downloadable files, this plugin
is obsolete
Changes
- core: data model: Q: skip unnecessary lookups; cache lookups
- This can (depending on your use cases) have a significant impact on your
projects performance
- core: context: add hook template_context_setup
- This makes it possible to inject context changes to any template
- core: context: add media_content property
- core: plugin manager: add tab completion for shell
- plugins: rstLink: add support for downloads
- server: BuildEnvironment: add api to await rebuilds
- server: share server options live between frontend and backend
- server: ContentExporter: add directory listing
- server: frontend: add better tab- and shortcut handling
- server: add sync variant of await_unlock()
- tests: setup server tests
- tests: add tests for plugins.Git
- tests: add tests for plugins.Thumbnails
- tests: core: settings: add overlay tests
- tests: add tests for plugins.rst.rstLink
- tests: add layer tests
Bugfixes
- core: context: build: run hook pre_build hook after initial cleanup
- pre build layers were pretty much broken by design before
- server: cli: fix log filtering
- --loggers was never processed properly
- server: meta data: use overlay data instead of original data
- server: meta data: mask overlay types
- Previously this lead to confusing output in the Meta Data tab in
flamingo server
- core: types: OverlayObject: fix duplicates in __dir__()
- plugins: reStructuredText: fix caching issues for directives and roles
- Previous versions of the reStructuredText plugin use the reStructuredText
upstreams directive cache, which is fine til you try to overload a
directive twice. This lead to confusing results when running tests.
v1.2.2 (2020-05-04)
Changes
- tests: plugins: Markdown: test image tag rendering
v1.2.1 (2020-04-29)
Bugfixes
- plugins: reStructuredText: rstFile: fix broken links
v1.2 (2020-04-25)
Changes
- server: exporter: search for a index.html if an empty directory is requested
Bugfixes
server: frontend: fix rpc race condition while iframe setup
plugins: Redirects: fix empty HTML files
In early versions of flamingo page contents were stored in
content['content']. Now they are stored in content['content_body'].
v1.1 (2020-03-29)
Changes
core: plugins: PluginManager: make THEME_PATHS a property
This makes dynamically generated theme paths by plugin hooks possible
server: frontend: show an error message if JavasCript is disabled
plugins: reStructuredText: make system message removing configurable by
settings.RST_REMOVE_SYSTEM_MESSAGES_FROM_OUPUT
core: context: add resolve_content_path() for resolving relative and
absolute content paths
core: templating: Jinja2: make Jinja2 extensions configurable by
settings.JINJA2_EXTENSIONS
core: templating: Jinja2: rewrite link() method
- use context.resolve_content_path() instead of custom path resolving
- add LinkError class for better error reporting in Live-Server
- make i18n path resolving configurable
plugins: reStructuredText: add rstLink
This plugin adds a Sphinx like docutils role for internal and external links
Bugfixes
core: plugins: Layers: Check if directories exist before using them
core: data model: fix endswith lookup
Til this point __endswith lookups ran <str>.startswith() due a
copy-paste error.
server: frontend: return an 404 error on directory listing request
instead of crashing