~bsprague/everdo-export

Tools for parsing JSON exports from Everdo (https://everdo.net/)
Minor tweaks and todos
Clean up the README
Add support for notebooks, refactor

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~bsprague/everdo-export
read/write
git@git.sr.ht:~bsprague/everdo-export

You can also use your local clone with git send-email.

#Everdo Export

This is a simple tool for taking a JSON export from Everdo, parsing it, and transforming it into something vaguely Logseq compatible.

Important caveat/warning: Since this tool is heavily based on my own personal Everdo export, features that I haven't used might be incorrectly represented.

#Everdo -> Logseq Translation

The export is opinionated based on how I want to represent things in Logseq, here's a list of representation details.

#Projects

All projects from Everdo become pages in Logseq. Each item from that project becomes a block on the project page. Projects have the following properties:

type:: project
project-type:: {sequential,parallel}
project-status:: {active,someday,scheduled,waiting,deleted,archived}

and optionally have:

description:: <description from Everdo>
focus:: true // If the item was focused
waiting-on:: <comes from the `contact_id` in Everdo>
tags:: <comma delimited tags from project, linked as pages>
area:: <the area, linked as a page>

#Items

All actions from Everdo become blocks in Logseq. If the action wasn't part of a project, it goes into one of the following pages:

  • Imported from Everdo / Inbox
  • Imported from Everdo / Next
  • Imported from Everdo / Someday
  • Imported from Everdo / Scheduled
  • Imported from Everdo / Waiting
  • Imported from Everdo / Deleted
  • Imported from Everdo / Archived

The page it goes into corresponds to the List it was on in Everdo. Items may have any of following properties:

waiting-on:: <comes from the `contact_id` in Everdo>
focus:: true // If the item was focused
triaged:: true // The designator that moves things from Inbox -> Next
area:: <the area, if any>

Additionally, all action blocks start with collapsed:: true, just to remove some clutter. There's also the SCHEDULED: and DEADLINE: commands, which are not 1:1 mappings to what Everdo has, but the script will fail if it's too lossy.

#Notebooks

Notebooks look like projects for the most part, but they're also just mostly normal Logseq pages. They don't have project-type or project-status or waiting-on or type.

Notes are like action items, but without a TODO or other task label, and without other not-relevant properties like waiting-on, inbox, etc.

#TODO

  • [ ] Handle 'scheduled' projects
    • We currently set the project-status, but don't actually record when it's scheduled for.