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