Code Monkey home page Code Monkey logo

roamist's Introduction

Todoist ❤️ Roam Research

🚧 WORK IN PROGRESS 🚧

This is a work in progress, and breaking changes to the setup/config could occur in the future. If you have any trouble, don't hesitate to create new Issues or contact me on the #roamist channel on Roam Slack. Sorry for any inconvenience.

CleanShot.2022-01-21.at.23.49.40.mp4

Table of Contents

  1. Table of Contents
  2. Motivation
  3. Prerequires
  4. Setup
  5. Workflows
  6. roam/css for priority
  7. Inspired

Motivation

I have been using Todoist as my task management tool for a long time.
I still think that Roam Research is the best note-taking tool, but Todoist is more suitable for task management.

Since I started using Roam Research, I've wondered if it would be possible to use Todoist for task management but take detailed notes for each task in Roam Research.

Roamist is one way to make this possible. With this integration, you can copy tasks from Todoist to Roam Research, complete Todoist tasks from within Roam Reasearch, and synchronize task completion status between Todoist and Roam Reserach.

Prerequires

Setup

CleanShot 2022-08-26 at 16 28 55@2x

1. Install Roamist

  • Install Roamist through roam-depot.
  • You can see [[roam/roamist]] is created.

2. Configure Roamist

  • Fill Todoist's token, and Todoist filters.
    • Todoist's token
      • You can get your token via todoist.com/prefs/integrations.
    • Todoist filters

3. See [[roam/roamist]]

  • You can see some blocks are added automatically if you set Todoist filters correctlly.
    • Please don't modify blocks of this page. That makes Roamist broken.
  • Roamist - pull today (only diff) is designed to ignore blocks that already exist on the page where smartblock is executed.
    • This is useful if you only want to bring tasks that are newly added to Todoist into Roam.

You can edit, add or remove filters at any time.
Roamist will do its best to automatically reflect them, but if you have problems, first try removing the workflows block on the [[roam/roamist]] page and then reload Roam.

4. Run Roamist - pull ... smartblocks

  • Run smartblocks on any page you like.
    • If you have set it up properly so far, you should be able to run smartblocks with a name like Roamist - pull ....
    • If there are no tasks in Todoist, nothing will be imported, so make sure you have tasks in Todoist.

5. Place a button on the [[Roamist]] page.

Have you been able to import tasks from Todoist?
The block you have imported will be labeled #Roamist. Let's navigate to this page.
In the first block on [[Roamist]] page, enter a block like this.

- `{{Sync todoist completed:42SmartBlock:Roamist - sync completed:button=true,42RemoveButton=false}}`

You can use this button to reflect the completion status of Todoist tasks into Roam. There is no need to change each TODO to DONE on Roam.

Workflows

⚠️ This integration recognizes the Todoist id using a tag like Todoist/1234567890.
You must NOT remove this tag.
If you do, Roamist won't work as intended.

pull-tasks

  • This workflow will pull tasks with the Todoist's Filters.
    • You can set your filter in [[roam/roamist]]
      • CleanShot 2022-02-12 at 02 46 41
  • Block will look like this.
    • image

sync-completed

  • This workflow will sync completion status from Todoist to Roam Research.
  • I recommend you use this workflow as a button in [[Roamist]] as follows.
    • {{Sync todoist completed:SmartBlock:Roamist - sync completed:RemoveButton=false}}
    • CleanShot 2022-01-22 at 00 00 59

sync-completed-dnp

  • This is almost the same one as sync-completed, but it only works for a single day.
  • It's supposed to be used in DNP.
  • It might be useful if you have recurring tasks.
  • I would recommend you put the following button in your daily template.
    • {{Sync todoist DNP completed:SmartBlock:Roamist - sync completed (DNP):RemoveButton=false}}

complete-task

  • This workflow will complete a task under your cursor.
    • After running this workflow, {{[[TODO]]}} will turn into {{[[DONE]]}} automatically.

quick-capture

  • This workflow pulls Todoist's tasks.
    • Todoist's filter for quick Capture is used.
    • Unlike pull-tasks, this workflow marks Todoist's tasks as completed.
    • ex. If you set like #Quick Caputure, whole tasks in Quick Capture product of todoist will be copied, and original tasks are marked as completed.

roam/css for priority

- #priority/p1 #priority/p2 #priority/p3 #priority/p4
    - ```css
    @import url('https://kdnk.github.io/roamist/style.css');
    ```

Inspired

roamist's People

Contributors

dependabot[bot] avatar kdnk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

roamist's Issues

Quick Capture

Options

For Todoist

  • keep task on Todoist
  • filter

For Roam

  • show date
  • show project name
  • Label

Priority preference

Why

When using Todoist mainly as the capturing tool, and then managing tasks within Roam, the task priority assigned in Todoist could become unnecessary in certain workflows. This is also due to not being able to sync changes to priorities between the platforms once the task has been created in Roam. Having the option to include/exclude the Todoist assigned priority would serve to tidy things up for those not using it, ensuring process efficiency of the workflow.

What

Consider creating a selectable option within the configuration page that allows one to enable/disable the importation of Todoist assigned priorities.
Priorities cannot not be disabled in Todoist, but perhaps, the data to be imported into Roam can be optionally selective?

Roamist not working

Why - I have carefully followed installation instructions multiple times, but the extension doesn't work.

  • I have checked re API token
  • added some test tasks for today in Roam
  • logged out of Todoist and logged back in
  • set a filter for Today's tasks - today | overdue
  • found the [[roam/roamist]] page and saw my filter there
  • ran the filter on DNP jj - Roamist -- pull today's tasks
  • got error message: Failed - pull-tasks. Error: TodoistRequestError: Network error (see screen shot attached)
  • The same happens if I try other SmartBlocks related to Roamist
  • I am not a tech person, but a somehwat geeky social worker, so this could be user error, but I've combed through your documentation and tried to find an answer elsewhere before setting up this issue.

Thank you!
Silvia

What

Screen shot of error message:
Screenshot 2023-02-25 at 11 50 35

Screen shot of roam/roamist page
Screenshot 2023-02-25 at 11 54 21

Screen shot of test tasks created in Todoist

Screenshot 2023-02-25 at 11 55 36

Todoist priority preference

Why

When using Todoist mainly as the capturing tool, and then managing tasks within Roam, the task priority assigned in Todoist could become unnecessary in certain workflows. This is also due to not being able to sync changes to priorities between the platforms once the task has been created in Roam. Having the option to include/exclude the Todoist assigned priority would serve to tidy things up for those not using it, ensuring process efficiency of the workflow.

What

Consider creating a selectable option within the configuration page that allows one to enable/disable the importation of Todoist assigned priorities.
Priorities cannot not be disabled in Todoist, but perhaps, the data to be imported into Roam can be optionally selective?

Sync from RR->TD

Why

I can not find in the documentation if there is any kind of automatic sync from RR to TD. What happens if I mark a task as completed in Roam?

What

I can see from the documentation that RR can be updated with the `sync-completed

But I do not understand if it happens in the other way around.

As well, if I erase any task in RR or TD, does it disappear? I am worried I will end with two not sync todo lists

Thanks in advance

Logseq support

Hey there @kdnk , amazing plugin you're writing here !

I wanted to challenge you to shift your focus onto writing this to Logseq which is open source but has the benefit of automatically assigning an ID to each block.
Some ideas this could work over at logseq:

You can assign it via page properties or alternatively track the UUID you just have to make sure to persist it via the logseq.editor.upsertBlockProperty api.
And I believe most apis give a specific block if
You just need to store a dictionary somewhere of the blocks and their corresponding uuids.
You can either store it in settings or using the file system api to save a json or something

Smartblock trigger

Hi kdnk,
Non-coder here, so please excuse my ignorance. I love what you have built here and I am very keen to incorporate it into my workflow.
I have successfully setup Roamist within my Roam graph. I believe that I have configured it correctly, but I am sure I will be able to figure that out.
My challenge is with the smartblocks. I already run smartblocks for a number of different things in my graph. In this case, it isn't clear to me how to create the relevant smartblock that will run the process of importing Todoist tasks into Roam.
In your CleanShot I can see that you have 3 smartblocks setup from which to choose which process to run. Could you perhaps help me out by letting me know what these should consist of i.e. what should be nested under each smartblock in order to trigger the process?

Roamist not working at installation

Why

I carefully followed installation instructions, but the extension is not working. See attached screenshots.
This is what I did:
-signed out of Todoist and quit app; restarted both Todoist and Roam
-installed Roamist, entered API token, set up two filters today | overview and "view all"
-on DNP, ran jj - Roamist - pull Today's tasks (also tried other Roamist filters with same result)

  • see screenshot below for error message received. It was working (moving circle) and then gave the error.
  • please note: I am not a tech person, but rather a somewhat geeky social worker a bit out of her comfort zone. However, I have tried to research this issue and uninstalled/reinstalled several times. I can't figure out what I'm doing wrong, because I am assuming it's my error.
  • Thank you!
  • Silvia

What

error message received

Todoist trial tasks set up

roam:roamist page after setting up filters

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.