{"id":13512418,"url":"https://github.com/tianhao/alfred-mweb-workflow","last_synced_at":"2025-03-30T22:32:51.587Z","repository":{"id":25812912,"uuid":"104848818","full_name":"tianhao/alfred-mweb-workflow","owner":"tianhao","description":"搜索、打开MWeb 内部文档和外部 Markdown 文档","archived":false,"fork":false,"pushed_at":"2022-12-17T06:46:29.000Z","size":48030,"stargazers_count":221,"open_issues_count":6,"forks_count":16,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-11-01T14:37:37.453Z","etag":null,"topics":["alfred","alfred-workflow","markdown","mweb","quicksearch"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tianhao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-09-26T07:07:54.000Z","updated_at":"2024-08-20T14:05:26.000Z","dependencies_parsed_at":"2023-01-14T07:01:16.485Z","dependency_job_id":null,"html_url":"https://github.com/tianhao/alfred-mweb-workflow","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tianhao%2Falfred-mweb-workflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tianhao%2Falfred-mweb-workflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tianhao%2Falfred-mweb-workflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tianhao%2Falfred-mweb-workflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tianhao","download_url":"https://codeload.github.com/tianhao/alfred-mweb-workflow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246390877,"owners_count":20769476,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alfred","alfred-workflow","markdown","mweb","quicksearch"],"created_at":"2024-08-01T03:01:50.480Z","updated_at":"2025-03-30T22:32:46.564Z","avatar_url":"https://github.com/tianhao.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# MWeb workflow\n[下载](https://github.com/tianhao/alfred-mweb-workflow/raw/master/MWeb.alfredworkflow)\n\n使用前请参照最后一节 \"设置环境变量\" 配置\n\n**更新日志**\n* [2022年12月03日] 增加新功能：手动git备份\n* [2022年02月10日] 增加新功能：快速笔记\n* [2021年10月06日] 增加新功能：自动格式化文章标题\n* [2019年03月03日] 修复 [issue-13](https://github.com/tianhao/alfred-mweb-workflow/issues/13)\n* [2018年11月29日] 修复 [issue-12](https://github.com/tianhao/alfred-mweb-workflow/issues/12)\n* [2018年8月5日] 修复 [issue-11](https://github.com/tianhao/alfred-mweb-workflow/issues/11),将script内容移到shell文件，方便调整\n* [2017年12月18日] 修复 [issue-5](https://github.com/tianhao/alfred-mweb-workflow/issues/5)\n* [2017年11月25日] 修复 [issue-4](https://github.com/tianhao/alfred-mweb-workflow/issues/4); 提升速度\n* [2017年11月20日] 添加外部文档库搜索\n\n## 1. 搜索\u0026打开内部文档\n![](media/15064049765164/15100051287719.gif)\n\n使用方法:\n用户可以使用关键字 \"mo\" 或者自定义快捷键触发 workflow\n\n```\nmo [-t tag1,tag2...] [-h keyword1,keyword2,...]  [keyword1] [keyword2]...\nhotkey-\u003e [-t tag1,tag2...] [-h keyword1,keyword2,...] [keyword1] [keyword2]...\n```\n\n示例\n\n```BASH\n# 不输入任何参数，按最近修改时间排序文档\nmo \n# 查找有 alfred 关键字的文档\nmo alfred\n# 查找有 alfred 和 workflow 两个关键字的文档\nmo alfred workflow\n# 查找tag含有 TODO 的文档，tag不区分大小写\nmo -t TODO\n# 查找tag同时包含 TODO 和 DONE 的文档, tag之间以,隔开(中文逗号，也可以)，但tag名称不能有空格\nmo -t TODO,DONE\n# 查找 tag含有 TODO, 且有alfred 和 workflow 两个关键字的文档\nmo -t TODO alfred workflow\n# 与上面输入等效\nmo alfred workflow -t TODO \n# 查找标题包含关键字 alfred 和 workflow 的文档\nmo -h alfred,workflow\n# 查找标题包含关键字 alfred 和 workflow，且文档包含 mweb 关键字的文档\nmo -h alfred,workflow mweb\n```\n\n**功能说明**：\n\n1. 如果不输入任何参数，会列出最近修改过的20个文档，按照最近修改时间安倒序排序，即使输入了参数过滤，也最多输出20条记录；\n2. 目前支持3种可选过滤参数，tag参数(-t)、title参数和关键字参数，会根据参数过滤文档并做好排序,tag参数参考下面[tag选项]，title参数参考下面[title选项]；\n3. 你可以输入多个关键字过滤，中间以空格隔开，workflow 会用查找包含所有关键的的文档，只有包含所有关键字的文档才会列出来，所以关键字越多越精确；\n4. 选中对应行，回车，会用MWeb app打开该文档；\n5. 关键字不区分大小写，输入\"MWeb\" 与 \"mweb\"效果相同。\n\n**tag选项(-t)**:\n1. 输入 `-t tag1[,tag2,...]` 触发workflow查找包含所有输入tag的文档，只有包含所有输入tag的文档才会显示；\n2. tag之间以逗号\",\"隔开，tag不区分大小写，逗号也不区分中英文；\n3. 当输入-t 时，会触发展示可选的tag列表，选中需要的tag回车，workflow会将选中的tag加入选项中，并让你可以继续选择别的tag，如果你已经选好了需要的tag；\n4. 如果你已经选好了需要的tag，再输入一个空格会关闭tag列表，并且展示过滤后的文档，这是敲回车会打开对应的文档。\n\n**title选项(-h),由于-t用在了tag上，所以用-h(header)触发标题过滤**:\n\n1. 使用 `-h keyword1[,keyword2,...]` 触发标题过滤；\n2. 可以输入多个关键字，标题的关键字之间以\",\"号隔开，关键字不区分大小写，逗号也不区分中英文；\n3. title过滤会过滤第一行包含所有标题关键字的文档，与其它选项组合使用\n\n不带关键字，列出前20个最近改过的文档\n\n![](media/15064049765164/15066073225111.jpg)\n\n一个关键字\n\n![](media/15064049765164/15066070861400.jpg)\n\n多个关键字\n\n![](media/15064049765164/15066070501779.jpg)\n\ntag列表: `-t` 触发 tag 选项\n\n![](media/15064049765164/15100054679932.jpg)\n\ntag列表：输入一个tag后，输入下一个tag前会将上一个从列表剔除\n\n![](media/15064049765164/15100055398759.jpg)\n\ntag输入完成再输入一个空格，会展示tag过滤结果\n\n![](media/15064049765164/15100059867083.jpg)\n\ntag(todo) 和 关键字(pg_) 组合过滤文档\n\n![](media/15064049765164/15100059425187.jpg)\n\n## 2. 搜索\u0026打开外部文档\n如果你喜欢使用外部文档，甚至有多个外部文档库，那么这个外部文档库搜索就很重要，它能搜索多个文档目录将最佳匹配且最近更新文档列出来，然后使用你指定的Markdown app(默认是MWeb)打开。\n\n**配置**\n* **MARKDOWN_PATH** 变量，可以配置多个路径，路径之间以`:`隔开，例如:`${HOME}/working:${HOME}/blog:${HOME}/fun`\n* **MARKDOWN_APP** 变量,默认是`/Applications/MWeb.app`,你可以设置为其它App。\n\n**使用**\n* `moe [-h keyword1,keyword2,...] [keyword1 keyword2] `\n* 使用方法跟打开内部文档一样，只是触发关键字改成了**moe**, 另外没有 tag 过滤功能(-t)，因为外部文档没有tag。\n* **由于每次搜索都会查找路径下所有的 .md 文件，所以目录结构太深或无关文件太多的目录会影响速度(例如复杂项目的源代码目录)，建议集中管理你的文档，以提高搜索效率。**\n\n效果图:\n\n![](media/15064049765164/15111309314522.jpg)\n\n## 3. \"mpush\" (提交生成的静态博客到远端Git(Hub)\n我用的是GitHub做静态博客，在用MWeb生成网站之后，需要做 `git add ...;  git commit ;git push`等一序列操作才能把最新文章推送到GitHub，博客才更新，所以做了一个一键push功能\n\n使用方法：\n1. 按设置环境变量的方法设置 MBLOG_HOME 变量 MBLOG_URL变量(一次性)\n2. 用MWeb生成生成网站\n3. 使用mpush 一键推送到GitHub或者别的远程git地址\n4. push完成之后会打开博客地址(用浏览器)\n\n静态博客使用方法请参考 MWeb 官方文档，这里只是做了一键push操作\n\n## 4. \"mf\" 自动格式化文章的标题前缀\n\n自动格式化文章标题的前缀。\n\n* 使用方法：\"mf + 空格 + 关键字\" 搜索对应的文章，并选中\n  * ![](media/15064049765164/img.jpg)\n  * P.S. \"mfd + 空格 + 关键字\" 则是顶层标题的序号递减\n* 注意事项：修改之前的文章备份在 `/tmp` 目录下。\n* 使用效果：如下图所示。\n  * 文章1，格式化之前\n  * ![](media/15064049765164/16334236908876.jpg)\n  * 文章1，格式化之后\n  * ![](media/15064049765164/16334237133202.jpg)\n  * 文章2，格式化之前\n  * ![](media/15064049765164/img.png)\n  * 文章2，格式化之后\n  * ![](media/15064049765164/img2.png)\n\n## 5. \"mn\" 快速创建笔记\n* ![](media/new.png)\n* ![](media/new2.png)\n\n## 6. \"mb\" 手动git备份\n### 6.1. 初始化设置\n```shell\ncd ~/Library/Containers/com.coderforart.MWeb3/Data/Library/Application\\ Support/MWebLibrary\necho 'mainlib.db' \u003e\u003e .gitignore\necho '/docs/media' \u003e\u003e .gitignore\necho '/metadata' \u003e\u003e .gitignore\ngit init\ngit checkout -b main\ngit add .\ngit commit -m \"first commit\"\ngit remote add origin 【你申请的git仓库地址】\ngit push -u origin main\n```\n### 6.2. 使用\n* ![](media/git-backup.png)\n\n## 设置环境变量(必须设置)\n\n1.打开MWeb workflow 的环境变量设置页面\n\n![](media/15064049765164/15111282683804.jpg)\n\n![](media/15064049765164/15111283626588.jpg)\n\n2.打开MWeb偏好设置,复制对应路径到workflow变量中\n\n**MWeb 2内部文档的配置**\n* 默认文档位置：\n`${HOME}/Library/Containers/com.coderforart.MWeb/Data/Documents/mainlib/`\n* iCloud 文档位置：\n`${HOME}/Library/Mobile Documents/iCloud~com~coderforart~iOS~MWeb/Documents/mweb_documents_library/`\n* 静态博客保存位置\n`${HOME}/Library/Containers/com.coderforart.MWeb/Data/Documents/themes/Site/`\n![](media/15064049765164/15111287325474.jpg)\n\n**MWeb 3内部配置**\n* 默认文档位置：\n`${HOME}/Library/Containers/com.coderforart.MWeb3/Data/Documents/mainlib/`\n* iCloud 文档位置：\n`${HOME}/Library/Mobile Documents/iCloud~com~coderforart~iOS~MWeb/Documents/mweb_documents_library/`\n* 静态博客保存位置\n`${HOME}/Library/Containers/com.coderforart.MWeb3/Data/Documents/themes/Site/`\n![](media/15335343681756.jpg)\n\n**MWeb 4内部配置**\n* 默认文档位置：\n`${HOME}/Library/Containers/com.coderforart.MWeb3/Data/Documents/mainlib/`\n* iCloud 文档位置：\n`~/Library/Containers/com.coderforart.MWeb3/Data/Library/Application Support/MWebLibrary`\n* 静态博客保存位置\n`${HOME}/Library/Containers/com.coderforart.MWeb3/Data/Documents/themes/Site/`\n![](media/15335343681756.jpg)\n\n**外部文档配置**\n* **MARKDOWN_PATH** 变量，外部文档搜索路径，可以配置多个路径，路径之间以`:`隔开，例如:`${HOME}/working:${HOME}/blog:${HOME}/fun`\n* **MARKDOWN_APP** 变量，打开外部文档的App，默认是`/Applications/MWeb.app`,你可以设置为其它App，设置后会用该App打开外部文档。\n\n**静态博客配置(可选)**\n* **MBLOG_HOME** 填静态博客生成目录；\n* **MBLOG_URL** 填上的你Blog地址(如果使用了MWeb的静态博客功能)；\n\n3.设置快捷键（可选）\n\nworkflow 默认没有设置`mo`、`moe`和`mpush`的快捷键，用户可以按照自己的需要设置快捷键\n![](media/15064049765164/15111313608850.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftianhao%2Falfred-mweb-workflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftianhao%2Falfred-mweb-workflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftianhao%2Falfred-mweb-workflow/lists"}