GithubHelp home page GithubHelp logo

budding888 / yn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from purocean/yn

0.0 2.0 3.0 4.86 MB

Yank Note 一款面向程序员的 Markdown 笔记应用。支持加密文档,代码片段运行,内置终端,图表嵌入,HTML 小工具。

License: Apache License 2.0

JavaScript 30.30% HTML 0.33% Vue 50.30% Shell 0.35% TypeScript 18.57% Batchfile 0.16%

yn's Introduction

Yank Note Markdown 编辑器

一款面向程序员的 Markdown 编辑器 Yank Note 交流群

[toc]{level: [2]}

截图

特色

  • 使用方便:使用 Monaco 编辑器(vscode 编辑器内核)编辑,针对 Markdown 文件添加了快捷键和补全规则
  • 兼容性强:资源保存本地,Markdown 文件可简单处理离线工作;拓展功能尽量用 Markdown 原有的语法实现
  • 高拓展性:可在文档中嵌入小工具、可运行的代码块、ECharts 图形、Plantuml 图形、Drawio 图形等
  • 支持加密:用来保存账号等隐私文件,文件可单独设置密码

注意事项

  • Yank Note 是一款针对程序员的 Markdown 编辑器,目标应用场景为在本机写文章,日志,笔记,小工具。
  • 为了更高的拓展性和方便性,Yank Note 牺牲了安全防护(命令执行,任意文件读写)。如果要用它打开外来 Markdown 文件,请务必仔细甄别文件内容是值得信任的
  • 如果要改造为对外的 Web 服务,本工具可能不太适合。或者请运行在可隔离控制的环境下。
  • 加密文件的加密解密操作均在前端完成,请务必保管好自己的密码。一旦密码丢失,就只能暴力破解了。

Yank-Note 2.0 开发计划

V2 项目看板

  • 项目更名为 Yank-Note
  • 前端界面可以拖动调整尺寸
  • 重构前端项目结构,便于拓展:引入 vuex,使用 async await 代替可怕的回调,规范文件接口
  • 暴露 Api 接口可以在文档中嵌入轻量应用,以便构建一些小工具
  • 使用 Electron 构建为桌面应用。不追求完全做成客户端,还是可以沿用 CS 架构。同样可以在浏览器中使用
  • 支持嵌入 draw.io 文档
  • 文件目录增加右键菜单
  • 支持打开多个文件
  • 支持使用快捷键打开常用文档
  • 全局剪切板功能
  • 拥有更友好的配置界面
  • 可以自定义快捷键

特色功能

  • 同步滚动:编辑区和预览区同步滚动,预览区可独立滚动
  • 目录大纲:预览区目录大纲快速跳转
  • 文件加密:以 .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
  • 嵌入小工具:文档支持内嵌 HTML 小工具,示例见 FEATURE.md
  • 嵌入 Plantuml 图形:需要安装 Java,graphviz ,示例见 FEATURE.md
  • 嵌入 drawio 图形:文档支持内嵌 drawio 图形,示例见 FEATURE.md
  • 嵌入 ECharts 图形:在文档中嵌入 Echarts 图形,示例见 FEATURE.md
  • 元素属性书写:可自定义元素的任意属性,示例见 FEATURE.md
  • 表格解析增强:表格支持表格标题多行文本,列表等特性,示例见 FEATURE.md

上手使用

  • 最新版本 下载对应平台应用即可
  • 默认快捷键参考 vscode
    • 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 配置编译环境。

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 用户名或网站连接

微信 支付宝 支付宝红包

  1. wangyedong66 2元
  2. yubingcen 0.1元

界面截图

截图 截图 截图 截图 截图

更新日志

最新发布

v2.0.0-beta8.4 2019-08-28

  1. 增加 2.0 计划
  2. Electron 打包
  3. 增加 HTML 小工具渲染
  4. 增加特色功能说明和示例
  5. 目录树自动定位文件
  6. 目录树增加右键菜单
  7. 目录树和集成终端增加拖动调整尺寸功能
  8. 使用自定义 UI 控件代替浏览器阻塞性弹出框,优化界面样式,提升交互体验
  9. 默认仓库数据和配置改为在 <home>/yank-note 下保存
  10. 重构前端代码便于拓展
  11. 前端重构文件接口
展开查看更多版本记录

v1.23.0 2019-07-09

  1. 增加转换所有外链图片到本地功能 Ctrl + Alt + L

v1.22.0 2019-05-20

  1. 增加粘贴 html 富文本功能 Ctrl + B + V
  2. 增加插入文档快捷键 Ctrl + Alt + I
  3. 修复 vue cli 3 打包错误
  4. 修复图片链接转义
  5. 搜索排除 node_modules
  6. 上传文件目录优化

v1.21.0 2019-05-03

  1. 调整抓取图片到本地的逻辑
  2. 优化目录树样式
  3. 目录树排除 node_modules
  4. eslint 规则调整

v1.20.0 2019-04-18

  1. 无功能变化,前端使用 vue cli 3

v1.19.0 2019-04-15

  1. 增加终端打开目录功能 Ctrl + Alt + 单击目录
  2. 增加刷新目录树功能 Ctrl + Alt + 单击目录

v1.18.2 2019-03-21

  1. 保存加密文件密码不一致时增加提示
  2. 修复样式问题

v1.18.1 2019-03-01

  1. 修复目录样式
  2. 修复代码块样式

v1.18.0 2019-02-28

  1. 代码块增加行号显示
  2. 支持统一文档锚点跳转
  3. 移除 Mermaid 支持
  4. 优化打印样式
  5. 优化行内代码样式

v1.17.0 2019-02-20

  1. 支持 ECharts 图形
  2. Ctrl + Alt + R 在内置终端中运行选中代码

v1.16.2 2019-02-18

  1. 文件树增加操作说明
  2. 新增/重命名文件后打开新文件

v1.16.1 2019-02-17

  1. 修复打印样式

v1.16.0 2019-02-16

  1. 增加 Readme 展示
  2. 处理终端退出逻辑

v1.15.1 2019-02-14

  1. 更新 UI
  2. 内置终端增加 windows 适配

v1.15.0 2019-02-13

  1. 增加内置终端
  2. 运行代码支持在内置终端运行

v1.14.0 2019-01-16

  1. 上传附件增加日期
  2. 快速跳转改用模糊搜索并高亮匹配项

v1.13.1 2019-01-14

  1. 修复 hr 标签样式

v1.13.0 2019-01-05

  1. 增加 toc
  2. 增加返回顶部按钮

v1.12.0 2019-01-03

  1. 增加连接行快捷键 Ctrl + J
  2. 增加转换大小写快捷键 Ctrl + K, Ctrl + U Ctrl + K, Ctrl + L

v1.11.0 2019-01-02

  1. 切换编辑器自动换行:Alt + W 或点击状态栏 切换换行 按钮

v1.10.0 2018-12-24

  1. 文件列表自然排序
  2. 文件目录增加子项目数量显示

v1.9.0 2018-11-12

  1. 增加切换文档预览功能

v1.8.0 2018-08-29

  1. 增加在系统中打开文件/目录功能 Ctrl + 双击文件/目录

v1.6 2018-08-22

  1. 修复部分样式不和谐
  2. 修复打开新文件编辑器滚动位置不正确
  3. 增加将外链或 BASE64 图片转换为本地图片功能
  4. 优化代码高亮在暗色主题下的展示
  5. 渲染链接默认在新标签打开

v1.5.2 2018-08-13

  1. 优化输入数字列表体验
  2. 增加直接插入回车和Tab的快捷键
  3. 确保文件最后有空行
  4. 文件跳转按照最近打开文件排序

v1.5.1 2018-08-06

  1. 修复打开上一次文件bug

v1.5 2018-08-06

  1. 增加状态栏
  2. 添加多仓库支持

v1.4 2018-08-02

  1. 增加全文搜索功能
  2. 修复公式定位问题

v1.3 2018-08-02

  1. 增加待办记录时间
  2. 增加 bat 脚本运行
  3. 优化使用体验

v1.2 2018-07-30

  1. 增加待办进度条展示

v1.1 2018-07-29

  1. 修复若干问题
  2. 增加附件插入
  3. 调整为暗色主题
  4. 图片新标签预览
  5. 增加文件筛选面板 Ctrl + p

yn's People

Contributors

purocean avatar dependabot[bot] avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.