使用nginx代理 印象笔记markdown编辑器
使用 nginx 代理 印象笔记 markdown 编辑器
不同与 mac 系统的 印象笔记,可以直接改 css。window 版本的 markdown 是在线编辑的。所有可以使用 nginx 代理
缺点 => 不是很稳定,手机端无法同步样式,废了爷一天时间啊
步骤
evernote-markdown-win-theme
提供 Evernote 中文版的 Windows 平台下的 markdown 编辑器的主题。
基本原理
与 Mac 版本不同,Evernote_China_Win 并未通过本地的方式读取 Markdown 编辑器文件,而是打包到 Evernote.exe 的资源目录ZIP/MARKDOWNEDITORRES
。因此evernote-markdown-vue的经验不能直接复用。
尝试使用resourcehacker替换ZIP/MARKDOWNEDITORRES
,在版本6.18.14.753 (600753) Public (CE Build ce-62.1.8947, ME Build V1.0.28)
下会遇到代码渲染延迟的问题,以及字体不生效,猜测原因是字体加载问题。
使用Fiddler全局代理,会发现 evernote 会尝试访问http://loadmarkdown
这样的地址来获取字体文件,而非获取打包文件中的字体文件,而且默认情况(未替换资源文件)也会出现这种错误。
个人猜测这是由于 BUG 导致的,由于 Evernote 对内部链接http://loadmarkdown
的路由错误,导致其直接访问 Internet。
基于这个 BUG,我们可以替换掉 Evernote.exe 中的http://loadmarkdown
为本地地址,如http://localhost:555
。这样 Evernote.exe 在渲染 Markdown 文件时,将使用服务器上的编辑器,而非资源文件中的编辑器。
版本说明
兼容版本:6.18.14.753 (600753) Public (CE Build ce-62.1.8947, ME Build V1.0.28)
个人在evernote-markdown-vue的版本上做了一点轻微的修改,包括:
[TOC]
中的链接取消加粗- 修复
.tui-editor-contents pre
导致的黑边问题 - 修复
* {font-family: Microsoft Yahei, sans-serif}
导致代码渲染字体异常的问题 - 设置默认预览,双击编辑
- 替换入门指南按钮为预览按钮,方便切换
具体修改请使用Beyond Compare
之类软件对比查看。
已知问题:
- 由于演示功能是通过
main.min.js
行内 CSS 加载的方式生成的 html 页面,无法以上修改对其无效。个人由于不使用该功能,因此未作修改。
使用方式
构建编辑器(可选)
你可以自行构建该编辑器,也可以下载已经编译好的。如果你确实需要这么做,可以:
安装依赖:
1 |
|
执行编译:
1 |
|
构建好的编辑器文件位于vue\out
中。
搭建自定义服务器
这里推荐使用 Nginx,后台占用内存极低。关键是支持缓存,每次启动 Evernote 只需加载一次资源文件,每次渲染页面请求一次index.html
,通常返回304
,渲染效率很高。
以下教程面向新手,熟悉 Web 服务器的开发人员可以跳过:
- 下载Windows 版本的 Nginx,解压到合适的地方,假设设其路径为
C:\nginx
- 复制所有编辑器文件到
C:\nginx\html\
目录下 - 编辑
C:\nginx\conf\nginx.conf
,修改listen 80;
为listen 555;
- 运行
C:\nginx\nginx.exe
,打开浏览器访问http://localhost:555
,双击页面,出现 Markdown 编辑器页面说明生效。
由于 Nginx 是后台服务,每次开机通常只需要执行一次。
修改 Evernote.exe
如果 exe 修改后无法保存,直接
另存为
即可, vscode 也有十六进制的编辑插件
关闭 Evernote 程序,将 Evernote.exe 备份,使用 16 进制编辑器(如UltraEdit,hexreplace是一个更轻量的工具),将:
68007400740070003A002F002F006C006F00610064006D00610072006B0064006F0077006E002F0000000000
替换为:
68007400740070003A002F002F006C006F00630061006C0068006F00730074003A003500350035002F000000
保存并退出
(这里其实是将_http://loadmardown/_
替换为_http://localhost:555/_
)
注意事项
删除缓存
由于采取了 http 缓存,如果你需要调试主题,或是修改主题后使其生效,需要退出 Evernote.exe 后删除C:\Users\{your_username}\Yinxiang Biji\LocalStorage\Cache
目录下的所有文件。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!