Day One Command Line Interface (CLI)
IFTTT Integration (Day One 2.0 only)
Tools (Not officially supported by Day One)
- Slogger Social logging script for Day One by Brett Terpstra
- DayOneViewer Basic Windows Client with Dropbox sync (use at your own risk; we have had reports of data loss with this – so please back up first)
- GiftttDy—Logging Social Posts using IFTTT
- Day One Export Export Day One journal entries into html, text, or another format using a Jinja template.
- Flava to Day One Importer
- OhLife! to Day One Importer (See also: http://boonejs.tumblr.com/post/15997927013/moving-from-ohlife-to-day-one)
- JRNL—Read, write and search your DayOne journal from the command line.
- dowp, doig, dotw—Import WordPress, Instagram, and Twitter posts using a bash script, respectively.
- Jawbone UP to DayOne
- Git Commit Logs for Day One
- socImport—Send Twitter/Instagram/Facebook posts to Day One Journal.
- day-one-narrato-import—Import Narrato entries into Day One.
- Automating Instagram Posts into Day One—Great overview of various options for importing Instagram posts into Day One.
- TaskPaper Scripts—Scripts for importing TaskPaper to-do lists into Day One.
- Tweet Importer for Day One
- Reading Day One journals in Go
- Journaley—Windows client for Day One journal data.
- Memiary Import—Import tool for getting Memiary entries into Day One.
- day one_to_markdown.rb—Retain the metadata of Day One while having a sidecar file that you can work with in your writing environment of choice.
- todoist_dayone—script to log completed Todoist tasks to Day One.
- vi2DayOne—A simple Mac OS shell script to aid in converting viJournal entries into DayOne entries.
- Reportermd—Convert ReporterApp entries to markdown and import into DayOne.
- Twitter-to-DayOne—Script to fetch all your tweets and make a DayOne entry.
Command Line Interface
The Day One CLI makes it possible for programs and scripts to interact with a Day One Journal from the command line.
- Download: http://dayoneapp.com/downloads/dayone-cli.pkg
- Manual: http://dayoneapp.com/cli
- Troubleshooting Tips
$ ./dayone new
Waits for input from stdin then creates a new entry in the default journal
$ echo "an entry from yesterday" | ./dayone -d="yesterday" new
Creates a new entry using yesterday’s date with the specified text
$ ./dayone -d="25/03/2011 5:30PM" -s=true new < ~/Desktop/note.txt
Creates a starred entry using the contents of note.txt
$ echo "an entry in my other journal" | ./dayone -j=~/Documents/WorkJournal.dayone new
Creates an entry in a journal other than the default
To see available options and examples, use the
$ ./dayone --help
Currently, there is one supported command: “new”. The “new” command allows users to write scripts to import entries from another program or to write utilities that allow for automated entry creation.
The CLI automatically uses the Day One Journal that is configured in the Day One Preferences window. You can specify a different Journal using the
When creating a new entry, the current time is used by default as the entry creation date. To specify a different date, use the
--date option. This option accepts dates in most formats, including some natural language strings such as
yesterday. The system’s locale is used when deciding how to parse a date.
Uninstalling the CLI
To uninstall the CLI, run this command:
- Import Vesper entries to Day One by Geoff Cleary
- Import markdown journal entries (txt files) to Day One
- Export Evernote Items to Day One by @Veritrope
- Logging With Day One Geek Style by Brett Terpstra
- System Service Clip to Day One by Brett Terpstra
- Logging with Alfred by @viticci
- Import from MacJournal (Sample Ruby script)
- Import from OhLife by @BooneJS
- Export to HTML, Text and more In addition to the Mac App Export to text.
- Aperture Photo to Day One Journal Entry by Jordan Patterson More info
- AppleScript to link Apple’s Reminders program to Day One
- Import from Racounter iPhone app by Pawel Witan
- DayOne Windows Client by Nitin Khanna
- A script to add timezone information to older entries by Al Pasechnik
- jrnl Command Line writing with more options.