Commit graph

73 commits

Author SHA1 Message Date
fa110ae820
Support setting an fb:app_id in settings.yml 2017-10-14 17:22:07 +11:00
2956550a6c
Mark up entry permalink pages with OpenGraph garbage too 2017-10-14 17:09:27 +11:00
47fe00a8b8
Support for Open Graph on the homepage - again it's gross but consuming sites understand it 2017-10-14 16:51:01 +11:00
44288b419c
Put the <link>s for PGP keys into the page header instead of the h-card itself, since it's invalid HTML to have <link> in the body 2017-10-14 15:35:16 +11:00
9d0d6ba249
Add category pages to the sitemap 2017-10-14 15:12:50 +11:00
c184136f8a
Remove unnecessary templates for Handler.Entries - this allows it not to use TH at all :) 2017-10-14 15:04:01 +11:00
474ed3cf28
Add basic support for h-entry categories, which are actually more like tags than categories really 2017-10-14 14:59:51 +11:00
660b17f279
Improve AvatarR performance by only fetching the avatar from the DB, not the whole User 2017-10-13 22:29:22 +11:00
1e7482b30f
Remove the slug column from entries - compute the slug from the entry name, if there is one, and have no slug otherwise 2017-10-11 23:41:52 +11:00
fa992bc861
Make entry names optional, since notes shouldn't have names and articles should 2017-10-11 23:34:36 +11:00
e69202829a
Add an /avatars/#UserId route which redirects to the user's current avatar every time, so you don't need to update remote references to it 2017-10-11 21:38:53 +11:00
0055a4160b
Use an Esqueleto query to efficiently fetch and render the user profiles on h-cards, rather than several queries and lots of fussing around 2017-10-11 13:16:47 +11:00
f3b12ded69
Make the user who's displayed on the homepage a configurable setting, so it's easier to use lebd if your name isn't Dani 2017-10-11 12:55:24 +11:00
66cb093387
Rename module: Entry.Kind -> Model.Entry.Kind 2017-10-11 12:44:33 +11:00
02fd91cb77
Add per-request entity caching support
Different areas of the app need access to entities - for example both
the entry handler needs the entry itself to render it, but the
breadcrumbs also need the entry to decide what to label its breadcrumb.
Previously this was achieved by fetching entities from the database
twice. This sucks, so now it's implemented by fetching entities once and
caching them using Yesod's per-request cache.
2017-10-11 12:35:44 +11:00
efdca09b1c
Make slugs optional - they don't really make sense for notes, only really for entries with names like articles 2017-10-11 10:33:29 +11:00
09731053c2
Support non-fa site icons by giving sites an actual name separate from their icon class 2017-10-10 22:41:49 +11:00
401c544ef1
Add support for u-syndication of each entry, tracking where else it's been posted 2017-10-10 19:45:31 +11:00
716769d24e
Refactor site-fetching into a reusable module 2017-10-10 19:16:12 +11:00
bbe563dee7
Use Mustache templates for site URL so that the username can be inserted anywhere in the template rather than only at the end 2017-10-10 15:16:50 +11:00
035cc1de3b
Make generated CSS files group-readable so that nginx can actually serve them without me manually chmodding 2017-10-10 00:19:23 +11:00
c517baac1c
Serve avatar locally rather than through Libravatar, it'll perform better and doesn't require the image's size to be messed with 2017-10-09 23:34:56 +11:00
3b58b57cc5
Pretty up the login page to match everywhere else 2017-10-09 20:30:50 +11:00
0e80d93994
Nicer layout for h-entry, with cute icons 2017-10-09 19:54:58 +11:00
03cd1487fe
Add the entry-kind pages and the actual entries to the generated sitemap 2017-10-09 15:40:58 +11:00
41375abdd4
Add the main entry kinds to the navbar 2017-10-09 14:03:42 +11:00
1b8a07a5f6
Simplify site title handling, automatically suffix site title to all pages 2017-10-09 13:50:26 +11:00
4088735c69
Add support for Atom and RSS content feeds - this info is available through mf2 anyway so Atom and RSS are kinda redundant, but we'll include them anyway 2017-10-09 13:32:13 +11:00
764935adbd
Add schema.org/BreadcrumbList support (grossss) 2017-10-09 12:14:14 +11:00
2fd0ff850b
Set title for EntriesR 2017-10-09 10:08:23 +11:00
c554715df7
Enable breadcrumbs for EntriesR and EntryR 2017-10-09 10:03:03 +11:00
934457f671
Pretty up the h-entry as a Bootstrap card 2017-10-09 09:55:34 +11:00
7cebf92356
Add permalinks to h-entries 2017-10-09 09:02:42 +11:00
9679234062
Add slugs to entries and use them to create individual entry routes 2017-10-09 08:51:42 +11:00
36dea2b5ad
Adjust home layout: push my h-card over to the side and display recent entries in the main content area 2017-10-08 17:19:22 +11:00
3ff560e07e
Rename the h-card implementation to match up with the naming of h-feed and h-entry 2017-10-08 16:55:21 +11:00
4b7a8a7198
Begin adding rudimentary support for posting new entries to the site - needs to be prettier and a lot smarter, but it exists now 2017-10-08 16:51:48 +11:00
92373fcfa5
Simplify navbar implementation - this will also allow seamlessly adding a third, centred nav if desired 2017-10-06 14:43:00 +11:00
1c4212f5d0
Bring back menu items for logging in and out 2017-10-06 14:23:42 +11:00
ea47fb8b50
Change the login form to a Bootstrapped one - still needs some colours tweaked though 2017-10-06 12:32:27 +11:00
f934632484
Enable simple username+password login - ugly but serviceable 2017-10-06 10:38:10 +11:00
e141fb4666
Actually set the 'author' meta correctly in the page head 2017-10-05 23:09:44 +11:00
2eec12a2e3
Ditch the hash field on PGP keys - the ETag will handle cache-busting, so a nice short URL for the key is fine now 2017-10-05 21:33:44 +11:00
ddcca3104e
Add a utility function, staticR, which can dynamically build StaticR routes with their ETags attached (still calculated at compile-time) 2017-10-05 21:26:29 +11:00
4692e78503
Add a package.json, load generator info from it instead of from settings.yml 2017-10-05 16:19:15 +11:00
062dd10b99
Display lebd version info in the footer next to the license info 2017-10-05 09:58:32 +11:00
8c3a562c7d
Add support for generating an XML sitemap 2017-10-05 09:16:26 +11:00
1c5939d863
Remove approot-guessing support, since it should always be configured in the app settings 2017-10-05 09:01:35 +11:00
d32b698545
Remove unused CSRF-handling JS from the layout, we'll probably not be making AJAX requests here anyway 2017-10-05 07:49:58 +11:00
69e3d7f267
Use a much shorter scheme for constructing PGP key URLs - hashes are now MD5 in base64, which isn't secure but doesn't need to be since it's just for cachebusting 2017-10-05 01:24:44 +11:00