graphite
graphite copied to clipboard
✍️ A local-first Markdown note-taking app built with Vue.js, Tailwind CSS, and Electron.
⚠️ This repo is for demo purposes only ⚠️
⚠️ Don't use Graphite to edit local files ⚠️
✍️ Graphite - Video Explanation
A local-first Markdown note-taking app built with Vue.js, Tailwind, and Electron.
- In 2020, I quit my tech job to focus on creating web development tutorials on YouTube.
- After spending a few months playing around with different technologies, I decided to focus on Vue + Tailwind.
- In order to test how far I've come with the tech stack, I made Graphite, a local-first markdown note-taking app.
- Note: I built Graphite in ~1 week so don't mind the code quality or lack of tests.
Demo GIF (takes a few seconds to load)
Images
Dracula Theme
Gruvbox Theme
Monokai Theme
File Search
Markdown Preview
💻 Tech Stack
- Stack
- Vue.js
- Vuex (state management)
- Electron (desktop apps ftw)
- Tailwind CSS (UI framework)
- Libraries
- Marked (convert markdown to html)
- CodeMirror (builing your own editor is hard)
- Hotkeys (makes keyboard shortcuts easy)
Feature Set
- Basic
- Add/remove/rename/move files
- Markdown preview
- CodeMirror editor
- Keybindings
- Open file search ->
command + o - Close file search ->
esc - Toggle sidebar ->
command + b
- Open file search ->
- Configurable Themes with CSS Variables
- Dracula
- Gruvbox
- Monokai
- TODO
- WYSIWYG
- Add/remove/rename/move folders
- Watch for file changes in Electron and persist changes automatically
- Actually release a desktop app for Mac/Windows/Linux