| 123456789101112131415161718192021222324 | id: 'idea--feed-reader'content: |  There's no reason for a feed reader to be a single program. Instead,  one could build an architecture in which each component is a distinct  program that doesn't need to care about the details of the others.  For now, I'm going to refer to this system as _lektor_.  The `lektordir` format is inspired by the `maildir` format for email  but modified for feed readers. It similarly includes three  subdirectories: `tmp`, `new`, and `cur`. File name generation works  similarly.  However, instead of writing email files, we need a standard way of  describing a feed entry. Therefore, instead of writing _files_ to  a `lektordir`, update daemons will write _directories_. A given  feed entry consists of a directory containing at least four  files: `title`, `url`, `id`, and `content`. Other optional files can  exist, including `author`, `subtitle`, `summary`, and so forth.  With this system, adding a new feed type—such as a Twitter feed or  an ActivityStream serialization—becomes a simple matter, and an  _lektor_ front-end can be created without having to worry about how  that data was delivered there in the first place.related: []
 |