EPUB++

pending

by prLorence

Read EPUB files with deep linking, backlink highlights, and CFI-based annotations.

1 starsUpdated today0BSDDiscovered via Obsidian Unofficial Plugins
View on GitHub

EPUB++

Read EPUB files in Obsidian with deep linking, backlink highlights, and CFI-based annotations.

Desktop only. Requires Obsidian 1.12.7+.

Features

Reader

  • Paginated or scrolled reading modes
  • Customizable display: font size, font family, line height, margins
  • Themes: match Obsidian, light, dark, or sepia
  • Table of contents panel with active chapter tracking
  • Vim keybindings (optional): j/k, h/l, g/G for navigation
  • Reading progress: auto-saved per book, syncs to disk every N page turns (configurable)
  • Continue reading command to resume your most recent book

Deep linking

Select text in the reader and pick a color to create a CFI-based link:

[[book.epub#cfi=/6/14!/4/2/1:0&end=/6/14!/4/2/1:42&color=yellow&chapter=Chapter+1&text=selected+text]]

Links can be copied to clipboard or inserted directly into the active note (at cursor or appended).

Backlink highlights

Links from your notes back to an EPUB are rendered as colored highlights in the reader. The backlink panel groups them by chapter with hover sync between the panel and the reader.

Embeds

Embed highlighted passages as styled blockquotes in your notes:

![[book.epub#cfi=/6/14!/4/2/1:0&end=/6/14!/4/2/1:42&color=yellow&chapter=Chapter 1]]

Text is resolved from the EPUB and cached for fast rendering.

Copy templates

Customize how links are formatted with template variables:

VariableDescription
{{fileName}}EPUB filename without extension
{{title}}Book title from metadata
{{author}}Book author from metadata
{{chapter}}Current chapter name
{{selection}}Selected text
{{linkedSelection}}Selected text as a wikilink
{{link}}Short display alias link
{{rawLink}}Plain wikilink without alias
{{color}}Highlight color name

Default template:

> [!quote|{{color}}] {{chapter}}
> {{linkedSelection}}

Multiple templates can be saved and switched between.

Color palette

Seven default colors (yellow, red, green, blue, purple, pink, orange) with full customization: add, rename, change hex values, or delete. Use number keys 1-9 to quickly apply colors to a selection.

Installation

From community plugins

Search for EPUB++ in Obsidian's community plugin browser.

Manual

Copy main.js, styles.css, and manifest.json into your vault at:

<vault>/.obsidian/plugins/epub-plus/

Settings

SectionSettingDefault
ReaderReading modePaginated
ReaderFont size18px
ReaderLine height1.6
ReaderMargin40px
ReaderThemeMatch Obsidian
ReaderShow TOC on openOff
BacklinksEnable highlightingOn
BacklinksHighlight opacity0.3
BacklinksShow backlink panelOff
BacklinksFilter by chapterOff
CopyDefault highlight colorYellow
CopyAuto-copy on highlightOff
CopyAdd to note modeAppend
HoverHover actionShow preview
HoverHover syncBoth directions
KeyboardVim keybindingsOff
ProgressAuto-save progressOn
ProgressSync every n pages5

Development

npm install
npm run dev     # watch mode
npm run build   # production build
npm run lint    # eslint

License

0-BSD

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.