Skip to content

Commit 1807032

Browse files
committed
Fix notification toggle setting, updat plugin descriptions
1 parent b13e562 commit 1807032

File tree

6 files changed

+29
-101
lines changed

6 files changed

+29
-101
lines changed

README.md

Lines changed: 17 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,94 +1,28 @@
1-
# Obsidian Sample Plugin
1+
# Header Display Text
22

3-
This is a sample plugin for Obsidian (https://obsidian.md).
3+
This is a plugin for [Obsidian](https://obsidian.md).
44

5-
This project uses TypeScript to provide type checking and documentation.
6-
The repo depends on the latest plugin API (obsidian.d.ts) in TypeScript Definition format, which contains TSDoc comments describing what it does.
5+
## Description
76

8-
This sample plugin demonstrates some of the basic functionality the plugin API can do.
9-
- Adds a ribbon icon, which shows a Notice when clicked.
10-
- Adds a command "Open Sample Modal" which opens a Modal.
11-
- Adds a plugin setting tab to the settings page.
12-
- Registers a global click event and output 'click' to the console.
13-
- Registers a global interval which logs 'setInterval' to the console.
7+
This plugin automatically sets the display text of links to headings of other notes to be the name of the heading instead of showing the link text as it appears. So, instead of:
148

15-
## First time developing plugins?
16-
17-
Quick starting guide for new plugin devs:
18-
19-
- Check if [someone already developed a plugin for what you want](https://obsidian.md/plugins)! There might be an existing plugin similar enough that you can partner up with.
20-
- Make a copy of this repo as a template with the "Use this template" button (login to GitHub if you don't see it).
21-
- Clone your repo to a local development folder. For convenience, you can place this folder in your `.obsidian/plugins/your-plugin-name` folder.
22-
- Install NodeJS, then run `npm i` in the command line under your repo folder.
23-
- Run `npm run dev` to compile your plugin from `main.ts` to `main.js`.
24-
- Make changes to `main.ts` (or create new `.ts` files). Those changes should be automatically compiled into `main.js`.
25-
- Reload Obsidian to load the new version of your plugin.
26-
- Enable plugin in settings window.
27-
- For updates to the Obsidian API run `npm update` in the command line under your repo folder.
28-
29-
## Releasing new releases
30-
31-
- Update your `manifest.json` with your new version number, such as `1.0.1`, and the minimum Obsidian version required for your latest release.
32-
- Update your `versions.json` file with `"new-plugin-version": "minimum-obsidian-version"` so older versions of Obsidian can download an older version of your plugin that's compatible.
33-
- Create new GitHub release using your new version number as the "Tag version". Use the exact version number, don't include a prefix `v`. See here for an example: https://github.com/obsidianmd/obsidian-sample-plugin/releases
34-
- Upload the files `manifest.json`, `main.js`, `styles.css` as binary attachments. Note: The manifest.json file must be in two places, first the root path of your repository and also in the release.
35-
- Publish the release.
36-
37-
> You can simplify the version bump process by running `npm version patch`, `npm version minor` or `npm version major` after updating `minAppVersion` manually in `manifest.json`.
38-
> The command will bump version in `manifest.json` and `package.json`, and add the entry for the new version to `versions.json`
39-
40-
## Adding your plugin to the community plugin list
41-
42-
- Check the [plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines).
43-
- Publish an initial version.
44-
- Make sure you have a `README.md` file in the root of your repo.
45-
- Make a pull request at https://github.com/obsidianmd/obsidian-releases to add your plugin.
46-
47-
## How to use
48-
49-
- Clone this repo.
50-
- Make sure your NodeJS is at least v16 (`node --version`).
51-
- `npm i` or `yarn` to install dependencies.
52-
- `npm run dev` to start compilation in watch mode.
53-
54-
## Manually installing the plugin
55-
56-
- Copy over `main.js`, `styles.css`, `manifest.json` to your vault `VaultFolder/.obsidian/plugins/your-plugin-id/`.
57-
58-
## Improve code quality with eslint (optional)
59-
- [ESLint](https://eslint.org/) is a tool that analyzes your code to quickly find problems. You can run ESLint against your plugin to find common bugs and ways to improve your code.
60-
- To use eslint with this project, make sure to install eslint from terminal:
61-
- `npm install -g eslint`
62-
- To use eslint to analyze this project use this command:
63-
- `eslint main.ts`
64-
- eslint will then create a report with suggestions for code improvement by file and line number.
65-
- If your source code is in a folder, such as `src`, you can use eslint with this command to analyze all files in that folder:
66-
- `eslint .\src\`
67-
68-
## Funding URL
69-
70-
You can include funding URLs where people who use your plugin can financially support it.
9+
``` Markdown
10+
[[Title#Heading]]
11+
```
7112

72-
The simple way is to set the `fundingUrl` field to your link in your `manifest.json` file:
13+
The link will automatically update to:
7314

74-
```json
75-
{
76-
"fundingUrl": "https://buymeacoffee.com"
77-
}
15+
``` Markdown
16+
[[Title#Heading|Heading]]
7817
```
7918

80-
If you have multiple URLs, you can also do:
19+
This provides a nice appearance but saves the time of manually setting the display text, especially if you use tab to autocomplete the link (when you autocomplete, you have to navigate back in front of the brackets, add the vertical bar, and then type the heading name).
8120

82-
```json
83-
{
84-
"fundingUrl": {
85-
"Buy Me a Coffee": "https://buymeacoffee.com",
86-
"GitHub Sponsor": "https://github.com/sponsors",
87-
"Patreon": "https://www.patreon.com/"
88-
}
89-
}
90-
```
21+
## Features
9122

92-
## API Documentation
23+
In the settings for this plugin, you can specify the format of the display text:
9324

94-
See https://github.com/obsidianmd/obsidian-api
25+
``` Markdown
26+
Just the heading (default): [[Title#Heading|Heading]]
27+
The heading and note name: [[Title#Heading|Title Heading]]
28+
```

main.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { App, Editor, MarkdownView, Modal, Notice, Plugin, PluginSettingTab, Setting } from 'obsidian';
1+
import { App, Editor, Notice, Plugin, PluginSettingTab, Setting } from 'obsidian';
22

33
// Remember to rename these classes and interfaces!
44

@@ -86,6 +86,9 @@ class HeaderDisplayTextSettingTab extends PluginSettingTab {
8686
this.plugin.saveSettings();
8787
});
8888
})
89+
new Setting(containerEl)
90+
.setName('Notifications')
91+
.setDesc('Have a notification pop up whenever a link is automatically changed.')
8992
.addToggle(toggle => {
9093
toggle.setValue(this.plugin.settings.includeNotice);
9194
toggle.onChange(value => {
@@ -94,4 +97,4 @@ class HeaderDisplayTextSettingTab extends PluginSettingTab {
9497
});
9598
})
9699
}
97-
}
100+
}

manifest.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
{
22
"id": "header-display-text",
33
"name": "Header Display Text",
4-
"version": "0.0.0",
4+
"version": "0.1.0",
55
"minAppVersion": "0.15.0",
6-
"description": "Automatically uses linked headers as the display text.",
6+
"description": "Automatically uses linked headers as the display text for the link.",
77
"author": "Robert Arsenault",
8-
"authorUrl": "https://obsidian.md",
9-
"fundingUrl": "https://obsidian.md/pricing",
8+
"authorUrl": "https://github.com/rca-umb",
109
"isDesktopOnly": false
1110
}

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"name": "obsidian-sample-plugin",
3-
"version": "1.0.0",
4-
"description": "This is a sample plugin for Obsidian (https://obsidian.md)",
2+
"name": "header-display-text-plugin",
3+
"version": "0.1.0",
4+
"description": "Plugin for Obsidian (https://obsidian.md) that sets the display text of linked headers to the name of the header.",
55
"main": "main.js",
66
"scripts": {
77
"dev": "node esbuild.config.mjs",

styles.css

Lines changed: 0 additions & 8 deletions
This file was deleted.

versions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"1.0.0": "0.15.0"
2+
"0.1.0": "0.15.0"
33
}

0 commit comments

Comments
 (0)