TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
code themed note taking app
Translation pending
ProductivityJavaScript · CSSGitHub @devvbuilds-pngOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.
Details -
NoteCode is a terminal-aesthetic markdown note-taking app. Here's a breakdown of every layer:
The Stack
┌──────────────┬──────────────────────────────────────────┐ │ Tool │ Role │ ├──────────────┼──────────────────────────────────────────┤ │ React 19 │ UI components and state │ ├──────────────┼──────────────────────────────────────────┤ │ Vite │ Dev server and bundler │ ├──────────────┼──────────────────────────────────────────┤ │ CodeMirror 6 │ The editor (replaces a plain ) │ ├──────────────┼──────────────────────────────────────────┤ │ marked │ Converts markdown → HTML for reader mode │ ├──────────────┼──────────────────────────────────────────┤ │ highlight.js │ Syntax colors in reader mode code blocks │ └──────────────┴──────────────────────────────────────────┘
What Each File Does
src/ ├── main.jsx → Entry point, mounts React into index.html ├── App.jsx → Root component: manages notes, sidebar, mode switching ├── index.css → All styles (layout, colors, toolbar, editor, markdown) └── components/ ├── Sidebar.jsx → Note list, search, create/delete ├── Editor.jsx → CodeMirror editor + formatting toolbar └── Preview.jsx → Reader mode (full-screen rendered markdown)
App.jsx is the brain — it holds all note data in state, saves to localStorage, and decides which panel to show based on the current mode (edit or read).
Editor.jsx is the most complex piece. It:
Preview.jsx just takes the raw markdown string, runs it through marked, and renders the HTML — used in reader [▶] mode.
The CodeMirror Setup (Editor internals)
EditorView (the actual DOM editor) └── EditorState ├── markdown() extension → parses markdown syntax ├── syntaxHighlighting() → applies colors per token type ├── history() → undo/redo ├── keymap → keyboard shortcuts ├── EditorView.lineWrapping → soft wrap long lines └── updateListener → fires onChange when text changes
The colors (heading purple, bold orange, italic green, etc.) are defined in markdownHighlight — a HighlightStyle that maps token types → CSS properties.
How to Make Edits
Open src/components/Editor.jsx, find markdownHighlight: { tag: tags.heading1, fontSize: '1.6em', fontWeight: '700', color: '#da8fff' }, Change the color/size there. The tag names map directly to markdown elements (tags.strong, tags.emphasis, tags.link, etc.)
In Editor.jsx, add a button in the :
<button className="toolbar-btn" onClick={() => getView() && toggleWrap(getView(), '', '')}>S
Then add the corresponding CSS in index.css under .toolbar-btn if needed.
All CSS variables are at the top of src/index.css: :root { --text-accent: #da8fff; /* purple — headings, cursor / --text-orange: #f3ae35; / bold, inline code / --text-green: #5af78e; / italic / --text-blue: #57c7ff; / h3, links / --bg-base: #0d0f11; / main background */ } Change these and both the app UI and editor decorations will update.
Open src/components/Preview.jsx. The renderer object overrides how marked renders specific elements. For example, to change how code blocks look, edit the renderer.code function there.
After any edit, the dev server hot-reloads automatically — you don't need to restart it.