summaryrefslogtreecommitdiff
path: root/wikimini/templates
AgeCommit message (Collapse)Author
2021-08-26lint fixesDaniel Schadt
2021-08-24fix empty return of tmpl_quoteDaniel Schadt
2021-08-22Add some initial documentationDaniel Schadt
2021-08-21Remove Document return type from convertDaniel Schadt
It doesn't really make sense to make the output that dependent on the input type. convert_to_document basically does the same - ensuring that the output is a Document. Templates that call convert recursively can also call convert_to_document. Furthermore, since we now pass very short Wikicode into convert_to_document, there was an exception being raised if there were less than 2 nodes. This seems to be because of a "smart list" that mwparserfromhell uses internally, which didn't properly slice if the end index is out of bounds.
2021-08-21Type fixes in templates.TemplateDaniel Schadt
Since we switched to our internal document representation, the templates don't return the plain nodes anymore.
2021-08-21Allow passing a custom template registryDaniel Schadt
2021-08-20strip template name before looking it upDaniel Schadt
Some templates seem to be invoked with a trailing space at the end of the name, which we need to strip before searching our template registry.
2021-08-20Rework ItemList/BlockQuote to hold ParagraphDaniel Schadt
A List[Node] is basically a Paragraph, and we already delegated some of the methods to Paragraph (see ItemList.cleanup). Therefore, it only made sense to rework ItemList and BlockQuote to hold a Paragraph instead of a List[Node].
2021-08-20Rename Blockquote to BlockQuoteDaniel Schadt
This keeps it more in line with BlockLink. Also, this adds a LineBreak block, which templates can use to enfore extra line breaks.
2021-08-19implement style fixes suggested by pycodestyleDaniel Schadt
2021-08-19Add an internal Document representationDaniel Schadt
Doing everything on strings is kinda wonky, so this adds an intermediate representation. The idea behind this is that the pipeline now goes Wikicode [1]-> Document [2]-> Output String Where step 1 takes care of templates and everything, and step 2 does the actual output formatting. This has the benefit that we can support multiple output types, some with more and some with less features (e.g., adding a Markdown output which keeps some of the original formatting intact), and it has the benefit of being less wonky (no hacks with "<!NUM!>" for numbered lists, more streamlined formatting with newlines, ...).
2021-08-17Fix ref being shown in quotesDaniel Schadt
2021-08-17add {{lang-XX}}, {{IPA-XX}} and {{XXX}} templatesDaniel Schadt
2021-08-17Reorganize codeDaniel Schadt
Cramming everything into a single file is not necessarily good, so this patch splits it up a bit. Furthermore, the templates are no longer hardcoded, but managed through a registry. This breaks the lang-ar implementation, which was a weird special case anyway. Properly fixing it would be to include all country codes.