Skip to content
Create a gist now

Instantly share code, notes, and snippets.

Import to Day One Journal app from MacJournal Export
require "open3"
def readfile(file)
f = File.open(file)
lines = f.readlines("\n\n\n\n")
lines.each do |line|
fields = line.scan(/\s+Date:\s([^\n]+)$\s+Topic:\s([^\n]+)\n(.*)/m)
date = fields[0][0].strip
topic = fields[0][1].strip
text = topic + "\n" + fields[0][2].strip
puts date
puts text
puts "-------------------------------------------------------------"
Open3.popen3("/Applications/Day One.app/Contents/MacOS/dayone", "-d=\"#{date}\"", "new") do |stdin, stdout, stderr|
stdin.write(text)
stdin.close_write
puts stdout.read
end
puts "-------------------------------------------------------------"
end
end
readfile(ARGV[0])
@bloom
Owner
bloom commented May 18, 2011

Heres a sample text file from a MacJournal export:

Date:   March 14, 2009 3:00 PM
Topic:  Rexburg Idaho

Last night we did

Date:   March 15, 2009 3:00 PM
Topic:  Lazy Sunday

Jana woke up

@karthik
karthik commented Sep 1, 2011

Can you give us an example of how to run this? Also, what format should I export my macjournal in?

@bloom
Owner
bloom commented Oct 13, 2011

We're working on a fully supported Import function. Sorry I'm not able to assist on this one right now.

@empedocle

any chance there could be a way to import MacJournal (or other) CSV? Not so good at ruby and it seems like it wouldn't be that much work but it could take a while to figure out. :)

@bloom
Owner
bloom commented Jan 20, 2012
@karthik
karthik commented Jan 20, 2012

Perfect, thank you!

@empedocle

cool. I was able to do it with Excel and Applescript. worked great.

@Tam-Lin
Tam-Lin commented Feb 8, 2012

I had some serious issues getting this to work, so I wrote my own in python. See https://github.com/Tam-Lin/MacJournaltoDayOne---Python.

@bloom
Owner
bloom commented Feb 8, 2012
@AsafKeller

The built in importer does not work. It returns: The operation could not be completed. No other information is available about the problem. Can anyone help?

@nestsman

What is the latest on the MacJournal importer? Will it import the tags and photos used in MacJournal entries?

Thanks!

@kmlawson

Thanks for putting this up. The built-in import of MacJournal files dates the entries by creation date, rather than the MacJournal internal date. This gist addresses this, which is nice. However, with the newest version of Day One (1.10.2) the executable you refer to in line 18 does not work. I changed this line to:

Open3.popen3("/usr/local/bin/dayone", "-d=\"#{date}\"", "new") do |stdin, stdout, stderr|

And this appears to solve it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.