plato

Document reader

OTHER License

Stars
1.3K

Bot releases are visible (Hide)

plato - Plato 0.9.3

Published by baskerville about 4 years ago

  • Don't change the bit depth on mark 7 devices.
  • Fix the WiFi scripts to work with the most recent firmware.
  • Use separate navigation gestures for bookmarks and annotations.
plato - Plato 0.9.2

Published by baskerville about 4 years ago

  • Restore the working directory after remounting the file system.
  • Fix a regression that would prevent full refreshes when monochrome was set.
  • Download the MuPDF headers when building in fast mode.
plato - Plato 0.9.1

Published by baskerville about 4 years ago

  • Handle EPUB 3 series metadata.
  • Rename the metadata key isbn to identifier.
  • Normalize the whole index for the dictionaries that weren't generated with dictfmt.
plato - Plato 0.9.0

Published by baskerville over 4 years ago

The rotation key in the reading states is now device independent.

Within a library you can compute the distribution of the device dependent values:

jq '.rotation' .reading-states/*.json | sort | uniq -c

You'll most likely want to map the most frequent (numeric) value to 0:

mkdir .new-reading-states
for x in .reading-states/*.json; do grep -q '"rotation": MOST_FREQUENT_VALUE' "$x" && jq '.rotation = 0' "$x" > .new-reading-states/"${x##*/}"; done

And the second most frequent value to either the clockwise (1) or counter-clockwise (3) landscape rotation.

You can then overwrite the reading states:

mv .new-reading-states/* .reading-states
rmdir .new-reading-states

Other changes:

  • Update the ivy binary (used by the Calculator application): the )help special command has become much more useful (try )help binary for example).
  • Handle dictd dictionaries that weren't generated by dictfmt.
  • Don't skip the first entry after the last metadata entry in a dictionary's index.
  • Handle negative x advances when computing a render plan's width.
  • Don't return in FontFamily::from_name when encountering an invalid font.
  • Ignore invisible files when walking in directories.
  • Add the ability to sort by title.
plato - Plato 0.8.9

Published by baskerville over 4 years ago

  • Clear the current search filter when loading a library.
  • Make the chapter name label interactive: it now reacts to taps by opening the TOC.
  • Update the following thirdparty dependencies: libjpeg, jbig2dec, FreeType, HarfBuzz.
  • Tap and hold to define a word in a dictionary definition.
  • Automatically submit a selected entry from an unfocused input field's input history menu.
  • Reset the top offset when opening a finished book.
plato - Plato 0.8.8

Published by baskerville over 4 years ago

  • Add notations for the first and last page: ( and ).
  • Fix a regression that would prevent inline elements interspersed with block elements from being wrapped in anonymous boxes.
plato - Plato 0.8.7

Published by baskerville over 4 years ago

  • Update the hyphenation patterns: a new language, Macedonian, was added.
  • Fix a regression in plato.sh.
  • Really reload in Library::reload.
  • Prevent attempts to poll /dev/random.
plato - Plato 0.8.6

Published by baskerville over 4 years ago

  • Update the bottom bar when resizing the navigation bar.
  • Update the current page of a directories bar when its selected directory changes.
  • Import in all the libraries when honoring import.{startup,unshare}-trigger.
  • Upgrade libmupdf from 1.16.1 to 1.17.0.
  • Honor import.extract-epub-metadata.
plato - Plato 0.8.5

Published by baskerville over 4 years ago

The metadata format has changed, manual intervention is required:

  • Rename .metadata.json to .metadata-old.json.
  • Run the attached python script: ./migrate-metadata.py LIBRARY_PATH/.metadata-old.json > LIBRARY_PATH/.metadata.json.

Overview of the changes:

  • Multiple libraries can now be defined (in Settings.toml). The default libraries are On Board and Removable. You can remove the definition for Removable if you don't have a device with a card slot. If you have a very large library, you might set the library mode to filesystem instead of database, in which case .metadata.json will not be used and all the operations will rely on the filesystem and the reading states.
  • The reading states are no longer saved in .metadata.json but in individual files in the .reading-states directory.
  • Plato no longer uses the file path as an identifier, but now relies on a custom fingerprint based on the file metadata. As a consequence, you can now freely rename and move files around. You can also overwrite an existing file as long as the path remains unchanged.
  • The summary bar was replaced with the navigation bar. Instead of displaying categories, the bar now displays directories. The navigation bar is optional and disabled by default. You can enable it by swiping from the top bar to the shelf, and disable it with the opposite gesture. Another optional bar was added: the address bar.
  • The launch scripts now set the framebuffer depth to 8. To do so, we rely on fbdepth, provided by FBInk.
  • You can now choose what to display in the shelf's first column. This is mostly useful for the filesystem mode.
  • The home view now has arrow gestures: west/east to go to the first/last page; north to set the current directory to the library's path; south to toggle the search bar.
  • You can jump to a random page by specifying _ as the page number.
plato - Plato 0.8.4

Published by baskerville over 4 years ago

  • Properly handle the gyroscope events on the Libra H₂O.
  • Add some documentation on how to run the emulator and install the importer.
  • Generalize reader.refresh-every as reader.refresh-rate.
  • Add the ability to sort by file name and file path.
plato - Plato 0.8.3

Published by baskerville over 4 years ago

  • Use the REGAL waveform on the mark 7 devices where appropriate.
  • Make Invert Colors and Make Bitonal compatible on the mark 7 devices.
  • Add a setting, auto-power-off, that defines the delay, in days, after which a suspended device will power off.
plato - Plato 0.8.2

Published by baskerville over 4 years ago

  • Skip and log the invalid fonts found in the user's font path.
  • Add a contextual menu item to toggle one of a book's categories.
  • Handle marking a new book as finished.
  • Always display the reading progress percentage in the page label.
  • On the devices with page navigation buttons, add a menu item to set the button scheme.
plato - Plato 0.8.1

Published by baskerville almost 5 years ago

  • Externalize keyboard layouts.
  • Implement input history.
  • Fix a few inconsistencies regarding the Dictionary's page navigation arrows.
  • Make the model name written in info.log more precise.
plato - Plato 0.8.0

Published by baskerville almost 5 years ago

  • Add an application: Dictionary.
  • Decrease the jitter tolerance of the tap-and-hold gestures.
  • Fix a crash occurring when a book has empty pages and annotations.
  • When launching Nickel, send a notification via /tmp/nickel-hardware-status, about the SD card being mounted.
  • When going back from a view, or loading the Reader view, apply the saved rotation only if the orientations differ.
  • The path for the ePUB user stylesheet is now css/epub-user.css (instead of user.css).
plato - Plato 0.7.9

Published by baskerville almost 5 years ago

  • Implement list style types.
  • Remount the external SD card RW if it's mounted RO.
  • Fix crashes occurring with an empty library.
  • Allow closing a named input intuitively.
  • Improve the build experience for contributors.
  • Fix the framebuffer parameters for the Aura H₂O Edition 2 Version 1.
plato - Plato 0.7.8

Published by baskerville almost 5 years ago

Fix a few bugs related to the handling of the swipe sequences.

plato - Plato 0.7.7

Published by baskerville about 5 years ago

  • Implement text selection.
  • Implement highlights and annotations.
  • Allow searching for more than one word.
  • Allow starting a search without bringing up the bottom bar.
  • Introduce swipe sequences (cf. doc/MANUAL.md).
  • Recompute the top offset when cropping margins.
  • Article fetcher: decode character entities in titles.
  • Fix two bugs that would trigger an infinite loop when searching text:
    • In a static document that contains pages without text.
    • If the value of current_page is invalid.
plato - Plato 0.7.6

Published by baskerville about 5 years ago

  • Add the ability to name pages and override a book's TOC (cf. doc/NAVIGATION.md).
  • Add a setting called button-scheme, to control how the backward and forward buttons are mapped in portrait mode. The possible values are "natural" and "inverted".
  • Add a new setting: auto-share. Once set to true, the device will automatically switch into shared mode after being connected to a computer.
  • Add preliminary support for the Libra H₂O.
  • Add two importer commands: --merge and --clean-up.
  • Include a fix for a major bug in MuPDF (701476).
plato - Plato 0.7.5

Published by baskerville about 5 years ago

  • Don't assume that the external card is always used.
  • Add a setting, sleep-cover, to provide a mean to disable the handling of the sleep cover events.
  • Fix a potential crash when the value of .reader.currentPage is inconsistent.
plato - Plato 0.7.4

Published by baskerville about 5 years ago

  • Upgrade MuPDF from 1.15.0 to 1.16.0. We gained a few code points thanks to the new Noto fonts (Noto Sans Math and Noto Music).
  • Honor the hyphenations bounds in all cases.
  • Remove the reader.epub-engine setting and the importer's --extract-isbn and --retrieve-metadata commands.
  • The default library path is now /mnt/sd on devices with an external SD card, and /mnt/onboard otherwise.