Skip to content
This repository has been archived by the owner on Nov 7, 2023. It is now read-only.

ushu/quiver

Repository files navigation

quiver

A library to load data from the Quiver app.

For details see for Quiver format docs.

Getting Started

This is a basic Go lib without external dependencies.

Tested with Go 1.8, but it should work on most setups.

Installing

$ go get github.com/ushu/quiver

Usage

import (
    "github.com/ushu/quiver"
)

and then:

// Load contents:
lib, _ := quiver.ReadLibrary("/path/to/Quiver.qvlibrary", true)

// Then use the loaded data tree:
for _, notebook := range lib.Notebooks {
    for _, note := notebook.Notes {
        // Print the title of the note
        fmt.Println(note.Title)
        
        for _, cell := note.cells {
            // Print the type of cell
            fmt.Println(note.Title)
            
            // ...
        }
    }
}

Additional tooling

This library comes with two binaries:

  • cmd/quiver_to_json is a small tool that allows loading a full library into a single JSON file
  • cmd/quiver_to_markdown is a small tool output all the notes as a tree of Markdown files

You can install then right away with the go tool:

$ go install github.com/ushu/quiver/cmd/quiver_to_markdown
$ go install github.com/ushu/quiver/cmd/quiver_to_json

Version & Contributing

This is v0.3.3 of the tool, and is an early release by all standards.

Feel free to contribute anytime !

License

This project is licensed under the MIT License - see the LICENSE file for details

TODO

  • Add support for creating a valid Quiver Library from code (this version is mostly for reading)
  • Add some tests

About

A library to load data from the Quiver app.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages