Workflowy is a minimalist outline writing tool that provides unlimited indentation and keyboard shortcuts to make it easy to write a beautiful and useful outline. As shown in the figure below.

Evernote is a well-known cross-platform note-taking application. Although there are many competing products competing with Evernote in the market, the powerful search function of Evernote still firmly captures many users.

Wouldn’t it be great to combine the ease of writing an outline with Evernote’s powerful search capabilities? As shown in the figure below.

EverFlowy is one such gadget. It automatically pulls down entries from Workflowy and synchronizes them to Evernote. If Workflowy is updated, run the gadget again and it will update evernote content synchronously. Workflowy is responsible for writing, evernote is responsible for saving, they do their best, each for the proper place.

Tool is introduced

Everflowy is based on Python 3 and is hosted on Github at github.com/kingname/Ev… This widget is under continuous development and currently allows unidirectional synchronization of Workflowy to Evernote and differential updates. Since the Oauth authentication mode of Evernote requires application to be used for official accounts, but it will not pass the application of this personal gadget, so the developer Token is used for the time being. How to apply for a developer Token to open an official account will be explained later.

The installation

First, you need to make sure you have Python 3 installed on your computer, or you won’t be able to run the gadget. Code dependencies are managed using Pipenv, so Pipenv needs to be installed using PIP first:

python3 -m pip install pipenv
Copy the code

Now that you have Pipenv, use Git to pull the code locally and install the dependencies:

git clone https://github.com/kingname/EverFlowy.git
cd EverFlowy
pipenv install
pipenv shell
Copy the code

After running the above four commands, your terminal window should look something like the following.

Pipenv automatically creates a Virtual environment based on the Virtualenv, installs the third-party libraries that EverFlowy relies on into the virtual environment, and activates the virtual environment.

configuration

At the root of the code, there is a config.json file that looks like the following when opened.

You need to change three places, namely username, password and dev_token. Username and password correspond to the username and password of Workflowy respectively, and dev_token is the developer Token of evernote.

Note the developer Token of Evernote. There are two sets of Developer tokens for Evernote, one for sandbox environment and the other for production environment. The sandbox environment is a test development environment designed specifically for rapid development of the Evernote App. Its address is sandbox.evernote.com. Open the url and you’ll see a warning pop up on the page, as shown in the image below.

Whether or not you already have an Evernote account, you must re-register to use the sandbox environment. After the completion of the registration, by visiting sandbox.evernote.com/api/Develop… Get developer Token for sandbox environment.

The sandbox environment of Evernote will be explained in a separate article. This article describes how to apply for a developer Token in a production environment so that you can use an official Evernote account.

After June 2017, the impression of notes closed production developer Token application channel, if open the application url: app.yinxiang.com/api/Develop… You’ll notice that the application button is grayed out and unclickable. To solve this problem, you need to ask Evernote customer service for help.

Log in to your official Account of Evernote, open the home page of Evernote, and pull the page to the bottom, you can see a “Contact us”, as shown in the picture below.

Enter “Contact us” and click “Contact customer service”, as shown below.

Fill in the following information on the page for contacting customer service. In the last item of “Brief description of the problem” fill in “I need to develop based on the Evernote API, please help me open the production environment developer Token” and submit.

Within about 24 hours, you can receive a reply from customer service, as shown below.

Open app.yinxiang.com/api/Develop again at this time… You can apply for the developer Token, as shown below.

Note that the developer Token is only displayed once, so you need to record it immediately.

run

Once you have the production developer Token, fill it in config.json and the configuration is complete. Enter the command on the terminal:

python3 EverFlowy.py
Copy the code

The application can then begin to synchronize Workflowy data to Evernote.

Once the synchronization is complete, you’ll notice that a history.db file appears in the root directory of your program. This is a sqllite file that contains all the contents of your Workflowy outline and the corresponding Evernote GUID and ENML formats. This is generated to enable differential updates of the data. You can use various tools that allow you to browse sqllite to see what’s inside.

Known issues

  • If history.db is removed, run Everflowy again and everything in Workflowy is written to Evernote again.
  • If you delete an entry in EverFlowy write evernote without deleting the corresponding entry in history.db, WorkFlowy will throw an exception because it can’t find the GUID.
  • There is no test for the availability of the International Evernote account.
  • If you want to test the sandbox environment developer account, please modifyevernote_util/EverNoteUtil.pyLine 98, put
client = EvernoteClient(token=self.dev_token, sandbox=False, service_host='app.yinxiang.com')
Copy the code

Is amended as:

client = EvernoteClient(token=self.dev_token)
Copy the code

My official account: I have not heard the Code