tianhao / alfred-mweb-workflow

搜索、打开MWeb 内部文档和外部 Markdown 文档
MIT License
221 stars 16 forks source link

进行了一些优化,修复了一个Bug #1

Closed chenzz closed 7 years ago

chenzz commented 7 years ago
  1. 优化查询脚本:把文件标题中带有查询关键字的结果放在前面
  2. 设置 shift+cmd+j作为缺省hotkey
  3. 修复某些情况下shell结果的排序和alfred结果的排序不一致的问题(bug原因还在查找中)
  4. 添加shell的源码,方便pull request时进行比较
tianhao commented 7 years ago

我在此基础上又做了一次修改,按照标题匹配度排序(匹配关键字越多越靠前),另外速度上应该有所提升

刚测试了一下速度没有提升,反而降了 0.0x 秒

chenzz commented 7 years ago

佩服~!你的Shell编码水平比我这个半桶水强太多了 😂 请教下,你学习Shell看哪本书的,以及写Shell有用什么IDE么

chenzz commented 7 years ago

测起来速度没有提升,可能是因为文件数量还不够多的缘故,理论上改进后 少执行n次 head -1命令

chenzz commented 7 years ago

说起来这个workflow还是有bug,不知道你注意到没有: 某些情况下 alfred的列表顺序和shell脚本输出的顺序不一致, 这个问题我正在排查,不知道是不是alfred本身bug

tianhao commented 7 years ago

我测试的结果是你的脚本快0.0x 秒,不过我的脚本是按照关键字匹配度排序,多个关键字的时候标题匹配关键字越多越考前。 其实shell主要时多写,多测试,多在google 和 stackoverflow 查资料,我刚写的这个更新就参照了一下答案 https://stackoverflow.com/questions/16679369/count-occurrences-of-a-char-in-a-string-using-bash http://www.walkernews.net/2013/01/28/how-to-run-shell-command-inside-awk/

tianhao commented 7 years ago

顺序问题解决了,Alfred 通过 uid来排序,我们之前的uid都是文件名,现在改成了0~n。 参考: https://www.alfredapp.com/help/workflows/inputs/script-filter/json/

uid : STRING (optional)

This is a unique identifier for the item which allows help Alfred to learn about this item for subsequent sorting and ordering of the user's actioned results.
It is important that you use the same UID throughout subsequent executions of your script to take advantage of Alfred's knowledge and sorting. If you would like Alfred to always show the results in the order you return them from your script, exclude the UID field.
chenzz commented 7 years ago

👍👍👍