Gooseberry - a Knowledge Base for the Lazy

Crates.io Docs.rs CI GitHub release dependency status

WIP

Gooseberry combines Hypothesis (a tool to annotate the web) with mdBook (a tool to create a book from markdown files) in a command-line interface to generate a knowledge-base wiki without you having to actually type your knowledge out.

Installation requirements

Binaries

See the releases

Contributing

See CONTRIBUTING.md for an in-depth explanation of how Gooseberry works and what could be improved.

Motivation

So yes, knowledge-base tools are old hat and a dime a dozen and we really have no excuse to not have a nice big tangled folder of markdown files filled with our overflowing wisdom. But after spending all day writing code and papers and tasks, it just isn't fair that our reading time also needs to be typing time to get all that knowledge down. And if we don't type things out our fancy knowledge-base is bare, empty, and sad.

In comes Gooseberry - a tool to build a knowledge base from highlighting and annotating passages while reading news articles, blog posts, papers, what have you. Gooseberry combines the ease of annotation offered by Hypothesis, bulk tagging and organization support in the command line, and a wonderfully interlinked wiki powered by mdBook so we'll never have knowledge-base starting troubles again!

A Typical Workflow

  1. Find an article, blog post, paper etc. to read.
  2. Highlight lines and facts you'd like to remember later. You can add comments and tags already if you're up for it but the focus can also be just on reading and highlighting without thinking too much about taking notes.
  3. More often than not, when one gets into a topic it ends in 50 open tabs of subtopics. This is fine, keep reading and highlighting away, we'll get back to this.
  4. Finally, once your thirst for knowledge has been fulfilled, fire up a terminal and run

Here's an example. Today I read and annotated three articles about insects: this Nautilus article titled "We need insects more than they need us", this publication about honey bees and pesticides, and an Atlantic article about the "anternet".

I synced and tagged these annotations:

gooseberry sync and tag

Then ran gooseberry make and mdbook serve to open the generated wiki in a browser. The front page has a graph of all tags, how they relate to each other, and how many notes are in each:

Graph of tags

Each tag is clickable and leads to a page of annotations associated with it:

Tag page example

Annotation text is just markdown so text formatting, LaTeX, pictures etc. goes too!

Picture example

Each annotation also links back to the position in the website that you got it from, if ever you feel like you're missing context.

The last line in a tag's page lists related tags. TODO: You can also link annotations to each other directly, they'll show up as footnote-style links.

Some advantages

Why "Gooseberry"?

Because Discworld will never let me down when it comes to names: Dis-organizer Mark 5, the Gooseberry