{"id":18405492,"url":"https://github.com/jumper047/fb2-reader","last_synced_at":"2025-04-07T08:32:10.010Z","repository":{"id":146680639,"uuid":"398553705","full_name":"jumper047/fb2-reader","owner":"jumper047","description":"Emacs plugin to read .fb2 and .fb2.zip ebooks.","archived":false,"fork":false,"pushed_at":"2025-03-26T22:43:47.000Z","size":3177,"stargazers_count":26,"open_issues_count":5,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-26T23:29:59.516Z","etag":null,"topics":["emacs","fb2"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jumper047.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-08-21T12:35:53.000Z","updated_at":"2025-03-26T22:43:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"94ddb3cb-b939-4a4d-82e0-1c9592209667","html_url":"https://github.com/jumper047/fb2-reader","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jumper047%2Ffb2-reader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jumper047%2Ffb2-reader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jumper047%2Ffb2-reader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jumper047%2Ffb2-reader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jumper047","download_url":"https://codeload.github.com/jumper047/fb2-reader/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247620204,"owners_count":20968153,"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":["emacs","fb2"],"created_at":"2024-11-06T03:01:40.293Z","updated_at":"2025-04-07T08:32:10.003Z","avatar_url":"https://github.com/jumper047.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"#+TITLE: FB2-reader\n#+html: \u003cimg src=\"./images/mascot.gif\" align=\"right\" width=\"16%\"\u003e\n#+PROPERTY: LOGGING nil\n[[https://melpa.org/#/fb2-reader][file:https://melpa.org/packages/fb2-reader-badge.svg]]\n\nPlugin for Emacs to read FictionBook2 ebooks.\n\n*Features:*\n \n- read .fb2 and .fb2.zip files\n- reach book formatting\n- showing current title in header line\n- internal links (select from keyboard, jump back and forth)\n- navigation (next/previous chapters, imenu support)\n- restoring last read position\n- displaying raw xml\n- book info screen\n- table of content in separate buffer\n\n*Coming soon:*\n\n- integration with https://github.com/jumper047/librera-sync\n- rendering book in org-mode\n\n* Screenshots\n\n*Main window*\n\n[[./images/main_window.png]]\n\n\n*Header line*\n\n[[./images/headerline.gif]]\n\n\n*Metadata screen*\n\n[[./images/metadata.png]]\n\n\n*Book loading screen*\n\n[[./images/splash_screen.png]]\n\n*Outline*\n\n[[./images/outline.png]]\n\n\n* TL;DR\n  Add to your config and open any .fb2 or .fb2.zip document.\n  #+begin_src emacs-lisp\n    (use-package fb2-reader\n      :mode (\"\\\\.fb2\\\\(\\\\.zip\\\\)?\\\\'\" . fb2-reader-mode)\n      :commands (fb2-reader-continue)\n      :custom\n      ;; This mode renders book with fixed width, adjust to your preferences.\n      (fb2-reader-page-width 120)\n      (fb2-reader-image-max-width 400)\n      (fb2-reader-image-max-height 400))\n  #+end_src\n\n* Installation\n\n  Install =fb2-reader= from MELPA and add that string to your config:\n   #+begin_src emacs-lisp\n     (require 'fb2-reader)\n   #+end_src\n\n   Also you can set it up with use-package:\n   #+begin_src emacs-lisp\n     (use-package fb2-reader\n       :commands (fb2-reader-continue))\n   #+end_src\n\n* Customization\n  Every book rendered as buffer with certain width, so you may want to tune variables related to your monitor's size or reading preferences:\n  - *fb2-reader-page-width* - width of rendered book\n  - *fb2-reader-image-max-width* and *fb2-reader-image-max-height* - max. width and height of an images in book.\n  \n  You can view all available options with =M-x customize-group fb2-reader=.\n  \n* Usage\n  Just open an .fb2 or .fb2.zip file.\n  First opening will take a time - book will be rendered and saved to cache, so all next ones will be quick.\n  You can continue reading by executing =M-x fb2-reader-continue=.\n  Key bindings listed below:\n\n  *Fb2-reader:*\n  |----------+-----------------------------------------|\n  | Key      | Action                                  |\n  |----------+-----------------------------------------|\n  | =[=, =]= | Jump to previous or next chapter        |\n  |----------+-----------------------------------------|\n  | =p=, =n= | Jump to previous or next displayed link |\n  |----------+-----------------------------------------|\n  | =l=, =B= | Jump to last used link's location       |\n  |----------+-----------------------------------------|\n  | =B=, =N= | Jump to last used link's target         |\n  |----------+-----------------------------------------|\n  | =g=      | Reload current book                     |\n  |----------+-----------------------------------------|\n  | =v=      | View current book as xml                |\n  |----------+-----------------------------------------|\n  | =x=      | Reopen fb2.zip document as archive      |\n  |----------+-----------------------------------------|\n  | =i=      | View FB2 metadata                       |\n  |----------+-----------------------------------------|\n  | =j=      | Jump to chapter via imenu               |\n  |----------+-----------------------------------------|\n  | =o=, =t= | Show TOC outline                        |\n  |----------+-----------------------------------------|\n  | =c=      | Toggle no-cursor mode                   |\n  |----------+-----------------------------------------|\n  *Metadata:*\n  |----------+------------------------------------|\n  | Key      | Action                             |\n  |----------+------------------------------------|\n  | =p=, =n= | Jump to previous or next field     |\n  |----------+------------------------------------|\n  | =P=, =N= | Jumps to previous or next category |\n  |----------+------------------------------------|\n  | =c=      | Toggle no-cursor mode              |\n  |----------+------------------------------------|\n  | =q=      | Quit window                        |\n  |----------+------------------------------------|\n  *Outline:*\n  |----------------+-------------------------------------------------|\n  | Key            | Action                                          |\n  |----------------+-------------------------------------------------|\n  | =p=, =n=       | Jump to previous or next heading                |\n  |----------------+-------------------------------------------------|\n  | =RET=          | Follow link                                     |\n  |----------------+-------------------------------------------------|\n  | =C-o=, =SPACE= | Display link (withoiut switching to fb2 buffer) |\n  |----------------+-------------------------------------------------|\n  | =M-RET=        | Follow link and quit TOC window                 |\n  |----------------+-------------------------------------------------|\n  | =o=, =t=       | Switch to fb2 window                            |\n  |----------------+-------------------------------------------------|\n  | =q=            | Quit TOC window                                 |\n  |----------------+-------------------------------------------------|\n  | =Q=            | Kill TOC window                                 |\n  |----------------+-------------------------------------------------|\n\n* Aknowledgements\nHeavily inspired by [[https://github.com/spline1986][@spline1986's]] [[https://github.com/spline1986/fb2-mode][fb2-mode]].\nAlso kudos for [[https://github.com/vlichevsky][@vlichevsky]] - his testing is extremely helpful!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjumper047%2Ffb2-reader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjumper047%2Ffb2-reader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjumper047%2Ffb2-reader/lists"}