about summary refs log tree commit diff
path: root/templates
Commit message (Collapse)AuthorAgeFilesLines
* Moved the entire Kittybox tree into the rootVika2023-07-2918-0/+2346
|
* flake.nix: reorganizeVika2022-05-245-1127/+0
| | | | | | | | | | | | - Kittybox's source code is moved to a subfolder - This improves build caching by Nix since it doesn't take changes to other files into account - Package and test definitions were spun into separate files - This makes my flake.nix much easier to navigate - This also makes it somewhat possible to use without flakes (but it is still not easy, so use flakes!) - Some attributes were moved in compliance with Nix 2.8's changes to flake schema
* templates: prepare for facepiles a bit betterVika2022-05-231-16/+29
| | | | | | | | This bit of code is still disabled for now though. I need to actually gather and render facepiles. Additionally, now details won't even show if there were no reactions to the post, which saves space.
* templates: render like and bookmark posts correctlyVika2022-05-232-1/+109
| | | | | | | | | | | | | They really use the same framework, so for now a unit test for like posts is sufficient. Of course, for proper coverage, one can introduce tests for bookmarks too, especially if one chooses to render them differently. The logic will be pretty much the same though. Replies might use the same logic, since those are also Webmention-oriented posts. (It looks like another way to classify MF2 documents is slowly forming in my brain. Maybe I should write about it on my blog.)
* templates: simplify logicVika2022-05-231-24/+29
| | | | | | | There were lots of unneccesary Option::unwrap() invocations that could be replaced with `if let` statements. This makes the code cleaner and less likely to panic in case a corrupted, incomplete or manually injected MF2-JSON document needs to be rendered.
* templates: add a banner for Kittybox in the footerVika2022-05-231-0/+7
| | | | Now everyone will know where to get my software if they see it.
* templates: add unit test for articlesVika2022-05-231-45/+116
| | | | | | It mostly checks the same old things as with notes, but does check for a name (and as it's explicitly provided, it does work with the buggy version of the `microformats` crate.
* templates: more MF2 generatorsVika2022-05-231-5/+62
| | | | | | | | | | New generators include: - Articles (h-entry with a name) - Replies (notes with an in-reply-to) - Likes (h-entries with a like-of) For replies and likes, there are variants with an h-cite (full reply context) or a link (partial reply context).
* templates: introduce unit testsVika2022-05-232-0/+161
| | | | | | | | | | | | | | | These unit tests generate a random MF2-JSON post, convert it to MF2-HTML using the template and then read it back using the `microformats` crate. The only problem is that it has a nasty bug with overstuffing implied properties. This is being worked on: https://gitlab.com/maxburon/microformats-parser/-/issues/7 For now the tests marked as ignored because they fail. But the function itself that generates them should remain here for documentation and potential code sharing with the `microformats` crate, potentially even migrating to a subcrate there.
* Split into different cratesVika2022-05-075-0/+705
Templates and utility types are now separate crates to speed up compilation, linting and potential reuse/replacement. Potentially more crates could be split out/modularized, resulting in speedups, smaller binaries (whenever features are excluded) and even more reuse capabilities.