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