+ Create new sql column for file last modified time (flmt)
+ Implement uploading of flmt to server
+ Implement flmt in post model
+ Ability to read flmt thru API
+ New section in post_readonly_sidebar that shows flmt
! Somehow flmt is the same as post creation time
! Implement proper alembic migrations
! Implement ability to sort by flmt
! Implement ability to filter posts by flmt
! Code cleanup
~ Polish post sidebar
~ Implement flmt visibility in post listing hover text
~ Implement function in misc.js that formats to absolute date
Print all links through new uri.js component
Refactor the router to use more predictable parsing
Fix linking to entities with weird names (that contain slashes, + etc.)
In e464e69 I removed href='#' but I noticed that it broke some things.
Readding href serves two purposes:
- it makes links reachable with Tab key
- it makes links clickable with Enter key
The alternative to this approach was to introduce [tabindex] and [role]
attributes. But not only using tabindex=0 with <a/> is questionable,
it'd require adding a keyboard handler that'd intercept space and return
key presses and simulated link clicks. Since it's best to leave this
kind of thing to the native UI, I went with readding hrefs instead. I
believe that hash hrefs, even though being a common practice, are silly,
so I decided to settle down with empty hrefs.
As a bonus, I added a snippet that prevents middle mouse clicks from
opening such links/buttons in new tabs, which was the motivation for
e464e69.