summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-02-16feat(creole): Support raw URLsLinnnus
2024-02-14feat(creole): Support [[https://example.com|links]]Linnnus
This patch adds support for freelinks. This patch also introduced hprint() – a function to print text while escaping HTML characters. This isn't very DRY since that's also implemented in do_replacements(), but the abstraction necessary to reuse this functionality introduced disproportional amount of mental overhead.
2024-02-14test(creole): Show input markup on failing testsLinnnus
This patch also introduces print_escaped_ze() – an alternative to print_escaped() that takes a zero-terminated string. I do this because I almost made a silly copy/paste mistake with a line like: print_escaped(stdout, tests[i].input, strlen(tests[i].output));
2024-02-12feat: Change suffixes when convertingLinnnus
2024-02-04feat(creole): escape special HTML charactersLinnnus
2024-02-04test(creole): Highlight current testsLinnnus
2024-02-04feat(creole): Add basic paragraphsLinnnus
In the future, we may need to keep track of state, if encountering block-level elements ends paragraphs.
2024-02-04feat(creole): support headersLinnnus
2024-02-04test(creole): move creole tests to static dataLinnnus
This removes *a ton* of code for dealing with reading files and what not. Now instead we just store the test cases as a huge array in the code. I have no idea why I didn't just do this from the start??
2024-02-04feat: initial commitLinnnus
Here is a small overview of the state of the project at this first commit. I have basic Git Repo -> HTML working, and a plan for how setting up an actual server would work (mainly, NGINX + a git hook to rebuild). The main thing I'm working on right now is parsing WikiCreole, though I am starting to wonder if this is the right langauge. WikiCreole is pretty irregular and has a lot of edge cases (e.g. around emphasis).