A Hackable Markdown Note Application for Programmers. Version control, AI completion, mind map, documents encryption, code snippet running, integrated terminal, chart embedding, HTML applets, plug-in, and macro replacement.

Overview

Yank Note

A hackable markdown note application for programmers Download | Try it Online >>>

Download Not ecommended

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.

Yank-Note V3 Plan

The core goal of V3 is to refactor the code to improve application robustness, expansibility, and Markdown rendering performance.

V3 Project Board

  • Build with Vite
  • Optimize the performance of Markdown rendering, and support the extension of Vue component mode
  • Refactor Electron code
  • Refactor business logic, and decouple components
  • Improve the documentation of custom plug-in
  • Enhance document retrieval and citation experience
  • Refactor the shortcut key processing layer, and support custom shortcut keys
  • Other unfinished functions of V2
  • Add mobile application

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 embeded Echarts graphics
  • Embed Mermaid graphics: document supports embeded Mermaid graphics
  • Embed Luckysheet tables: document supports embeded 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

Changelogs

v3.29.0 2022-04-24

  1. feat: add OpenAI integration
  2. feat: the editor supports collapsing content
  3. feat: when clicking on the title of the outline, the corresponding title will be highlighted
  4. feat: add proxy configuration
  5. feat: add editor line number configuration
  6. feat: add style class avoid-page-break
  7. upd: optimize Markdown rendering performance
  8. upd: increase the maximum width of the preview
  9. fix: fix the problem that cells cannot be merged in embedded HTML tables
  10. fix: fix Mermaid graphics may have blank issue
  11. fix: fix the problem that the brain map cannot be displayed in the custom container
  12. feat(plugin): support adding configuration groups
  13. upd(plugin): remove ctx.constant module, use ctx.args instead
  14. upd(plugin): remove ctx.editor.revealLineInCenter, ctx.editor.revealLine, ctx.editor.setScrollToTop methods

More release notes

Supports

Wechat Group

Comments
  • [BUG]: 最新版本,导出功能,弹出的确定按钮点击无响应。macos12.3  arm64

    [BUG]: 最新版本,导出功能,弹出的确定按钮点击无响应。macos12.3 arm64

    Describe the bug

    To Reproduce

    Expected behavior

    Screenshots

    Desktop (please complete the following information):

    • Version [e.g. v3.23.0]
    • OS: [e.g. macOS]
    • Browser [e.g. chrome, safari]

    Additional context

    bug 
    opened by zhuyuanmin 8
  • [ISSUE]: yank-note on server

    [ISSUE]: yank-note on server

    Describe the bug Yank note is a great desktop application. Where is the documentation showing how to provide yank-note on a server as a webpage, like the demo here: https://yank-note.vercel.app/#/

    To Reproduce Visit yn documentation Search for instructions on how to create a yank-note webpage -->

    Expected behavior Documentation provides an explanation of how to make a public instance of yn

    Additional context If there were a Docker image of yank-note, it would help people deploy yn on Cloudron: https://forum.cloudron.io/topic/6712/yank-note-yn-on-cloudron?_=1648400863177

    enhancement 
    opened by yeehi 5
  • Markdown and code block font config requirement

    Markdown and code block font config requirement

    I tried yn yesterday and today. I'm comparing notable vs yn. Main problem which I have is not good anti-aliasing markdown preview fonts. Sometimes it is very ugly on 4k. In configuration, there is possibility to change font for editor only. Editor has good font, I need to change font for rendered page, and mainly for code blocks. Is there some configuration file to change it? Similar is bad rendering of code blocks, the colors are faded and text not good readable. In addition, in code blocks, the correct highlighting is applied in the editor, but not applied for rendered page. Platform Linux Arch 64bit.

    I try to attach screenshot. preview-font-config-req preview-font-config-req-2

    enhancement 
    opened by raven2cz 4
  • [BUG]:文章内锚点标题带有中文和英文的情况, 生成PDF后锚点失效

    [BUG]:文章内锚点标题带有中文和英文的情况, 生成PDF后锚点失效

    Describe the bug

    To Reproduce

    Expected behavior

    Screenshots

    Desktop (please complete the following information):

    • Version [e.g. v3.23.0]
    • OS: [e.g. macOS]
    • Browser [e.g. chrome, safari]

    Additional context

    当标题名称为中英文混合的情况,生成pdf后锚点无法正常跳转,点击无效

    bug 
    opened by LucasZhanye 4
  • [BUG]:代码块无法正常执行Python代码,终端中却可以正常执行

    [BUG]:代码块无法正常执行Python代码,终端中却可以正常执行

    Describe the bug

    代码块无法正常执行Python代码,终端中却可以正常执行

    To Reproduce

    Expected behavior

    Screenshots

    bug

    Desktop (please complete the following information):

    • Version: [3.30.1]
    • OS: [Windows10]
    • Browser [e.g. chrome, safari]
    • Python:3.8.10

    Additional context

    bug 
    opened by small-universe 4
  • 增加 粘贴图片到本地 (非 base64 )

    增加 粘贴图片到本地 (非 base64 )

    目前使用 Windows yn v3.27.0
    很棒的软件,感谢!

    希望能增加 粘贴图片到本地文件夹,但不要转换为 base64, 而是使用设置好的本地路径,就像 Typora 那样,Typora 甚至会自动将远程图片下载到本地(若设置),最好能像 Typora 一样,直接 Ctrl+V 就能粘贴到本地

    image

    目前只能 粘贴图片为 base64, 和选择图片文件

    Typora 图片设置
    image

    opened by yiyungent 4
  • [BUG]: 无法本地调试代码

    [BUG]: 无法本地调试代码

    Describe the bug

    bug1

    yarn dev时报错:

    node_modules/domino/lib/sloppy.js:10:4: error: With statements cannot be used with the "esm" output format due to strict mode
    
    10 │     with(this) eval(code);
       ╵     ~~~~
    

    bug2

    yarn start时报错:

    use proxy: false
    envs: disable on windows
    Address: http://localhost:3044
    (node:3232) UnhandledPromiseRejectionWarning: Error: next() called multiple times
        at dispatch (...\YankNote\node_modules\koa-compose\index.js:36:45)
        at ...\YankNote\dist\main\server\index.js:767:21
        at step (...\YankNote\dist\main\server\index.js:63:23)
        at Object.next (...\YankNote\dist\main\server\index.js:44:53)
        at ...\YankNote\dist\main\server\index.js:38:71
        at new Promise (<anonymous>)
        at __awaiter (...\YankNote\dist\main\server\index.js:34:12)
        at sendFile (...\YankNote\dist\main\server\index.js:755:12)
        at ...\YankNote\dist\main\server\index.js:762:42
        at step (...\YankNote\dist\main\server\index.js:63:23)
    

    electron窗口黑色,没内容。

    Desktop (please complete the following information):

    • Version: 3.31.0
    • OS: win10
    bug 
    opened by gittig11 3
  • chore(deps): bump jsonwebtoken from 8.5.1 to 9.0.0

    chore(deps): bump jsonwebtoken from 8.5.1 to 9.0.0

    Bumps jsonwebtoken from 8.5.1 to 9.0.0.

    Changelog

    Sourced from jsonwebtoken's changelog.

    9.0.0 - 2022-12-21

    Breaking changes: See Migration from v8 to v9

    Breaking changes

    Security fixes

    • security: fixes Arbitrary File Write via verify function - CVE-2022-23529
    • security: fixes Insecure default algorithm in jwt.verify() could lead to signature validation bypass - CVE-2022-23540
    • security: fixes Insecure implementation of key retrieval function could lead to Forgeable Public/Private Tokens from RSA to HMAC - CVE-2022-23541
    • security: fixes Unrestricted key type could lead to legacy keys usage - CVE-2022-23539
    Commits
    • e1fa9dc Merge pull request from GHSA-8cf7-32gw-wr33
    • 5eaedbf chore(ci): remove github test actions job (#861)
    • cd4163e chore(ci): configure Github Actions jobs for Tests & Security Scanning (#856)
    • ecdf6cc fix!: Prevent accidental use of insecure key sizes & misconfiguration of secr...
    • 8345030 fix(sign&verify)!: Remove default none support from sign and verify met...
    • 7e6a86b Upload OpsLevel YAML (#849)
    • 74d5719 docs: update references vercel/ms references (#770)
    • d71e383 docs: document "invalid token" error
    • 3765003 docs: fix spelling in README.md: Peak -> Peek (#754)
    • a46097e docs: make decode impossible to discover before verify
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by julien.wollscheid, a new releaser for jsonwebtoken since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • [Feature Request]: Source code block support with callouts

    [Feature Request]: Source code block support with callouts

    Question 是否能支持类似功能, e.g. AsciiDoc source code block with callouts.

    Usage

    [source,ruby]
    ----
    require 'sinatra' // <1>
    
    get '/hi' do // <2>
      "Hello World!" // <3>
    end
    ----
    <1> Library import
    <2> URL mapping
    <3> HTTP response body
    

    Preview image

    opened by BOFA1ex 2
  • [Feature Request]:一系列细节改进建议

    [Feature Request]:一系列细节改进建议

    1. 迁移笔记到其他文件夹的时候,能否一并移动文档图片,否则如果移动笔记之后删掉所在文件夹,文档图片就无法显示了。
    2. 删除图片之后能否一并删除其图片文件,担心空间占用问题(虽然不是问题)
    3. 能否跨仓库链接标题或笔记?好像链接只能跳同一个仓库的笔记
    4. 能否强化一下链接联想,比如我想链接某篇文章,我输入/时只能联想到根目录,再往后的路径我就只能复制粘贴或者手动输入了,如果忘了那个标题具体内容,我还需要去打开那个笔记找,有点麻烦。
    5. Katex公式能否自动调一下大小,或者有没有什么办法能调,公式复杂的时候还是只占1.5行,有些部分已经很难看清了。
    6. 该应用介绍引导还不够简单和完善,我想介绍给朋友用需要很大时间成本才能上手
    opened by 71-MengYi 2
  • [BUG]:若Markdown文件名中带有#等特殊字符,向文件中复制黏贴图片无法正常显示

    [BUG]:若Markdown文件名中带有#等特殊字符,向文件中复制黏贴图片无法正常显示

    Describe the bug 若Markdown文件名中带有#等特殊字符,向文件中复制黏贴图片无法正常显示

    To Reproduce

    1. 创建一个文件名中带有#的markdown文件
    2. 复制一个图片至此markdown文件中
    3. 可见错误信息

    Expected behavior 图片无法在预览模式下加载显示

    Desktop

    • Version [3.34.4]
    • OS: Windows 10
    • Browser chrome
    bug 
    opened by Yunis-YuanZhiyi 0
  • [Feature Request] Follow XDG Base Directory Specification on Linux

    [Feature Request] Follow XDG Base Directory Specification on Linux

    background

    Currently, yank-note put all user files in ~/yank-note, but it would be better to follow the XDG specification, see XDG Base Directory Specification.

    There are few files in ~/yank-note, and they can be easily classified.

    ➜  yank-note ls     
    config.json  extensions  histories  pandoc-reference.docx  plugins  themes
    

    config.json should go to $XDG_CONFIG_HOME/yank-note (defaults to $HOME/.config/yank-note when the environment variable $XDG_CONFIG_HOME is undefined.)

    And extensions pandoc-reference.docx plugins themes should go to $XDG_DATA_HOME/yank-note, which defaults to $HOME/.local/share/yank-note,

    Finally, histories should go to $XDG_CACHE_HOME/yank-note, which defaults to $HOME/.cache/yank-note.

    suggested solution

    Only the following lines need to be changed. You can follow https://github.com/rivy/js.xdg-portable,

    https://github.com/purocean/yn/blob/4cfd1acf0fa5de7f80f8e4129686a84a4b4c97bf/src/main/constant.ts#L11-L20

    https://github.com/purocean/yn/blob/4cfd1acf0fa5de7f80f8e4129686a84a4b4c97bf/src/main/server/convert.ts#L8

    enhancement 
    opened by sukanka 0
Releases(v3.47.0)
Owner
洋子
全栈开发,业余白帽子,热爱电子和机械
洋子
Obsidian-Snippet-collection - A collection of snippet to customize obsidian

This repo is a collection of CSS snippets for Obsidian.md. To install them on PC

Mara 110 Dec 22, 2022
A hackable C# based scripting environment for 3D modeling running in the web browser.

A hackable C# based scripting environment for 3D modeling running in the web browser. Background Script based 3D modeling software running in the web

Emil Poulsen 49 Nov 28, 2022
Bitcoin terminal tracker is a terminal app which allow you to track bitcoin price from your terminal

BTC Terminal Tracker Bitcoin terminal tracker is a terminal app which allow you to track bitcoin price from your terminal. In this version (V1.2) I ch

Sina yeganeh 9 Jul 27, 2022
Codebraid Preview provides a Markdown preview for Pandoc documents within VS Code.

Codebraid Preview provides a Markdown preview for Pandoc documents within VS Code. Most Markdown previews don't support all of Pandoc's extensions to Markdown syntax. Codebraid Preview supports 100% of Pandoc features—because the preview is generated by Pandoc itself! There is also full bidirectional scroll sync and document export.

Geoffrey Poore 12 Dec 28, 2022
My personal website built with Next.js, TypeScript, twin.macro, Framer Motion, MDX and deployed on Vercel.

chrvaskos.com My personal website / blog built with some of my favorite technologies where I can showcase my work and write articles about anything ne

Vasilis Christoforidis 4 Mar 25, 2022
Use macro-based Nunjucks components with Eleventy and Storybook.

eleventy-nunjucks-storybook Use macro-based Nunjucks components with Eleventy and Storybook. Links See Using Storybook with Nunjucks components in Ele

Ashur Cabrera 11 Dec 15, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A small logging proxy server for intercepting and logging code completion requests from copilot.

PilotWatch PilotWatch is a small logging proxy server written in node.js for intercepting and logging code completion requests from Github's Copilot.

John Robinson 7 May 8, 2023
Have a code snippet, Create a code video

CodeVideo CodeVideo is a product that helps you to make code explanation videos. It's quick and easy, so anybody can create beautiful code videos with

Suvij Surya 4 Nov 7, 2022
This plugin allows side-by-side notetaking with videos. Annotate your notes with timestamps to directly control the video and remember where each note comes from.

Obsidian Timestamp Notes Use Case Hello Obsidian users! Like all of you, I love using Obsidian for taking notes. My usual workflow is a video in my br

null 74 Jan 2, 2023
Web based application that uses playerctl in it backend to control remotely your audio using the frontend as remote control.

Linux Remote This is a web based application that uses playerctl in it backend to control remotely your audio using the frontend as remote control. Do

Gabriel Guerra 4 Jul 6, 2022
🥰 Mini world simulator is a terminal application made in JavaScript to control the world that is being generated.

Mini-world "Simulator" Mini world simulator is a terminal application made in JavaScript to control the world that is being generated. It has no other

Adrián 2 Mar 14, 2022
🎨 Flat, simple, multi-themed, responsive and hackable Color-Picker library.

?? Flat, simple, multi-themed, responsive and hackable Color-Picker library. No dependencies, no jQuery. Compatible with all CSS Frameworks e.g. Bootstrap, Materialize. Supports alpha channel, rgba, hsla, hsva and more!

Simon 3.9k Dec 27, 2022
Convert Your Kindle highlight & Note to Markdown/JSON

kindle-highlight-to-markdown Convert Your Kindle highlight & Note to Markdown/JSON Install Install with npm: npm install kindle-highlight-to-markdown

azu 15 Dec 31, 2022
Markdown note maker (with Git sync) using Tauri.

Mediocre Markdown note maker (with Git sync) using Tauri. Screens Tech Stack Frontend Monaco Editor for the editor interface Chakra UI library Redux T

Nilay Savant 14 Dec 6, 2022
To-Do List is a simple web based application that gives users an opportunity to note and organize their daily tasks. This app is built with JavaScript, HTML/CSS.

Project Name To-Do App Live Demo About Project In this feature, I built a to do list app which helps to list the tasks to be done at a particular time

Hatim Eddinani 8 Aug 18, 2022
RWP stands for Roblox web panel, it's a code snippet that you can run via developer console or the provided Google Chrome extension to try out early

RWP stands for Roblox web panel, it's a code snippet that you can run via developer console or the provided Google Chrome extension to try out early Roblox site features before they're officially out without any programming experience.

null 10 Nov 28, 2022