Searches a list of folders containing
*.qsplugin/Contents/Info.plist, applies matching overrides,
run a template with the data for each entry.
Base use case is generating wiki pages for documenting QuickSilver plugins.
./plisttemplate.rb -v -t basic -o ./overrides/ 'Core Support' OnePassword QSOpera 'Finder Module'
Creates the following files:
Template engine is handled by Tilt, so you can use Markdown, haml and what not.
Partials are relative to the template path provided with the
-t basic flag, so the partial
item is in
Upon loading a template, it's
init.rb file is required. That's all that happens, so make it count.
Templates can access the App instance through
The template has all the bundle information available as methods of self (though this was a bad idea in retrospect). Brackets are very important or Ruby thinks we're talking about a constant (many keys have capital first letters).
-o path to add a path of override files.
For every bundle loaded, the tool looks in any override paths provided for a file named
overrides/com.blacktree.Quicksilver.QSCorePlugIn.yaml). Each one is loaded,
and the resulting hash table is 'merged into' the bundle's info plist. The data is then available to
Additionally, a key
QSModifiedDate with the date of last modification of the
.qsbundle's folder in the
%Y-%m-%d %H:%M:%S %z is added to the root.
When one or more languages are specified (with
--language en,fr,de,it), for each override folder specified,
a file is loaded from
Note: No, thats not a good solution for the template text...
sudo gem install plist tilt OptionParser mediawiki-gateway