Commit Graph

20 Commits

Author SHA1 Message Date
Brian S. Stephan 6dc443e59f
implement a rudimentary Atom/RSS feed module
this provides a somewhat unconfigurable (at the moment) feed module
which provides Atom and RSS feeds. entries are determined by symlinks to
content pages, because my core CMS usage is still more general and not
blog-like. the symlinks allow for arbitrarily adding entries as I see
fit.

this also moves core Markdown parser stuff to the library module, since
that's used by the feed as well as normal pages

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2023-12-30 14:55:02 -06:00
Brian S. Stephan bf646db1e8
convert tooling to pyproject.toml based
still has dynamic versioning and etc.

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2023-12-30 10:33:28 -06:00
Brian S. Stephan 7b225a6de3
adding a compliant copyright line to all code
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2023-12-28 15:33:41 -06:00
Brian S. Stephan e1dc2afc7b
add SPDX-License-Identifier and DCO information
this includes my personal signoff on the MAINTAINERS.md for DCO purposes

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2023-12-18 11:15:56 -06:00
Brian S. Stephan 715bc38d78
serve per-instance static files at custom-static/ 2022-12-31 10:51:36 -06:00
Brian S. Stephan cde82ab918 don't route /media separately anymore 2021-04-17 11:16:34 -05:00
Brian S. Stephan 39d78af524 add error handler pages for 400, 404, 500 2021-02-21 19:35:52 -06:00
Brian S. Stephan 4f45943775 initialize markdown on a per-page basis
the footnote extra expects to only parse one document over the Markup's
lifetime, and writes the footnotes to the bottom of every page that is
rendered (again assuming only one) with links back to the reference

having one parser for the entire app, naturally, introduced
ever-increasing footnote links and every footnote on the site showing up
on every page. this was not intended

in some light testing, doing this per-request has a nominal effect on
performance
2021-02-11 18:17:26 -06:00
Brian S. Stephan 5ca483a904 configurable markdown extensions
meta is always loaded, because the code expects it
2020-10-29 23:51:58 -05:00
Brian S. Stephan 14f6125f4e use new-style tox.ini, add flake8-docstrings, add docstrings 2020-06-17 20:18:43 -05:00
Brian S. Stephan ed0dab14f3 tweak request logging, log response info 2020-03-15 18:43:15 -05:00
Brian S. Stephan 2634c144a7 support a media/ dir under the instance dir
this is for miscellaneous files that should be served directly rather
than being a page route
2020-03-08 11:48:49 -05:00
Brian S. Stephan ab009e4f59 reorder config imports for more specific overrides 2020-03-07 19:37:02 -06:00
Brian S. Stephan fe0ca7d90b rename journal module to pages
this better represents the general purpose of this module, rather than
just "journal" stuff (though that will likely be a use)
2020-03-07 14:11:12 -06:00
Brian S. Stephan 17bbe9c6b4 allow explicit instance_path in create_app()
this will be necessary to point pytest's app fixture at a different
instance directory with test data
2020-03-07 09:24:20 -06:00
Brian S. Stephan 76bdc28a9f add setup.py with versioneer support 2020-03-07 00:29:17 -06:00
Brian S. Stephan 592f3e90b0 remove a debugging print statement 2020-03-06 22:51:04 -06:00
Brian S. Stephan 7d23b15043 log all incoming requests 2020-03-06 19:53:29 -06:00
Brian S. Stephan ded784219e skeleton journal functionality --- catch-all view
all this does at the moment is echoes the path from the request back in
the response, but it's the super basic plumbing I can write at the
moment
2020-03-06 18:08:24 -06:00
Brian S. Stephan a28f27206b basic create_app() and configuration scaffolding 2020-03-06 17:51:20 -06:00