Skip to content

Foxycape PDF

Embed Foxycape PDF reader in Obsidian with annotation sync. - This plugin has not been manually reviewed by Obsidian staff.

The above warnings are based on limited information and might not always be accurate.

Data

IDfoxycape-pdf
Authorjansxue
Minimum Obsidian Version1.7.2
Official Release Date2026-08-11
Last update2026-10-24

Last Refresh

Obsidian Stats last refreshed the data behind this page on Oct 27, 2026.

Community plugin snapshotOct 26, 2026
Repository clonelast successful checkout Oct 27, 2026
Release acquisitionrelease metadata checked Oct 27, 2026; latest main.js acquired

Quick Links

Changes

DateChanged PropertyOld ValueNew Value
2026-08-11Plugin Added
2026-08-11authorFoxycapejansxue
2026-10-22Plugin Removed
2026-10-24Plugin Re-Added

Repository Data

LicenseSEE LICENSE IN LICENSE.md in package.json
Unrecognized in LICENSE file
Package Managernpm
Uses TypescriptYes
Installed BundlersVite
Installed Testing FrameworksVitest
Has Test FilesYes
Latest Release main.js Size130 KB
Detected ES VersionES2020
Probably MinifiedYes
main.js API Findings12 disclosures
Uses BRAT beta releasesNo
Dependencies@crazydos/vue-markdown, @foxycape/core, @lucide/vue, dexie, events, fflate, hash-wasm, js-base64, js-logger, katex, perfect-debounce, photoswipe, rehype-highlight, rehype-katex, remark-gfm, remark-math, scheduler-polyfill, tslib, type-detect, ua-parser-js, vue, vue-virtual-scroller
Dev Dependencies@eslint/js, @eslint/json, @tailwindcss/vite, @types/node, @types/ua-parser-js, @typescript-eslint/parser, @vitejs/plugin-vue, @vue/test-utils, eslint, eslint-plugin-obsidianmd, fake-indexeddb, jsdom, obsidian, openai, sass, tailwindcss, tailwindcss-animate, typescript, typescript-eslint, vite, vitest, vue-tsc

main.js API Findings

These findings come directly from Glass Lint's JavaScript and Obsidian rule catalogs applied to the latest release main.js. The confidence column is Glass Lint's definite/possible match certainty.

DisclosureRule Descriptions
Browser Environment AccessReads browser environment data
Browser Storage AccessUses persistent browser storage
Dynamic Code Or Remote CodeEvaluates dynamic code
Lifecycle EventsRegisters Obsidian lifecycle events
Markdown ProcessingUses markdown link helpers
Metadata AccessReads Obsidian metadata cache
Network AccessConstructs or references URLs, References authorization or user-agent headers, Uses Obsidian request APIs, Uses browser network request APIs
Platform BranchingChecks Obsidian platform flags
Plugin Storage AccessReads plugin data, Writes plugin data
User Interface AccessRegisters Obsidian views, Registers commands, Registers plugin settings UI, Uses Obsidian modal UI, Uses Obsidian notices
Workspace AccessAccesses the active file, Registers Obsidian workspace events
Workspace LayoutManages workspace leaves
FindingTypeConfidenceEvidence
Evaluates dynamic codeWarningDefiniteconstructor of "Function"
Reads browser environment dataInfoDefinitemember_read of "screen.width" (2), member_read of "screen.height" (2), member_read of "navigator.language", member_read of "navigator.maxTouchPoints", member_read of "screen.orientation"
Uses persistent browser storageInfoDefinitemember_call of "localStorage.getItem" (2), member_call of "localStorage.setItem" (2), member_call of "indexedDB.open" (2)
Uses browser network request APIsInfoDefinitecall of "fetch" (3)
References authorization or user-agent headersInfoDefinitestring_contains of "user-agent", string_contains of "User-Agent"
Constructs or references URLsInfoDefinitemember_call of "URL.createObjectURL", member_call of "URL.revokeObjectURL", member_call of "URL.canParse", constructor of "URLSearchParams" (3), constructor of "URL" (5), string_contains of "https://" (6), string_contains of "http://"
Registers Obsidian lifecycle eventsInfoDefinitemember_call of "obsidian.Plugin" (2)
Uses markdown link helpersInfoDefinitemember_call of "obsidian" (5)
Reads Obsidian metadata cacheInfoDefinitemember_call of "app.metadataCache.getFirstLinkpathDest", member_read of "app.metadataCache"
Uses Obsidian request APIsInfoDefinitemember_call of "obsidian" (3)
Checks Obsidian platform flagsInfoDefinitemember_read of "obsidian"
Reads plugin dataInfoDefinitemember_call of "obsidian.Plugin"
Writes plugin dataInfoDefinitemember_call of "obsidian.Plugin"
Registers commandsInfoDefinitemember_call of "obsidian.Plugin" (4)
Uses Obsidian modal UIInfoDefiniteclass of "obsidian.Modal"
Uses Obsidian noticesInfoDefiniteconstructor of "obsidian.Notice" (5)
Registers plugin settings UIInfoDefiniteclass of "obsidian.PluginSettingTab", member_call of "obsidian.Plugin"
Registers Obsidian viewsInfoDefinitemember_call of "obsidian.Plugin"
Accesses the active fileInfoDefinitemember_call of "app.workspace.getActiveFile"
Registers Obsidian workspace eventsInfoDefinitemember_call of "app.workspace.on" (4)
Manages workspace leavesInfoDefinitemember_call of "app.workspace.getLeaf", member_call of "app.workspace.revealLeaf"

The above data may not be accurate and contain errors. For more information refer to the page about data collection.

Lines of Code

The plugin has a total of 34059 lines of code. The following chart shows the lines of code split by programming language.

Downloads

The following chart shows the total number of downloads of the plugin over time. The second chart shows the delta of downloads per week, which is the number of new downloads per week. New version releases are marked with vertical lines.

Version History

VersionRelease DateNote
3.3.62026-08-12None
3.3.72026-08-13None
3.3.82026-08-13None
3.3.92026-08-13None
3.4.02026-08-13None
3.4.12026-08-14None
3.4.22026-08-16None
3.4.32026-08-17None
3.4.42026-08-19None
3.4.52026-10-25None