985bb93839
do a requirements bump
...
notable changes:
* Flask 1.1 treats redirects to itself as relative URLs now, so a spate
of tests were updated
2022-04-19 08:41:59 -05:00
502adac89c
make the pydot syntax backwards compatible with code fences
...
without this, the code fence parser was getting thrown off if you didn't
have the pydot extension loaded, which was thwarting backwards
compatibility. this makes the pydot bits look like an attribute to the
vanilla parser, so at least then the vanilla markdown renders as
intended
2022-04-19 08:41:59 -05:00
08305e26db
pydot: handle multiple dot images in one file
2022-04-19 08:41:59 -05:00
f15d955067
initial crack at a block-level figure parser
...
I didn't like the other figure + figcaption parsers, they either assumed
a lot about usage (e.g. images only), or they were inline parsers that
either wrapped the figure in a paragraph tag (which is incorrect syntax)
or did span trickery (annoying)
so, this handles images and maybe other things, and does things properly
with figures as their own blocks. incomplete but it works with my
images, and should allow for looping (for multi-line content) in the
future?
2022-04-19 08:41:55 -05:00
b3c3c0de45
clean up the default markdown configuration a bit
...
this brings the config a bit closer to my default, and updates the
expectations of a test accordingly
2022-04-19 06:45:32 -05:00
8a62167cea
remove some self-specific stuff from settings
...
implements most, if not all, of #15
2021-11-01 23:27:00 -05:00
e61c55bed2
handle graphviz parsing errors more cleanly
2021-06-24 11:37:57 -05:00
da055acda6
provide markdown extension to render graphviz
...
this is server side, and a more standard format, and thus I like it more
than mermaid, which I've been using at work. but, I really wanted a
server-side option (see my manifesto) for drawing relationship graphs,
for D&D stuff of all things.
this adds an optional 'graphviz' feature to package installation which
consequently depends on pydot
2021-06-24 09:46:26 -05:00
1583e3be99
more debugging and catch md misconfigured error
2021-06-24 09:43:00 -05:00
954f7f4e80
allow markdown files to specify a redirect
...
closes #13
2021-06-06 22:24:35 -05:00
afbfab338f
properly apply site wrap classes to style wide version
...
fixes #12
2021-06-03 07:52:01 -05:00
e8377adcf5
allow pages to specify different templates
2021-04-30 19:41:39 -05:00
cde82ab918
don't route /media separately anymore
2021-04-17 11:16:34 -05:00
1ac13f3b9c
add some 500 tests for test coverage
2021-04-17 11:08:01 -05:00
30b79e9dc1
add tests for subdir symlinks
...
this is automagically supported by the previous rewrite
2021-04-17 10:39:05 -05:00
60715a3a5c
make request -> instance conversion support symlink dirs
...
I think this also clarifies the code, a bit
2021-04-17 10:31:05 -05:00
c90f0a3a42
treat symlinks as redirects
...
closes #7
2021-04-15 21:44:02 -05:00
71ead20f3f
have file handler return render type rather than bool
...
for when we have further types to render
2021-04-15 20:36:30 -05:00
be88c3c1bc
don't error on breadcrumbs if a dir doesn't have index.md
...
fixes #8
2021-04-14 21:35:14 -05:00
ced67bec8b
allow for serving files directly inside pages/
2021-04-14 20:45:50 -05:00
d89fd151ca
use just the page part of the path in breadcrumbs
...
rather than showing the full path (e.g. /foo/bar/baz) in breadcrumbs
when the page doesn't have a Title, show just the leaf (baz)
Closes #4
2021-02-27 00:30:32 -06:00
ce1ed60dd2
allow for configuration to override the favicon
...
Closes #5
2021-02-27 00:10:03 -06:00
70a8d4f06a
add configurable contact email for error pages
2021-02-23 13:11:52 -06:00
39d78af524
add error handler pages for 400, 404, 500
2021-02-21 19:35:52 -06:00
f08c1117d8
move site suffix into title always
...
this tweaks the behavior of the title to always append ' - suffix' to
any title (from the meta tag, or generated via request path), unless the
page explicitly specifies an empty Title meta tag
2021-02-20 23:21:29 -06:00
dd7687884a
remove resolve_page_file, been refactored away
2021-02-20 22:50:56 -06:00
15c88d920b
use request path as an alternative to Title metadata
2021-02-20 22:43:42 -06:00
1cef3b8196
rewrite generate_parent_navs to work on resource paths
...
the old code was kind of impossible to understand by reading it, so this
is hopefully considerably clearer
2021-02-20 21:47:39 -06:00
faf4a7f166
minor style cleanup
2021-02-20 19:22:23 -06:00
4dcc1c91c2
add method to from resource path to request path
2021-02-20 19:19:36 -06:00
1c40f45ffd
clarify name of request_path_to_instance_resource_path
2021-02-20 17:53:32 -06:00
6026c51490
add some functional tests for our sanity checks
2021-02-20 17:47:36 -06:00
2e0e87fe95
begin rewriting path to resource resolver
...
this code was getting too messy and scattered, and I realized that Flask
wasn't doing as much as I thought it was here, so now we need more
safety and sanity checks
2021-02-20 17:42:58 -06:00
e6d2015de5
use smarty markdown extension for dashes, ellipses
2021-02-11 19:05:01 -06:00
8a6f4d6b45
test multi-line metadata entries
2021-01-17 23:58:57 -06:00
c25fefa9e3
add opengraph metadata to pages, via Markdown meta
2021-01-17 23:02:14 -06:00
dcf173ab61
add a test to ensure style selection works
2020-12-08 17:12:35 -06:00
7cf11986c5
user-selectable light and dark themes
...
cookies, template rendering with different CSS files via default or
request param or cookie, etc.
2020-10-30 00:19:19 -05:00
5ca483a904
configurable markdown extensions
...
meta is always loaded, because the code expects it
2020-10-29 23:51:58 -05:00
0f7495bf2b
add the ability to redirect a file-looking request to a dir
...
if the client has requested /foo, and foo is actually a directory,
this redirects the client to /foo/
2020-06-19 19:58:12 -05:00
ebaccbd0ad
organize tests a bit better between unit and functional tests
2020-06-18 23:36:51 -05:00
14f6125f4e
use new-style tox.ini, add flake8-docstrings, add docstrings
2020-06-17 20:18:43 -05:00
ce06de78a8
tests misleadingly had a leading /, need to append it ourselves
2020-05-28 16:52:43 -05:00
05f879ab80
display untitled-page paths as /path rather than path.md
2020-05-28 12:17:27 -05:00
059108c37b
rewrite generate_parent_navs
...
* works on a path now, not a file location
* as such is sliiiiiightly easier to understand
* now also puts the current page in the nav
* fixed failing test where this caused an error (rather than 404) on
non-existent paths
2020-05-28 12:09:59 -05:00
576ffc359c
show some navigation on every page
...
closes #1
2020-03-15 20:33:23 -05:00
582cc9a2d1
rename: page_file_resolver -> resolve_page_file
2020-03-15 18:52:49 -05:00
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
337001a939
allow overriding the "incorporeal.org" in <title>
...
I'm not going to be able to use this software on incorporeal.org for a
bit, so plan B
2020-03-07 19:43:24 -06:00
ab009e4f59
reorder config imports for more specific overrides
2020-03-07 19:37:02 -06:00