View Single Post
Old 08-16-2026, 04:16 AM   #2
Lukusaukko
Connoisseur
Lukusaukko ought to be getting tired of karma fortunes by now.Lukusaukko ought to be getting tired of karma fortunes by now.Lukusaukko ought to be getting tired of karma fortunes by now.Lukusaukko ought to be getting tired of karma fortunes by now.Lukusaukko ought to be getting tired of karma fortunes by now.Lukusaukko ought to be getting tired of karma fortunes by now.Lukusaukko ought to be getting tired of karma fortunes by now.Lukusaukko ought to be getting tired of karma fortunes by now.Lukusaukko ought to be getting tired of karma fortunes by now.Lukusaukko ought to be getting tired of karma fortunes by now.Lukusaukko ought to be getting tired of karma fortunes by now.
 
Posts: 94
Karma: 392326
Join Date: Feb 2023
Device: Kobo Libra 2
Features:
  • Quick pre-flight check to detect issues with the ebook file that might cause the tool to mishave.

Edit Spans & Divs

Find and modify HTML elements without writing your own search-and-replace rules.
  • Select elements by tag name, by any tag, or by a custom tag you type in
  • Filter by a specific attribute, any attribute, or no attributes at all
  • Match attribute values exactly or with a regular expression
  • Delete — unwrap an element while keeping its text and children intact
  • Modify — change the tag, and choose whether to keep, replace, or add/update attributes
  • Strip attributes — remove all attributes, or only ones matching a comma-separated list with wildcard support (e.g. aria-*)
  • Customizable shortcut lists for tags, attributes, and per-tag "change to" suggestions
  • Back up your customizations to a file and restore them later, or import settings from a compatible earlier version

Smarten Punctuation

Convert plain typing punctuation into proper typographic punctuation.
  • Smart, directional quotation marks
  • Em-dash and en-dash conversion from -- and ---, with a choice of convention
  • Ellipsis conversion, including ellipses built with non-breaking or narrow non-breaking spacing between the dots
  • Optional apostrophe exception rules — a simple text file lets you protect project-specific words (rock 'n' roll, 'tis, etc.) from being mis-smartened
  • Automatic handling of abbreviated years (class of '79, the '90s)
  • Correct handling of punctuation split across markup, such as <em>John</em>'s
  • Choice of real Unicode characters or numeric HTML entities in the output
  • Run on the current file only, or across the whole book

Cleanup

Apostrophes
  • One master switch turns all apostrophe handling on or off
  • Exception-rule file shared with Smarten Punctuation
  • Abbreviated-year apostrophes fixed automatically

Ellipses
  • Recognizes compact, spaced, and non-breaking-spaced ellipsis forms
  • Five spacing styles, including an option to attach the ellipsis to the preceding word so it can't be stranded at the start of a line
  • Four-dot ellipsis handling: collapse, convert to ellipsis-plus-period, or preserve
  • Independent control over existing attachment markers

Dashes
  • Preserve, or convert to open em-dash, closed em-dash, or open en-dash style
  • Only respaces a dash when there's real text on both sides, so dialogue-opening dashes and decorative separator lines are left alone
  • Correctly handles dashes that sit between two inline elements
  • Optional attachment to the preceding word, so an open dash can't be orphaned at a line break
  • Convert between en and em dashes (en dash to em dash is limited to open en dashes only)

Attachment spacing
  • Choose Standard (no-break space + space) or Narrow (narrow no-break space + thin space) for anywhere Cleanup attaches punctuation to a word — shared by the ellipsis and dash settings

Whitespace and quotes
  • Collapse repeated spaces inside prose without touching structural indentation
  • Convert word-separating non-breaking spaces back to ordinary spaces
  • Trim trailing whitespace inside paragraphs
  • Separate adjacent nested quotation marks ("" → " "), with a choice of no-break space or narrow no-break space, and a choice of preserving or replacing spacing you've already added
  • Optional unwrapping of hard-wrapped source lines inside paragraphs

CSS Cleanup

Remove common publisher, conversion, and device-specific stylesheet clutter.
  • Remove embedded @font-face rules, with optional deletion of the now-unused font files (only when nothing else in the book still references them)
  • Simplify font-family declarations down to a generic family (serif, sans-serif, etc. when defined)
  • Remove Adobe-specific and vendor-prefixed properties (-webkit-, -moz-, -ms-, -o-, -epub-)
  • Remove explicit text and background colors while preserving inherit, currentColor, theme variables, and similar behavioral values
  • Remove any custom list of CSS properties, with wildcard support (e.g. font-variant-*)
  • Convert cm, mm, and pt units to em
  • Remove CSS rules left empty by other cleanup steps, without disturbing comments or licence notices
  • Comments and quoted strings are never mistaken for active CSS, so things like content: "{}" or a commented-out rule are left alone

TEST VERSION:

0.7.0
  • Smarten Punctuation, Cleanup, CSS Cleanup: Each tool's toolbar dropdown has a new Run immediately with saved settings option (off by default). When ticked, clicking the icon runs the tool with the settings last confirmed in its dialog, on the current file or whole book as selected. Show settings… in the same menu, or Shift+click / Shift with the keyboard shortcut, opens the dialog.
  • Cleanup: Also apply dash style to leading dashes at the start of a paragraph is renamed Also apply dash style to dialogue dashes and expanded to cover mid-paragraph and dialogue continuation dashes. This option is intended to protect dialogue dashes - as used for example in Finnish - from being modified when normalization/conversion is on. For English, keep it on.
  • Edit Spans & Divs: UI dialogue no longer partially resets when the user changes attribute handling options after selecting Change tag to.
Spoiler:

0.6.1
  • Added Also apply dash style to leading dashes at the start of a paragraph. A paragraph-opening dash is respaced to match the selected style. Optional because some language conventions use spaced em dash to indicate dialogue.
  • Also apply the selected dash style to closed en dashes can now be used with the open-en style as well as em-dash styles


0.6.0
  • Cleanup: Added a lightweight Smarten-before-Cleanup advisory pre-check.
  • Cleanup: Added optional closed en-dash conversion. When cross-family dash conversion is enabled and an em-dash target style is selected, the user can also convert closed en dashes. Digit-to-digit numeric/date ranges such as 10–50 and 1914–1918 remain excluded.
  • CSS Cleanup: Stylesheet transformations now operate on Calibre's parsed CSS object model instead of hand-written regex parsing.
Attached Files
File Type: zip otters-editing-toolbag_0.7.0.zip (148.2 KB, 1 views)

Last edited by Lukusaukko; Yesterday at 03:23 AM. Reason: New test version
Lukusaukko is offline   Reply With Quote