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)

  • 本人使用的 7.0.16.5092 (605092) 版本也可用

作者在evernote-markdown-vue的版本上做了一点轻微的修改,包括:

  • 设置默认预览,双击可进入编辑模式
  • [TOC]中的链接取消加粗
  • 修复.tui-editor-contents pre导致的黑边问题
  • 修复{font-family: Microsoft Yahei, sans-serif}导致代码渲染字体异常的问题
  • 替换入门指南按钮为预览按钮,方便切换
  • 更多展示对比,在文末图片查看

具体修改请使用Beyond Compare之类软件对比查看。

已知问题:由于演示功能是通过main.min.js行内CSS加载的方式生成的html页面,无法以上修改对其无效。作者由于不使用该功能,因此未作修改。

使用方式:


1.安装node.js

官方网站:http://nodejs.cn/download/
下载后双击软件安装包打开安装,一直点下一步直到完成即可

安装后,打开cmd,输入node -v,如果显示当前版本则代表安装成功

C:\ blog>node -v
v14.15.4

2.下载项目源码
https://wwb.lanzouh.com/iJJI403gxu7a

你可以自行构建该编辑器,也可以下载已经编译好的。如果你需要自己编译,可以:

安装依赖,进入vue\vue文件夹:

cd vue
npm install uglify-js

执行vue文件的build.bat文件,执行编译:

build.bat

构建好的编辑器文件位于vue\out中。

3.搭建自定义服务器

  • window本地搭建

这里推荐使用Nginx,后台占用内存极低。关键是支持缓存,每次启动印象笔记只需加载一次资源文件,每次渲染页面请求一次index.html,通常返回304,渲染效率很高。

以下教程面向新手,熟悉Web服务器的开发人员可以跳过:

  1. 下载Windows版本的Nginx,解压到合适的地方,假设设其路径为C:\nginx
  2. 复制所有编辑器文件到C:\nginx\html\目录下
  3. 编辑C:\nginx\conf\nginx.conf,改 listen 80listen 555 ;
  4. 运行C:\nginx\nginx.exe,打开浏览器访问http://localhost:555双击空白页面,出现Markdown编辑器页面说明生效。

由于Nginx是后台服务,每次开机通常只需要执行一次。可以设置开机启动,添加到启动项。

修改Evernote.exe(建议备份)

关闭Evernote程序,将Evernote.exe备份,使用16进制编辑器(如UltraEdit,hexreplace是一个更轻量的工具),将:

68007400740070003A002F002F006C006F00610064006D00610072006B0064006F0077006E002F0000000000

替换为:

68007400740070003A002F002F006C006F00630061006C0068006F00730074003A003500350035002F000000

保存并退出

(这里其实是将http://loadmardown/替换为http://localhost:555/)

  • 云服务器搭建

相比window本地搭建,优点:

  • 降低耦合性,window不用每次开机都要启动一次nginx。
  • 如果你是多台电脑,不用每台电脑都重新配置Nginx,你甚至可以可以把Evernote.exe分享给朋友,直接替换就能用。
  1. 把构建好的编辑器文件,out里面的文件粘贴到你网站根目录,配置好之后打开你的网站,比如我是配置在http://bearli.com:5/。打开网址,双击空白页面,出现Markdown编辑器页面说明生效。
  2. 修改Evernote.exe(建议备份)
    关闭Evernote程序,将Evernote.exe备份,使用16进制编辑器(如UltraEdit,hexreplace是一个更轻量的工具),将:
    68007400740070003A002F002F006C006F00610064006D00610072006B0064006F0077006E002F0000000000
    替换为你网址的十六进制代码,比如我代码是:
    68007400740070003A002F002F0062006500610072006C0069002E0063006F006D003A0035002F0000000000
    保存并退出
    (以上例子是将http://loadmardown/替换为http://bearli.com:5/)
    如果你不知道自己网址16进制怎么转换,可以到https://www.bejson.com/convert/ox2str/,比如我是http://bearli.com:5/,转换结果:

转换后还需每两个数字中间加两个0,比如我转换后是687474703a2f2···,加上0就是68007400740070003A002F00···,如果加完0,长度不够88位,就要在最后继续按0,按多按少是个缘,凑够88位就行。如果你0还没加完,长度已经超过88位,就要考虑网址是不是太长了。
修改好Evernote.exe,进入印象笔记看看是否成功。

注意事项

删除缓存

由于采取了http缓存,如果你需要调试主题,或是修改主题后使其生效,需要退出Evernote.exe后删除C:\Users\{your_username}\Yinxiang Biji\LocalStorage\Cache目录下的所有文件。

具体展示

修改前&修改后

印象笔记Markdown样式美化 - window版相关推荐

  1. Typora常用语法和Markdown样式美化一本通

    Typora展示

  2. html5复选框样式,11种炫酷CSS3复选框checkbox样式美化效果

    这是一款效果非常酷的CSS3复选框checkbox样式美化效果.该复选框美化效果共有11种.默认的复选框的样式十分不好看,该效果将复选框加一美化,带上了一些动画效果,其中一些制作为滑动按钮的样式. 使 ...

  3. 印象笔记 Markdown使用指南

    用了10年的印象笔记,对它还是比较有感情的,从最初的简单的笔记,到思维导图.markdown编辑,还有强大全平台支撑(windows.macos.linux.移动app),除了日常的笔记.会议纪要,还 ...

  4. 印象笔记Markdown的使用方法

    一.Markdown 是什么? Markdown 是一种轻量级的「标记语言」,创始人为约翰·格鲁伯,用简洁的语法代替排版,目前被越来越多的知识工作者.写作爱好者.程序员或研究员广泛使用.其常用的标记符 ...

  5. 博客园 页首html代码,可爱的博客园样式美化、自定义博客园主题样式

    cute-cnblogs 说明 "我经常有那种感觉,如果这个事情来了,你却没有勇敢地去解决掉,它一定会再来.生活真是这样,它会一次次地让你去做这个功课直到你学会为止." -- &l ...

  6. 可爱的博客园样式美化、自定义博客园主题样式

    cute-cnblogs 说明 "我经常有那种感觉,如果这个事情来了,你却没有勇敢地去解决掉,它一定会再来.生活真是这样,它会一次次地让你去做这个功课直到你学会为止." -- &l ...

  7. 自定义css样式美化博客园

    写在前面 csdn的markdown放到博客园里感觉风格迥异,所以还是找个好点的css吧,css这个我没有深入了解,拼凑了一个css.对于有python代码,而且需要自动生成目录的博文很有帮助,其他的 ...

  8. beego-安装(window版)

    2019独角兽企业重金招聘Python工程师标准>>> 题记: beego官网在此输入链接描述的介绍是以linux为背景介绍,本文只是将linux设置修改为window下(注解),大 ...

  9. IntelliJ IDEA 快捷键(一)(window版)

    转: IntelliJ IDEA 快捷键(一)(window版) 一.高效定位代码 1.跳转 1.项目之间的跳转 Next Project Window 快捷键 Ctrl + Alt + 左方括号. ...

最新文章

  1. 成熟的夜间模式解决方案
  2. Bash中的shopt选项
  3. 三国志、英雄无敌玩腻了?没关系,我教你开发个战旗游戏玩玩
  4. Sentinel(十八)之注解支持
  5. LeetCode 1323. 6 和 9 组成的最大数字
  6. Python生成大量随机人员信息
  7. xstream java_XStream将java转化成xml的简单使用
  8. HTML5解密——HTML5无法盈利
  9. Everybody was kung-fu fighting
  10. php清除手机浏览器缓存,js清除浏览器缓存的几种方法
  11. 开发人员应具备的13种技术技能
  12. 边缘计算与智慧城市应用
  13. C语言入门题库——求2+22+222+......+22222的值
  14. AT指令详解,错误代码详解
  15. Java 基于WEB的农产品销售管理系统源码+数据库+论文文档+项目辅导视频
  16. python pip install fitter 失败解决方案
  17. 十年Java经验让我总结出了这些,什么是真正的架构设计?
  18. Mac使用Microsoft-Remote-Desktop-for-Mac远程桌面Windows
  19. SAP 第三方销售详解
  20. 汇编语言六 报数出列设有n(设为17)个人围坐在圆桌周围,按顺时针给他们编号(1,2,~~~,n),从第1个人开始顺时针方向+1报数,当报数到m(设为11)时,该人出列

热门文章

  1. centos8 解决编译安装 nginx时遇到的报错
  2. vue中使用电子签名
  3. vue中实现电子签名
  4. 对彩色花图像进行分类-基于R语言的Keras实现
  5. ABP入门系列之1——ABP总体介绍
  6. java oracle 时间查询_Oracle 日期查询
  7. 2015出现神曲空挡期,玖月奇迹接棒筷子兄弟?
  8. 真的有这么丝滑:3D头发建模新方法NeuralHDHair,浙大、ETH Zurich、CityU联合出品...
  9. 文件资源管理器Ranger的使用
  10. 注册表与盘符(转victor888文章 )