Skip to main content

Module store

Module store 

Source
Expand description

Filesystem-backed metadata store.

Binding spec: docs/STORE.md (NORMATIVE shared spec for layout, schema, lock protocol, atomic write, normalization). Public API surface: docs/PUBLIC_API.md §2 (Store trait), §3 (Metadata).

§Entry points

  • Store — the trait surface implementations expose.
  • FsStore — filesystem-backed implementation rooted at a configurable directory (default ~/papers/).
  • Metadata / DoigetExtension — the on-disk schema, mirrored from docs/STORE.md §2.

§Cross-tool coexistence

~/papers/ is a shared resource between doiget and BiblioFetch.jl. Both tools follow the lock protocol in docs/STORE.md §4 and the atomic-write sequence in §5. Per §6, doiget MUST NOT overwrite reserved top-level fields previously written by another tool — see FsStore::write.

Re-exports§

pub use metadata::DoigetExtension;
pub use metadata::Metadata;
pub use render::to_bibtex;
pub use render::to_csl_array;

Modules§

metadata
Metadata struct matching docs/STORE.md §2 / docs/PUBLIC_API.md §3.
render
Citation renderers for stored Metadata — BibTeX and CSL JSON 1.0.

Structs§

EntryInfo
Brief summary of a stored entry; returned by Store::list_recent / Store::search.
FsStore
Filesystem-shaped Store implementation rooted at <root>.

Enums§

StoreError
Errors emitted by Store implementations.

Traits§

Store
Filesystem-shaped metadata store, semver-locked per docs/PUBLIC_API.md §2.