Git Product home page Git Product logo

bib's Introduction

bib

bib is a library and set of interfaces for managing bibliographies. With a particular focus towards generating BibTeX files from a single library, it also provides convenient mechanisms for automatically filing documents in the file system; searching, sorting, and filtering references; and importing existing BibTeX files to grow the library.

bib maintains libraries, which are collections of references and projects. The library holds all the references in a single structure, while projects are collections of references. References can belong to any number of projects, including none.

Users are able to maintain multiple libraries, however there is no communication between them. Most users will maintain a single library.

Projects are the main way users export references to BibTeX files. A project might be a single paper, where you tag references as being related to this paper; bib will keep the project's BibTeX file in sync with the additions and removals from a given project.

Building bib

Although bib is nominally written in Standard ML, the Standard ML is written in a literate manner, meaning we need to compile the .nw (NoWeb) source into Standard ML first, then compile the Standard ML. Assuming a working installation of noweb and mlton, the included Makefile should be sufficient to build bib.

Roadmap

bib is currently in early development, meaning it is in the v0.x.x development phase. As features are completed, we will progress through versions. The v0.x.x stages are unstable: there might be breaking changes at any time. Once in v1.0.0, within a major version number bib updates will be non-compatibility-breaking.

v1.0.0

The initial stages for bib will be the back-end, along with a minimal REPL interface. The back-end will be considered 'ready' when the following features have been included:

  • Read/write own library format
  • Import BibTeX files
  • Synchronise BibTeX project files
  • Automatically file resources (e.g., PDFs)
  • Cite key generation

v1.1.0

  • Sorting by field
  • Filtering by field
  • Searching
  • DOI links (if present)

v1.2.0

  • TUI interface

bib's People

Contributors

aaronstockdill avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.