Support Slogger by contributing to my GitTip fund.
If you are upgrading from a version prior to 2.0.12, please remove the RSSLogger section from
slogger_config and regenerate it by running slogger again. A new section will be added in addition to RSSLogger called Bloglogger. RSSLogger now logs all entries for the timespan as a single digest entry, whereas Bloglogger loads each item found as an individual "post."
Slogger indexes various public social services and creates Day One (http://dayoneapp.com/) journal entries or plain text Markdown files for them. It allows you to keep a personal journal that collects your online social life automatically, all in one place.
/plugins/, additional plugins are usually found in
/plugins_disabled/. Plugins are enabled and disabled by adding/removing them from the
/plugins/folder. Move any additional plugins you want to use into
/plugins/and disable any other plugins by moving them from
plugins_disabled. (Plugins that are found in
pluginsbut not configured will not break anything, but you'll see warnings when run.)
./slogger --update-configto create the initial configuration file. If this doesn't work, you may need to make the file executable:
chmod a+x sloggerfrom within the Slogger folder. Note that any time you add new plugins or update existing ones, you'll want to run
./slogger --update-configto ensure that your available options are up to date.
Edit the file
slogger_config that shows up in your Slogger folder
Edit additional configuration options for any plugins defined. The config file is formatted as YAML, and your options need to conform to that syntax. For the most part, you can just maintain the formatting (quotes, dashes, brackets, etc.) of the default settings when updating.
Next time you run
./slogger, it will execute the enabled and configured plugins and generate your journal entries.
./sloggerto run the data capture for the plugins you have in you
/plugins/folder (if you don't need them).
launchdscheduling app, or...
./install.rbto automatically install a launchd task that will run at 11:50pm every night. It's the same as Lingon would create, but all free and stuff.
rm ~/Library/LaunchAgents/com.brettterpstra.slogger.plistand then log out and back in.
$ ./slogger -h Usage: slogger [-dq] [-r X] [/path/to/image.jpg] --update-config Create or update a slogger_config file. No plugins will be run. -c, --config FILE Specify alternate configuration file -d, --develop Develop mode -h, --help Display this screen -o, --onlyrun NAME[,NAME2...] Only run plugins matching items in comma-delimited string (partial names ok) -q, --quiet Run quietly (no notifications/messages) -r, --retries COUNT Maximum number of retries per plugin (int) -s, --since-last Set the timespan to the last run date -t, --timespan DAYS Days of history to collect -u, --undo COUNT Undo the last COUNT runs -v, --version Display the version number
Note: You can use the
-soption to only log since the last run date, handy if you want to run Slogger more or less than once per day or are testing plugins.
You can also use
-oto run only a certain plugin in the standard plugin directory: just provide it with enough of the name to be unique, e.g.
slogger -o gist.
-u Xoption will undo the last X runs. This works by checking the timestamp of the run and deleting any entries created after that timestamp. It should not be used if you have manually created entries since the last Slogger run. It also does not remove the run timestamps from the list, so running
./slogger -u 4will remove the entries created by the last four runs, and then running
./slogger -u 5will undo one more run in history.
Slogger is currently actively maintained, meaning new fixes and features are regularly available. To update your Slogger installation, download the zip file for the latest version (the link on this page is always current) into a new folder. Copy the new files over existing files to update them. If you've enabled plugins that are disabled by default, you'll need to copy them from the new folder's "plugins_disabled" folder to your current "plugins" folder.
As long as you don't move or delete your
slogger_config file, all of your settings will be preserved after the update.
More documentation coming. See
plugin_template.rb to get started.
If you want to edit an existing plugin to change parameters or output, move the original to
plugins_disabled and make a copy with a new name in
plugins. It will make it easier to update in the future without losing your changes.
When developing plugins you can create a directory called 'plugins_develop' in the same folder as 'plugins' and work on new plugins in there. When you run slogger, use
./slogger -d to only run plugins in the develop folder while testing.
@log is a global logger object. use
fatal) to generate log messages using the default formatter.
@config is the global configuration object. Your plugin settings will be stored under
$options contains options parsed from the command line. Use
$options[:optionname] to read the setting.
:developwhether Slogger was run in develop mode
:timespanthe timespan passed from the command line as number of days (int)
:quietsuppresses log messages. This affects the log formatter and shouldn't generally be needed. Just create log messages using
@logand if :quiet is true, they'll be suppressed.
:retriesis the number of retries to attempt on any given operation. Create loops in network calls and parsing routines to allow for retry on failure, and use
$options[:retries]to determine how many times to iterate.
@timespan is available to all plugins and contains a date object based on the timespan setting. This defaults to 24 hours prior to the run.
@datetime_format (this is just the conjunction of the first two) are available to all plugins and should be used wherever you output a date or time to DayOne files, e.g.
__ _ / _\| | ___ __ _ __ _ ___ _ __ \ \ | |/ _ \ / _` |/ _` |/ _ \ '__| _\ \| | (_) | (_| | (_| | __/ | \__/|_|\___/ \__, |\__, |\___|_| |___/ |___/ Copyright 2013, Brett Terpstra http://brettterpstra.com --------------------
Slogger by Brett Terpstra is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.