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.
|
|
|
|
|
2022-02-23 02:53:52 +00:00
|
|
|
## 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
|