MarkIt: your private Google

I had been using historious to manage my bookmarks. However, I needed a way to search my bookmarks directly from the comfort of the cmdline instead of visiting a website to issue a search. I ended up writing MarkIt!

MarkIt is written in Python3. It uses a SQLite3 database to store the bookmarks. You can define your tags. MarkIt is intelligent enough to fetch page title information from the web if you instruct it. All of these (tags, title) and even the URL itself is searchable. Search results can be opened directly in the browser.

Features

  • Add, update or remove a bookmark
  • Add tags to bookmarks
  • Optionally fetch page title data from the web (default: disabled)
  • Use (partial) tags or keywords to search bookmarks
  • Unique URLs to avoid duplicates, show index if URL already exists
  • Open bookmark in browser using index
  • Open search results in browser
  • Browser (Chromium and Firefox based) errors and warnings suppression
  • Show single bookmark by ID or all bookmarks in a go
  • Delete all bookmarks
  • Add a bookmark at Nth index, to fill deleted bookmark indices
  • Secure parameterized SQLite3 queries to access database
  • Handle first level of redirections (reports IP blocking)
  • Unicode in URL works
  • UTF-8 request and response, page character set detection
  • Works with Python 3.x
  • Coloured output for clarity
  • Man page for quick reference
  • Optional debug information
  • Fast and clean (no ads or clutter)
  • Minimal dependencies
  • Open source and free

Installation

Run the following commands to fetch the repo and install:

$ git clone https://github.com/jarun/markit
$ cd markit
$ sudo make install

You can also download the latest release here.

Usage

$ markit
Usage: markit [OPTIONS] KEYWORDS...
Bookmark manager. Your private Google.

Options
  -a URL tag 1, tag 2, ...   add URL as bookmark with comma separated tags
  -d N                       delete entry at DB index N (from -P output)
  -D                         delete ALL bookmarks
  -i N                       insert entry at DB index N, useful to fill deleted index
  -o N                       open URL at DB index N in browser
  -p N                       show details of bookmark record at DB index N
  -P                         show all bookmarks along with index from DB
  -s keyword(s)              search all bookmarks for a (partial) tag or each keyword
  -u N                       update entry at DB index N
  -w                         fetch title info from web, works with -a, -i, -u
  -z                         show debug information
                             you can either add or update or delete in one instance
                             any other option shows help and exits markit

Keys
  1-N                        open Nth search result in browser. Enter exits markit.

You can easily create bash scripts to batch add URLs in MarkIt database:

#!/bin/bash
markit -a -w https://wireless.wiki.kernel.org/ networking, device drivers
markit -a -w https://courses.engr.illinois.edu/ece390/books/artofasm/ArtofAsm.html assembly
markit -a -w http://www.tittbit.in/ utilities
markit -a -w http://www.mikroe.com/chapters/view/65/ electronics
markit -a -w http://www.ibm.com/developerworks/linux/library/l-linuxboot/index.html boot process

For examples, visit the project page on GitHub.

One thought on “MarkIt: your private Google”

Comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s