Project

vita

0.0
The project is in a healthy, maintained state
A tool for tending and publishing a digital garden
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.1
~> 13.1
~> 3.13
~> 0.22.0
~> 1.35.1

Runtime

~> 2.5
~> 0.9.12
~> 6.4
~> 2.1
~> 3.6.0
~> 4.0
 Project Readme

Vita 🌱

Vita is a tool for digital gardening: creating, tending and publishing a collection of notes and ideas.

Vita takes a folder of plain text files and links them together to form a graph garden of knowledge. Vita takes influence from note-taking software like Obsidian and Roam Research.

An example note shown using Vita:

Screenshot of a note titled "Cohesion"

Installation

Vita requires Ruby 3.3.0.

To install:

$ gem install vita

Usage

In a folder containing text files, run vita to view your notes in a web browser:

$ vita
       _ _
__   _(_) |_ __ _
\ \ / / | __/ _` |
 \ V /| | || (_| |
  \_/ |_|\__\__,_|

Starting Vita at http://localhost:9000

Your web browser refreshes as you make changes to your files.

To publish:

$ vita publish

Vita creates a publish folder containing HTML files for publishing to a web server.

Links between notes

Vita looks for connections between notes. When a note's title (or a synonym) appears in the content of another note, Vita creates a link between the two.

When viewing a note, links in the note's content are hyperlinked:

Screenshot of a note in Vita, showing hyperlinks from a note's content to other notes

A list of links from other notes to the current note follows the note's content:

Screenshot of the "links to this note" panel in Vita, showing notes that reference the current note

Each link includes an excerpt from the other note. Clicking one of these links navigates to the other note.

Synonyms

Synonyms allow referring to notes using multiple names. Adding synonyms can be helpful when a note's title appears in other notes in different forms or tenses.

For example, notes may refer to a note titled "Cohesion" using terms like "cohesive", "coherent", or "coherence". Adding these words as synonyms to the "Cohesion" note allows Vita to connect the notes with links.

To specify a note's synonyms, add a Synonyms: line at the start of the file containing a comma-separated list of alternative names. For example, in a file called Cohesion.txt:

Synonyms: cohesive, coherent, coherence

A module is cohesive if the elements in the module are related and the module is coherent as a whole.

Home note

If a note titled Home exists, it is treated as a home page and shown when you open your notes. Other notes cannot link to the Home note.

File format

Vita uses plain text files. You can create them using any text editor and save them with any file extension. You can optionally use Markdown or Org-mode syntax (.org files only) to add formatting to your notes.

Appearance

You can customise Vita's appearance by creating a file named note.html.erb in your notes folder. This file overrides the default template. A good starting point is to copy the default template and make changes.

Name

Vita is named for Vita Sackville-West, a twentieth-century author and garden designer and creator of Sissinghurst Castle Garden, a favourite place of mine.