Skip to content

Connect your notes like a pro! ๐Ÿ”— This Obsidian plugin scans your markdown files, detects potential links, and suggests connections. With caching for speed, a sleek modal for link suggestions, and batch link selection, you'll be weaving your notes together effortlessly! ๐Ÿ•ธ๏ธโœจ

License

Notifications You must be signed in to change notification settings

mathe00/obsidian-better-auto-linker-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“„ Obsidian Better Auto Linker - Obsidian Plugin

๐Ÿ‘‹ Welcome to the Obsidian Better Auto Linker repository!

This plugin was created to automate the creation of links between notes in Obsidian, and while the developer isnโ€™t a professional coder, they do know Python ๐Ÿ well enough to understand most of whatโ€™s going on... more or less ๐Ÿ˜…. When it comes to JavaScript and TypeScript, however, itโ€™s a different story. So, everything has been coded in JavaScript and kept in one single main.js file (yes, itโ€™s not the cleanest, but it works!) ๐Ÿฅฒ.

Oh, and by the way, English isnโ€™t my first language! So, I apologize in advance if I misunderstand anything or donโ€™t respond perfectly to issues or pull requests ๐Ÿ˜…. Please be patient, and Iโ€™ll do my best to understand and reply!

The goal of this plugin is simple: make life in Obsidian easier by automatically linking notes together. With a few more ideas in mind, this plugin will hopefully keep evolving into something even more useful!

๐Ÿš€ Features Available

The plugin already offers several handy features for automating link creation between notes:

  • ๐Ÿ“ Note scanning: Scans markdown files to detect potential matches with other notes.
  • ๐Ÿ”— Link suggestions: Provides link suggestions to insert into the active note.
  • โšก Title caching: Uses a caching system to avoid re-indexing all notes every time, improving performance.
  • ๐Ÿ“„ Modal interface with pagination: Displays results in a modal with navigation buttons to go through the result pages.
  • โœ… Link selection: Allows selecting all links on a page or from the entire set of found matches.
  • ๐Ÿ” Excluding folders and frontmatter: Lets you exclude certain folders or sections (like frontmatter) from being scanned.
  • ๐Ÿ”ก Case sensitivity: Supports case-sensitive matching for notes.
  • ๐Ÿ”— Wikilinks support: Works with Wikilinks (itโ€™s not perfect, but it works!).
  • ๐Ÿ“ Custom modal length: Adjust the length of the popup to make selecting links easier.

๐Ÿ› ๏ธ Features for the Future (Roadmap)

Hereโ€™s a checklist of ideas for future features (if someone is willing to help or if I get the energy to add them ๐Ÿ˜„):

  • ๐Ÿ“ Note alias support: Add support for managing and resolving note aliases.
  • ๐Ÿ”— Improved Wikilink support: Make handling Wikilinks even smoother.
  • โš™๏ธ Advanced filtering options: Add more customizable filtering options for note scanning.
  • ๐Ÿ“Š Link statistics: Provide stats on the connections between notes to better visualize their interconnections.
  • ๐ŸŽจ Better UI/Design for link selection: Improve the aesthetics and user interface for selecting links to create.
  • ๐Ÿ› Fix display bugs/misalignment: Correct display issues or alignment bugs.
  • ๐Ÿ“ Handle special characters properly: Improve handling of special characters like parentheses or backslashes that JavaScript struggles with.
  • โšก Optimize speed further: Make the scanning process even faster and more efficient.
  • ๐Ÿ–ผ๏ธ Customizable selection window: Allow customization of the selection window, such as the amount of context shown for each link.
  • ๐Ÿ“ Alias detection and replacement: Support the detection and replacement of links using note aliases.
  • ๐Ÿ”„ Proper link replacement: Ensure that link replacement works smoothly, without bugs, and in the correct order.
  • ๐ŸŒŸ And many more...: Thereโ€™s always room for more improvements and ideas!

๐Ÿ› ๏ธ Why this Plugin?

I know there are already similar plugins, but many seem abandoned ๐Ÿ˜ด. So, this plugin was created to fill that gap and meet my own needs. For now, everything is coded in one file (main.js)โ€”yes, I took the lazy route ๐Ÿ˜…โ€”but it works, and I think it should hold up fine even with future features.

However, if the community strongly feels it should be refactored into TypeScript for cleanliness, thatโ€™s an option. Just donโ€™t expect much help from me on that frontโ€”TypeScript and I donโ€™t get along well ๐Ÿ˜….

๐Ÿ› ๏ธ Contributing

If youโ€™re comfortable with JavaScript or TypeScript and you see ways to improve or add features, any help would be greatly appreciated!
This project has potential to become cleaner and more robust, so if you want to refactor the code or suggest improvements, pull requests and issues are open! ๐ŸŽ‰

๐Ÿ› ๏ธ Installation

To install and try out the Obsidian Better Auto Linker Plugin, follow these steps:

  1. Download the main.js and manifest.json files from this repository.
  2. Create a new folder in your Obsidian vault under the path:
    <your-vault>/.obsidian/plugins/obsidian-better-auto-linker/
  3. Place the downloaded main.js and manifest.json files into this folder.
  4. Restart Obsidian.
  5. Go to Settings > Community plugins and enable the Obsidian Better Auto Linker Plugin.

Thatโ€™s it! The plugin should now be active, and you can start using it to automate the linking of your notes.

๐Ÿ”— Other plugins

Iโ€™ve also created other plugins for Obsidian, so if youโ€™re curious, feel free to check them out on my GitHub profile.

โœ‰๏ธ Contact

If you have suggestions, ideas for improvements, or run into any bugs, feel free to open an issue or a pull request. Since English isnโ€™t my first language, please be patient if I misunderstand something or take time to respond. Iโ€™ll do my best to understand and reply! ๐Ÿคž

โญ Show Your Support

Iโ€™m not really concerned about the number of stars, but if you find this project useful or interesting, consider giving it a star on GitHub to help me gauge the interest. If youโ€™d rather not leave a star, thatโ€™s totally fine โ€“ feel free to open an issue, submit a pull request, or even drop a message of support in an issue instead! All kinds of feedback, advice, and contributions are always welcome and appreciated. ๐Ÿ˜Š


Thanks to everyone who takes the time to test, contribute, or even just read this README! Together, we can turn this plugin into something really useful for the Obsidian community. ๐Ÿ’ช

About

Connect your notes like a pro! ๐Ÿ”— This Obsidian plugin scans your markdown files, detects potential links, and suggests connections. With caching for speed, a sleek modal for link suggestions, and batch link selection, you'll be weaving your notes together effortlessly! ๐Ÿ•ธ๏ธโœจ

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published