From b31b7728dbf4f970af6b437c82f2e68da47529e9 Mon Sep 17 00:00:00 2001 From: poire-z Date: Tue, 20 Jul 2021 17:22:45 +0200 Subject: [PATCH] Quick start guide: revamp text and look (#7985) By @offset-torque, extracts from his upcoming user manual. See https://github.com/koreader/koreader/discussions/7898 --- .../apps/filemanager/filemanagerconverter.lua | 5 +- frontend/ui/quickstart.lua | 177 +++++++++++++++--- resources/quickstart/defaultsetting1.png | Bin 0 -> 2979 bytes resources/quickstart/defaultsetting2.png | Bin 0 -> 2184 bytes resources/quickstart/numberpicker.png | Bin 0 -> 9354 bytes resources/quickstart/touchzones.png | Bin 0 -> 40945 bytes 6 files changed, 153 insertions(+), 29 deletions(-) create mode 100644 resources/quickstart/defaultsetting1.png create mode 100644 resources/quickstart/defaultsetting2.png create mode 100644 resources/quickstart/numberpicker.png create mode 100644 resources/quickstart/touchzones.png diff --git a/frontend/apps/filemanager/filemanagerconverter.lua b/frontend/apps/filemanager/filemanagerconverter.lua index 58b93f7ea..d4fe0a9a7 100644 --- a/frontend/apps/filemanager/filemanagerconverter.lua +++ b/frontend/apps/filemanager/filemanagerconverter.lua @@ -38,11 +38,12 @@ local FileConverter = { ---- @string markdown the markdown fragment ---- @string title an optional title for the HTML document ---- @treturn string an HTML document -function FileConverter:mdToHtml(markdown, title) +function FileConverter:mdToHtml(markdown, title, stylesheet) local MD = require("apps/filemanager/lib/md") + stylesheet = stylesheet and string.format("\n", stylesheet) or "" local md_options = { prependHead = "\n\n\n", - insertHead = string.format("%s\n\n\n", title), + insertHead = string.format("%s\n%s\n\n", title, stylesheet), appendTail = "\n\n", } local html, err = MD(markdown, md_options) diff --git a/frontend/ui/quickstart.lua b/frontend/ui/quickstart.lua index 988e22ed1..6e071563c 100644 --- a/frontend/ui/quickstart.lua +++ b/frontend/ui/quickstart.lua @@ -10,61 +10,184 @@ local lfs = require("libs/libkoreader-lfs") local _ = require("gettext") local QuickStart = { - quickstart_force_show_version = 201511982, + quickstart_force_show_version = 2021070000, } local language = G_reader_settings:readSetting("language") or "en" local version = Version:getNormalizedCurrentVersion() local rev = Version:getCurrentRevision() +local stylesheet = [[ +div.logo { float: right; } +div.logo > img { height: 4em; } +h1 { page-break-before: avoid; margin-bottom: 1em; text-transform: uppercase; } +h2 { background-color: black; color: white; text-align: center; page-break-after: avoid; text-transform: uppercase; } + +hr { margin: 1em 20%; } +div.generated { font-size: x-small; } + +li { margin: 0.5em 0; page-break-inside: avoid; } +blockquote { text-align: center; page-break-before: avoid; page-break-inside: avoid; } /* Markdown lines starting with '>' */ + +/* Inline image (icons) */ +p img, blockquote img { height: 1.5em; vertical-align: bottom; } + +/* Standalone image (UI screenshots) */ +div.img-block { text-align: center; margin: 0.5em; } +div.img-block > img { max-height: 60vh; max-width: 80vw; } +div.break-before-avoid { page-break-before: avoid; } +div.break-after-avoid { page-break-after: avoid; } + +div.table { display: table; page-break-inside: avoid; width: 100%; } +div.table > div { display: table-row; } +div.table > div > * { display: table-cell; text-indent: 0; padding: 0.3em; } +div.table > div > *:nth-child(2) { text-align: left; hyphens: none; background-color: #eeeeee; } +div.table > div > *:nth-child(3) { white-space: nowrap; } +]] + local quickstart_guide = T(_([[ -# KOReader Quickstart Guide + + +# Quickstart guide + +* [User interface](#ui) +* [User interface tips](#uitips) +* [Accessing files](#afiles) +* [Transferring files](#tfiles) +* [Frontlight/backlight](#flight) +* [While reading](#reading) +* [Installing dictionaries](#dicts) +* [More info](#more) + +--- +You can access the complete user manual from [our GitHub page](https://github.com/koreader/koreader). +]]) +.. +_([[## User interface + +
![Touch zones](../resources/quickstart/touchzones.png)
+ +- To show the **TOP MENU** or **BOTTOM MENU** you can click the indicated zones. You can click or swipe down the upper zone to show the **TOP MENU**. +- The **STATUS BAR** zone can be used to cycle between STATUS BAR items if one item is visible. This will also hide and show the STATUS BAR if you tap enough times. +]]) +.. +_([[## User interface tips + +- You can change the interface language using: + +> **TOP MENU ➔ ![Settings](../resources/icons/mdlight/appbar.settings.svg) ➔ Language** + +- If you tap and hold on an option or menu item (font weight, line spacing etc.), you can set its value as **DEFAULT**. The new value will only be applied to documents opened from now on. Previously opened documents will keep their settings. You can identify default values as a STAR in menu or as a black border around indicators as seen below: + +
![Default setting 1](../resources/quickstart/defaultsetting1.png)
+
![Default setting 2](../resources/quickstart/defaultsetting2.png)
+ +- You can see explanations for all items on the **BOTTOM MENU** by tapping and holding the name of the option. This is also available for most of the **TOP MENU** menu items. +- You can **CLOSE** full screen dialogs (History, Table of Contents, Bookmarks, Reading Statistics etc.) by swiping down +- **SCREENSHOTS** can be taken by touching opposing corners of the screen diagonally at the same time or by making a long diagonal swipe + +
![Number picker](../resources/quickstart/numberpicker.png)
+ +- In dialogs containing adjustment arrow buttons like the one above, you can tap and hold on arrow buttons to increase / decrease the value in bigger increments +- You can **CLOSE** this type of dialog (non-full screen) by tapping outside of the window. You can **MOVE** this type of dialog by holding the window title and dragging +- You can make this type of dialog **SEMI-TRANSPARENT** (to see the text under it while adjusting a value) by tapping and holding the window title +- Tapping and holding a word brings up a dialog which allows you to search for the selection to find more occurrences in the document or to look it up on Wikipedia +- You can highlight sections by tapping and holding a word and dragging your finger +- You can move through your document via the **SKIM DOCUMENT** dialog: + +> **TOP MENU ➔ ![Navigation](../resources/icons/mdlight/appbar.navigation.svg) ➔ Skim document** +]]) +.. +_([[## Accessing files + +The following methods are available for accessing your books and articles: + +* File Browser +* Favorites +* History + +You can assign gestures for quick access to each of these dialogs. + +You can also set KOReader to open with any of these dialogs on startup via: + +> **TOP MENU (in File Browser) ➔ ![Filebrowser](../resources/icons/mdlight/appbar.filebrowser.svg) ➔ Start with** +]]) +.. +_([[## Transferring files + +In addition to transferring files the same way you would with the built-in reader application, other options are available depending on your device: + +1. USB Mass Storage mode within KOReader +2. Cloud storage (Dropbox/FTP/Webdav) +3. SSH/SFTP access +4. Calibre transfer +5. News downloader +6. Wallabag +]]) +.. +_([[## Frontlight/backlight + +You can control your screen light via this menu. If you have warm lighting (normal white LEDs+orange ones) you can control them separately from this dialog: + +> **TOP MENU ➔ ![Settings](../resources/icons/mdlight/appbar.settings.svg) ➔ Frontlight** +]]) +.. +_([[## While reading + +
+ +You can change the font -Welcome to KOReader. +**TOP MENU ➔ ![Typesettings](../resources/icons/mdlight/appbar.typeset.svg) ➔ Font** -You can activate the menu by swiping down from the top of the screen. Clicking outside the menu or swiping up on the menu will discard it. +
-Turning pages can be done either by swiping left and right or by single taps on the left or right side of the screen. +Make font bigger -### Contents +**BOTTOM MENU ➔ ![Textsize](../resources/icons/mdlight/appbar.textsize.svg)** -* [Menu](#menu) - * [Main menu](#main-menu) - * [Settings](#settings) -* [File browser](#file-browser) +
+Make font bolder -## Menu +**BOTTOM MENU ➔ ![Contrast](../resources/icons/mdlight/appbar.contrast.svg)** -Most menu items will show more information about what they do by long pressing on the item. +
-### Main +Invert the colors (white text on black) -![Menu](../resources/icons/mdlight/appbar.menu.svg) You can always view this quickstart guide again through *Help* → *Quickstart guide* in the top right menu. +**TOP MENU ➔ ![Settings](../resources/icons/mdlight/appbar.settings.svg) ➔ Night mode** -### Settings +
-![Settings](../resources/icons/mdlight/appbar.settings.svg) You can change the language and other settings through the gear icon. +Change many formatting options +**TOP MENU ➔ ![Typesettings](../resources/icons/mdlight/appbar.typeset.svg) ➔ Style tweaks** -## File browser +
+]]) +.. +_([[## Installing dictionaries -The file browser will only show document or ebook files that KOReader can read. +KOReader supports dictionary lookup in EPUB and even in scanned PDF/DJVU documents. To see the dictionary definition or translation, tap and hold a word. -In the file browser, you can tap on any file to open it. Long press on any file to bring up a menu with more options. The location path display above the list of files and folders shows you which folder you're viewing. The `../` entry, at the top of the listed folders, lets you go *up* one level. For instance, if you are at `/mnt/onboard` now, tapping the `../` will bring you to `/mnt/`. +To use the dictionary lookup function, first you need to install one or more dictionaries in the StarDict format. KOReader has an inbuilt dictionary installation system: -Once you have found the folder you have your books listed in, you can long press the selection that opens that folder and you should see a message box popup with the option to **Set as HOME folder**. +**TOP MENU ➔ ![Search](../resources/icons/mdlight/appbar.search.svg) ➔ Dictionary Settings > Download dictionaries** +]]) +.. +_([[## More info -## Defaults +You can find more information on our GitHub page -If you long press an option KOReader will prompt you to set it as the global default. +[https://github.com/koreader/koreader](https://github.com/koreader/koreader) -## Wiki +You can find other KOReader users on MobileRead forums -Please refer to the wiki at https://github.com/koreader/koreader/wiki for more documentation. +[https://www.mobileread.com/forums/forumdisplay.php?f=276](https://www.mobileread.com/forums/forumdisplay.php?f=276) -------------- -Generated by KOReader %1. +--- +
Generated by KOReader %1.
]]), rev) @@ -103,7 +226,7 @@ function QuickStart:getQuickStart() end end - local quickstart_html = FileConverter:mdToHtml(quickstart_guide, _("KOReader Quickstart Guide")) + local quickstart_html = FileConverter:mdToHtml(quickstart_guide, _("KOReader Quickstart Guide"), stylesheet) if quickstart_html then FileConverter:writeStringToFile(quickstart_html, quickstart_filename) end diff --git a/resources/quickstart/defaultsetting1.png b/resources/quickstart/defaultsetting1.png new file mode 100644 index 0000000000000000000000000000000000000000..425a2022633259646663c4fc3611e2df845d52b1 GIT binary patch literal 2979 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 W+vw0V00wG0I+Wp^+qJhGqW=Sn*p;CG literal 0 HcmV?d00001 diff --git a/resources/quickstart/defaultsetting2.png b/resources/quickstart/defaultsetting2.png new file mode 100644 index 0000000000000000000000000000000000000000..f10d8c78f8b920b1142d42ab935288a53372097b GIT binary patch literal 2184 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 E52n8d_5c6? literal 0 HcmV?d00001 diff --git a/resources/quickstart/numberpicker.png b/resources/quickstart/numberpicker.png new file mode 100644 index 0000000000000000000000000000000000000000..3a28b6d3eaa4ae84cb81f79018c458dc90f940b1 GIT binary patch literal 9354 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 Q=Z6p!WK^ZgB~60<4N|WCuK)l5 literal 0 HcmV?d00001 diff --git a/resources/quickstart/touchzones.png b/resources/quickstart/touchzones.png new file mode 100644 index 0000000000000000000000000000000000000000..644a6a21eac0712990cbd4a66d698a7259c9ee18 GIT binary patch literal 40945 zcmeEubySvX`z0ufAR#IsNT`%ZNh1iTAn<~8H%NDPi3o@iN;lFa-Hm|KUD6`mASFH5 zbLKbmt(i45YrZw}-^@Bo&w2Z~@B50q_qCrBAR{G;i%p7+hK7cV5)+m~L%XDchIX0s z+EsW)&6@`w4UL$_RYApGPS@$4wXKz*iMhc&dlzeidj`%XhG=Nc<9Tr=j$}_l-(Aez zw!>KOv?;9T=8m50HF{6|vWWik@Kjf5Xh+~R9(Pvm%QA)+GZz%Qf~WI~wE@{fleXoj zEkto!r*azwNoTHJ0(M-}4O_kLb-PwZ0-ihPaZCK$6p8o}?jCowk{UFVW@cRah_x&C zR{XXF0xx*1R|dMD(?%1x%xe}3Yl&4j%uo7+I@72 zI@Q|D-N`ARi!_c(aNLf?qpQ&g`DjTpI%PA#G@Tju^Um3UuhUj0{$UB}2P@C3cQxL- zR?SHm>-v(qM|=9;NWnUvB64cAaH?H-M8(pYKE3m}mC4H^W{df6`&zuo&S$%>>AF9c zYHF3q;wSIyaYqr{aMH4o82x5da7ej(ztHBMh$r{m56PFEyErhbDK?6^kZP!InNf zQppvUb40<8scb~aZI?+VGFcAy|bY3w>U#V@v3RARRxNsWKN22t9Z?_hSGN9-7RU}qi}g?zB7K)O~vvg?TdS+ zn}nQRROxFSZbN@dZ}Tq;G+`Nqz7}b5w->H`c!|1Hxy#&v)%B$mYe}~}VY{BboOxu) zROPE{bB+S!hZHs1pHFNiaq7>REzjvbvtv(r-M5`y-=??J7Pi3JTnzdt@B1ekS7C;h zg4ui`xQKs4ZX;&)ac1F^%JfqCAof(`;w`aKpG9&qyA(c*b1l-Vd$#Jm#kc)YG_+^D zdAY8FW&2NpajO!3?*(k|3CCSVO{;6&uQ7Kba|}{4(o+9k8>U-n;AC8~|NXl`ei$ot zi=v~(iSx{QqNoM7ncb9u`IjC2q}+YIJo$}i%ec=Hcg}}6(01?aVqivpw<%$q*)feS zH6tn+io?zE{nDV7 zSIrciES(4ab>XnEb?FL{fw+v`)z`7__jm2MrOG(R2Z#rHit9mI-O6=wa* zVz?KJ?YFkW*Z|bdStk%02;gv@vi^!8nNLL?GKk4I@wg zfHWk;aZzO|d;ilXMa@OQ(ucTVZysr^W{q&7XO4-Q6`@(0Mp;N(O4WazMjh2j|MbLV z#?pQDrDN-N^X4~FHr$q`g_W(;5vvrFYeuAQe`C0H)I&o&*cn>I;n_w1-|pntKlc*O0e z>un|X(|{^^`@=v##`DZ_dY`HmhV#wyk*9rXEi1;nS6BT$-%WJp`b(izHmXcspC()K zDv-Q!PmfL~J7a8uXuA9vxqqRqdw%Td?jP#5X^uLT<6u{XCk8&=nf*J_;Z_>&RZb4d^5d-~vz zn>bxr_2l9~e{!x7hC!hAADvgi1#}O8jji&v_9+t#ssN5IM^}(OW8X{hs4pXR8L04xusO>P!L5MIsF$zhw+H!Ye3;*`1;q(& z1Y&piSm5wzJm~#O(i9TrY904Qsuf7{smBWO@{T7kJGmpJ) ze)rZYEbYISb$@mv<~<%U%eNaZEmq!03<^4iTs{4U>7n~LotB4z(+7;Y z_0Sv1e2Q5*ST1rXx7k9n75APei7l;tb+-*^OsqG`2hlo+qYlMWy4!Ba_|d;;(~nQu z9eK2D$G%ef6vH~#)p^QKsLm8kR!9*~Ipa13J-1
H=em}9#`k+)y2{SMtoC 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�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