TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
계정 없이 광고 없이 글을 쓰고, 모든 내용을 표준 .md 파일로 보관하며, 스토어 빌드에서 네트워크 권한을 전혀 요구하지 않음
Write with no account and no ads, keep everything as standard .md files, and get no network permission at all in the store builds.
생산성Kotlin · PowerShellGitHub @jeiel85온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
A lightweight, local-first Markdown note app for Android.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Thoughts that pile up lightly, tidy Markdown notes
A local-first, minimal Markdown note app for Android
/ quick insert → plain Markdown → live preview
Tablet 3-pane — tag rail · note list · editor on one screen
Markleaf is an Android Markdown note app designed to strip away the clutter so you can focus on just two things: capturing and organizing. Your data is stored only on your device, and standard Markdown guarantees full ownership and portability. Even sync happens only through a folder you choose — Markleaf never syncs or uploads anything itself.README 전문 보기 ↗Markleaf is an Android Markdown note app designed to strip away the clutter so you can focus on just two things: capturing and organizing. Your data is stored only on your device, and standard Markdown guarantees full ownership and portability. Even sync happens only through a folder you choose — Markleaf never syncs or uploads anything itself.
View the branding page · Current version: v2.71.0 · Privacy Policy · F-Droid · Google Play
/ Quick Insert — search commands at the start of a line to insert headings, lists, tables, callouts, wikilinks, images, and more as standard Markdown> [!NOTE] …) — all rendered in preview[^N]) ref ↔ def jump — tap the superscript to scroll smoothly to the definition.ttf/.otf font file of your own (kept on the device); code blocks always stay monospaced#tags in the body for automatic indexing, no folders; existing tags autocomplete as you type #[[Title]]) + backlinks panel — autocomplete, and see at a glance what points to this note.md / .txt file to a folder you pick via SAF (Drive/Dropbox/Syncthing/OneDrive/NAS, etc.); rename a note and its file follows, or turn on Keep file names to keep names you set yourself. Markleaf never syncs anything itself; it is delegated to whatever external app syncs that folder. To work on the same files from a computer, see the folder sync guide.md / .txt file to read it — Open file… in the ⋮ menu, or a tap in your file manager, opens the file rendered and read-only; nothing joins your notes until you tap Save as note (the file name becomes the title when there's no heading). Sharing a file into Markleaf from another app still imports it straight away. Tags in synced-in notes are recognized right away.mdMarkleaf has no vault format of its own. Point it at a folder — including one that Obsidian, Logseq, or your text editor already opens — and it works on the files that are there.
.md (or .txt) file. Drop existing files into the folder and Markleaf picks them up as notes the next time it comes to the foreground — no import step.markleaf_id, timestamps, pinned/archived) so it can match a file to a note across devices, and everything it does not recognize is carried back out byte-for-byte — the indented block lists Obsidian writes tags in, nested maps, comments and quoting all included. The header it adds is a strict subset of YAML that Obsidian, GitHub and VS Code all parse.[[Wikilinks]] with a backlinks panel, inline #tags, GFM tables and checkboxes, > [!NOTE] callouts, and an Obsidian-style Ctrl+K quick switcher.[!IMPORTANT] Two things to know before you point Markleaf at a real vault.
- One folder, no subfolders. Markleaf reads the files directly inside the folder you pick and does not descend into subdirectories. A vault organized into nested folders will only meet Markleaf at its top level — by design, Markleaf organizes by tags instead of folders.
- Editing a note renames its file. Mirror filenames track the note title, so a file whose name differs from its heading gets renamed the first time you save it in Markleaf. Where
[[links]]in your vault point at the old filename, they will break.If your vault is deeply foldered or link-heavy, point Markleaf at a separate folder and treat it as a mobile inbox you merge from, rather than as a second editor on the vault itself.
Markleaf follows current Android development standards with a modern, maintainable stack.
Markleaf uses the following layered structure for separation of concerns and testability.
com.markleaf.notes
├── core # shared core logic: markdown processing, attachments, sync
├── data # Room DB, entities, repository implementations (data source)
├── domain # models, repository interfaces (business logic)
├── feature # per-screen UI and ViewModels (presentation)
│ ├── editor # editor, find/replace, wikilink autocomplete, callouts, tables
│ ├── notes # note list, quick switcher, archive
│ ├── search # FTS full-text search
│ ├── tags # tag index
│ ├── trash # trash / permanent delete
│ └── settings # theme, sync folder, screenshot blocking, etc.
├── navigation # Jetpack Compose Navigation setup
└── ui # theme (Markleaf green / Material You), shared components
[!NOTE] Google Play updates are currently on hold. New versions won't be pushed to the Play Store until a Korean business-registration policy requirement for the solo developer is resolved. For the current release, use GitHub Releases. F-Droid remains the recommended update path when its build has caught up. (If you already installed it from the Play Store, it keeps working.)
0be97352…f91a), so updates continue seamlessly even if you first sideload a GitHub APK.markleaf-v2.71.0.apk matches the F-Droid/Play build (no auto-update, no extra permission), and markleaf-v2.71.0-sideload.apk adds an opt-in in-app update check (INTERNET, REQUEST_INSTALL_PACKAGES). Pick the sideload one for in-app updates, download it, then run it on your Android device — both share the same signing key, so switching between them later is a normal update, not a reinstall.If you'd like to build or contribute, follow these steps.
# Clone the repository
git clone https://github.com/jeiel85/markleaf-android.git
# Enter the project folder
cd markleaf-android
# Build and install
./gradlew installDebug
Markleaf's bug fixes mostly begin as somebody else's report. The people who wrote them are listed in THANKS.md.
Markleaf has no backend, and none of your notes ever leave the device on their own. Whether your data leaves the device is entirely your choice.
android.permission.INTERNET in the store builds (F-Droid, Google Play) — they make no network requests at allandroid:allowBackup="false" — Markleaf data is excluded from Android auto-backup / device transferOne exception, and only one. The APK on GitHub Releases declares INTERNET (for an opt-in, off-by-default update check) and REQUEST_INSTALL_PACKAGES (so it can install the update you choose to download, after verifying its SHA-256). The F-Droid and Google Play builds contain neither permission nor that code — not disabled, absent. No notes, tags, attachments, metadata, identifiers or usage data are ever sent, in any build or by either request. The boundary is written down in docs/AGENT_SPEC.md §15.9.
How "never leaves your device" works exactly is documented in the Privacy Policy and the No-Cloud Certification.
[[Title]]) + autocomplete + backlinks panel.md/.txt files, folder-sync duplicate-note and tag recognition fixes.md/.txt choiceMost of Markleaf's translations have never been read by a native speaker. If something in your language reads wrong, awkward, or is cut off, you can tell us without touching any code.
Want to edit the files yourself? CONTRIBUTING.md explains which ones and what the build checks.
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
#tag/ Quick Insert commands with touch, hardware-keyboard selection, and six localized menus