Created
February 9, 2015 13:20
-
-
Save cdeutsch/6e1ce81cd310a1f2aef8 to your computer and use it in GitHub Desktop.
dayone-timehop.js - Find out what happened in Day One on this day each year like Timehop
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #! /usr/local/bin/node | |
| // BASED OFF THIS SCRIPT: https://gist.github.com/aliou/7310354 | |
| var _ = require('underscore'); | |
| var DayOne = require('dayone').DayOne; | |
| var DayOneEntry = require('dayone').DayOneEntry; | |
| var moment = require('moment'); | |
| var path = require('path-extra'); | |
| var notifier = require('node-notifier'); | |
| var dayoneDirectory = 'Dropbox/Apps/Day One/Journal.dayone/'; | |
| var journal = new DayOne({directory: path.join(path.homedir(), dayoneDirectory)}); | |
| journal.list({}, function(err, entries) { | |
| var startYear = 2012; | |
| var endYear = moment().year(); | |
| var data = []; | |
| for(var year = startYear; year < endYear; year++) { | |
| var start = moment().startOf('day').year(year); | |
| var end = moment().endOf('day').year(year); | |
| var filteredEntries = _.filter(entries, function(entry) { | |
| return (moment(entry.creationDate) > start && moment(entry.creationDate) < end); | |
| }); | |
| filteredEntries.sort(function(a, b) { | |
| if (a.creationDate > b.creationDate) | |
| return (1); | |
| if (a.creationDate < b.creationDate) | |
| return (-1); | |
| return (0); | |
| }); | |
| filteredEntries.forEach(function(entry) { | |
| console.log(entry.creationDate + ' => dayone://edit?entryId=' + entry.UUID); | |
| }); | |
| data.concat( | |
| _.map(filteredEntries, function(entry) { | |
| var link = 'dayone://edit?entryId=' + entry.UUID; | |
| var date = (new Date(entry.creationDate)).toDateString(); | |
| var title = entry.text.split('\n')[0]; | |
| notifier.notify({ | |
| title: 'DayOne Timehop', | |
| message: title + "\n" + date, | |
| open: link, | |
| contentImage: null, | |
| icon: '/Applications/Day One.app/Contents/Resources/About-DayOne-Icon.tiff' // absolute path (not balloons) | |
| }) | |
| return { | |
| date: date, | |
| title: title, | |
| link: link | |
| }; | |
| }) | |
| ); | |
| } | |
| console.log('-----------------'); | |
| console.log(JSON.stringify(data)); | |
| }); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment