Files
yn/README.md
T
2019-12-25 20:08:56 +08:00

317 lines
13 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Yank Note
> 一款面向程序员的 Markdown 笔记应用 [Windows 商店下载](https://www.microsoft.com/zh-cn/p/yank-note-%e4%b8%80%e6%ac%be%e9%9d%a2%e5%90%91%e7%a8%8b%e5%ba%8f%e5%91%98%e7%9a%84-markdown-%e7%ac%94%e8%ae%b0%e5%ba%94%e7%94%a8/9n08bq8k8681?rtc=1#activetab=pivot:overviewtab)
[toc]{level: [2]}
![截图](./help/0.png)
## 特色
+ **使用方便**:使用 Monaco 编辑器(vscode 编辑器内核)编辑,针对 Markdown 文件添加了快捷键和补全规则
+ **兼容性强**:资源保存本地,Markdown 文件可简单处理离线工作;拓展功能尽量用 Markdown 原有的语法实现
+ **高拓展性**:可在文档中嵌入小工具、可运行的代码块、ECharts 图形、Plantuml 图形、Drawio 图形等
+ **支持加密**:用来保存账号等隐私文件,文件可单独设置密码
## 注意事项
+ Yank Note 是一款**针对程序员**的 Markdown 编辑器,目标应用场景为在本机写文章,日志,笔记,小工具。
+ 为了更高的拓展性和方便性,Yank Note 牺牲了安全防护(命令执行,任意文件读写)。如果要用它打开外来 Markdown 文件,**请务必仔细甄别文件内容是值得信任的**。
+ 如果要改造为对外的 Web 服务,本工具可能不太适合。或者请运行在可隔离控制的环境下。
+ 加密文件的加密解密操作均在前端完成,请**务必保管好自己的密码**。一旦密码丢失,就只能暴力破解了。
## Yank-Note 2.0 开发计划
[V2 项目看板](https://github.com/purocean/yn/projects/2)
+ [x] 项目更名为 **Yank-Note**
+ [x] 前端界面可以拖动调整尺寸
+ [x] 重构前端项目结构,便于拓展:引入 `vuex`,使用 `async await` 代替可怕的回调,规范文件接口
+ [x] 暴露 Api 接口可以在文档中嵌入轻量应用,以便构建一些小工具
+ [x] 使用 `Electron` 构建为桌面应用。不追求完全做成客户端,还是可以沿用 CS 架构。同样可以在浏览器中使用
+ [x] 支持嵌入 `draw.io` 文档
+ [x] 文件目录增加右键菜单
+ [x] 支持多标签打开多个文件
+ [ ] 拥有更友好的配置界面
+ [ ] 可以自定义快捷键
## 特色功能
+ 同步滚动:编辑区和预览区同步滚动,预览区可独立滚动
+ 目录大纲:预览区目录大纲快速跳转
+ 文件加密:以 `.c.md` 结尾的文件视为加密文件
+ 自动保存:文件编辑后自动保存,未保存文件橙色标题栏提醒(加密文档不自动保存)
+ 编辑优化:列表自动补全
+ 粘贴图片:粘贴剪切板里面的图片
+ 嵌入附件:可以添加附件到文档,点击在系统中打开
+ 代码运行:支持运行 PHP,nodejs,Python,bash 代码,示例见 FEATURE.md
+ 待办列表:支持显示文档中的待办进度,点击可快速切换待办状态
+ 快速打开:可使用快捷键 `Ctrl + P` 打开文件切换面板,以便快捷打开文件,标记的文件,全文搜索文件内容
+ 内置终端:支持在编辑器打开终端,快速切换当前工作目录
+ 公式解析:支持输入 katex 公式代码
+ 样式风格:Markdown 使用 GitHub 风格样式和特性
+ 数据仓库:可定义多个数据位置以便文档分类
+ 外链转换:将外链或 BASE64 图片转换为本地图片:`Ctrl + Shift + 单击图片` `Ctrl + Alt + L` 转换所有外链图片到本地
+ HTML 解析:可以直接在文档里面使用 HTML 代码,也可以使用快捷键 `Ctrl + B + V` 粘贴复制 HTML 为 Markdown
+ docx 导出:后端使用 pandoc 做转换器
+ TOC 支持:生成 TOC 在需要生成目录的地方写入 `[toc]{type: "ol", level: [1,2,3]}` 即可,,示例见 FEATURE.md
+ 复制标题链接:`Ctrl + 单击标题` 复制标题链接路径到剪切板,便于插入到其他文件
+ 嵌入小工具:文档支持内嵌 HTML 小工具,示例见 FEATURE.md
+ 嵌入 Plantuml 图形:需要安装 Java,graphviz ,示例见 FEATURE.md
+ 嵌入 drawio 图形:文档支持内嵌 drawio 图形,示例见 FEATURE.md
+ 嵌入 ECharts 图形:在文档中嵌入 Echarts 图形,示例见 FEATURE.md
+ 嵌入 Mermaid 图形:在文档中嵌入 Mermaid 图形,示例见 FEATURE.md
+ 元素属性书写:可自定义元素的任意属性,示例见 FEATURE.md
+ 表格解析增强:表格支持表格标题多行文本,列表等特性,示例见 FEATURE.md
+ 文档交叉链接跳转:支持在文档中引入其他文档,互相跳转
## 上手使用
+ 在 [最新版本](https://github.com/purocean/yn/releases) 下载对应平台应用即可
+ 默认快捷键参考 [vscode](https://code.visualstudio.com/)
+ `Ctrl + X` 剪切所选/当前行
+ `Ctrl + C` 复制所选/当前行
+ `Ctrl + Z` 撤消
+ `Ctrl + Shift + Z` 反撤消
+ `Ctrl + /` 注释行
+ `Ctrl + Shift + A` 注释段
+ `Ctrl + K, Ctrl + X` 删除尾部空格
+ `Alt + Click` 插入光标
+ `Shift + Alt + ↑/↓` 在相邻行插入光标
+ `Ctrl + U` 取消最后添加的光标
+ `Shift + Alt + I` 在选中区的所有行的最后添加光标
+ `Ctrl + D` 为下一个匹配项添加光标
+ `Ctrl + F` 查找
+ `Ctrl + H` 替换
+ 自定义编辑器快捷键
+ `Ctrl + P` 打开文件快速跳转面板
+ `Ctrl + S` 保存文档
+ `Ctrl + Enter` 强制插入新行,忽略预置补全规则
+ `Shift + Enter` 强制插入 Tab,忽略预置补全规则
+ `Ctrl + Shift + Up` 当前行上移
+ `Ctrl + Shift + Down` 当前行下移
+ `Ctrl + Shift + D` 重复当前行
+ `Ctrl + Alt + D` 插入当前日期
+ `Ctrl + Alt + T` 插入当前时间
+ `Ctrl + Alt + F` 插入文件附件
+ `Ctrl + Alt + I` 插入文档链接
+ `Ctrl + J` 连接行 join lines
+ `Ctrl + K, Ctrl + U` 转换大写
+ `Ctrl + K, Ctrl + L` 转换小写
+ `Ctrl + Alt + R` 在内置终端里面运行选中内容
+ `Ctrl + B + V` 粘贴 html 富文本
## 开发
依赖安装和编译比较麻烦,请保证自己有足够耐心且有科学上网的手段。
### Windows
Windows 上安装 node-pty 需要费一番功夫,请参考 https://github.com/microsoft/node-pty#windows 配置编译环境。
```bat
REM Node 版本要求 12 v12.7.0
node -v
REM 前端
cd frontend
REM 安装依赖
yarn
REM 打包
yarn run dist
REM 开发
yarn run serve
REM Electron 端
cd ../
REM 安装依赖
win-install.bat
REM 打包 打包前请在前端目录运行打包命令
win-build.bat
REM 开发
yarn run start
```
### Liunx
TODO 手头没有环境,待完善
### OSX
TODO 手头没有环境,待完善
## 捐赠
如果我的工作对您有帮助,请我喝杯咖啡吧 ^_^。**附言可以留下您的 github 用户名或网站连接**。
<img alt="微信" src="./help/wechat.png" width="17%" style="display: inline-block"> <img alt="支付宝" src="./help/alipay.jpg" width="17%" style="display: inline-block"> <img alt="支付宝红包" src="./help/hb.jpg" width="17%" style="display: inline-block">
1. [wangyedong66](https://github.com/wangyedong66) 2元
1. [yubingcen](https://github.com/yubingcen) 0.1元
## 界面截图
![截图](./help/3.png)
![截图](./help/5.png)
![截图](./help/1.png)
![截图](./help/2.png)
![截图](./help/4.gif)
## 更新日志
[最新发布](https://github.com/purocean/yn/releases)
[Windows 商店下载](https://www.microsoft.com/zh-cn/p/yank-note-%e4%b8%80%e6%ac%be%e9%9d%a2%e5%90%91%e7%a8%8b%e5%ba%8f%e5%91%98%e7%9a%84-markdown-%e7%ac%94%e8%ae%b0%e5%ba%94%e7%94%a8/9n08bq8k8681?rtc=1#activetab=pivot:overviewtab)
### [v2.2.0](https://github.com/purocean/yn/releases/tag/v2.2.0) 2019-12-25
1. 增加文档之间跳转功能
1. 增加复制文档标题链接功能
1. 调整文档插入选择面板
1. 修复高分辨率下目录树箭头消失问题
<details>
<summary>展开查看更多版本记录</summary>
### [v2.1.1](https://github.com/purocean/yn/releases/tag/v2.1.1) 2019-12-24
1. 增加在当前目录创建文件菜单
1. 限制快捷跳转列表数量以提高性能
1. 标题栏最大化窗口后移除尺寸调节
### [v2.1.0](https://github.com/purocean/yn/releases/tag/v2.1.0) 2019-11-29
1. 增加多标签同时打开多个文件
### [v2.0.2](https://github.com/purocean/yn/releases/tag/v2.0.2) 2019-11-21
1. 修复相对链接解析
1. 图片增加背景色便于透明图片的阅读
### [v2.0.1](https://github.com/purocean/yn/releases/tag/v2.0.1) 2019-11-20
1. 增加 2.0 计划
1. Electron 打包
1. 增加 HTML 小工具渲染
1. 增加特色功能说明和示例
1. 目录树自动定位文件
1. 目录树增加右键菜单
1. 目录树和集成终端增加拖动调整尺寸功能
1. 使用自定义 UI 控件代替浏览器阻塞性弹出框,优化界面样式,提升交互体验
1. 默认仓库数据和配置改为在 `<home>/yank-note` 下保存
1. 重构前端代码便于拓展
1. 前端重构文件接口
### [v1.23.0](https://github.com/purocean/yn/releases/tag/v1.23.0) 2019-07-09
1. 增加转换所有外链图片到本地功能 `Ctrl + Alt + L`
### [v1.22.0](https://github.com/purocean/yn/releases/tag/v1.22.0) 2019-05-20
1. 增加粘贴 html 富文本功能 `Ctrl + B + V`
1. 增加插入文档快捷键 `Ctrl + Alt + I`
1. 修复 vue cli 3 打包错误
1. 修复图片链接转义
1. 搜索排除 node_modules
1. 上传文件目录优化
### [v1.21.0](https://github.com/purocean/yn/releases/tag/v1.21.0) 2019-05-03
1. 调整抓取图片到本地的逻辑
1. 优化目录树样式
1. 目录树排除 node_modules
1. eslint 规则调整
### [v1.20.0](https://github.com/purocean/yn/releases/tag/v1.20.0) 2019-04-18
1. 无功能变化,前端使用 vue cli 3
### [v1.19.0](https://github.com/purocean/yn/releases/tag/v1.19.0) 2019-04-15
1. 增加终端打开目录功能 `Ctrl + Alt + 单击目录`
1. 增加刷新目录树功能 `Ctrl + Alt + 单击目录`
### [v1.18.2](https://github.com/purocean/yn/releases/tag/v1.18.2) 2019-03-21
1. 保存加密文件密码不一致时增加提示
1. 修复样式问题
### [v1.18.1](https://github.com/purocean/yn/releases/tag/v1.18.1) 2019-03-01
1. 修复目录样式
1. 修复代码块样式
### [v1.18.0](https://github.com/purocean/yn/releases/tag/v1.18.0) 2019-02-28
1. 代码块增加行号显示
1. 支持统一文档锚点跳转
1. 移除 `Mermaid` 支持
1. 优化打印样式
1. 优化行内代码样式
### [v1.17.0](https://github.com/purocean/yn/releases/tag/v1.17.0) 2019-02-20
1. 支持 `ECharts` 图形
1. `Ctrl + Alt + R` 在内置终端中运行选中代码
### [v1.16.2](https://github.com/purocean/yn/releases/tag/v1.16.2) 2019-02-18
1. 文件树增加操作说明
1. 新增/重命名文件后打开新文件
### [v1.16.1](https://github.com/purocean/yn/releases/tag/v1.16.1) 2019-02-17
1. 修复打印样式
### [v1.16.0](https://github.com/purocean/yn/releases/tag/v1.16.0) 2019-02-16
1. 增加 Readme 展示
1. 处理终端退出逻辑
### [v1.15.1](https://github.com/purocean/yn/releases/tag/v1.15.1) 2019-02-14
1. 更新 UI
1. 内置终端增加 windows 适配
### [v1.15.0](https://github.com/purocean/yn/releases/tag/v1.15.0) 2019-02-13
1. 增加内置终端
1. 运行代码支持在内置终端运行
### [v1.14.0](https://github.com/purocean/yn/releases/tag/v1.14.0) 2019-01-16
1. 上传附件增加日期
1. 快速跳转改用模糊搜索并高亮匹配项
### [v1.13.1](https://github.com/purocean/yn/releases/tag/v1.13.1) 2019-01-14
1. 修复 hr 标签样式
### [v1.13.0](https://github.com/purocean/yn/releases/tag/v1.13.0) 2019-01-05
1. 增加 toc
1. 增加返回顶部按钮
### [v1.12.0](https://github.com/purocean/yn/releases/tag/v1.12.0) 2019-01-03
1. 增加连接行快捷键 `Ctrl + J`
1. 增加转换大小写快捷键 `Ctrl + K, Ctrl + U` `Ctrl + K, Ctrl + L`
### [v1.11.0](https://github.com/purocean/yn/releases/tag/v1.11.0) 2019-01-02
1. 切换编辑器自动换行:`Alt + W` 或点击状态栏 `切换换行` 按钮
### [v1.10.0](https://github.com/purocean/yn/releases/tag/v1.10.0) 2018-12-24
1. 文件列表自然排序
1. 文件目录增加子项目数量显示
### [v1.9.0](https://github.com/purocean/yn/releases/tag/v1.9.0) 2018-11-12
1. 增加切换文档预览功能
### [v1.8.0](https://github.com/purocean/yn/releases/tag/v1.8.0) 2018-08-29
1. 增加在系统中打开文件/目录功能 `Ctrl + 双击文件/目录`
### [v1.6](https://github.com/purocean/yn/releases/tag/v1.6) 2018-08-22
1. 修复部分样式不和谐
1. 修复打开新文件编辑器滚动位置不正确
1. 增加将外链或 BASE64 图片转换为本地图片功能
1. 优化代码高亮在暗色主题下的展示
1. 渲染链接默认在新标签打开
### [v1.5.2](https://github.com/purocean/yn/releases/tag/v1.5.2) 2018-08-13
1. 优化输入数字列表体验
1. 增加直接插入回车和Tab的快捷键
1. 确保文件最后有空行
1. 文件跳转按照最近打开文件排序
### [v1.5.1](https://github.com/purocean/yn/releases/tag/v1.5.1) 2018-08-06
1. 修复打开上一次文件bug
### [v1.5](https://github.com/purocean/yn/releases/tag/v1.5) 2018-08-06
1. 增加状态栏
1. 添加多仓库支持
### [v1.4](https://github.com/purocean/yn/releases/tag/v1.4) 2018-08-02
1. 增加全文搜索功能
1. 修复公式定位问题
### [v1.3](https://github.com/purocean/yn/releases/tag/v1.3) 2018-08-02
1. 增加待办记录时间
1. 增加 bat 脚本运行
1. 优化使用体验
### [v1.2](https://github.com/purocean/yn/releases/tag/v1.2) 2018-07-30
1. 增加待办进度条展示
### [v1.1](https://github.com/purocean/yn/releases/tag/v1.1) 2018-07-29
1. 修复若干问题
1. 增加附件插入
1. 调整为暗色主题
1. 图片新标签预览
1. 增加文件筛选面板 Ctrl + p
</details>