Recently Written · git

subread.koplugin

KOReader plugin: the book follows the narration of an audiobook, from an .srt made by subread.space

git clone https://github.com/equwal/subread.koplugin

Log | Files | Refs


subread/more_apps.lua (2939 bytes)

1 --[[--
2 The other apps and sites of the author, for the "More apps" entry of the
3 menu.
4 
5 Pure Lua. No KOReader dependency, so it can be unit tested on a PC.
6 
7 KOReader cannot open a web browser on each device, so the menu shows each
8 address as text.
9 --]]--
10 
11 local MoreApps = {}
12 
13 -- The order of the link catalog: the sites, then the Android apps, then the
14 -- list of all projects. The plugin itself is not in the list.
15 MoreApps.list = {
16     { name = "SubRead", url = "https://subread.space/",
17       line = "Read along with an audiobook." },
18     { name = "Book Simulator", url = "https://booksimulator.com/",
19       line = "A reading room for Aozora Bunko and Project Gutenberg books." },
20     { name = "honjimaku.com", url = "https://honjimaku.com/",
21       line = "Subtitles for Japanese audiobooks." },
22     { name = "sbm Sync", url = "https://sbmsync.com/",
23       line = "Your bookmarks, the same on every device." },
24     { name = "SubRead for Android", url = "https://github.com/equwal/subread-android/releases/latest",
25       line = "Times an audiobook against its ebook on the device." },
26     { name = "SubRead Overlay", url = "https://github.com/equwal/subread-overlay/releases/latest",
27       line = "Subtitle lines over any Android media player." },
28     { name = "SubRead Dictionary", url = "https://github.com/equwal/subread-dictionary/releases/latest",
29       line = "Pop-up dictionary that reads Yomitan dictionaries." },
30     { name = "SubRead Anki", url = "https://github.com/equwal/subread-anki",
31       line = "One tap makes an Anki card from any app." },
32     { name = "Subrep", url = "https://github.com/equwal/subrep-android/releases/latest",
33       line = "Live captions of the sound of your phone." },
34     { name = "sbm for Android", url = "https://github.com/equwal/sbm-android/releases/latest",
35       line = "Fuzzy search for your bookmarks." },
36     { name = "Rebind", url = "https://github.com/equwal/rebind/releases",
37       line = "Remap the hardware buttons of e-ink readers and Android." },
38     { name = "Ink Recents", url = "https://github.com/equwal/ink-recents/releases/latest",
39       line = "A recent-apps switcher for e-ink." },
40     { name = "Ink Dim", url = "https://github.com/equwal/ink-dim/releases/latest",
41       line = "Frontlight below the lowest system level." },
42     { name = "Ink Update", url = "https://github.com/equwal/ink-update/releases/latest",
43       line = "Tells you when Rebind and its extensions update." },
44     { name = "All projects", url = "https://recentlywritten.com/projects.html",
45       line = "Everything, with source code." },
46 }
47 
48 --- Returns the list as plain text: the name, the line and the address of
49 --- each app, with an empty line between two apps.
50 function MoreApps.text()
51     local blocks = {}
52     for _, app in ipairs(MoreApps.list) do
53         blocks[#blocks + 1] = app.name .. "\n" .. app.line .. "\n" .. app.url
54     end
55     return table.concat(blocks, "\n\n")
56 end
57 
58 return MoreApps