Giter VIP home page Giter VIP logo

ks's Introduction

ks: Single-file document library

Ks is a simple, CLI-based document library that stores documents together with metadata in a single SQLite database. I wrote ks as a simple tool for storing schematics, datasheets, and manuals so they can be easily searched and transferred between computers. Though intended to store PDFs, ks makes no assumption about data format and may be used to store any type of document.

Usage

Ks groups documents into categories (with one category per document) and additionally allows the user to assign zero or more tags to each document. As an example workflow, I use the category to describe the type or topic of a document (schematic, datasheet, etc) and the tags to describe which project(s) for which a document is relevant. For example:

$ ks add @datasheet -f ~/Downloads/DDI0500J_cortex_a53_trm.pdf -t 'ARM Cortex-A53 Technical Reference Manual' +rpi3
$ ks show @datasheet +rpi3
ID  Category   Title                                      Tags
55  datasheet  ARM Cortex-A53 Technical Reference Manual  rpi3
$ ks cat 55 | zathura -

This workflow allows quickly searching through the library for documents that are relevant to the project you are working on.

Compiling

Ks requires ragel, gcc, make, and sqlite3 to build. Custom CFLAGS and LDFLAGS may be added as environment variables:

$ CFLAGS="-O2 -march=native" make ks
CC	ks
RL	cli
CC	cli
LD	ks

The man page requires asciidoc to build:

$ make ks.1
DOC	ks

Ks is Linux-only right now.

License

Copyright (c) 2020 Brian Kubisiak <[email protected]>, distributed under the MIT license.

ks's People

Contributors

velentr avatar

Watchers

James Cloos avatar  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.