Skip to content

Commit 1ed33df

Browse files
committed
Much better handling of waiting for the Pixi.js renderer to appear and canceling animation loop if layout changes.
1 parent fe728c6 commit 1ed33df

File tree

2 files changed

+186
-141
lines changed

2 files changed

+186
-141
lines changed

README.md

Lines changed: 15 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,21 @@
1-
# Obsidian Sample Plugin
1+
# GraphLinkTypes for Obsidian
22

3-
This is a sample plugin for Obsidian (https://obsidian.md).
3+
## Summary
4+
GraphLinkTypes is a plugin for Obsidian.md that enhances the graph-view by rendering link types dynamically. This plugin leverages the Dataview API and PIXI.js to create a more informative and interactive graph experience. By displaying the types of links between notes, it provides a clearer understanding of the relationships within your Obsidian vault.
45

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.
6+
## Features
7+
- Dynamically rendered link types in Obsidian's graph view.
8+
- Custom text display for each link based on metadata.
9+
- Efficient updating and rendering using PIXI.js.
710

8-
**Note:** The Obsidian API is still in early alpha and is subject to change at any time!
11+
## Sample Vault Display
12+
![Sample Vault Display](link-to-gif)
913

10-
This sample plugin demonstrates some of the basic functionality the plugin API can do.
11-
- Adds a ribbon icon, which shows a Notice when clicked.
12-
- Adds a command "Open Sample Modal" which opens a Modal.
13-
- Adds a plugin setting tab to the settings page.
14-
- Registers a global click event and output 'click' to the console.
15-
- Registers a global interval which logs 'setInterval' to the console.
14+
## Development and Contributions
15+
Interested in contributing to the development of GraphLinkTypes? Check out the [Obsidian Sample Plugin](https://github.com/obsidianmd/obsidian-sample-plugin) for guidelines on how to develop a custom plugin for Obsidian.
1616

17-
## First time developing plugins?
17+
## Milestone Goals
18+
Stay updated with our progress and future plans by checking our [Milestone Goals](link-to-milestone-goals).
1819

19-
Quick starting guide for new plugin devs:
20-
21-
- 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.
22-
- Make a copy of this repo as a template with the "Use this template" button (login to GitHub if you don't see it).
23-
- Clone your repo to a local development folder. For convenience, you can place this folder in your `.obsidian/plugins/your-plugin-name` folder.
24-
- Install NodeJS, then run `npm i` in the command line under your repo folder.
25-
- Run `npm run dev` to compile your plugin from `main.ts` to `main.js`.
26-
- Make changes to `main.ts` (or create new `.ts` files). Those changes should be automatically compiled into `main.js`.
27-
- Reload Obsidian to load the new version of your plugin.
28-
- Enable plugin in settings window.
29-
- For updates to the Obsidian API run `npm update` in the command line under your repo folder.
30-
31-
## Releasing new releases
32-
33-
- Update your `manifest.json` with your new version number, such as `1.0.1`, and the minimum Obsidian version required for your latest release.
34-
- 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.
35-
- 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
36-
- 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.
37-
- Publish the release.
38-
39-
> 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`.
40-
> The command will bump version in `manifest.json` and `package.json`, and add the entry for the new version to `versions.json`
41-
42-
## Adding your plugin to the community plugin list
43-
44-
- Check https://github.com/obsidianmd/obsidian-releases/blob/master/plugin-review.md
45-
- Publish an initial version.
46-
- Make sure you have a `README.md` file in the root of your repo.
47-
- Make a pull request at https://github.com/obsidianmd/obsidian-releases to add your plugin.
48-
49-
## How to use
50-
51-
- Clone this repo.
52-
- Make sure your NodeJS is at least v16 (`node --version`).
53-
- `npm i` or `yarn` to install dependencies.
54-
- `npm run dev` to start compilation in watch mode.
55-
56-
## Manually installing the plugin
57-
58-
- Copy over `main.js`, `styles.css`, `manifest.json` to your vault `VaultFolder/.obsidian/plugins/your-plugin-id/`.
59-
60-
## Improve code quality with eslint (optional)
61-
- [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.
62-
- To use eslint with this project, make sure to install eslint from terminal:
63-
- `npm install -g eslint`
64-
- To use eslint to analyze this project use this command:
65-
- `eslint main.ts`
66-
- eslint will then create a report with suggestions for code improvement by file and line number.
67-
- 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:
68-
- `eslint .\src\`
69-
70-
## Funding URL
71-
72-
You can include funding URLs where people who use your plugin can financially support it.
73-
74-
The simple way is to set the `fundingUrl` field to your link in your `manifest.json` file:
75-
76-
```json
77-
{
78-
"fundingUrl": "https://buymeacoffee.com"
79-
}
80-
```
81-
82-
If you have multiple URLs, you can also do:
83-
84-
```json
85-
{
86-
"fundingUrl": {
87-
"Buy Me a Coffee": "https://buymeacoffee.com",
88-
"GitHub Sponsor": "https://github.com/sponsors",
89-
"Patreon": "https://www.patreon.com/"
90-
}
91-
}
92-
```
93-
94-
## API Documentation
95-
96-
See https://github.com/obsidianmd/obsidian-api
20+
## Support the Project
21+
If you enjoy using GraphLinkTypes and want to support its development, consider [buying me a coffee](https://www.buymeacoffee.com/natefrisch). Your support helps in maintaining the project and exploring new ideas in community-driven coding.

0 commit comments

Comments
 (0)