To work with Markdown notes using Emanote on Windows, follow these steps.
- Setup Windows Subsystem for Linux (WSL2)
- Install Visual Studio Code
- (Optional) Run Syncthing from WSL
- Follow these instructions to install WSL2 as well as Ubuntu.
- Install Emanote in Ubuntu. 1
git clone https://github.com/srid/emanote-template.gitto make a local copy of emanote-template in your Ubuntu instance
emanoteinside the emanote-template directory, and make sure you that you can access the webpage in Windows.
- Press Ctrl+C to exit Emanote.
- Install Visual Studio Code natively on Windows (not WSL).
- Open VSCode and install the Remote Development extension
Remote-WSL: Open folder in WSL
- Open the aforementioned emanote-template local copy
Ctrl+Backtickto open Ubuntu Terminal inside VSCode, and in the terminal run
- Access the URL it shows, and make sure that you can view the notebook in your native Windows browser.
- Finally, open a Markdown file and make a change to it, while making sure the the web browser updates in real-time.
This step is optional. For best experience with Emanote, we expect your notebook to live inside WSL (not Windows), due to a WSL limitation. Therefore, if you want to synchronize your files using Syncthing, you should install it on WSL Ubuntu, and not natively on Windows.
If you are on Ubuntu (WSL), simply go to https://apt.syncthing.net and install Syncthing. Then run
syncthing to run the syncthing server. You might have to change the IP address (from 127.0.0.1 to 0.0.0.0) in
~/.config/syncthing/config.xml in order to expose the service to Windows, in case WSL doesn’t automatically forward it; or, if it does reliably forward it, you might want to change the port number so that it doesn’t conflict with native Windows’ Syncthing if you have that running as well.
You can use Task Scheduler to automatically launch WSL Syncthing on Windows logon. Create a Basic tasks that is triggered on user log on, with the action being to start a program
C:\Windows\System32\wsl.exe with arguments
-d Ubuntu -u <yourusername> syncthing.