Yank Note: a local-first Markdown editor that runs code and stores data as plain files
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.
At a glance
- What is it?
- Yank Note (purocean/yn) is an Electron and Vue Markdown editor whose documents are ordinary .md files on disk, with embedded runnable code, diagrams, encryption and an AI panel bolted on. It is powerful precisely because it executes what is inside your files, and that is also the reason to be careful about whose files you open.
- Who is it for?
- Adopt Yank Note if you want your notes to stay as plain Markdown files you can grep and version yourself, and you accept that the editor runs code and reads and writes files on your behalf. Do not adopt it to open Markdown downloaded from strangers, and do not adopt it if you need a hosted multi-user wiki.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The gap Yank Note is aimed at: notes that are also runnable documents
Most Markdown editors stop at text. Yank Note starts from the opposite assumption: a note can contain a JavaScript block that runs, a PlantUML or drawio diagram that renders, an ECharts chart, a Luckysheet table, an embedded HTML applet, or a macro expression that rewrites part of the document when it is displayed. The README describes the project as a "highly extensible" Markdown editor designed for productivity, and the feature list backs that up: code running for JavaScript, PHP, nodejs, Python and bash, plus embedded diagrams and charts.
The audience is a developer or technical writer who already keeps notes in files and wants the editor to do more than render headings. It is not a note-taking app for someone who wants a synced web service. The README states that data is saved as local Markdown files and that extension features are implemented in Markdown's original syntax as far as possible. That sentence is the whole design thesis: the file remains the source of truth, and the editor is a viewer and runner on top of it.
How it works: Monaco in an Electron shell, files on disk, plugins in a folder
The editing surface uses Monaco, the same editor kernel as VS Code, and the README claims the same editing experience. The application is built with Electron and Vue, and the repository topics list Koa2, markdown-it and monaco-editor alongside the desktop stack. The preview pipeline is markdown-it based, which matters for compatibility: the v3.92.1 release notes mention upgrading markdown-it to 14.3.0 and adding CJK-friendly emphasis parsing for Chinese and Japanese text, a change that affects how asterisks and underscores behave around full-width characters.
Data flow is deliberately flat. You define one or more repositories (data locations) to classify documents, and files live there as .md. Encrypted files are identified by the .c.md suffix. The README says encryption and decryption both happen at the front end, and that encrypted documents are not auto-saved, unlike ordinary files. That is a coherent choice: the password never leaves your machine, and the editor refuses to silently write ciphertext you might not be able to reopen.
Extensibility has two layers. Documents can embed HTML applets, and the editor can be extended by JavaScript plugins placed in the plugins directory under the home directory. The README points to a plugin development guide for the API. The v3.92.1 notes add range-based text highlighting APIs for extensions and preview interactions, which suggests the plugin surface is still moving.
Getting it running: download, repositories, and the pandoc dependency
The simplest path is a release build. The README links Windows, macOS arm64, macOS x64, Linux AppImage and Linux deb artifacts for v3.92.1, and the project also offers an online demo at demo.yank-note.com. There is no build-from-source instruction in the supplied material, so treat the release binaries as the intended entry point. The repository also lists an iOS App Store link, but the README itself annotates that link with "Not recommended" and points to an issue comment explaining why. Take that at face value: mobile is not the supported experience.
After installing, the first configuration step is defining a repository, meaning a directory the editor treats as a document store. The second is export. The README states that multiple-format export uses pandoc as the converter on the backend, so exporting to formats other than Markdown depends on pandoc being installed and reachable. That is a real setup step and a common source of silent failure if the binary is missing.
For extension work, plugins go in the plugins folder under the home directory. TOC generation is written inline in the document, for example [toc]{type: "ol", level: [1,2,3]}, and the README shows [toc]{level: [2]} as a shorter form. Image hosting can be wired to PicGo. None of these require editing a config file outside the app; the settings live in the editor's own UI, which the supplied material does not document in detail.
The security trade-off is stated by the project itself, and it is the main limitation
The README has an Attention section, and it is unusually blunt. To be more extensible, Yank Note "sacrifices security protection (command execution, arbitrary file reading and writing)". It then warns that if you want to open a foreign Markdown file, you should carefully identify whether the content is trustworthy.
This is not boilerplate. A document format that can run bash, PHP and nodejs code, embed HTML applets and evaluate macro expressions is an executable format wearing a .md extension. Opening an untrusted file is closer to running an untrusted script than to reading a text file. The same extensibility that makes embedded diagrams and runnable snippets possible removes the sandbox you would get from a plain renderer.
The encryption caveat is equally direct. Because encryption and decryption happen at the front end, a lost password means brute force is the only recovery path. There is no server-side reset and no key escrow. If you use .c.md files for credentials or account numbers, as the README suggests, your password management becomes the actual security boundary.
A third limitation is structural rather than security-related: encrypted documents are excluded from auto-save. If you are used to never pressing save, the encrypted file workflow will feel different from the rest of the app.
Where Yank Note sits against Obsidian and VS Code
The closest comparison is Obsidian. Both store notes as local Markdown files and both have a plugin ecosystem, but the extension model differs. Obsidian plugins are distributed as community packages you install from a registry inside the app, and the core product is a knowledge base with linking and graph features. Yank Note's plugins are JavaScript files you place in a directory yourself, and the core product is an editor with execution features: code running, embedded applets, macro replacement, an integrated terminal, and an AI panel that the README says is compatible with OpenAI, Ollama, Gemini, Kimi, Tongyi Qianwen and Flux.1, plus an OpenCode AI agent. If your need is a linked knowledge graph, Obsidian is the more direct fit. If your need is a document that renders a Mermaid diagram, runs a Python snippet and embeds a drawio canvas, Yank Note is aimed at that.
The other comparison is VS Code with a Markdown preview extension. VS Code is a general-purpose editor with a mature extension marketplace and a much larger security surface that is at least designed around workspace trust. Yank Note is narrower and more opinionated about Markdown, but it does not have an equivalent trust model in the material provided. The README's warning about foreign files is the substitute.
A third option worth naming is a static site generator pipeline such as MkDocs or Docusaurus, where Markdown is compiled rather than executed interactively. That removes the execution risk entirely and is the right answer if your documents only need to become a website.
Maintenance, release cadence and the AGPL-3.0 licence
The release history in the supplied material shows v3.89.1 in May 2026, v3.90.0 later the same month, and v3.92.1 in July 2026, with the last repository push in September 2026. The project is active and the changelog entries are specific: markdown-it upgrade, CJK emphasis parsing, a raw HTML container, range-based highlighting APIs, terminal IME fixes, and an Electron 41 upgrade with security-related transitive dependency updates. Frequent Electron major upgrades are a maintenance cost you inherit, because Electron majors track Chromium and Node versions and can break native or plugin code.
The licence is AGPL-3.0. For individual use this is largely a non-issue. For anyone embedding Yank Note in a network-accessible product, the copyleft obligations of the AGPL are broader than the MIT or Apache-2.0 licences common in this space, and the practical question of whether your modifications must be published is one for a lawyer, not for a review. Note also that the README's iOS App Store link is annotated "Not recommended", so the store distribution path is not the one the maintainer endorses.
Upgrade cost is mostly the plugin surface. The v3.92.1 notes add new extension APIs for highlighting, which implies the plugin API is still expanding rather than frozen. If you write plugins against it, expect to revisit them across minor versions.
Who should install it, and what to check before you commit
Install Yank Note if you already keep notes as files, want an editor that renders diagrams and charts inline, and occasionally want to run a snippet without leaving the document. The local Markdown storage means you can walk away at any time and your content is still readable by any other tool, which is the property that matters most for a long-lived notes setup.
Do not install it as a viewer for Markdown you did not write. The README's own warning about command execution and arbitrary file reading and writing makes that a clear boundary. Do not install it if you need real-time collaboration or a hosted wiki; nothing in the supplied material describes either.
Three things to verify on your own machine before you move a working notes directory into it. First, that pandoc is installed and that the export format you need actually produces a file, since export depends on it. Second, that a test .c.md file encrypts and decrypts correctly, because a lost password is unrecoverable by design. Third, that your existing plugin or macro usage survives the next minor release, given that the extension API gained new surface in v3.92.1. If all three pass, the plain-file storage is the part that will still be true in five years.
Editorial conclusion
Adopt Yank Note if you want your notes to stay as plain Markdown files you can grep and version yourself, and you accept that the editor runs code and reads and writes files on your behalf. Do not adopt it to open Markdown downloaded from strangers, and do not adopt it if you need a hosted multi-user wiki. Before committing, install a release build, confirm the pandoc path works for your export format, and test one .c.md file to be sure you can decrypt it again on your machine.
Community notes