Skip to content

kaishuu0123/leavepad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

158 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Leavepad

GitHub Release

Leavepad is a multi-platform notepad focused on writing memos with an integrated file editor powered by Monaco Editor.

Motivation

  1. I wanted to make a simple note that could close the editor without saving like notepad++
  2. However, notepad++ is only supported on windows (except using Wine)
  3. I wanted a memo application that could be unified to the same usability on multiple platforms.

Therefore, I decided to create a memo application by Electron for my own use.

Features

📝 Note Taking

  • Quick note creation with Ctrl+N
  • Full-featured Monaco Editor with syntax highlighting
  • Per-note language mode settings (changeable via status bar)
  • JSON formatting (F1 → "Format JSON" or click "Format" button in status bar)
  • Search notes by name or content
  • Tab-based interface with drag & drop reordering
  • Auto-save (close without saving)
  • Export / Import notes as JSON
  • Delete all notes

📁 File Editor

  • Open and edit external text files
  • Syntax highlighting for 50+ programming languages
  • Multiple file tabs with drag & drop support
  • Drag & drop files from file explorer
  • Auto-detect file encoding
  • Unsaved changes detection
  • Keyboard shortcuts: Ctrl+O (Open), Ctrl+S (Save), Ctrl+Shift+S (Save As)

🎨 Customization

  • Dark/Light theme
  • Language support: English, 日本語
  • Font selection (NOTONOTO, HackGen, Geist Mono, Moralerspace HWJPDOC Neon, M PLUS 1 Code)
  • Sort options (created/updated date)
  • Collapsible sidebar

Download

Support platform

  • Windows
  • Linux
  • macOS

Screenshots

Welcome

Welcome

Editor

Note Editor File Editor

Note Editor

File Editor

JSON Formatter Search

JSON Formatter

Search

Language

English 日本語 (Japanese)

English

Japanese

Theme

Light Dark

Light Theme

Dark Theme

Tips

Command Palette

Press F1 in the editor to open the command palette and access Monaco Editor's built-in commands:

  • Format JSON — Format JSON documents (custom command)
  • Format Document — Format any supported language
  • Change Language Mode — Switch syntax highlighting
  • Toggle Line Comment — Comment/uncomment code
  • Find & Replace — Search and replace text
  • Go to Line — Jump to a specific line number
  • And many more...

Language Mode

Click the language indicator in the status bar (bottom-right of the note editor) to change the syntax highlighting mode for the current note. Each note can have its own language setting independent of the global default.

Keyboard Shortcuts

Main Window (Notes)

  • Ctrl+N - Create new note
  • Ctrl+W - Close current tab

File Editor Window

  • Ctrl+N - New file
  • Ctrl+O - Open file
  • Ctrl+S - Save file
  • Ctrl+Shift+S - Save As
  • Ctrl+W - Close current tab

Saved data location (Path)

Notes are stored in electron's app.getPath("userData")

  • Windows
    • C:\Users\<username>\AppData\Roaming\leavepad
    • shortcut: %APPDATA%\leavepad
  • macOS
    • ~/Library/Application Support/leavepad
  • Linux
    • ~/.config/leavepad/

Files:

  • notes.json - Note data
  • settings.json - User settings
  • app-state.json - Application state

Development

Recommended IDE Setup

Project Setup

Install

$ yarn

Development

$ yarn dev

Build

# For windows
$ yarn build:win

# For macOS
$ yarn build:mac

# For Linux
$ yarn build:linux

Technology Stack

  • Framework: Electron
  • UI: React + TypeScript
  • Editor: Monaco Editor
  • State Management: Jotai
  • Styling: Tailwind CSS + shadcn/ui
  • Database: lowdb
  • Build: electron-vite

LICENSE

MIT

FONT LICENSE

"Geist Mono" / "Geist Sans" is licensed under the SIL Open Font License 1.1
Copyright (c) 2023 vercel
by https://github.com/vercel/geist-font

"白源", "HackGen" is licensed under the SIL Open Font License 1.1
Copyright (c) 2019 yuru7, with Reserved Font Name "白源", "HackGen"
by https://github.com/yuru7/HackGen

"NOTONOTO" is licensed under the SIL Open Font License 1.1
Copyright (c) 2024 yuru7, with Reserved Font Name "NOTONOTO"
by https://github.com/yuru7/NOTONOTO

"Moralerspace HWJPDOC Neon" is licensed under the SIL Open Font License 1.1
Copyright (c) 2023 yuru7
by https://github.com/yuru7/moralerspace

"M PLUS 1 Code" is licensed under the SIL Open Font License 1.1
Copyright 2021 coz-m
by https://github.com/coz-m/MPLUS_FONTS

"Noto Color Emoji" is licensed under the SIL Open Font License 1.1
Copyright 2021 googlefonts
by https://github.com/googlefonts/noto-emoji

"Noto Sans JP" is licensed under the SIL Open Font License 1.1
Copyright 2014-2021 googlefonts
by https://github.com/googlefonts/noto-cjk

Made by kaishuu0123

About

A simple note-taking app with integrated file editor, built with Electron and Monaco Editor

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors