Tue Aug 9 13:09:32 CEST 2011
I want to do the following:
- get a sorted list of all article IDs by date. should work with
cache: don't update this list if the underlying files didn't
this probably can be done by storing the ID list in the contents
node, next to the index proper.
- query article using ID only. this needs an ID -> section map and
requires all IDs to be unique.
To get at the list I had to:
- Change `format-index' in entry-index.ss to collect (Index . ID)
pairs and store them in the index node under IndexIDs.
- Create a function get-index-ids:
;; Get all Index->ID maps. (Index is parsed from Date in parse-article)
(define (get-index-ids [sections *sections*])
(for/list (((section get-article) (in-dict sections)))
(dict-ref (rv-force (get-article 'contents)) 'IndexIDs))))
Now, how to use:
- Don't put it on the front page. Use a separate link,
i.e. "recent" to get a chronological page with entries like:
20110809-130932 [sweb] Flat namespace
- Use a redirect for section mismatch.
Now, to get at the article titles without forcing body compile, it's
necessary to fish out that information in the first parse, because a
query for 'Entry on the rv value will trigger a full body compile,
including latex etc.
So, I'm moving the index-gathering step to make-index.