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
ad6d783dea
Refactor libravatar invocation into a separate function + tell it not to try Gravatar
2017-10-04 10:37:37 +11:00
25a1e00cd7
Add a u-uid to the h-card to ensure the h-card is considered representative
2017-10-04 10:07:51 +11:00
484609fb8b
Add support for PGP keys on the h-card - can support an arbitrary number of keys, although I only have one
2017-10-04 09:09:39 +11:00
2b4822093a
Set page title on the homepage to the site-wide title
2017-10-03 21:53:29 +11:00
b89e3a67e2
Ugh. Add missing isAuthorized clause for the new keybase.txt route
2017-10-03 20:51:01 +11:00
023b720be7
Add keybase.txt support
2017-10-03 20:41:26 +11:00
a070ceef3c
Clean up user entity - remove unused fields, adjust order
2017-10-03 14:52:23 +11:00
4023b17e85
Retrieve the associated sites for all profiles in one query when rendering the h-card
2017-10-03 14:21:08 +11:00