Would you like a bibliographic system that was a simple and powerful complement to the way you take notes? The Thunderdell scripts are intended to make sure the important task of engaging a text is not hindered by bibliographic constraints. Using the power of the FreeMind (0.7) mindmap application you can quickly tag and outline a source and trivially indicate annotations, paraphrases, and excerpts with simple keyboard shortcuts; you can outline, link to Web resources, and include images and tables -- really, anything you can do with a mindmap and HTML. The underlying data is accessible XML and Thunderdell transforms this into the open biblatex bibliographic format (an update to the BibTeX standard).
Thunderdell is written in Python and requires some familiarity if only to specify the location of your root mindmap. My system is an Ubuntu machine, but I believe it could be made to work on any platform as all dependencies (including lxml, dateutil, and requests) are cross-platform. The scripts are available for download.
The command-line BusySponge micro-blogger and Web scraper is also included and can be used to populate your mindmap with bibliographic data about Web resources.
(Thunderdell is the name of the "simple and powerful" giant from Jack and the Beanstalk who would declare "Fee-fi-fo-fum." What I used to call "FreeMind Extract" is is just a collection of tersely named scripts, such as"fe.py". BusySponge is just that, a way to quickly capture, log, and annotate things on the Web.)
Thunderdell's underlying and export data are both in open formats.
It takes advantage of powerful mindmap functionality:
Bibliographic maps are searchable from the command-line or via the Web. Results of queries include the appropriate citation with year and page number.
Usage: fe [options] [FILE.mm]
Note: Keys are created by appending the first letter of first
3 significant words (i.e., no WP:namespace, articles, conjunctions
or short prepositions). If only one word, use first, penultimate,
and last character.
Options:
-h, --help show this help message and exit
-a, --abstract include abstracts in bibtex2html HTML
-b, --bibtex emit bibtex fields rather than biblatex
-c, --chase chase links between MMs
-d, --display emit bibtex, convert to HTML, display in browser
-D, --defaults chase, use default map and output file
-k, --keys show bibtex keys in displayed HTML
-f, --file-out output goes to FILE.bib
-F, --fields show biblatex shortcuts, fields, and types used by fe
-l, --long_url use long URLs
-o, --online_urls_only
emit URLs for online resources only
-p, --pretty pretty print
-q QUERY, --query=QUERY
query the mindmaps
-s BST, --style=BST use bibtex stylesheet (default: apalike)
-t, --tests run tests
-v, --verbose Increase verbosity (specify multiple times for more)
-w, --WP-citation emit Wikipedia {{Citation}} format
-y, --year use year (instead of date) even with biblatex
Thunderdell relies upon a particular patterns.xml and certain conventions in the mind-map to create biblatex.
A citation node looks like "y=2000 p=Basic Books a=New York,
NY".
The resulting biblatex will look like:
@book{Lessig2000col,
annotation = {A seminal work that identifies the authority of software code},
author = {Lessig, Lawrence},
shorttitle = {Code},
title = {{Code:} {And} Other Laws of Cyberspace}, ,
year = {2000},
address = {New York, NY},
publisher = {Basic Books},
}
The repository includes these utilities (download at the right most "get source" tab):
Requires some familiarity with Python.
I'm still using the 0.7 version of FreeMind, newer versions have slightly different XML, which could easily be accomodated.
Unlike many bibliographic tools, it does not query on-line databases, but one can use such tools (e.g., tellico or refworks) to query and generate bibtex bibliographies and then use be.py to convert them to a mindmap.