Skip to content

TextZen/TextZen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TextZen

TextZen

TextZen is a Markdown note-taking application for MacOS.

Screenshot

TextZen Philosophy

  • Always display Markdown syntax
  • Organize notes with multiple files
  • Open source is wonderful

Installation

Get .dmg from the latest release, open it, and drag TextZen to Applications.

Install

TextZen checks for updates automatically

Basic Usage

1. Open a Folder

TextZen manages notes using multiple Markdown files under a specific folder, similar to Obsidian vaults. After launching the app, press ⌘+O to open a folder.

Note that TextZen does not support folder hierarchies.

2. Create Files

Press ⌘+N to create a new file. In the title field, you can edit the title portion of the filename <title>.md. We'll introduce how to use the editor later. Changes are automatically saved.

3. Search Files

Press ⌘+P to search by filename. You can navigate search results using up/down cursor keys.

4. Full-text Search

Press ⌘+Shift+F to perform full-text search across files in the folder. Click on search results to jump to the corresponding location in the file.

5. View Backlinks

Press ⌘+Shift+B to check references to the current file.

6. Customize Keyboard Shortcuts

You can customize keyboard shortcuts in two ways:

  1. Use the settings UI: Click TextZen > Keyboard Shortcuts in the menu to open the keyboard shortcuts configuration dialog.
  2. Edit the settings file: Modify the shortcuts section in the JSON settings file.

Default shortcuts:

  • ⌘+O: Open Directory
  • ⌘+N: New File
  • ⌘+P: Search Files
  • ⌘+Shift+F: Full-text Search
  • ⌘+Shift+B: View Backlinks
  • ⌘+B: Toggle Sidebar
  • ⌘+0: Focus File List
  • ⌘+1: Focus Editor

Syntax

TextZen follows GFM (GitHub Flavored Markdown) standards.

Math Equations

TextZen supports writing and rendering mathematical equations using KaTeX. You can use both inline and block math syntax:

Inline math: $a^2 + b^2 = c^2$

Block math:

$$
\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
$$

Mermaid.js

Mermaid.js is supported.

```mermaid
graph TD;
  A-->B;
  A-->C;
  B-->D;
  C-->D;
```

Preview

Images, links, and tables are parsed and displayed as previews in the editor.

Table

Settings

Click TextZen > Settings (JSON) in the menu to open the settings JSON file in your default application.

{
  "view": {
    "sidebar": {
      "visible": true, // false
      "width": 325
    },
    "theme": "default", // amy, ayuLight, barf, bespin, birdsOfParadise, boyAndGirls, clouds, cobalt, coolGlow, fracula, espresso, noctisLilac, rosePineDawn, smoothy, solarizedLight, tomorrow
    "locale": "en" // ja
  },
  "edit": {
    "linkAutoUpdate": true // false
  },
  "general": {
    "path": "/path/to/notes"
  },
  "shortcuts": {
    "openDirectory": "Cmd+O",
    "newFile": "Cmd+N",
    "searchFile": "Cmd+P",
    "searchFullText": "Cmd+Shift+F",
    "backLinks": "Cmd+Shift+B",
    "toggleSidebar": "Cmd+B",
    "focusFileList": "Cmd+0",
    "focusEditor": "Cmd+1"
  }
}

JavaScript API

You can customize TextZen using JavaScript.

JavaScript files can be loaded from <folder>/.text-zen/**.js. They are treated as modules, so you can use import syntax to manage multiple files.

Access TextZen's API through window.textZen.

Custom CSS

You can modify TextZen's appearance using CSS. Create CSS files in <folder>/.text-zen/**.css. TextZen's CSS uses variables.

@media (prefers-color-scheme: dark) {
  :root {
    --color-text-primary: rgb(222, 222, 222);
    --color-border-primary: rgb(90, 90, 90);
    --color-bg-primary: rgb(30, 30, 30);
    --color-bg-active: rgb(240, 240, 240, 0.15);
    --color-bg-secondary: rgb(50, 50, 50);
    --color-highlight-purple: rgb(106, 47, 126);
  }
}

@media (prefers-color-scheme: light) {
  :root {
    --color-text-primary: rgba(30, 30, 30);
    --color-border-primary: rgba(240, 240, 240);
    --color-bg-primary: rgb(256, 256, 256);
    --color-bg-active: rgb(0, 0, 0, 0.05);
    --color-bg-secondary: rgb(240, 240, 240);
    --color-highlight-purple: rgb(245, 214, 255);
  }
}

Privacy Policy

At TextZen, we are committed to protecting the privacy of our users. Our app does not collect any personal information about its users. We do not store any user data on our servers or share it with third parties.

Development

Run the following commands to start the development server:

npm i
npm run dev

Run tests with:

npm run test

License

© 2025 Moeki Kawakami

TextZen's source code is licensed under the Apache License, Version 2.0. Image resources are licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.