{"id":13402630,"url":"https://github.com/elias-sundqvist/obsidian-annotator","last_synced_at":"2025-05-15T23:03:54.777Z","repository":{"id":37427731,"uuid":"399882592","full_name":"elias-sundqvist/obsidian-annotator","owner":"elias-sundqvist","description":"A plugin for reading and annotating PDFs and EPUBs in obsidian. ","archived":false,"fork":false,"pushed_at":"2024-01-08T11:21:17.000Z","size":33860,"stargazers_count":1490,"open_issues_count":255,"forks_count":69,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-10-29T17:34:37.573Z","etag":null,"topics":["epub","epub-reader","obsidian","obsidian-md","obsidian-plugin","pdf","pdf-annotator","pdf-viewer"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elias-sundqvist.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.TXT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":["elias-sundqvist"],"custom":["https://www.paypal.com/donate/?hosted_button_id=C5MBC9YBWTYEC"]}},"created_at":"2021-08-25T16:14:48.000Z","updated_at":"2024-10-25T08:41:55.000Z","dependencies_parsed_at":"2023-02-08T08:46:54.069Z","dependency_job_id":"88141cd6-8a45-403e-bef3-82fc0598e426","html_url":"https://github.com/elias-sundqvist/obsidian-annotator","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elias-sundqvist%2Fobsidian-annotator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elias-sundqvist%2Fobsidian-annotator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elias-sundqvist%2Fobsidian-annotator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elias-sundqvist%2Fobsidian-annotator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elias-sundqvist","download_url":"https://codeload.github.com/elias-sundqvist/obsidian-annotator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254436944,"owners_count":22070946,"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","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":["epub","epub-reader","obsidian","obsidian-md","obsidian-plugin","pdf","pdf-annotator","pdf-viewer"],"created_at":"2024-07-30T19:01:18.560Z","updated_at":"2025-05-15T23:03:54.736Z","avatar_url":"https://github.com/elias-sundqvist.png","language":"JavaScript","funding_links":["https://github.com/sponsors/elias-sundqvist","https://www.paypal.com/donate/?hosted_button_id=C5MBC9YBWTYEC"],"categories":["JavaScript"],"sub_categories":[],"readme":"[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/elias-sundqvist/obsidian-annotator?style=for-the-badge\u0026sort=semver)](https://github.com/elias-sundqvist/obsidian-annotator/releases/latest)\r\n![GitHub All Releases](https://img.shields.io/github/downloads/elias-sundqvist/obsidian-annotator/total?style=for-the-badge)\r\n# Obsidian Annotator\r\n\r\nThis is a plugin for Obsidian (https://obsidian.md). It allows you to open and annotate PDF and EPUB files. \r\n\r\nThe plugin is based on https://web.hypothes.is/, but modified to store the annotations in a local markdown file instead of on the internet. \r\n\r\n## Demonstration\r\n![annotator demo](https://user-images.githubusercontent.com/9102856/131702952-1aa76baa-a279-474c-978d-cec95a683485.gif)\r\n\r\n**Warning!** In the above gif I use **Dataview** syntax to specify the annotation-target.\r\nIf you do not have the dataview plugin installed, you must instead write the annotation-target in the **frontmatter**, like this:\r\n```md\r\n---\r\nannotation-target: https://arxiv.org/pdf/2104.13478.pdf\r\n---\r\n```\r\n\r\n## Known issues\r\n\r\n1. Plugin doesn't work on iOS 16.3 or higher. Follow [#289](https://github.com/elias-sundqvist/obsidian-annotator/issues/289) issue state up to date.\r\n2. Reader doesn't show annotations if they were changed on different platforms.\r\n\r\n## Getting Started \r\n\r\nAdd the property `annotation-target` to the frontmatter of your obsidian note, with a value corresponding to the location of the EPUB/PDF file.\r\nThe location can either be a file in the vault (such as `Pdfs/mypdf.pdf`), or online (such as `https://arxiv.org/pdf/2104.13478.pdf`)\r\n\r\nThen you can, in the open note pane, select \"more options\" (the three dots in the top right), and a new option \"annotate\" should be available. \r\n\r\nThe plugin automatically tries to determine whether the file is an `epub` or `pdf` based on the file path, but in case this doesn't work, \r\nyou can also add the property `annotation-target-type` and specify whether it is `epub` or `pdf` manually.\r\n\r\nIf you have [dataview](https://github.com/blacksmithgu/obsidian-dataview) installed, then you can also specify the annotation target with a dataview attribute. In this case, obsidian-style links can be used instead of a plain-text path. \r\n\r\n\u003e WARNING! Don't rename an original pdf or epub file! The plugin is going to lose the connection between annotations and file in that case.\r\n\r\n### Annotating\r\n\r\nAnnotation is self-explanatory. Select text with your mouse to get started. \r\n\r\nIn the future, it would be nice to add colored highlights and image/region highlights. These features will have to be added to hypothes.is first, however.\r\nSee these relevant issues: https://github.com/hypothesis/product-backlog/issues/198,  https://github.com/hypothesis/product-backlog/issues/669\r\n\r\n### The annotations in markdown\r\n\r\nTo return to the regular obsidian markdown editing mode, you can select `more options` → `Open as MD`.\r\nEach annotation has an associated quote block with a block reference. Be careful with modifying these blocks. \r\nMinor edits to PREFIX, HIGHLIGHT, and POSTFIX are typically ok. But if the edits are too major, hypothesis may no longer be able to identify the corresponding text. \r\n\r\nThe COMMENT region can be freely edited. (but ensure that it is still part of the quote block.)\r\n\r\nThe TAGS region should consist of a comma-separated list of obsidian tags. (like `#tag1, #tag2, #tag3`) \r\n\r\n### Dark Mode\r\n\r\nThe plugin has built-in dark mode support. To toggle dark mode, select `more options` → `Toggle Dark Mode` while annotating.\r\nYou can also tweak the dark mode behavior in the settings tab for the plugin. \r\n\r\n### Linking to annotations\r\n\r\nAn obsidian link to an annotation block-reference will, when clicked, open the corresponding file and scroll to the associated highlight. \r\nIf the file is already open in a pane, then the link will cause the existing pane to scroll instead.  \r\n\r\n## Contributing\r\n\r\nVisit [CONTRIBUTING.md](./CONTRIBUTING.md) for information on building from source or contribution improvements. To report a bug, ask a question or suggest an improvement for this plugin, you can create an [issue](https://github.com/elias-sundqvist/obsidian-annotator/issues).\r\n\r\n## Changelog\r\n\r\n### 0.2.11 (2024-01-06)\r\n* Fix issue with rendering annotator in Obsidian 1.5.3 and later (See issue #356)\r\n\r\n### 0.2.10 (2023-01-09)\r\n* Fix bug #284 Plugin didn't start on iOS\r\n\r\n### 0.2.9 (2023-01-05)\r\n* Click on annotation link in markdown causes an immediate jump to annotation in PDF (Thanks to @HardwayLinka)\r\n* Fix broken drag-and-dropped link to highlight caused by line breaks. (See issue #267, Thanks to @HardwayLinka)\r\n\r\n### 0.2.8 (2022-11-27)\r\n* Fixed issue with \"Annotate\" button not appearing (See issue #253)\r\n* Fixed issue with scroll getting stuck after clicking annotation link (See PR #259, Thanks to @HardwayLinka for the contribution)\r\n* Partially fixed issue with annotation links not working (See PR #231, Thanks to @XSAM for the contribution)\r\n\r\n### 0.2.7 (2022-10-31)\r\n* Fixed issue with Latex Equations not rendering in annotations (See issue #228)\r\n* Removed \"sign-in/log-in\" buttons (See issue #241)\r\n* CSS Snippets can now be used to style the hypothesis sidebar\r\n\r\n### 0.2.6 (2022-08-19)\r\n* Fix bug #208 introduced in 0.2.5 It was impossible to open an internal link because of the plugin\r\n\r\n* Internal changes\r\n  * Use dataview package to communicate with dataview plugin\r\n\r\n### 0.2.5 (2022-08-14)\r\n* Move buttons 'Annotate', 'Toggle Dark Mode', 'Open as Markdown' to top of options menu\r\n* Video annotation\r\n  * fix [Video not found error](https://github.com/elias-sundqvist/obsidian-annotator/issues/198)\r\n  * Temporary disable video annotation on mobile devices\r\n\r\n* Internal changes\r\n  * CodeMirror updated to v6\r\n  * obsidian-api updated to 0.15.9\r\n  * betterer was installed with strict typing settings to make plugin more stable and reliable in a future\r\n\r\n### 0.2.4 (2022-07-23)\r\n* Fix [plugin fails to start on iPad](https://github.com/elias-sundqvist/obsidian-annotator/issues/176)\r\n\r\n### 0.2.2 (2022-05-14) *Minor improvement*\r\n* hypothes.is updated up to v1.1055.0\r\n\r\n### 0.2.1 (2022-03-06) **[BRAT](https://github.com/TfTHacker/obsidian42-brat) release** *Basic web and video annotation* \r\n* `annotation-target-type` can now take on the values `web` and `video`. \r\n  * With `web` the annotation target can (in theory) be any website. Some work better than others. Link navigation does not work. \r\n  * With `video`, only youtube links are supported. In order to use this feature, a link to a zip file with the annotator.tv resources must be provided in the plugin settings. It cannot be bundled with the plugin since that would most likely violate copyright. \r\n    * You can ask someone for a link, or generate it yourself by making an account at annotate.tv, signing in, going to https://annotate.tv/videos/620d5a42b9ab630009bf3e31#, and downloading the website using the [Save All Resources](https://chrome.google.com/webstore/detail/save-all-resources/abpdnfjocnmdomablahdcfnoggeeiedb?hl=en) chrome extension, uploading it to google drive, and [generating a direct link](https://sites.google.com/site/gdocs2direct/). \r\n  * Other improvements:\r\n    * Some behind-the-scenes changes have been made so that the hypothes.is version can be more easily upgraded in the future. \r\n\r\n### 0.2.0 (2022-01-26) **[BRAT](https://github.com/TfTHacker/obsidian42-brat) release** *Improved markdown rendering, epub reader* \r\n* Markdown in the hypothesis sidebar should now fully support the regular obsidian syntax. (including links, embeds, custom codeblocks etc.)\r\n* Several Epub improvements, Thanks to @aladmit for these!\r\n  * New option added for font size scaling (See PR #127)\r\n  * New \"epub reader mode\" setting added. Infinite scrolling is now supported! (See PR #114)\r\n  * Reduced page padding so that maximum available space is used. (See PR #126)\r\n  \r\n### 0.1.9 (2022-01-17) *Minor fix* \r\n* Removed sentry logging, again, (See issue #97)\r\n\r\n### 0.1.8 (2022-01-16) *Minor fixes, added default annotation mode setting* \r\n* Fixed issue with pane loading on startup\r\n* Fixed some issues with epub highlighting\r\n* Added setting to choose default annotation mode, Thanks to @aladmit for the PR! (See PR #113)\r\n \r\n### 0.1.7 (2022-01-14) **[BRAT](https://github.com/TfTHacker/obsidian42-brat) release** *chinese file name support* \r\n* Fixed issue with chinese file names, as discussed in issue #53\r\n \r\n### 0.1.6 (2022-01-12) **[BRAT](https://github.com/TfTHacker/obsidian42-brat) release** *Live Preview Drag and Drop fix + chinese character support* \r\n* Drag and drop should now work in live preview (See issue #103)\r\n* Upgraded pdf.js to a newer version.\r\n  * Improved character support. (Japanese and Chinese letters should now work), (See issue #53)\r\n* Removed sentry logging (See issue #97)\r\n \r\n\r\n### 0.1.5 (2021-12-19) *Quick fix*\r\n* Apparently the previous update broke some of the old annotations for some people (See issue #95). This version hopefully fixes that.   \r\n\r\n### 0.1.4 (2021-12-18) *Fix Issue With Ipad + Windows/Android compatibility.*\r\n* See issue #70, Thanks to @jonasmerlin for the fix! \r\n \r\n### 0.1.3 (2021-09-12) *Basic CORS support for desktop*\r\n* Added a basic workaround for CORS issues. This should make more links possible to view. (See issue #15)\r\n  * Note that this workaround only works on the desktop version of obsidian.\r\n \r\n### 0.1.2 (2021-09-11) *Quick Fix*\r\n* Fixed critical bug that prevented any annotations from being saved. (See issue #61)\r\n\r\n### 0.1.1 (2021-09-10) *Drag \u0026 Drop Fixes, Open links in new pane, Multi-Line Comments Fix*\r\n* Drag and drop has been improved. The drop handlers are now unloaded when the plugin is unloaded. The issues regarding interferrence with other Drag and Drop functionality are hopefully also resolved.  (See Issue #50)\r\n* Using an array format for the annotation target should now work. This improves compatibility with MetaEdit (See Issue #51)\r\n* Holding \u003ckbd\u003ectrl\u003c/kbd\u003e and clicking links (or clicking with the mouse-wheel) now opens annotations in a new pane. (See Issue #54)\r\n* Issue with multi-line comments should be resolved. (See Issue #47)\r\n* A new command (`Toggle Annotation/Markdown mode) has been added. This can be bound to a hotkey in obsidian, enabling more efficient switching between the two modes. (See issue #39)\r\n* Other things\r\n  * A basic unit-test for annotation loading has also been added. More tests will be added as issues arise. This will guarantee that the plugin becomes increasingly stable over time.\r\n\r\n### 0.1.0 (2021-09-03) *Added annotation highlight drag and drop*\r\n* By holding the \u003ckbd\u003eshift\u003c/kbd\u003e key you can now drag highlights from the epub/pdf into a separate Obsidian note, and a link to the highlight will be inserted. \r\n  ![highlight drag and drop](https://user-images.githubusercontent.com/9102856/132098957-e6850c9f-77a0-4fd5-91ac-e7095cfbea9d.gif)\r\n\r\n### 0.0.9 (2021-09-03) *Quick fix for annotation id bug*\r\n* See #37\r\n\r\n### 0.0.8 (2021-09-03) *Added Pre/Postfix setting toggles, Fixed scrolling issue, More size reductions.*\r\n* The plugin is now available in the community plugins list! \r\n* The Pre- and Postfix parts of the annotation markdown can now be disabled in the settings. (See #30)\r\n* Clicking a PDF annotation link now causes an immediate jump to the annotation. No more glitchy scrolling. (See #21)\r\n* Potential fix to the memory leak mentioned in #28 added.\r\n* Added core-js. Will hopefully mean that the plugin works with older versions of node (see #34)\r\n* Disabled global WebSocket override. Should resolve issues with Obsidian Sync (see #36)\r\n* Further size reductions of the plugin\r\n  * React is now built in 'production' mode.\r\n  * All the embedded resources now use the highest zip compression ratio.\r\n\r\n### 0.0.7 (2021-09-01) *Added Custom Default Path setting, Page notes fix, Slight JSON size reduction, etc.*\r\n* Added a new setting called `Custom Default Path`. See [this comment on #19](https://github.com/elias-sundqvist/obsidian-annotator/issues/19#issuecomment-909549603) for more info. \r\n* Top-level values in the annotation JSON will now be ommited if their values are \"unsurprising\". See #24\r\n* Fixed page notes breaking the loading of annotations.\r\n* Made the `Post to...` button always say `Post to Only Me` to reduce privacy confusion. \r\n* Further reduced plugin size\r\n  * Switched from base64 to full unicode encoding\r\n  * Added minimization of resources before zip generation\r\n  * Added minimization of final rollup output\r\n* Minor fixes\r\n  * Removed warning about websocket userid mismatch\r\n  * Added possible fix to #13\r\n\r\n### 0.0.6 (2021-08-30) *`file:` protocol support, various url fixes, privacy improvements, minor fixes*\r\n* Fixed so that no initial http request is made to the hypothes.is servers. \r\n* Hypothes.is performance trackers removed. \r\n* No more error messages from the websocket api. \r\n* The stored annotations no longer reference the sample pdf url, since that confused some users. (See issue #7)\r\n* Initial support for `file:` protocol links added. (Has not been tested much yet.)\r\n* The placeholder staus bar text has been removed (See issue #17)\r\n\r\n### 0.0.5 (2021-08-26) *Fixed EPUB bug, minor file restructuring*\r\n* The files necessary for the epub reader were `.gitignore`d, which prevented it from working in the previous releases.  (See issue #6)\r\n* The code files has been moved to the `src` directiory so that the repo looks a bit less messy. \r\n\r\n### 0.0.4 (2021-08-26) *Chinese File name support*\r\n* Added support for chinese file names. (See issue #4)\r\n\r\n### 0.0.3 (2021-08-26) *Plugin Size Reduction*\r\n* Removed some unnecessary files to reduce plugin size.\r\n\r\n### 0.0.2 (2021-08-26) *Minor fixes*\r\n* Removed logging, \r\n* Simplified link handling\r\n* viewer height is now 100% instead of fixed to 1000px. \r\n\r\n### 0.0.1 (2021-08-25) *First Release*\r\n* Basic functionality of the plugin implemented\r\n\r\n## License\r\n\r\n\u003e Note: The files under the `resources` folder are scraped from the web. Each website has its licence file attached in the associated folder.\r\n\r\n[Obsidian Annotator](https://github.com/elias-sundqvist/obsidian-annotator) is licensed under the GNU AGPLv3 license. Refer to [LICENSE](https://github.com/elias-sundqvist/obsidian-annotator/blob/master/LICENSE.TXT) for more information.\r\n\r\n\r\n## Support\r\n\r\nIf you want to support me and my work, you can [sponsor me on Github](https://github.com/sponsors/elias-sundqvist) (preferred method) or donate something on [**Paypal**](https://www.paypal.com/donate/?hosted_button_id=C5MBC9YBWTYEC).\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felias-sundqvist%2Fobsidian-annotator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felias-sundqvist%2Fobsidian-annotator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felias-sundqvist%2Fobsidian-annotator/lists"}