u/AndyHazz

Image 1 — Bookshelf v5.4 - 'shelf of shelves' and themes per shelf
Image 2 — Bookshelf v5.4 - 'shelf of shelves' and themes per shelf
Image 3 — Bookshelf v5.4 - 'shelf of shelves' and themes per shelf
Image 4 — Bookshelf v5.4 - 'shelf of shelves' and themes per shelf
▲ 176 r/koreader

Bookshelf v5.4 - 'shelf of shelves' and themes per shelf

Another bookshelf update ...

https://github.com/AndyHazz/bookshelf.koplugin

The two biggest changes this week are probably a new shelf source 'shelf of shelves', and the ability to have a different theme per shelf. The videos attached to this post show how they work probably better than words could ...

Shelf of shelves - Basically you can now build up a custom shelf from multiple shelves, with different sources/filters etc. You can even nest them to get shelves of shelves of shelves of shelves.

Themes per shelf - you can now set a separate theme per shelf. This does require a bit of effort to create theme packs as that's currently the only way to bundle wallpaper/ornaments/planks and colours together as a theme.

The simplest version of a theme pack is just a bunch of ornaments in a subfolder of your ornaments directory. So, koreader/settings/bookshelf/ornaments/theme-a/pickle.png and koreader/settings/bookshelf/ornaments/theme-b/toaster.png will let you set a shelf with 'theme-a' on one shelf to show your pickle, and another shelf with 'theme-b' that shows your toaster. Put a 'theme/wallpaper.png' inside each theme folder to get a wallpaper background to follow the theme.

Ready made packs in the bookshelf ko-fi shop (https://ko-fi.com/andyhazz) if you want see some examples and support the work I'm doing with bookshelf - including a new 'Macabre' pack, with an extra gothic stone shelf plank and a selection of public domain framed artwork for your horror themed shelf. Also includes a few new candelabrum to help you read at night.

Each shelf gets it own ornament sequence now - so you don't see the same ornaments on the start of each shelf (if you're using spine mode on more than one shelf).

A few other smaller highlights:

  • Picking a face out book from a spine shelf now turns towards you in 3d
  • Settings > Panel shading has two new options: Blur wallpaper behind panels, and Panel behind Covers shelves for the same solid panel list view has - these options can both help with busy wallpapers
  • Custom text below covers: Settings > Cover display > Cover captions > Custom… lets you write the line with bookends style tokens, e.g. %book_pct to show percentage read below the cover.

Lots more in the release notes. Including some larger behind the scenes changes to support other plugins being able to provide their own shelf source (developed in collaboration with the maintainer of kokomga).

u/AndyHazz — 5 days ago

Bookends v5.22 - Auto preset by file type

Bookends v5.22 has just been released, with one of the most requested features, plus a bunch of other improvements. Update from the bookends menu or grab it from github.

NOTE: Koreader changed how files are unzipped in the latest release, so you may need to manually install the plugin if you're on the latest koreader. The in-built updater will work again from v5.22.1.

https://github.com/AndyHazz/bookends.koplugin

It's a while since the last bookends post, so for anyone who doesn't know, Bookends lets you create and share different layouts for all the info you could possibly want to appear around the edge of the reader screen - progress bars, page numbers, reading and device stats etc.

Here's what's new:

Auto preset by file type

Bookends can now switch preset, or hide itself entirely, based on the file you open. Under Bookends settings > Auto preset by file type, add a rule for a file extension and pick either a preset or Hidden (no overlay). The picker previews each preset live on the page before you commit.

Comics and manga were the motivating case: a rule that hides the overlay for CBZ keeps the artwork clear, and going back to an EPUB restores your normal preset with nothing to toggle by hand. The same works the other way, e.g. a plainer preset for PDFs.

Rules key off the extension, so one rule covers every file of that type. Your normal preset is remembered separately from whatever a rule switches you to, so removing a rule puts you back where you were.

Progress markers stay put when you change font size

The Today, session and book-opened markers on progress bars were anchored to a page number. Changing font size re-paginates the book, so that number stopped pointing at the same place and the marker drifted away from where you had actually read to. They're now anchored to the text itself and hold their position through font, margin and line-spacing changes.

Hours and minutes in conditionals

chap_time_left_h, chap_time_left_m, book_time_left_h and book_time_left_m now work inside [if:…], matching the tokens of the same names. That makes the stock-Kindle phrasing possible, where the hours only appear when there are any:

[if:chap_time_left_h>0]%chap_time_left_h hr(s) [/if]%chap_time_left_m min(s) left in chapter

giving "2 hrs 5 mins left in chapter", then "42 mins left in chapter" once under an hour. Both the chapter and book versions are in the token picker under Templates.

Tokens that sit flush against text

A token name runs until the next non-letter, so anything typed straight after it gets read as part of the name. Wrapping the name in angle brackets marks where it ends:

%<book_time_left_h>h%<book_time_left_m>m

gives 4h40m. Width limits still work inside, e.g. %<author{200}>.

Position in the folder

%file_num and %file_count give the open file's place among the documents in its folder, so File %file_num/%file_count shows "File 5/10". Ordering follows your file manager sort settings. Aimed at comics and manga kept as one file per chapter, where the page and chapter tokens can only describe the chapter you're in.

Weekday and month names follow your language

%weekday, %weekday_short, %date_long and %datetime{} were rendering English day and month names regardless of your KOReader language. They now use KOReader's own translations, which covers every language KOReader ships rather than only the ones Bookends has a translation file for.

Presets folder in Folder shortcuts

The presets folder now appears in KOReader's Folder shortcuts, so you can reach it from the file manager without typing the path. Useful for copying preset files on or off the device by hand.

Gallery

Install counts load faster and no longer stop working on busy days. The counts endpoint was doing one lookup per preset in the gallery, which grew slower as the gallery grew and was hitting a daily quota; it's now a single lookup regardless of size.

Memory token on older Kindles

%mem rendered as nothing on older devices, because it read a field that only exists on newer Linux kernels. It now falls back to the equivalent older fields. Thanks to ksaMask123 for the fix and the diagnosis, in #106.

New languages

Ukrainian (uk) and European Portuguese (pt_PT), thanks to the contributors in #105 and #93.

u/AndyHazz — 2 months ago
▲ 200 r/koreader

Bookshelf v4.3 - Shelf styles, with flexible lists

Following on from the preview at the start of the week, list modes for your bookshelf are out now in v4.3.0 ...

https://github.com/AndyHazz/bookshelf.koplugin

Set 'shelf styles' per chip/tab (long press any chip to see the new shelf style option), choose covers or list views and set the number of rows and columns - you can mix and match between all the existing cover styles and list views to suit the content for each chip. Hold the 'Page X of Y' pagination to quickly toggle between list and cover mode.

Auto mode will switch to a full screen list view when you swipe up, and back to covers when you swipe down. You can also use pinch/zoom gestures on the shelf to add or remove list rows without going into menus.

You can heavily customise the info shown in lists with bookends style line editors - add/remove or adjust the lines with the info you want to see - go deep with conditional logic (for any bookends experts out there) if you like, or just stick with the defaults. The extra lines will show if there's room, hide if there isn't. Lines like titles and descriptions will automatically wrap if there's a gap to fill.

Progress bars adjust based on the relative length of the book. If you want, that can also work in the hero area by adding '{rel}' to the bar token.

A few more fixes and a couple of new translations round out the release, check the full release notes on github or update from within the bookshelf menu :)

u/AndyHazz — 2 months ago
▲ 198 r/koreader

[Preview] Bookshelf - list mode

Work in progress on a list mode view for bookshelf. What features would you like to see as part of a listing mode?

I'm aiming to bring the bookends style line editor into the listing mode, allowing flexibility to set up your own info lines with tokens and custom fonts etc. Still a way to go, but interested to hear what anyone might find most useful from a vertical list view ...

At the moment, you can toggle list mode on or off independently for collapsed/hero view and expanded shelf mode - via menu settings but also as a shortcut by long pressing the pagination numbers.

u/AndyHazz — 2 months ago
▲ 105 r/koreader

Bookshelf v4.2 = Faster OPDS browsing + New folder/stack design options

Bookshelf v4.2 has just been released.

https://github.com/AndyHazz/bookshelf.koplugin

Not everyone is a fan of stationery, so now you can swap out the manilla divider card style folder overlays for a few more new looks. And OPDS browsing has been significantly improved.

You can override the default folder style, with different styles for each chip - e.g. show a collage grid for your series chip stacks, a ribbon for your genres, and a divider card for your filesystem folders. You can also disable folder styles completely if you want to use custom folder images

OPDS support for remote book servers (introduced recently in v4) is now faster and can download cover images automatically as you browse. The cache duration is now under your control per OPDS chip so you can decide if your server is fast enough to bypass the cache or not.

Aaaand a bunch of other fixes/improvements as always. Thanks to everyone helping improve bookshelf by raising issues on GitHub:

  • A chip's filter follows it into subfolders (#323)
  • "Go to letter" searches the folder you are in rather than the one above it (#307)
  • Swiping the hero card steps through the page instead of jumping to its ends (#325)
  • With true cover aspect ratio on, the shelf fits four rows again at the default cover size (#329)
  • Pressing down on a d-pad reaches the footer from a part-full shelf
u/AndyHazz — 2 months ago
▲ 185 r/koreader

Bookshelf v4 - Now supports moving books to folders, and remote OPDS support

Bookshelf 4.0.0 is out. Two headline additions this time.

Moving books without leaving the shelf. You can now move books in and out of folders from inside Bookshelf - one at a time, or with bulk selections. Selections combine with chips, so you can open an author chip, select everything by that author, and move the lot into an author-named folder in one go. Reading progress, notes, covers and collections all follow the moved files.

OPDS catalogues as chips. Point a chip at an OPDS catalogue and browse it like any other shelf: categories drill in like folders, covers load as you browse, and books download straight into your library. The catalogue list is shared with KOReader's built-in OPDS reader, so anything you've already set up there appears automatically, and the usual public sources (Project Gutenberg, Standard Ebooks, Internet Archive and so on) are available out of the box.

Fair warning: public OPDS feeds can be messy and unreliable at times - odd metadata, missing covers, servers that time out - and DRM is not supported, so borrowing-based catalogues won't work. Still a good source of interesting material, and if you run your own OPDS server (Calibre-Web and friends) you'll have much more control over the experience.

Also in 4.0: reorganised menus, a changelog viewer, optional title labels under covers on the regular grid, and a long list of fixes - full notes on the release page.

Update from within Bookshelf (Updates > Check for updates) or grab the zip from GitHub: https://github.com/AndyHazz/bookshelf.koplugin/releases

u/AndyHazz — 2 months ago
▲ 197 r/koreader

Bookshelf v3.10 - Cover lover

One for the cover lovers - a new option to keep true aspect ratio for book covers, a 'book opening' effect on book covers to show when they're loading/opening, and an online search for different cover images.

Bookshelf v3.10.0

True cover aspect ratio (opt-in)

Covers can now show at their real shape instead of being forced into a uniform rectangle, on both the shelf and the hero card, so wide, square or oversized covers stop getting cropped or stretched. Turn it on in Settings > Cover display.

Cover browser

A new Cover tab in the book menu lets you change a book's cover: pick an image from your device, or search online across Google Books, Open Library, Apple Books, Hardcover and Wikidata and apply one with a tap.

Instant book close, and book open animation.

Leaving a book now drops you straight back to the shelf instead of rebuilding it, also an optional cover-opening animation to improve the transition into a book. Both can be toggled in Settings.

Also in this release

  • Much faster startup on large libraries and SD-card storage
  • Smoother first page-turn on colour e-ink screens
  • Fixed: Hardcover community ratings no longer vanish from the hero when the interactive rating region is turned off
  • Fixed: the selection outline no longer sticks to the wrong book after turning the page

Grab it from the plugin's Updates menu, or from the release page. https://github.com/AndyHazz/bookshelf.koplugin

u/AndyHazz — 3 months ago
▲ 224 r/koreader

Bookshelf v3.7 - Bringing it all together

Edit: I can't count - this was v3.8.0 not v3.7
v3.8.1 out now with extra font size control.
v3.8.2 had a quick gesture fix
v3.8.3 has a bunch of additional user feedback improvements implemented, thanks for all the comments :)
v3.8.4 has optional paging animation (thanks u/Academic-Promise-536 for the idea!) and some translation improvements

Over a week since the last bookshelf release, what's going on!

Lots of little bits but also bringing together several views that were previously separate. Expanded description, reviews, and the book long press menu. These are all now in one tabbed modal instead of separate views. All previous entry points still work and take you to the correct tab (long press a book to get the edit tab, tap the description to get the expanded description view, tap the hardcover star rating to get the reviews).

There's also a new view for tags - you can get to this by tapping the '+5' button that previously just let you know there were too many tags to show.

No matter how you enter this view, you can use the tabs or swipe left/right to switch through the other tabs - basically everything about the book is now in one modal.

Some other improvements in this release:

  • Edit the embedded tags in a similar way to how you can edit collections
  • Native-style divider entries and empty folders in the custom start menu, with an underline on the active folder or tap item to give more feedback when using the menu
  • White book-cover cornerglitch fixed on Android/colour screens
  • Start-menu has better support for reader mode
  • If you swipe up to expand the shelf and close the hero, bookshelf will remember that and stay expanded until you change it back. So you can go in and out of books without seeing the hero area if you prefer the full screen grid view. New option in the expanded shelf settings let's you choose what happens when you tap a cover in the expanded shelf mode.

GitHub: https://github.com/AndyHazz/bookshelf.koplugin

u/AndyHazz — 3 months ago

Bookends v5.20 - Progress markers

https://github.com/AndyHazz/bookends.koplugin

Bookends v5.20.0 now has optional progress markers on all progress bar styles - the markers themselves are quite customisable in typical bookends fashion. You can have separate top and bottom markers to show when the book was last opened, or where the current session started from.

It's something that should have been implemented already, as I do aim to include all the stock status bar features (and expand on them) - thanks to peterboda236 for the reminder on github!

It's a while since I put a bookends post on reddit, so here's a summary of other features since v5.13:

  • Custom icons - drop your own .svg/.png files into KOReader's koreader/icons/ folder and use them anywhere in your layout (or reference them as [icon=name]).
  • Token favourites - star the tokens you use most and find them together under a new ★ Favourites tab.
  • Inline font switching - change font partway through a line with [font=Name]...[/font], e.g. a different face for a CJK title than the rest.
  • Tick height and width controls for inline progress bars (previously only on full-width bars).

Also a handful of minor bug fixes and new translations for Hungarian and Simplified Chinese.

u/AndyHazz — 4 months ago
▲ 118 r/koreader

Bookshelf v3.7 - Infinite chips!

Go nuts with chips. Instead of truncating chip labels if you add more than will fit on the chip bar, it will add a chevron button and a second page (or 3rd/4th etc). Theoretically there's no practical limit to how many chips you can add now. Prove me wrong! Cache is pre-warmed for the current and next page of chips to keep things snappy.

Swipe on the chip bar to scroll through pages of chips.

https://github.com/AndyHazz/bookshelf.koplugin

Also some important fixes:

  • Filter names with accented characters (Hungarian and the like) now show in uppercase correctly.
  • Collections secondary sort behaves more reliably, including after opening and returning from a book.
  • Fixed a potential crash when opening a shelf that groups books by rating.

p.s yes I did make that mistake posting as bookends first (and then with the wrong version number) - there's a bookends update coming next ;)

u/AndyHazz — 4 months ago
▲ 131 r/koreader

Bookshelf v3.6 - Filters for you

Two significant new features for v3.6 of bookshelf.

https://github.com/AndyHazz/bookshelf.koplugin

Filters (new in 3.6.0)

You can now filter any shelf, alongside the existing sort. Narrow by reading status, genre, language, format, rating, collection or folder. Filters are set per shelf and stay put until you change them, and each filter choice shows how many books currently match.

Menu shortcuts (new in 3.6.0)

Turn any KOReader menu item into a one-tap Bookshelf action. When you add a button, start-menu entry or gesture, pick "Menu action", browse to the item you want, and tap "Add as shortcut". Toggle items (like Wi-Fi) show their on/off state right in the menu.

-------

And a recap below of things added since the previous reddit thread, in the 3.5.x series of updates:

-------

Micro-modules: independent placement

Micro-modules can run in the start menu, the hero area, and a full-screen button independently, each toggled in Settings > Micro modules. The hero area and full-screen view keep their own module lists, so you can show different modules in each. Switch all three off to turn micro-modules off completely.

New micro-modules and ways to open

  • Countdown module: shows "N days until ..." for a date you pick, and counts up once the date passes. Add it more than once for several dates.
  • Open by gesture: assign a gesture to open the start menu or the full-screen micro-modules, in the reader or the library, with no on-screen button needed.
  • Wide cells use a two-column layout more consistently
  • The weatherforecast refreshes itself when it is out of date instead of waiting for a manual refresh.

Smaller additions

  • Plugins that add actions to the long press book menu (e.g. Incognito) now show up in Bookshelf's book menu.
  • Quote of the day: "Open bookmark list" opens straight to the current quote's note.
  • New [if:full_width] status-line token, to show extra content (like the date) only in the wider status lines.
  • Search no longer matches folder names by default (re-enable under Advanced settings).

Notable fixes

  • Re-enabling Bookshelf after disabling it works again on KOReader v2025.10 and earlier.
  • Fixed a white screen after rotating on some Android-based devices (e.g. Boox).
  • The bundled title font renders Polish and other languages correctly.
  • The reader-mode launcher button no longer disappears after rotating or resizing.
  • Faster menu opening with the reading-streak module enabled.

Update from within the app or grab it from github :)

u/AndyHazz — 4 months ago
▲ 125 r/koreader

Bookshelf v3.5 - take me to your reader

New option in bookshelf lets you carry over the start menu and micro modules into reader mode. Optional, and off by default, but feels nice to have that continuity as you come in and out of reader mode.

https://github.com/AndyHazz/bookshelf.koplugin

You can long press any start menu item to say whether it appears in reader mode or not, so you can easily set up custom menu actions that change with your mode.

That's one last update before I log off for a break over the weekend - enjoy!

u/AndyHazz — 4 months ago
▲ 155 r/koreader

Bookshelf 3.4 - Take 2

Apologies for another bookshelf update so soon 🙄 (update, and another, 3.4.1)

Bookshelf v3.3 had a bit of a mixed reception, maybe not helped by a bit of a hodgepodge screenshot and a 'first pass' introduction of micro modules popping out of the start menu. So, here we go again :) I do appreciate all the feedback, every comment helps me think.

v3.4 I think shows the feature settling into place a bit more, with a new/default option of the grid button appearing bottom right instead of in the chip bar, balancing with the start menu and finally rounding out the footer area design that's always felt a little bit wonky.

Aside from the new micro module button placement, also in 3.4.0

  • Reading Streak module. Current and best reading streak, in days and weeks, read straight from KOReader's own statistics database (thanks to peterboda236 for the module contribution on github)
  • Separate text size for the hero micro-modules, independent of the hero card text, so you can shrink or grow the grid on its own.
  • Improvements to the module auto-layout behaviour
  • A [if:connected] status-line condition (matching bookends) so you can show the Wi-Fi icon only when you're actually online.

And in 3.4.1

  • New `%quote` token for book detail view will insert a random highlight from that book - put it in the description line if you like.

Also in the 3.3.x line since 3.3.0: a filename-based page-count fallback for books you haven't opened yet, the status line no longer overflowing the hero book cover (truncates instead), reduced shelf flashing unexpectedly when switching books from within reader mode, and a couple of crash fixes on devices that don't ship Roboto Condensed (I think these will have been the primary cause bookshelf seemed to crash for some newer users and not for others - thanks to those who posted crash logs on github to help pinpoint that issue!).

Source and releases: https://github.com/AndyHazz/bookshelf.koplugin

Any keen observers may notice I've not made much reading progress lately ... most of my books are only opened for testing purposes recently, but I'm going away over the weekend and hope to use this device for what's intended!

u/AndyHazz — 4 months ago
▲ 209 r/koreader

Bookshelf v3.3 - homescreen micro-modules

New update for Bookshelf:

https://github.com/AndyHazz/bookshelf.koplugin

Following on from the start menu and micro modules, the natural next step was to add a micro module view to the hero area.

All optional, you can turn off micro modules in the menu and focus on the books, but if enabled you get a new fixed position button on the right end of the chip bar that shows a grid of micro modules when tapped. You can change in the settings whether you want the hero area to start with micro modules or the book you're currently reading.

A new core micro module, specific to the hero area, is the action module - this simply lets you link to plugins/menu items etc, same as you could in the start menu but in the hero area. Custom icon SVG's/PNG's fully supported.

Aside from expanding use of the modules, the shelf layout has been simplified to let you specify how many rows/columns to give a wider range of shelf layouts with more predictable behaviour. You may need to adjust your shelf layout after installing this update ...

One more thing to make adjusting shelf layout easier, pinch/zoom gesture on the shelf area will increase/decrease the number of columns (and therefore the size of the book covers).

The book hero area has also had a bit more work to help it react better to a wider range of layouts. If there isn't enough space, some lines will intelligently hide to avoid colliding overlapping (e.g. the tags will not show if there's no room for them).

Feedback welcome, especially on layout across different screen sizes. You will be able to make bad layouts, but hopefully the controls are intuitive enough, after a bit of experimentation you'll be able to come up with something that works for you :)

u/AndyHazz — 4 months ago
▲ 226 r/koreader

[plugin] Bookshelf v3.0 - Start here

UPDATE: v3.1 has a couple of new micro modules (analogue clock and shelf size (showing total number of books). UPDATE: v3.2 has more micro modules - first community contributions from rapinoinfeliz! Weather, Reading goals, 'On this day' and a trivia quiz module. Also some fixes for non-touch devices, translations, and support for custom SVG icons in the start menu.

Bookshelf now has a start menu (optional but quite useful, so it's enabled by default when you update).

https://github.com/AndyHazz/bookshelf.koplugin

v1 initial release was the foundation of the bookshelf browsing experience, v2 brought customisable chips to organise books the way you like, now v3 brings a similar approach to a full device start menu you can easily tweak to meet your needs.

Aside from quick links to device settings, you can add links to launch plugins (when they register themselves with koreader), and trigger bookshelf specific actions. All of which is likely to see further expansion and improvements following the initial v3 release.

You can rename, rearrange, change icons and insert new items/folders by long pressing the menu items themselves.

I'm also introducing micromodules, little interactive panels you can add to the menu, each can have their own settings and tap actions - a few simple ones included to start with (e.g. a random book module that pops a random unread book into the hero slot with a dice roll glyph - thanks to Erica for the idea on that one). Each micromodule is a standalone .lua file in the micromodules directory, with a preview directory displayed in the app, so it's built to expand and I'll welcome any ideas and PR submissions on github :)

u/AndyHazz — 4 months ago

UK Google store 10% off pixel codes, expire 1 Aug 2026

  1. REF-JROVVLRGQQ81KJYNB5HE6SA
  2. REF-HQIJ44C7XBWCZM1TC5YR4OQ
  3. REF-S1XCPPOSGNLQ51OJF0JESI4
  4. REF-JMPAWRKXURGX6ZBV0UY47QA
  5. REF-IRNP5E972B035L3BQ6B2DT2
  6. REF-H8H0QAY3O51PL7GPD7AE03A
  7. REF-8VTXAG4MY6TPBQ8SV879Y6J
  8. REF-V7GW7EYE50NKD1ZG4Z2JE4H
  9. REF-V0C55OQAAB9RO130LAG5RAU
  10. REF-QNG0M0PNW03UQLIQ2G7UOBO
reddit.com
u/AndyHazz — 4 months ago
▲ 132 r/koreader

[plugin] Bookshelf v2.4 - metadata sync from hardcover

Bookshelf for KOReader 2.4 - Hardcover ratings, reviews and linking

https://github.com/AndyHazz/bookshelf.koplugin

Bookshelf is a cover-grid home screen for KOReader. This release adds optional Hardcover integration, plus a handful of other improvements and fixes.

UPDATE: v2.4.3 out now with layout and font size adjustments for book description and review modals, and more performance improvements for larger libraries. Simplified Chinese language support, and a less agressive 'starts with bookshelf' behaviour (if you close bookshelf it will stay closed).

Hardcover enrichment

If you have the Hardcover plugin installed and enabled, Bookshelf can now link your books to Hardcover and pull in a bit of metadata for display.

IF YOU DON'T HAVE THAT ENABLED, MOST OF THIS FUNCTIONALITY WILL BE HIDDEN.

  • Ratings in the hero - the featured book's rating row can show Hardcover's public rating.
  • Spoiler-free reviews - tap the review count to read reviews, filtered to the spoiler-free ones and cached so they reopen offline.
  • Linking - link a book automatically (using an ISBN or Hardcover id baked into the EPUB), search and pick it manually, or let it best-guess by title and author. There's also an "Auto-link all books" pass for the whole library in one go, with a report at the end.
  • Covers and descriptions - per-book toggles to use Hardcover's cover or description instead of the book's own. Sensible defaults are set once when you link (e.g. adopt Hardcover's cover only if the book has none or a lower-res one), then it's yours to control.
  • Metadata sync - optionally use Hardcover's title, author, series and genres for linked books, which also feeds sorting, search and series grouping.

On privacy: it all stays out of the way unless you use it, nothing happens automatically. Network calls only fire on explicit actions (linking, refreshing ratings, fetching reviews); normal shelf rendering reads only the local cache. It never rewrites your EPUB files, and you can wipe all of it from one menu.

Thanks to komadorirobin for the groundwork on this feature!

Also in this release

  • Customisable hero tag line - per-category visibility, font and alignment for the tag pills.
  • Status badges - resizable badges, choose between a favourite Heart/Star icon, and an on-hold pause badge. On-hold/abandoned books are faded out in the grid.
  • Natural sort order for title and filename sorts, so "Book 2" comes before "Book 10".
  • Fixes for button-only Kindles - stopped hijacking the physical Menu key on non-touch devices.
  • Various performance improvements to hero rendering and shelf rebuilds.

Update from within bookshelf if you already have it installed, or grab the zip from the releases page. Issues and feedback (and github stars!) welcome.

u/AndyHazz — 4 months ago
▲ 217 r/koreader

[Update] Bookshelf v2.3 - darker and faster

Bookshelf v2.3 for KOReader: day/night themes, adaptive layout, and tappable tags

Bookshelf is a home screen for KOReader that shows your library as a grid of covers with a featured book up top. v2.3.0 is a big one. Highlights:

Day and night colour themes

Every colour (cover frames, badges, progress bars, the bookmark and favourite star, folder cards) can now be set independently for light and dark mode. Flip into night mode and Bookshelf uses your night palette; anything you leave unset falls back to sensible defaults.

Adaptive layout

Instead of a fixed grid, you pick a Bookshelf size and a Book size and the layout fits your screen, including in landscape. An "Edit layout" dialog cycles through the options quickly.

Tappable tags in the book view

The featured book can show its author, series, genre, collections and folder as tappable pills. Tap one to jump straight to that shelf.

Author name formatting

A new setting lets you choose how author names appear everywhere: Auto, First Last, or Last, First. Variant spellings of the same author (for example "Richard Osman" and "Osman, Richard") now merge into a single author, and surnames with particles like "de Maupassant" sort under the right letter.

Favourites, sorting and search

Favourites is now a built-in shelf with a working cover star and an "Updated" sort that tracks when you add or remove favourites. There is a new "Series + index" sort, plus a footer dialog to jump to a page, jump to a letter, or search your library.

Performance

Predictive cover preloading and smarter caching make shelf loading, page turns and letter-jumps noticeably faster, even on large libraries.

Smaller touches

  • Sideloaded books (Calibre, Syncthing, network downloads) appear automatically, with no manual refresh.
  • Folder cover images now also pick up hidden .cover.jpg / .folder.jpg.
  • More book-detail template tokens (extra author fields, an "et al." author list, reading status, numeric rating) that pair with the existing template conditionals to show or hide parts of a layout.
  • Design tweaks to bookmark icons

Fixes

  • Recently read now moves a book you just finished straight to the top of the shelf, without a manual refresh.
  • Potential fix for some users having issues taking screenshots of their bookshelf.

Grab it from the releases page or the in-app update check: https://github.com/AndyHazz/bookshelf.koplugin/releases

Feedback and bug reports always welcome. Pop a star on the github page if you like.

u/AndyHazz — 5 months ago

[Update] Bookends v5.10 to 5.13

I realised I've not posted here about Bookends recently, but I've been continuing to make improvements over the last few weeks - so here's a new one summarising everything new since v5.10.

Progress bars

Inline %bar tokens now have the same controls as the full-width bars. A new Bar style… button in the line editor lets you set type (chapter / book), tick depth, style, fill direction, thickness, and custom colours per inline bar, the same controls the full-width bars already had. Previously you would need to set many of these options in the top level preset menu and they would apply to all inline bars - this often caused some confusion. Now you can give different inline bars different settings, and it should be more user friendly as the options are set in the same place you add the bar.

Tidier colour menu. Read color and Unread color are now Progress bar colour and Progress bar track colour, and the separate metro colour rows are gone (metro now uses the same two fields as every other style). The Transparent option for the track is back. Existing presets carry their colours over automatically.

New tokens

Time and date projections:

  • %chap_time_left_eta / %book_time_left_eta: show the clock time you'd reach the end of the chapter or book at your current pace (e.g. 14:30).
  • %book_finish_date: a projected calendar finish date (e.g. "9 Jun"), using the same formula as KOReader's stats popup.
  • All three take an optional format brace, e.g. %chap_time_left_eta{%I:%M %p} or %book_finish_date{%a %d %b}. Those options may look confusing but it's using the standard https://www.strfti.me/ format so you get a lot of flexiblity.

%book_pct{N} decimal precision. Add {1} through {4} to %book_pct or %book_pct_left for that many decimal places. Trailing zeros are trimmed, so 12.3400% shows as 12.34%. Good for super long books.

%<token>_lastdigit family for languages whose grammar branches on the units digit of a number (Hungarian vowel harmony, Finnish partitive, and so on): %page_num_lastdigit, %page_count_lastdigit, %pages_left_lastdigit, %chap_read_lastdigit, %chap_pages_lastdigit, %chap_pages_left_lastdigit. Combine them with the conditional grammar to pick the right suffix.

%title hides the Calibre - P(N) page-count suffix. If you use a Calibre save template that appends the page count to filenames, %title now drops that trailing - P(123) part. Titles with legitimate parentheses like Foundation (1951) are untouched, and the raw filename is still available via %filename.

Reading-pace tokens count real reading days. %pages_per_day and %days_reading_book now divide by the days you actually read a book, not calendar days since you first opened it. Sporadically-read books will show higher, more realistic numbers.

Fixes

  • Conditional tokens (light, charging, connected) refresh immediately on the event, not just on page turn.
  • Page number, percentage, and progress bars now update correctly when scrolling in continuous mode in EPUBs and other reflowable formats.
  • White background colour renders correctly instead of showing as transparent.
  • Bar lines with BBCode formatting no longer overflow the right margin.
  • Chapter title tokens (%c, %c1 / %c2 / %c3) no longer get stuck showing a deeply nested chapter title from earlier in the book.

Thanks to everyone who reported and helped test on GitHub: @greentea43, @WorldTeacher, @b3nz3n3, and @cgroi.

github.com
u/AndyHazz — 5 months ago
▲ 151 r/koreader

[Update] Bookshelf v2.2.10

https://github.com/AndyHazz/bookshelf.koplugin

v2.2.10 has just been released, which was mainly a stability update but here's a summary of all the other new features you may have missed since v2.2.0 was released last week.

Custom cover images (v2.2.9)

Long-press any folder, author, series, genre, or collection and pick a custom image. Or drop a cover.jpg into a folder and Bookshelf picks it up automatically. Stacks can be batch-set by dropping named files into a hidden image library folder on your device, so you can theme a whole library at once (screenshot shows some quick gemini authored genre covers).

Multi-author support (v2.2.8)

The Authors view lists every author of a multi-author book. A book by "Asimov, Brin & Clarke" appears under all three names instead of only the first.

Colour controls (v2.2.5)

New colour settings for colour e-readers: bookmark colour, badge foreground and background, and folder overlay foreground and background. Progress bars now render in your chosen colour instead of flattening to grey.

Text size and display controls (v2.2.2, v2.2.8)

A Text size submenu collects every font-scale control in one place: hero card, chip bar, stack and folder labels, expanded shelf labels, and cover badges.

Expanded shelves can also show Title, Author, Series, or no text below covers.

Smaller touches

  • "Double tap to open books" advanced setting, to avoid opening a book by accident (v2.2.4).
  • Faster hero rebuilds and shelf paginations via a shared cover-scaling cache (v2.2.6).
  • Update checks now turn Wi-Fi on if it is off, instead of stopping with a "Wi-Fi is not enabled" message (v2.2.10).

Reliability fixes

A run of fixes across status changes, collection edits, and metadata refresh saving reliably; corner-tap gestures firing from the full corner zone; status-bar icons (brightness, battery, wifi, frontlight) refreshing promptly; colour-device progress bars; and home-screen compatibility, including opening the KOReader menu reliably from inside Bookshelf and no more unresponsive state after toggling Wi-Fi.

Thanks to everyone who helped with pinning down issues I couldn't reproduce myself!

u/AndyHazz — 5 months ago