已上传至 DataviewJS 的传参与复用 蓝奏云链接,选择“dv-打字.js”。
若阅读本帖有疑问,可先阅读此贴。
默认行为:
-
读取某个文档内容作题目。题目格式:英文冒号分隔,一行一个,
第 1 列 col0 为答案,第 2 列 col1 为提示。题目档格式示例,点击展开
a:あ a:ア
因使用正则
/ ?: ?/g
匹配分隔符,所以也可以是:a : あ /*冒号两边可有不超过一个的空格*/ a : ア
因读取正文后使用
.replace()
替换掉了一些格式,详见外部 JS 代码,所以也可以是:a[一些注释]:あ[一些注释] a:ア
-
聚焦输入框时,回车发送答案。
- 正确将朗读答案后进入下一题,错误将朗读答案并弹出正确答案。
- 任何时候可按向上键朗读答案。
-
选框勾选是否自动发音(下一题起效)。
-
点击“导出”导出为 xls。
内部 DataviewJS 代码:
const ss = {
le: 'ja', col: 0, auto: 0, mute: 0, w: '40px', /*本行参数均可不填*/
0: '文件目录/日语五十音.md'
}; await dv.view('JS 目录/dv-打字', { ss, dao: 1 })
各自定义属性含义:
ss[0]
:题目档路径。ss.le
:朗读语种。不填则按向上键亦无发音。ss.col
:朗读答案还是提示,0
为答案,1
为提示。ss.auto
:是否默认勾选自动发音,0
为关,1
为开。ss.mute
:取消自动发音选框,除按向上键外不朗读,0
为关,1
为开。ss.w
:输入框宽度。dao
:是否显示导出按钮,0
为关,1
为开。
朗读使用有道 API,搜索得支持的语种如下:
{ 'zh-CHS': '中文', 'en': '英语', 'ja': '日语', 'ko': '韩语', 'fr': '法语', 'de': '德语', 'ru': '俄语', 'es': '西语',
'pt': '葡语', 'it': '意大利语', 'vi': '越南语', 'id': '印尼语', 'ar': '阿拉伯语', 'nl': '荷兰语', 'th': '泰语' }
因通过搜索引擎获取信息,不清楚有道 API 有没有文档,欢迎告知。
几个内部代码的例子:
const ss = {
mute: 1, 0: '文件目录/日语五十音.md', le: 'ja', col: 1
}; await dv.view('JS 目录/dv-打字', { ss, dao: 0 })
const ss = {
0: '文件目录/小鹤双拼韵母.md'
}; await dv.view('JS 目录/dv-打字', { ss, dao: 0 })
const ss = {
auto: 1, 0: '核心词句/2024-04-18.md', le: 'en', w: '120px'
}; await dv.view('JS 目录/dv-打字', { ss, dao: 1 })
虽然但是,之前以为无法自己实现,已经付费 uTools 打字练习插件永久会员,谁懂阿!