All Projects → jumper047 → fb2-reader

jumper047 / fb2-reader

Licence: GPL-3.0 license
Emacs plugin to read .fb2 and .fb2.zip ebooks.

Programming Languages

emacs lisp
2029 projects

Labels

Projects that are alternatives of or similar to fb2-reader

fb2parser
fb2 parser java
Stars: ✭ 26 (+44.44%)
Mutual labels:  fb2
Foliate
A simple and modern GTK eBook reader
Stars: ✭ 3,150 (+17400%)
Mutual labels:  fb2
Koreader
An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices
Stars: ✭ 9,467 (+52494.44%)
Mutual labels:  fb2
Koodo Reader
A modern ebook manager and reader with sync and backup capacities for Windows, macOS, Linux and Web
Stars: ✭ 2,938 (+16222.22%)
Mutual labels:  fb2
bookr-mod-vita
A book reader for the Vita and Switch. Still a work in progress.
Stars: ✭ 51 (+183.33%)
Mutual labels:  fb2
habr to fb2
Экспорт избранного хабрахабра в fb2
Stars: ✭ 36 (+100%)
Mutual labels:  fb2
Wedge
可配置的小说下载及电子书生成工具
Stars: ✭ 62 (+244.44%)
Mutual labels:  fb2
FB2Library
Cross-Platform .NET library for read .FB2 ebook files.
Stars: ✭ 23 (+27.78%)
Mutual labels:  fb2
DotOPDS
Lightweight .NET OPDS server
Stars: ✭ 20 (+11.11%)
Mutual labels:  fb2
fb2reader
FB2 Reader Firefox Addon
Stars: ✭ 17 (-5.56%)
Mutual labels:  fb2

FB2-reader

https://melpa.org/packages/fb2-reader-badge.svg

Plugin for Emacs to read FictionBook2 ebooks.

Features:

  • read .fb2 and .fb2.zip files
  • reach book formatting
  • showing current title in header line
  • internal links (select from keyboard, jumb back and forth)
  • navigation (next/previous chapters, imenu support)
  • restoring last read position
  • displaying raw xml
  • book info screen
  • table of content in separate buffer

Coming soon:

Screenshots

Main window

./images/main_window.png

Header line

./images/headerline.gif

Metadata screen

./images/metadata.png

Book loading screen

./images/splash_screen.png

Outline

./images/outline.png

TL;DR

Add to your config and open any .fb2 or .fb2.zip document.

(use-package fb2-reader
  :commands (fb2-reader-continue)
  :custom
  ;; This mode renders book with fixed width, adjust to your preferences.
  (fb2-reader-page-width 120)
  (fb2-reader-image-max-width 400)
  (fb2-reader-image-max-height 400))

Installation

Install fb2-reader from MELPA and add that string to your config:

(require 'fb2-reader)

Also you can set it up with use-package:

(use-package fb2-reader
  :commands (fb2-reader-continue))

Customization

Every book rendered as buffer with certain width, so you may want to tune variables related to your monitor’s size or reading preferences:

  • fb2-reader-page-width - width of rendered book
  • fb2-reader-image-max-width and fb2-reader-image-max-height - max. width and height of an images in book.

You can view all available options with M-x customize-group fb2-reader.

Usage

Just open an .fb2 or .fb2.zip file. First opening will take a time - book will be rendered and saved to cache, so all next ones will be quick. You can continue reading by executing M-x fb2-reader-continue. Key bindings listed below:

Fb2-reader:

KeyAction
[, ]Jump to previous or next chapter
p, nJump to previous or next displayed link
l, BJump to last used link’s location
B, NJump to last used link’s target
gReload current book
vView current book as xml
xReopen fb2.zip document as archive
iView FB2 metadata
jJump to chapter via imenu
o, tShow TOC outline
cToggle no-cursor mode

Metadata:

KeyAction
p, nJump to previous or next field
P, NJumps to previous or next category
cToggle no-cursor mode
qQuit window

Outline:

KeyAction
p, nJump to previous or next heading
RETFollow link
C-o, SPACEDisplay link (withoiut switching to fb2 buffer)
M-RETFollow link and quit TOC window
o, tSwitch to fb2 window
qQuit TOC window
QKill TOC window

Aknowledgements

Heavily inspired by @spline1986’s fb2-mode. Also kudos for @vlichevsky - his testing is extremely helpful!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].