joplin-multi-note-viewer/README.md

76 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

2022-02-21 18:04:18 +00:00
# Joplin Multi-Note Viewer
Use [Joplin's Data API](https://joplinapp.org/api/references/rest_api/) to
view and browse multiple notes at once. Supports title and body search and internal
links, as well as dragging and dropping notes to rearrange them in your view.
Visible note IDs are put into the URL as you go, so if you want to return to a
particular note set, bookmark the generated URL.
## Installing
* Enable the Web Clipper service in Joplin (Tools > Options > Web Clipper > Enable the clipper service).
* Download the latest release binary for your platform.
* Download the sample `config.yml` file from Releases. Then edit it and
fill in the following information:
```yaml
joplin:
api_key: <the authorization token from Tools > Options > Web Clipper > Advanced Options>
url: http://localhost:41184
```
## Running
* Start Joplin.
* Start the viewer from the command line.
* Visit [http://localhost:8181/](http://localhost:8181).
## Using
* The search box can be refocused and brought into view by hitting `s`.
* You can use the up and down arrow keys to navigate autocomplete results,
and `[Enter]` to open a result.
* Open notes can be rearranged by dragging and dropping.
* Close a note with the Close button.
2022-02-21 18:07:51 +00:00
* Notes will reload every few seconds so if you make changes in Joplin,
they'll be reflected in the viewer.
2022-02-21 18:04:18 +00:00
## Contributing
This is a hobby project for me to learn Vue 3 and Go and to be able to use my
interlinked notes better, so if I fix a bug, it'll either be because it's
directly affecting me, it's easy to fix, or it's interesting. Pull
requests are preferred over issues if you have the skill, but even if you
don't, someone else might!
## Developing
I built this using Go 1.18 and Node 16.
* Run `dev-setup.sh`. This will make a build of the Vue app and put its
`dist` folder into `server`. This is so `go:embed` works.
* Start the server with `go run .`.
* Start the client with `npm run dev`. It will proxy API requests to a locally
running server so the embedded client files will be overridden by the files
Vite produces.
Add tests if you want. I may get around to it eventually.
2022-02-21 18:16:29 +00:00
## Building & Releasing
2022-02-21 18:04:18 +00:00
* Bump the version. This project uses semantic versioning as best as possible.
* Update the changelog with details on the changes. It uses the
[Keep a Changelog format](https://raw.githubusercontent.com/olivierlacan/keep-a-changelog/main/CHANGELOG.md).
* Run `build.sh`. It will create the different platform binaries in `build` as
well as a `config.yml` sample.
## Other stuff
This app uses a custom build of Prism for syntax highlighting. It includes every
language that Prism supports as of Feb 2022.
2022-02-21 18:04:18 +00:00
## License
MIT License