2021-03-13 19:40:07 +01:00
|
|
|
module KV = Map.Make (String)
|
|
|
|
|
|
|
|
module type T = sig
|
|
|
|
type t
|
|
|
|
type item_t
|
- Removed 'txt init'
Format
- New B32 ID
Index
- New option: txt index --print
- Move scheme to peers
- Replace peer.*.conf files with index packed locations
Instead of adding a URL to peers.*.conf, run `txt pull <url>`
Conversion
- Rewritten converters
- txt-convert looks for a .convert.conf containing `key: value` lines.
- Specifiable topic-roots from .convert.conf.
- Added `Topics:` key, with comma seperated topics.
If set only those topics will appear in the main index and used as topic roots.
Other topics will have sub-indices generated, but won't be listed in the main index.
- HTML converter header & footer options
- HTML-index renamed to HTM-index
Internal
- Change types: uuid:Uuid -> id:string
- File_store merges identical texts
- Use peer ID for store path, store peers' texts in .local/share/texts
- Simple URN resolution for converter
Continue to next feed if parsing one fails
- Phasing-out Archive, replaced by improved packs
- Eliminate Bos, Cohttp, lwt, uri, tls, Re, Ptime, dependencies
- Lock version for Cmdliner, fix dune-project
- Optional resursive store
- Improve header_pack
- Fix recursive mkdir
2022-04-01 17:35:56 +02:00
|
|
|
type archive_t = { id: Id.t; name: string; archivists: Person.Set.t; kv: string KV.t; store: t }
|
2021-03-13 19:40:07 +01:00
|
|
|
type record_t = Text.t * item_t
|
|
|
|
val of_path: string -> (archive_t, string) result
|
|
|
|
val newest: record_t -> record_t -> int
|
|
|
|
val oldest: record_t -> record_t -> int
|
|
|
|
val with_text: archive_t -> Text.t -> (string * Text.t, string) result
|
|
|
|
val iter: ?predicate:(Text.t -> bool) -> ?order:(record_t -> record_t -> int) -> ?number:int
|
|
|
|
-> (record_t -> unit) -> archive_t -> unit
|
|
|
|
val fold: ?predicate:(Text.t -> bool) -> ?order:(record_t -> record_t -> int) -> ?number:int
|
|
|
|
-> ('a -> record_t -> 'a) -> 'a -> archive_t -> 'a
|
|
|
|
end
|