Skip to content

mnaoumov/generator-obsidian-plugin

Repository files navigation

generator-obsidian-plugin

Obsidian Plugin Yeoman Generator

Installation

For template generator to be fully working it requires Node.js v18 or higher.

First, install Yeoman and generator-obsidian-plugin using npm (we assume you have pre-installed node.js).

npm install -g yo
npm install -g generator-obsidian-plugin

Then generate your new project:

mkdir new-plugin-name
cd new-plugin-name
yo obsidian-plugin

Features of this template

NPM Commands

The package offers several NPM commands to facilitate common development tasks:

Build Production Version

npm run build

Compiles the production version of your plugin into the dist/build folder.

Clean build folder

npm run build:clean

Cleans dist folder.

Compile code

npm run build:compile

Checks if code compiles.

Compile Svelte code

npm run build:compile:svelte

Checks if Svelte code compiles.

Compile TypeScript code

npm run build:compile:svelte:typeScript

Checks if TypeScript code compiles.

Build Development Version

npm run dev

Compiles the development version of your plugin into the dist/dev folder. The OBSIDIAN_CONFIG_DIR can be set either as an environment variable or specified in a .env file (e.g., path/to/my/vault/.obsidian). The command automatically copies the compiled plugin to the specified Obsidian configuration directory and triggers the [Hot Reload] plugin, if it is enabled. If the [Hot Reload] plugin is not installed, it will be installed automatically, and you will need to enable it manually.

Format Code

npm run format

Formats your code using dprint.

Check Code Formatting

npm run format:check

Checks formatting of your code using dprint.

Lint Code

npm run lint

Lints your code, enforcing a code convention to minimize common errors.

Lint and Fix Code

npm run lint:fix

Lints your code and automatically applies fixes where possible.

Spellcheck Code

npm run spellcheck

Checks your code for spelling errors.

Version Management

npm run version <versionUpdateType>

Runs build checks before updating the version and releases if all checks pass. The <versionUpdateType> can be major, minor, patch, beta, or a specific version like x.y.z[-suffix].

Support

Buy Me A Coffee

License

© Michael Naumov