Render pages from Markdown #138
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I did preliminary tests, and having a prebuild job turning markdown to flat xhtml is easy.
However:
None of our pages is written in flat simple XHTML.
due to previous design choices almost every page has a multitude of specialised css classes added to its markup. Markdown is not capable of mapping those in a sensible manner. In most cases those classes do not really need to be assigned manually. Proper automatisation would either require assignment by the xsl processor, or a rewrite of the CSS files. I would prefer the latter.
We usually have a few custom attributes in the xhtml header, like for example the newsdate. Markdown files will have to be preprocessed, to support respective header lines.
ToDo
(transferred from Pauls Kan-Board)
In the Web Meetup 2021-01-19, we've concluded the following goals and ideas:
Some years later, we hope to pick this up and continue working on it.
The sensible thing to do is probably to move to having an intermediate XHTML file called something like
.<name>.<lang>.xhtml
, which would be a git ignored pattern. This file would be either a symlink to either<name>.<lang>.xhtml
if available, or be generated from a<name>.<lang>.md
file.The symlinking should not incur too much of a performance penalty. And if we take care and use a compiled library for the markdown parsing we should get pretty performant markdown conversion.
We should probably try and stick closely to commonmark all right. Shortcodes would be ideal, but for the start we can probably get away with just embedding html directly? See here. I am not sure we want to have the effort of implementing a shortcode parser thing.
Pinging @sofiaritz as person planning on working on this.
My initial design ideas are pretty similar to those suggested by @delliott. I agree that we should adhere to a open and widely adopted Markdown standard, such as Commonmark.
Here's what I landed on after experimenting for a while, for readability purposes I kept the examples shorter:
From a publisher's perspective, they would create a Markdown file that looks like the following:
That Markdown file would then be rendered into the "news_item" template, which could be implemented using a open and widely adopted template format, such as Liquid.
The pipeline would then look like this:
.<name>.<lang>.xhtml
This could also allow us to use Liquid features from Markdown, which includes filters and tags. This would allow us to implement thing such as
{% peertube link="..." %}
with ease.