V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
kidlj
V2EX  ›  分享创造

「遇见单词 MetWord」2.0 来了,带来了单词发音,书签全文搜索以及 RSS 自动发现功能

  •  
  •   kidlj ·
    kidlj · 2022-10-19 11:59:44 +08:00 · 11382 次点击
    这是一个创建于 764 天前的主题,其中的信息可能已经有所发展或是发生改变。

    介绍

    https://metword.co

    「遇见单词 MetWord 」是一个浏览器划词翻译插件,可以标记你查询过的单词,在下次遇见时用红色下划线给出提醒。

    如果一个单词你总是遇到,那么这个单词可能对你来说是重要的,通过这种标记和提醒的方式,让你在读英文的过程中逐渐掌握单词 —— 遇见单词,不背单词。

    scene

    更新

    1.0 发布的时候只在 V2EX 做过宣传,半年多时间积累了 2k 注册用户。照例,这次 2.0 发布也是第一时间来这里分享。

    这个版本使用 Turbo 重写了整个网站,增加了单词发音,带来了使用标记场景句子的单词复习功能。

    单词查询和提醒有了,为了解决英文文章阅读来源的问题,2.0 做了 RSS 自动发现和订阅的功能,就是在浏览网页的时候会自动发现当前页面是否有订阅源,支持插件一键订阅。还支持将网页加入到个人收藏,稍后再读。

    全文搜索

    另一个很重要的功能是加入到个人收藏的文章支持全文搜索。出发点是我个人几年来收藏了上千个书签,都是读过的觉得有用的文章和文档,但是有时候想找到它们再读一次的时候会很困难,因为浏览器自带的书签管理仅支持标题搜索。

    MetWord 会把加入收藏的文章抓取下来,使用正文抽取算法抽取到正文,然后索引正文内容到数据库,提供全文搜索功能。这就像是面向你个人知识库的私人搜索引擎。使用这个功能,再也不用给书签建目录,打 tag ,只要简简单单的一次搜索,就能找到你喜欢的文章。这是一种新的书签管理的尝试。

    我们的正文抽取算法高效准确,不仅能识别文章正文,还支持索引比如 V2EX 帖子评论或者 GitHub Issue, StackOverflow 的评论内容,因为关键词可能就在这些评论里。

    为了尽可能的抓取到文章正文,MetWord 用了好几个 fetcher ,一个不成功就尝试另一个,包括不同 UA 的本地 local fetcher 以及基于 Azure Function 和 Cloudflare Worker 的 proxy fetcher 。甚至还尝试过 headless 浏览器的方式( Playwright),但是成本太高了,暂时没有采用。

    你也可以把已经积累的书签文件导入到 MetWord ,看看能不能快速找到想看的文章。

    search

    RSS 自动发现和订阅

    读到一篇好的博客,可能想读到作者更多的文章,但是翻找网站是否支持 RSS 订阅是个麻烦事。MetWord 可以在浏览文章时自动发现是否有可用的 RSS 订阅,然后一键订阅。

    exension

    APP

    iOS 和 Android App 正在开发中。实际上我开始觉得在当前的环境下,先做 Web 和浏览器插件后做 App 的方式有些出力不讨好,毕竟大家用手机的时间更多。但考虑到个人的习惯,我平时还是在浏览器上看文档居多,所以就先开发了 Web 和浏览器插件。

    App 会采用同样的正文抽取算法,为大家带来好用的阅读模式。

    开源

    浏览器插件是开源的,地址:https://github.com/metnews/word-extension. 有任何 bug 或功能建议也可以反馈到这里。

    彩蛋

    为了避免大家产生可能的疑惑,MetWord 还有一个兄弟网站 MetNews,是面向海外用户的服务,只是去掉了单词功能。代码采用的是同一份,帐号和文章收藏等数据是互通的,有需要的大家也可以去看看,不过需要挂上代理才能访问。

    26 条回复    2022-11-14 01:51:20 +08:00
    sankemao
        1
    sankemao  
       2022-10-19 12:29:28 +08:00
    挺实用的插件,一直在用
    提个建议,能不能加入按键(如按住 alt 键)+ 划词触发单词弹窗
    sankemao
        2
    sankemao  
       2022-10-19 12:41:53 +08:00
    或者选中单词后,按 alt 键触发弹窗
    Hylenbin
        3
    Hylenbin  
       2022-10-19 12:42:51 +08:00 via iPhone
    看起真的很不错,Chrome 一直在用 Salad 插件,准备试用一下楼主的插件
    kidlj
        4
    kidlj  
    OP
       2022-10-19 13:26:56 +08:00
    @sankemao 好的,可以考虑,再收集下更多用户反馈。
    iyaozhen
        5
    iyaozhen  
       2022-10-19 13:48:25 +08:00
    “如果一个单词你总是遇到,那么这个单词可能对你来说是重要的” 这个不错,赞
    0914xc
        6
    0914xc  
       2022-10-19 14:12:17 +08:00
    @sankemao 支持
    teenight
        7
    teenight  
       2022-10-19 14:25:09 +08:00 via iPhone
    希望增加英英释义和其他语种
    safeall
        8
    safeall  
       2022-10-19 16:04:01 +08:00
    Edge 浏览器点击发音小图标没反应
    FYFX
        9
    FYFX  
       2022-10-19 16:13:58 +08:00
    希望英英释义+1
    yumenawei
        10
    yumenawei  
       2022-10-19 17:21:10 +08:00
    希望增加更多释义源,单一释义源可能不准备也不完全
    kidlj
        11
    kidlj  
    OP
       2022-10-19 17:21:14 +08:00
    @safeall 有个别网站设置了 media-src csp ,不允许从第三方网站加载媒体,而且无法绕过。
    yumenawei
        12
    yumenawei  
       2022-10-19 17:21:22 +08:00
    @yumenawei #10 不准确
    yangchuansheng33
        13
    yangchuansheng33  
       2022-10-20 11:49:03 +08:00
    希望可以自定义单词释义
    mlhadoop
        14
    mlhadoop  
       2022-10-20 19:15:42 +08:00
    插件没有上架市场需要自己编译吗
    kidlj
        15
    kidlj  
    OP
       2022-10-20 19:19:22 +08:00
    @mlhadoop 在主页最下边,有“通用”插件包下载,拖到浏览器窗口就可以自动安装了。

    https://metword.co
    mlhadoop
        16
    mlhadoop  
       2022-10-20 19:24:42 +08:00
    怎么划词的,哪里有说明文档吗
    kidlj
        17
    kidlj  
    OP
       2022-10-20 19:27:51 +08:00
    @mlhadoop 鼠标双击就会选中一个单词了(英文),接着就会弹出单词解释啦。
    edr1412
        18
    edr1412  
       2022-11-09 10:50:12 +08:00
    反馈个问题,Safari 启用了你的插件时,好像 twitter.com 会很卡,半天加载不出东西,停用后就正常了
    kidlj
        19
    kidlj  
    OP
       2022-11-09 13:40:56 +08:00
    @edr1412 感谢反馈,确实在 Safari 上有这个问题。初步调查可能是 Safari 或者 Twitter 的 bug ,因为插件使用了微软的 fluentui React library, 会下载自己的 web fonts ,而 Twitter 设置了 font-src CSP 禁止了从第三方加载字体。问题是字体的下载和因违反 CSP 导致的后续 CSP reports 请求在 Twitter timeline 页面上看起来是无穷无尽的,因此会导致 CPU 占用 100%,页面加载不出来或者很慢。经测试,Firefox 和 Chrome 不存在这个问题。

    --- 报告给 Twitter 的问题描述 ---

    I built a browser extension named MetNews[1], which uses the open source Microsoft fluentui React library[2]. The extension shows a callout box when user clicks its icon on any webpage, and the fluentui library will always download its registered web fonts(mainly Segoe UI) from third party site. It works all fine on most web pages, but not on Twitter timeline page. Since Twitter has the `font-src` Content Security Policy(CSP) set, web font downloading from third party sites always fails. The problem is that on Twitter timeline page, the downloading of web fonts and violation of CSP are endless, and Twitter would also reports the CSP violation to its server, then the whole process causes Twitter uses 100% CPU and the page won't loads or are very slow.

    I encounter the issue on MacOS 13.0 (22A380) with Safari 16.1 (18614.2.9.1.12). Chrome and Firefox on the same OS don't have this issue.

    Reference:
    [1]: https://metnews.co
    [2]: https://github.com/microsoft/fluentui

    And the browser extension code is open sourced at:
    - https://github.com/metnews/news-extension
    - https://github.com/metnews/news-extension-safari

    Thanks for any help.
    edr1412
        20
    edr1412  
       2022-11-09 19:39:15 +08:00 via iPhone
    @kidlj #19 谢谢回复。问题是报告给 twitter 能解决吗,以及为什么只有 Safari 能复现这个问题?要不先这样临时解决一下,不用第三方字体,或者在 twitter 禁止运行
    kidlj
        21
    kidlj  
    OP
       2022-11-09 19:45:10 +08:00
    @edr1412 能判定是 Safari 或者 Twitter 的问题,但不确定是哪一个。在同样使用了 font-src CSP 的 GitHub timeline 页面,Safari 是没有这个问题的,所以就将问题报告给了 Twitter 。引入的弹框组件来自 Microsoft fluentui React 库,内建的逻辑是下载第三方 Segoe UI web 字体,所以很难略过使用第三方字体。
    kidlj
        22
    kidlj  
    OP
       2022-11-12 10:39:18 +08:00
    @edr1412 因为这个问题一时无法解决,给你建议一个临时方案:使用 https://github.com/tw93/Pake 打包的 Twitter web 客户端,或者也可以使用 Twitter 官方的客户端(我在用的)。
    edr1412
        23
    edr1412  
       2022-11-14 00:02:22 +08:00 via iPhone
    @kidlj #22 用过这个,不错的,但我主动刷 twitter 不多,一般是别的地方跳转到推文才去看
    如果 Safari 扩展可以黑名单网站域名就好了,现在好像只有白名单?
    kidlj
        24
    kidlj  
    OP
       2022-11-14 00:21:25 +08:00
    @edr1412 不错的建议!当前黑白名单都没有,我考虑把 twitter.com 加到黑名单。
    kidlj
        25
    kidlj  
    OP
       2022-11-14 00:32:54 +08:00
    @edr1412 对了,刚刚发现 Safari 可以对扩展设定允许运行的网站,也就是黑白名单。你可以设置不允许 MetWord 在 Twitter 上运行(设定时需要打开 Twitter 网站)。

    edr1412
        26
    edr1412  
       2022-11-14 01:51:20 +08:00 via iPhone
    @kidlj #25 👌 这就足够了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1064 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 19:25 · PVG 03:25 · LAX 11:25 · JFK 14:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.