{"id":15512250,"url":"https://github.com/bomberstudios/noteplan-backlinks","last_synced_at":"2026-02-11T01:11:30.785Z","repository":{"id":66463010,"uuid":"263416022","full_name":"bomberstudios/noteplan-backlinks","owner":"bomberstudios","description":"Ruby script to create backlinks for NotePlan notes","archived":false,"fork":false,"pushed_at":"2020-05-26T20:54:41.000Z","size":144,"stargazers_count":17,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-29T13:36:50.609Z","etag":null,"topics":["noteplan"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bomberstudios.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-12T18:17:19.000Z","updated_at":"2023-11-16T20:16:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"df8fa64d-4906-43e0-8556-c546e34e67f3","html_url":"https://github.com/bomberstudios/noteplan-backlinks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bomberstudios/noteplan-backlinks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bomberstudios%2Fnoteplan-backlinks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bomberstudios%2Fnoteplan-backlinks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bomberstudios%2Fnoteplan-backlinks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bomberstudios%2Fnoteplan-backlinks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bomberstudios","download_url":"https://codeload.github.com/bomberstudios/noteplan-backlinks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bomberstudios%2Fnoteplan-backlinks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010938,"owners_count":26084837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["noteplan"],"created_at":"2024-10-02T09:53:33.000Z","updated_at":"2025-10-12T09:30:35.881Z","avatar_url":"https://github.com/bomberstudios.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"# NotePlan Backlinks\n\nThis script automates the creation of backlinks between NotePlan notes (including calendar entries).\n\nDisclaimer: I take absolutely no responsibility for any data loss. I assume you have backups, and know that running random code from the internet against your valuable data is generally considered a bad idea. Having said that, I use this with my own data and it _seems_ to work 🤞\n\n## Usage\n\n- Download the `backlinks.rb` file somewhere to your disk\n- Open a Terminal, and run `ruby backlinks.rb`\n\nAlternatively, you can save this code as `~/Library/Scripts/Applications/NotePlan 2/Update Backlinks.scpt` (adjusting the path to your `ruby` binary and to your `backlinks.rb` file):\n\n```applescript\ntell application \"NotePlan\"\n  do shell script \"LC_CTYPE='en_US.UTF-8' ruby /path/to/backlinks.rb\"\nend tell\n```\n\nThen, enable the Scripts Menu in Script Editor › Preferences › General. You’ll now have something like this on your main menu, and updating the backlinks will only take you two clicks:\n\n![](docs/main-menu.png)\n\n## Customization\n\n### Formatting\n\nBy default, backlinks will be added at the end of your notes, with this format:\n\n```\n♻︎ Backlinks\n- [[Link One]]\n- [[Link Two]]\n- [[Link Three]]\n♻︎ Backlinks\n```\n\nTo change it, edit the `BACKLINKS_MARKER` constant in the first line of `backlinks.rb`\n\nThe script assumes your Notes are synced using iCloud. If you're using Dropbox, you'll want to adjust the path in `PATH_TO_NOTEPLAN`.\n\n### Exclude Pages\n\nIf you want to stop backlinks from appearing on some pages, you can add them to the list of excluded pages. To do that, open `backlinks.rb` and add the page name to the `EXCLUDE_PAGES` array at the top.\n\n\n## Changelog\n\n- [x] 2020-05-25: Added support for exclude pages: a list of pages you don't want to add Backlinks to\n- [x] 2020-05-24: The script now displays the line where a link appears on the source page, so you have some context for your backlinks\n- [x] 2020-05-15: Added support for Calendar notes\n\n## Roadmap\n\n- [ ] Option to remove backlinks from all notes\n- [ ] Read Backlinks template from a NotePlan note (this was something VoodooPad did, and I think it's brilliant)\n- [ ] Update script remotely? This may not be worth the trouble of implementing, but on the other hand it would be nice to know if you're running an outdated version…\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbomberstudios%2Fnoteplan-backlinks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbomberstudios%2Fnoteplan-backlinks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbomberstudios%2Fnoteplan-backlinks/lists"}