Tag your files, search by tags. Works for PDF, MMD, PNG, and others.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Charles Pence 0eb648fe9c
Remove some external tool integrations.
5 months ago
bin Fix bundler (don't require it in the gem!) and gemspec. 8 years ago
features Try to add YAJL to fix build troubles on Travis. 7 years ago
lib Whoops, YAJL has to be runtime too, not just development. 7 years ago
spec Try to add YAJL to fix build troubles on Travis. 7 years ago
.gitignore Try just using IO.popen, which works on JRuby (though we can't redirect stderr). 8 years ago
.rspec Add Fuubar formatter. 8 years ago
.simplecov Add a skeleton spec for the command-line frontend. 8 years ago
CHANGELOG.md Bump version. 8 years ago
COPYING Add MIT license. 7 years ago
Gemfile Fix rubygems source. 7 years ago
LICENSE.md Massive change to structure this like a proper gem. 8 years ago
README.md Remove some external tool integrations. 5 months ago
Rakefile Program the funny testing behavior into a Rakefile. 8 years ago
TODO.md Update TODO. 8 years ago
stickyflag.gemspec Whoops, YAJL has to be runtime too, not just development. 7 years ago

README.md

StickyFlag

file tagging for everyone

What does it do?

Filesystems are great. Most of our file organization tasks can be performed by arranging things in hierarchical directories. But every once in a while, you have an organization problem that can really only be resolved with categories that cut across these hierarchical structures. What if you want everything related to Project X, including its code, meeting notes about it, photos you took of it, and so on? The code is in your development directory, meeting notes in a meetings directory, and photos in an images directory.

StickyFlag solves this problem. It lets you set tags on all your files, and then search across all those files quickly, by storing tags in a database. But it doesn’t just keep the tags in the database -- it saves the tags directly into the files. So your tags stick with your files, even if your StickyFlag database becomes corrupted, or you want to sync your files via Dropbox over to a different machine.

TL;DR

  • Set tags on a wide variety of files
  • Save those tags in the files themselves
  • Also save those tags in a database for searching

What can it tag?

StickyFlag can currently tag:

  • MultiMarkdown files
  • PDF files (with pdftk installed; see below)
  • PNG files
  • Matroska video files
  • Source code (C/C++, TeX)

What else does it need?

  • StickyFlag is tested with the standard MRI Ruby interpreter, versions 1.8, 1.9, and 2.0, so you should be safe with any one of those.
  • If you’re going to tag PDF files, you need to install pdftk, which is available for all platforms (licensed under the GPL).
  • If you’re going to tag MKV files, you need to install mkvtoolnix, which is available for all platforms (licensed under the GPL).

How do I get it?

gem install stickyflag

How do I use it?

  • stickyflag get [FILE] [...]: Query the tags from a list of files
  • stickyflag set [FILE] [TAG]: Set the given tag on the given file
  • stickyflag unset [FILE] [TAG]: Remove the given tag from the given file
  • stickyflag clear [FILE]: Remove all the tags from the given file
  • stickyflag update: Refresh the information in the tag database from your files on disk
  • stickyflag tags: Print a list of all the tags currently in use in all of your files
  • stickyflag find [TAG] [...]: List all files that are tagged with all of the listed tags

stickyflag update will run from the current directory, or can run from a user-specified “root” directory, which can be set via calling stickyflag config. stickyflag config can also be used to set a couple of other configuration values, like the path to your pdftk executable.

Who did this?

StickyFlag is authored by Charles Pence and released under the MIT license.