Starting a new Obsidian plugin checklist
up:: Obsidian Plugin Development
- Navigate to an empty directory
- Remove any folders with
rm -rf foldername
- Remove any folders with
- Open the Obsidian Sample Plugin and press
use this template - Clone your fork:
git clone https://github.com/YOURREPO .- I like to start by cloning one of my plugins instead sometimes:
git clone https://github.com/selfire1/obsidian-luna-dark-mode .
- I like to start by cloning one of my plugins instead sometimes:
- Run
npm ito initialise npm - Resetting the plugin
- Delete unnecessary folders
- Empty
CHANGELOG.md
- Update the documentation
- Clear
README.md(for me: add Buy me a coffee) - Update
LICENSEfile
- Clear
- Change the plugin name
-
manifest.json- Change
id,name,version,description
- Change
-
manifest-beta.json- Copy and paste from
manifest.json
- Copy and paste from
-
package.json- Update
name(which isid),versionanddescription
- Update
-
workflows/release.yml: Changeenv.PLUGIN_NAMEtoid
-
- Create a new repo on github
- Initialise on git
- If a
.gitfolder already exists:-
git remote add origin REPOURL -
git branch -M main -
git add . -
git commit -m "🎉 init"
-
- If a
.gitfolder doesn’t exist-
git init -
git commit -m "🎉 init" -
git branch -M main -
git remote add origin REPOURL -
git push -u origin main
-
- Rename to
main-
git checkout -b main origin/master --no-track -
git push -u origin main -
git remote set-head origin main
-
- Install standard version
- Start developing!
- If a
- Install
github cliviabrew–brew install gh - Set up Automatically Open the Current Directory in VS Code From Terminal
#vars
$plugin-id
$plugin-desc
$plugin-name
$plugin-start-version
$author
mkdir $plugin-id && cd $plugin-id
gh repo create -y -d "$plugin-desc" --public -p "https://github.com/obsidianmd/obsidian-sample-plugin"
echo "# $plugin-id" > README.md
sed
-e -i 's/obsidian-sample-plugin/$plugin-id'
-e -i 's/"Sample Plugin"/$plugin-name'
-e -i 's/1.0.1/$plugin-start-version'
-e -i 's/"This is a sample plugin for Obsidian. This plugin demonstrates some of the capabilities of the Obsidian API."/$plugin-desc'
-e -i 's/"author": "Obsidian"/"author": \"$author\"' manifest.json
touch manifest-beta.json
cat manifest.json > manifest-beta.json
sed
-e -i 's/obsidian-sample-plugin/$plugin-id'
-e -i 's/This is a sample plugin for Obsidian (https://obsidian.md)/$plugin-desc'
package.json
mkdir .github/workflows && cd .github/workflows
touch release.yml
echo "FILE" > release.yml
git init $plugin-id
This will create:
- public repo
- open in new vscode window