TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
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.