Skip to content

Read time plugin #275

@lemon24

Description

@lemon24

Follow-up to #269.

Currently, the entry read time is computed every time /entries is loaded. It would be really nice if this was done only once, when the entry is updated; now that we have entry tags, we actually have where to put this metadata. A plugin is ideal for this.

Thoughts:

  • Should be a stable plugin.
    • Depends on readtime. Time to bring per-plugin extras back? Need to settle naming.
  • Two cases:
    • For new/updated entries. Can use after_entry_update_hooks.
    • For old entries (backfill). Harder to do efficiently; likely involves before_/after_feed_update_hooks.
      • If we could filter by entry tags, we could do get_entries(feed=feed, tags=['-.readtime']) in after_feed_update_hooks.
      • Otherwise, how do we know a feed has been backfilled? Using any kind of marker is brittle.
        • Also, I'd like to avoid having a marker tag on each feed.
  • What do we take the read time of?
    • All content attributes? (.summary, .content[].value) Sounds like YAGNI; can be added later.
    • Use the web app logic? Should we make it an Entry method?
  • It would be nice if we could eventually filter / sort by read time.
    • For now, it means we need to have a relatively simple schema for the tag value.
    • How would a plugin add a new sort key (by a specific tag (sub)value) in a storage-independent way?
  • ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions