Contributions are welcome! This guide attempts to answer common question about how the project works.
- Clone this repo to
<Vault>/.obsidian/plugins/obsidian-instapaper/
- Make sure your NodeJS is at least v16 (
node --version
) - Add your API Credentials to a local
.env
file npm i
oryarn
to install dependenciesnpm run dev
to start compilation in watch mode- Reload Obsidian to discover the plugin
- Enable the
Instapaper
plugin in the Obsidian Settings window
You might also want to install the Hot-Reload plugin to automatically reload the code during development.
If you need to manually install a copy of this plugin, copy the main.js
and manifest.json
files to your vault (e.g. <Vault>/.obsidian/plugins/obsidian-instapaper/
).
You'll need your own pair of Instapaper API OAuth credentials to use the API.
Add them to a local .env
file:
INSTAPAPER_CONSUMER_KEY=xxx
INSTAPAPER_CONSUMER_SECRET=xxx
ESLint is used to maintain code quality. To run it over the entire project:
npm run lint
- Run
npm version patch
,npm version minor
ornpm version major
to automaticallypackage.json
,manifest.json
, andversions.json
. - Create a new GitHub release using the new version as the "Tag version" (exactly, without a
v
prefix). - Upload the files
manifest.json
andmain.js
as binary attachments. Note: Themanifest.json
file must be in two places: the root path of the repository and also in the release. - Publish the release.
Also make sure that minAppVersion
in manifest.json
always reflects the minimum required Obsidian version expected by the plugin code.
By contributing to this project, you agree that your contributions will be licensed under its license.