DataviewJS 打字背诵练习

image

已上传至 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 打字练习插件永久会员,谁懂阿!

2 个赞