Git Product home page Git Product logo

reader's Introduction

tReader

https://tiansh.github.io/reader

又一个 TXT 文本阅读器。

自用为主。

使用

Safari 打开 https://tiansh.github.io/reader ,选择“添加到主屏幕”,从主屏幕上找到并打开,就可以开始用了。

具体的使用帮助请参考 https://tiansh.github.io/reader/help/zh\_cn.html

高级设置

有部分不适合放在设置中的琐碎可调整项目,放在了高级设置中。高级设置输入框接受一个 ini 格式的配置,具体格式如下。

[appearance]
; 当屏幕宽度达到如下值时,目录信息使用侧栏显示
screen_width_side_index=960
; (仅翻页模式)当屏幕宽度达到如下值时,使用两栏模式显示
screen_width_two_column=960
; (仅翻页模式)当屏幕宽度达到如下值时,即便显示了侧边栏目录,仍然使用两栏模式显示
screen_width_two_column_index=1260
; (仅滚动模式)在屏幕外预加载的文本数量,设置更大的数字以加载更多文本
scroll_buffer_factor=3
; (仅滚动模式)文本区域的最大宽度
scroll_max_text_width=800
; (仅滚动模式)自动滚动的默认速度,数字越大速度越快
scroll_speed=20.0
; 允许使用鼠标第四键第五键翻页(使用 Chrome 安装后可用)
mouse_paging=false
; 添加自定义 CSS
custom_css=

[reader]
; 翻页模式时点击左中右侧的操作
; 半角逗号分隔,可选值 `prev`, `next`, `menu`, `noop`
flip_touch_action=prev,menu,next
; 滚动模式时点击上中下侧的操作
; 半角逗号分隔,可选值 `prev`, `next`, `menu`, `noop`
scroll_touch_action=prev,menu,next

[text]
; 逐个尝试以下字符编码读取 txt 文件
; 如果遇到解析错误会自动尝试下一种字符编码
; 使用最后一种字符编码解析时,如果遇到错误会解析成豆腐字符
; 该项设置仅影响导入 txt 时的行为,对导入完成的 txt 无影响
encoding=utf-8,gbk,big5,utf-8
; 生成目录时,仅考虑长度不超过如下值的行
contents_max_length=100
; 生成目录时,如果识别到的目录条目数量超过如下限制,会拒绝生成目录
contents_size_limit=5000
; 搜索时用户输入识别方式
; 支持取值 text, wildcard, regex
search_mode=text
; 搜索时正则的标志,i 为忽略大小写
search_flags=iu

[speech]
; 语音朗读时,单条语音最多的字数
max_char_length=1000
; 语音朗读时,预先调度的语音条数
queue_size=10
; 显示媒体会话界面
media_session_enable=false
; 语音朗读忽略满足如下正则(ECMAScript)的文本行
skip_text_regex=/^\s*$/u
; 语音朗读遇到文章结尾时自动从开头重读
loop_enable=false
; 页面切换到后台时暂停朗读
pause_on_hidden=false
; 在每段末尾追加朗读的文本
extra_suffix=

请谨慎配置高级设置功能,错误配置可能造成显示错误甚至完全无法使用。

开发

分支管理

目前 master 分支是实际部署使用的代码版本。 beta 分支是正在开发的任何功能。 gh-pages 分支用于部署 GitHub Pages。

如果你希望贡献代码,可以根据当前 beta 分支的内容,考虑在 master 或 beta 分支基础上进行修改。

本地调试

项目本身没有使用构建工具,或者说并没有编译的必要。检出代码后,直接在 src 目录下运行任意的 HTTP 服务器即可开始调试。利用常见的简单本地 HTTP 服务器如 NPM 的 node-staticPython 的 http.server 等工具服务 src 目录下的文件,即可在浏览器中打开并调试。

因为项目使用了 ServiceWorker 提供离线使用支持,在浏览器刷新网页可能会获取到 ServiceWorker 缓存的历史版本。所以调试时可以考虑禁用浏览器的 ServiceWorker 支持。

希望添加某某功能

因为 Web APP 的限制,以下功能 iOS 上目前没法支持:

  • 旋转锁定[MDN]
  • 背光亮度调整
  • 保持屏幕唤醒[Chrome]
  • 隐藏手机顶部的信号与电量信息
  • 后台播放语音朗读
  • 切换应用时隐藏屏幕快照

所以如上相关的各种问题就不用再问我了。

但如果你要针对 Android 做任何上述功能,还是欢迎 PR。

繁简转换

项目的繁简转换规则基于 OpenCC 的词典整理而来。为了满足自己的使用,有一些自己的修改。

  • 繁简转换包含单字转换和词转换两个词典;
  • 此外整合了部分地区用字习惯的规则;
  • 在上述基础上去掉了四个字以上的转换规则,部分人名条目,和一些冗余的规则;
  • 此外还有一些另行添加或修改的规则项目。

繁简转换的词典见 ./han/ 目录。繁简转换相关逻辑请参考 https://github.com/tiansh/opencc-fsm 项目。

Open Source Credits

About

Copyright (C) 2020-2023 田生

This project is released under the Mozilla Public License 2.0 with no copyleft exception. You may checkout LICENSE file for more detail.

reader's People

Contributors

tiansh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

reader's Issues

建议添加卷的显示

现在正文左下角只显示章节名字,如果有卷的话,是不显示的,这本来没什么。但最近看的几本书,都是类似第一卷第一、二、三章,第二卷第一、二、三章这样,每卷下的每章都是从头开始的数字章节,不显示卷的话查找起来很不方便。所以建议添加卷的显示,大大有空的话加一个吧,谢谢啦

功能请求

尊敬的开发者,

我正在使用您的阅读器,并发现它非常实用。然而,为了使体验更加丰富和高效,我希望您能考虑增加以下两个功能:

  1. 添加一个便捷的默认设置JavaScript文件:这个JS文件能够将用户选择的默认设置以参数的形式包含在其中。这样,每当打开阅读器时,我就可以直接应用这些预设的设置,无需每次手动调整,且能跨平台保留设置。

  2. 实现对当前网站文件夹中电子书的直接搜索功能:我有一个庞大的电子书库,如果阅读器能够直接搜索我在该网站目录的电子书,将会大大提高我的效率。关于电子书文件名列表,您可以考虑从预设目录获取JSON格式的数据。以下是nginx反馈的默认文件列表数据示例:

[
    {
        "name": "123.txt",
        "type": "file",
        "mtime": "Sat, 28 Oct 2023 05:37:58 GMT",
        "size": 27064082
    },
    {
        "name": "456.txt",
        "type": "file",
        "mtime": "Sat, 28 Oct 2023 05:37:59 GMT",
        "size": 12678286
    },
]

我相信这些改进将为我和所有使用阅读器的用户带来极大的便利。感谢您花时间考虑我的建议,期待您的回复并看到这些新功能的实现。

祝好,
[Sog]

在暗色主题下,左侧会出现一条亮色的竖线,很不协调----关闭

当背景设置为纯黑色时,进入阅读界面,最左侧会出现一条浅色竖线。在设置界面没有这条竖线,只有在阅读界面会出现,希望作者优化一下

image.png

也许是我手机的问题,重启Safari 以后这个问题消失了,无法复现。问题已解决。感谢作者,这款web app非常好用!!!最棒的一款在线阅读器!!!

请教如何在iOS 手机端上也能用远程语音

请教如何在iOS 手机端上也能用远程语音
我使用了pc端的 Edge 可以看见和使用 远程语音 zh-CN Microsoft Yunxi Online (Natural) - Chinese (Mainland) ......
pc端的 chrome 不可以看见不能使用远程语音
iOS 上的 Safari 不可以看见不能使用远程语音
iOS 上的 Edge 不可以看见不能使用远程语音(但Edge里 “大声朗读” 里可以看见 远程语音也可以使用)

能添加小说导出功能吗

有时导入小说看完后想收藏但原文件已删除,能不能在删除按钮旁边加个导出按钮以便备份

MIUI 14.0.8 点击添加图书按钮没有反应

在使用MIUI系统(版本14.0.8,基于Android 13)的过程中,我遇到了一个问题。当按照页面提示将网页添加到桌面快捷方式后,我发现该网页中的主页“+”号添加图书功能无法正常使用。

为了更准确地描述这个bug,请允许我提供以下详细信息:

  1. 问题描述:将特定网页添加为桌面快捷方式后,“+”号的增加图书功能失效。
  2. 复现步骤
    a. 打开目标网页。
    b. 按照页面提示将该网页创建为桌面快捷方式。
    c. 返回桌面,点击新创建的网页快捷方式。
    d. 在打开的网页中尝试使用“+”号添加图书功能。
    e. 注意到该功能无法正常工作或未响应。

这个问题可能与MIUI系统处理桌面快捷方式的方式有关,或者是网页与MIUI系统的交互存在问题。我会继续关注此问题,并欢迎任何关于如何解决或进一步诊断此问题的建议。

iPhone 上打开繁简转换后导入单个超过约 30MiB 的文件时可能导致网页崩溃

我也不知道怎么办:试了试换成 Worker,结果一样该崩溃崩溃;试了试在转换的过程中 setTimeout 等会儿,结果还是该崩溃崩溃。

考虑到实在不知道怎么解决,加上反正我手头也没有这么大的小说,所以就不管这问题了。

姑且记在这里,谁知道怎么办可以贡献代码过来。有遇到相同问题的,关掉繁简转换应该就好了。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.