Giter Site home page Giter Site logo

purocean / yn Goto Github PK

View Code? Open in Web Editor NEW
5.3K 54.0 857.0 32.56 MB

A highly extensible Markdown editor. Version control, AI Copilot, mind map, documents encryption, code snippet running, integrated terminal, chart embedding, HTML applets, Reveal.js, plug-in, and macro replacement.

Home Page: https://yank-note.com

License: GNU Affero General Public License v3.0

JavaScript 7.44% HTML 0.39% Vue 27.64% TypeScript 62.80% CSS 1.20% Shell 0.06% SCSS 0.46% Lua 0.01%
vue markdown monaco-editor notebook koa2 vscode electron markdown-it markdown-editor editor

yn's Introduction

Yank Note

A highly extensible Markdown editor, designed for productivity. Download | Try it Online >>>

Download Not recommended

English | 中文说明

[toc]{level: [2]}

Screenshot

Highlights

  • Easy to use: Use Monaco kernel, optimize for Markdown editing, and have the same editing experience as VSCode.
  • Powerful: Support version control; Applets, runnable code blocks, tables, PlantUML, Drawio, macro replacements, etc., can be embedded in the document; support for OpenAI auto completion.
  • High compatibility: Data is saved as local Markdown files, and the extension functions are implemented in the original syntax of Markdown as far as possible.
  • Plug-in extension: Support users to write their own plug-ins to expand the functionality of the editor.
  • Encryption supported: Use encryption to save private files such as account number, and the password can be set separately for each file.

Attention

  • For more extendable, Yank Note sacrifices security protection (command execution, arbitrary file reading and writing). If you want to use it to open a foreign Markdown file, ⚠️be sure to carefully identify whether the content of the file is trustworthy⚠️.
  • The encryption and decryption of encrypted files are both completed at the front end. Please be sure to remember your password. Once the password is lost, it can only be cracked violently.

Characteristic functions

For more information on how to use the following functions, please see characteristic functions description

  • Sync scrolling: the editing area and the preview area scroll synchronously, and the preview area can be scrolled independently
  • Outline: quickly jump to the corresponding location of the document through the directory outline in the preview area
  • Version Control: Support backtracking document history versions
  • Encryption: files ending with .c.md are treated as encrypted files
  • Auto-save: automatically save files after editing, with orange title bar reminder for unsaved files (encrypted documents are not automatically saved)
  • Editing: automatic completion of list
  • Paste images: you can quickly paste pictures from the clipboard and insert them as files or Base64
  • Embed attachments: you can add attachments to the document and click to open them in the operating system.
  • Code running: support to run JavaScript, PHP, nodejs, Python, bash code
  • To-do list: support to display the to-do progress in the document. Click to quickly switch the to-do status.
  • Quickly Open: you can use shortcut key to open the file switch panel to quickly open files, tagged files, and full-text search for file contents.
  • Integrated terminal: support to open the terminal in the editor to quickly switch the current working directory
  • Katex: support katex expression
  • Style: Markdown uses GitHub styles and features
  • Repository: multiple data locations can be defined for document classification
  • External link conversion: convert external link or Base64 pictures into local pictures
  • HTML resolving:you can use HTML code directly in the document, or use shortcut keys to copy and paste HTML to Markdown
  • Multiple formats export: the backend uses pandoc as converter
  • TOC: write [toc]{type:** "ol", level:** [1,2,3]} to generate TOC where you need to generate a directory
  • Edit table cell: double-click a table cell to quickly edit
  • Copy title link: copy title link path to the clipboard for easy insertion into other files
  • Embedded Applets: document supports embedded HTML Applets
  • Embed PlantUML graphics: document supports embedded plantUML graphics
  • Embed drawio graphics: document supports embedded drawio graphics
  • Embed ECharts graphics: document supports embedded Echarts graphics
  • Embed Mermaid graphics: document supports embedded Mermaid graphics
  • Embed Luckysheet tables: document supports embedded Luckysheet tables
  • Mind map: nested list can be displayed in the form of a mind map
  • Element attribute writing: any attribute of an element can be customized
  • Table enhancement: support table title with multiple lines of text, list and other features
  • Document link: support to link other documents in the document and jump to each other
  • Footnote: support writing footnotes in the document
  • Custom container: support custom containers similar to VuePress default themes
  • Macro replacement: support for embedded JavaScript expressions to dynamically replace document content
  • Image hosting service: support PicGo image hosting service
  • OpenAI: support for OpenAI auto completion
  • Custom plug-ins: support writing JavaScript plug-ins to expand editor functionality. The plug-in is placed in the home directory/plugins. Refer to plug-in Development Guide

Screenshots

Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot

Changelogs

v3.68.0 2024-04-23

Windows | macOS arm64 | macOS x64 | Linux AppImage | Linux deb

  1. feat: Added the feature to focus on the currently open document in the sidebar
  2. feat: Optimized the background color for dark theme image previews
  3. fix: Fixed the issue where the Luckysheet editing dialog could not be operated
  4. fix: Fixed the issue where the document may not be closed after enabling auto-save
  5. chore: Upgraded markdown-it to 14.1.0
  6. chore: Upgraded Monaco editor to 0.47.0
  7. chore: Upgraded viewerjs to 1.11.6
  8. chore: Upgraded katex to 0.16.10

More release notes

Supports

Wechat Group

yn's People

Contributors

andrew-asa avatar dependabot[bot] avatar huangqinjin avatar limolly avatar palashdhabale avatar purocean avatar zhyipeng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yn's Issues

【建议】增加仓库级别的加密

  • 目前只有 .c.md 结尾的单文件支持加解密操作
  • 建议:增加仓库级别的加解密操作。原因如下:
    • 某个仓库可能包含着大量的加密文件,比如该仓库可能专门记录账号密码相关信息;
    • 只支持单文件加密是细粒度的操作,增加仓库级别的加密可以看做粗粒度的操作,粗细粒度均支持,可更灵活地满足使用者的不同场景需求:比如,我把 A 仓库 设置为加密仓库,切换到该仓库时,需要输入一次密码,进入该仓库后,可方便地浏览(读写)所有文件内容(否则,单文件加密的话,只能看一个文件输入一次密码,很繁琐,体验不好),在此基础上,也同样可以支持 .c.md 的单文件加密(相当于该文件属于更高一级的隐私)。

总结支持仓库级别的加密,仓库级别的加密和单文件加密结合,可灵活满足更多的场景需求,使用体验也更好。仅供提议,共同探讨。感谢分享。

app store下载安装后启动闪退

macOS Version: macOS 10.13.6 High Sierra (17G14042)
yn version: 3.16.1

不知道在哪里看日志,如果需要日志的话,告诉我在哪里看,我再补充信息

如何改造成web版本

你好,我想改造成web版,在线编辑查看文档,比较方便,最好有docker镜像版一键部署。不过试了试,本地构建有错误(好像跟electron相关)。希望大佬有个源码构建或者构造web版的详细文档。

在ubuntu下无法正常显示图标

image
可以检索到在 /usr/share/icons/hicolor/0x0/apps 这个路径下有正确的,且没有损坏的图标的 png文件
image
image
image
并且我很奇怪为什么这个图标被放在了0x0 这个文件夹下,而不是512x512 这个文件夹下,而且也只有yank-note这一个程序使用了0x0这个文件夹

Yank Note 使用分享

源码构建、打包步骤

建议,readme中增加源码构建、打包步骤,本地执行 ./scripts/install.sh 或 yarn、npm install,总是卡在这报各种错误:

yarn install v1.22.17
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > @vue/[email protected]" has incorrect peer dependency "[email protected]".
warning "@vue/eslint-config-standard > [email protected]" has unmet peer dependency "webpack@>=1.11.0".
warning " > @vue/[email protected]" has incorrect peer dependency "@typescript-eslint/eslint-plugin@^2.7.0".
warning " > @vue/[email protected]" has incorrect peer dependency "@typescript-eslint/parser@^2.7.0".
warning " > [email protected]" has unmet peer dependency "postcss@^8.1.0".
[4/4] Building fresh packages...
[1/5] ⠁ node-pty
[-/5] ⠁ waiting...
[5/5] ⠁ electron
[4/5] ⠁ esbuild

Plantuml预览加载不出来

三五行的还可以,行数多了,右侧预览就出不来图形,一直在转圈。但是点击放大器,在新窗口是可以加载出图形的。

用安装包自带的plantuml.jar独立运行啥的也都很正常

can not open yank note

in macbookpro, use yank note for a period of time, buf suddenly appear the following error,and can not open yank md file
image

上传图床功能

能否添加在图片粘贴到编辑区时利用PicGo等图像上传器自动上传到外部图床的功能?类似Typora中图片的单个和一键上传功能

在线体验版,在新建一个md文件之后会自动填充FEATURES.md的内容;以及渲染混乱的问题

在线体验版,在新建一个md文件之后会自动填充FEATURES.md的内容
image
并且在全选之后,如果直接粘贴大段文本来覆盖掉 自动填充进去的内容,右侧的渲染结果会出现混乱
(经测试,全选删除后,再进行粘贴不会出现混乱)
image
并且在全选删除之后,右侧的渲染结果不会消失
image

然后我测试了ubuntu上的版本
在yank note 内新建md文件并没有自动填充FEATURES.md的内容
然后,我手动将FEATURES.md的内容粘贴进新建的md文件,渲染正常
image
之后,与在 在线体验版中的操作相同,将同样的大段文本直接粘贴进去
右侧渲染结果混乱,仍然出现了FEATURES.md的内容
image
全部删除后,右侧渲染结果没有变化
image
撤销删除操作,关闭软件后台再重新启动,之前新建的文件渲染正常
image
同时,重启之后,打卡的第一个文件一定渲染正常,但是点开另一个文档之后,比如 readme.md,再切换回第一个文档就回出现渲染混乱的情况
image

Bug: Incorrect checkbox toggling within a table

如视频所示 ,如果两个checkbox并列一个row的话,当第二个column的checkbox toggle的时候,第一个反而会被toggle。

20220216-181610.mp4

可以修复一下这个bug吗?另外我想请教一下如何通过改变dom里checkbox的state从而改变markdown本身,除了需要知道这个dom元素是由哪一个line render得来的之外还需要什么呢?

linux端使用求助

下载安装了Yank-Note-linux-amd64-3.16.1.deb包,运行yank-note,报错信息如下:

innerError Error: Cannot find module '../build/Debug/pty.node'
Require stack:
- /opt/Yank Note/resources/app.asar/node_modules/node-pty/lib/unixTerminal.js
- /opt/Yank Note/resources/app.asar/node_modules/node-pty/lib/index.js
- /opt/Yank Note/resources/app.asar/dist/main/server/index.js
- /opt/Yank Note/resources/app.asar/dist/main/app.js
- 
    at Module._resolveFilename (internal/modules/cjs/loader.js:972:15)
    at Function.n._resolveFilename (electron/js2c/browser_init.js:249:921)
    at Module._load (internal/modules/cjs/loader.js:848:27)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12633)
    at Module.require (internal/modules/cjs/loader.js:1032:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (/opt/Yank Note/resources/app.asar/node_modules/node-pty/lib/unixTerminal.js:30:15)
    at Module._compile (internal/modules/cjs/loader.js:1152:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1173:10)
    at Module.load (internal/modules/cjs/loader.js:992:32) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/opt/Yank Note/resources/app.asar/node_modules/node-pty/lib/unixTerminal.js',
    '/opt/Yank Note/resources/app.asar/node_modules/node-pty/lib/index.js',
    '/opt/Yank Note/resources/app.asar/dist/main/server/index.js',
    '/opt/Yank Note/resources/app.asar/dist/main/app.js',
    undefined
  ]
}

似乎是缺少了某些js文件,请问应该怎么操作,对npm不熟,不太懂怎么解决

能不能自定义快捷键呢

lin下有些快捷键和系统冲突了,例如多行编辑使用alt
vscode的setting里面提供了alt+super的备选项,这个就遭咯

TOC可以自定义序号吗?

[toc]{type: "ol", level: [1,2,3]}
默认序列是

1.
    i.
        a.
        b.
    ii.
2.
3.

能修改成:

1
1.1
1.1.1
2.
2.1
2.1.1
2.2

这种吗?

想用来写手册,一般手册都是1.1.1这种序列的。

如果要改造为对外的 Web 服务该怎么办呢?


如果要改造为对外的 Web 服务,本工具可能不太适合。或者请运行在可隔离控制的环境下。


大佬 关于这个有什么好的建议方案?假如md我都转成了html 有什么可以不用二次开发的服务?

UI调整建议

1、右边的展示框、左边的文件区需要可手动隐藏或者显示,因为编辑区太小了
2、终端希望加个图标可以点击关闭
3、希望单独增加快捷键的帮助文档,README文件太长太复杂了
4、代码运行的UI希望可以再美化一下:”------------------------------------“这样有点丑

《快速参考手册》里的一个文字纠正

’‘’
你知道吗?

你正在浏览__这个 VLOOK™ 快速参考手册,就是由 Typora 编辑并应用 VLOOK™ 插件生成的!AMAZING!!!
‘’‘
加粗的这个地方,应该是可以把“在”改成“的”。

how to install on manjaro

Thank you for your masterpiece.
To install it on manjaro, I tried pacman -Ss yank-note and yay -Ss yank-note, yet found nothing.
Could you please offer a package on AUR so that thousands of users can benifit from this marvelous note-taking tool.

关于全局搜索

感谢作者的工作,想问下目前yn支持全局搜索功能吗?类似于vscode中在一个项目目录中搜索包含关键词的文件。

建议-手机端APP

功能很强大,如果能加上下面的功能就完美了
1.监控文件变动,自动同步到git仓库
2.出手机端app

可以在readme中添加一下对release版本中blockmap的说明吗?

你好,我看到关于这个软件的介绍,想试用一下。但是在下载的时候,不知道该下载哪个版本了。
可以在readme中添加一下对release版本中blockmap的说明吗?我在readme中找不到blockmap关键字,google搜索 Yank Note blockmap 也找不到说明。
建议说明一下,以免新用户不知道该使用哪个版本。虽然readme也留了微信,但每来一个新人就重复解释一下这个基本的问题,也挺消耗维护人员时间精力的。

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.