MarkText for Android ๋กœ๊ณ 

MarkText for Android

๐ŸŒ  English  ยท  ็ฎ€ไฝ“ไธญๆ–‡  ยท  ็น้ซ”ไธญๆ–‡  ยท  Deutsch  ยท  Espaรฑol  ยท  Franรงais  ยท  ๆ—ฅๆœฌ่ชž  ยท  ํ•œ๊ตญ์–ด  ยท  Portuguรชs  ยท  Tรผrkรงe

์กฐ์šฉํžˆ, ๋‚˜๋งŒ์˜ Markdown.

Android๋ฅผ ์œ„ํ•œ ๊ตฐ๋”๋”๊ธฐ ์—†๋Š” Markdown ํŽธ์ง‘๊ธฐ.

๋ผ์ด์„ ์Šค: MIT   Android 7.0+   ์ตœ์‹  ๋ฆด๋ฆฌ์Šค

์ฃผ์š” ๊ธฐ๋Šฅ ยท ์†Œ์Šค์—์„œ ๋นŒ๋“œํ•˜๊ธฐ ยท ๋ผ์ด์„ ์Šค

Markdown ๋ฌธ์„œ ํŽธ์ง‘ โ€” ๋ผ์ดํŠธ ํ…Œ๋งˆ            ๋‹คํฌ ํ…Œ๋งˆ๋กœ ๋ณธ ๊ฐ™์€ ๋ฌธ์„œ

โ˜€  ๋ผ์ดํŠธ  ยท  ๋‹คํฌ  โ˜พ  โ€” ์‹œ์Šคํ…œ ์„ค์ •์„ ๊ทธ๋Œ€๋กœ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค

> [!NOTE] > **๋น„๊ณต์‹ ์ปค๋ฎค๋‹ˆํ‹ฐ ํฌํŠธ** โ€” MarkText ํŒ€๊ณผ ๊ด€๋ จ์ด ์—†์œผ๋ฉฐ, ํŒ€์˜ ์Šน์ธ์ด๋‚˜ ์œ ์ง€ > ๊ด€๋ฆฌ๋ฅผ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค. MarkText์˜ ์˜คํ”ˆ ์†Œ์Šค ํŽธ์ง‘๊ธฐ ์ฝ”์–ด(Muya)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ > Android์— ๋งž๊ฒŒ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. [๋ผ์ด์„ ์Šค ๋ฐ ์ €์ž‘์ž ํ‘œ์‹œ](#๋ผ์ด์„ ์Šค-๋ฐ-์ €์ž‘์ž-ํ‘œ์‹œ)๋ฅผ > ์ฐธ๊ณ ํ•˜์„ธ์š”. ## ์†Œ๊ฐœ MarkText for Android๋Š” MarkText์˜ ์‹ค์‹œ๊ฐ„ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ Markdown ํŽธ์ง‘์„ ํฐ์œผ๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ํŽธ์ง‘๊ธฐ๋Š” MarkText์˜ ์˜คํ”ˆ ์†Œ์Šค ์ฝ”์–ด์ธ Muya๋กœ, ๋ชจ๋ฐ”์ผ์— ๋งž๊ฒŒ ํฌ๊ฒŒ ์†์งˆํ–ˆ์Šต๋‹ˆ๋‹ค. ํฐ ๋ฌธ์„œ์—์„œ ๋” ๋น ๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๊ณ , ํฐ ํ™”๋ฉด ๋„ˆ๋น„์— ๋งž์ถฐ ๋‹ค์‹œ ๋ฐฐ์น˜ํ–ˆ์œผ๋ฉฐ, ํ„ฐ์น˜ ์„ ํƒ๊ณผ ๋„๊ตฌ ๋ชจ์Œ์„ ๋”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž‘์„ฑํ•œ ๋‚ด์šฉ์€ ๋ฐ์Šคํฌํ†ฑ๊ณผ ๊ฐ™์€ ํ’ˆ์งˆ๋กœ ๋ Œ๋”๋ง๋˜๋ฉฐ, ์ด ๋ชจ๋“  ๊ฒƒ์ด ํ•œ ์†์„ ์œ„ํ•ด ์„ค๊ณ„๋œ ์ธํ„ฐํŽ˜์ด์Šค ์•ˆ์—์„œ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ## ์ฃผ์š” ๊ธฐ๋Šฅ ### ํ•œ ๊ธ€์ž๋„ ์žƒ์ง€ ์•Š๋Š” ๊ฐ€๋ฒผ์šด Markdown ํŽธ์ง‘๊ธฐ
- ์ง„์งœ ์‹ค์‹œ๊ฐ„ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ(WYSIWYG) ํŽธ์ง‘. - CommonMark์™€ GitHub Flavored Markdown ์™„์ „ ์ง€์›: ์ˆ˜์‹(KaTeX), ํ‘œ, ๊ฐ์ฃผ, front matter, ๋‹ค์ด์–ด๊ทธ๋žจ, ๊ตฌ๋ฌธ ๊ฐ•์กฐ ์ฝ”๋“œ๊นŒ์ง€. - ๊ธด ํŒŒ์ผ์—์„œ๋„ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋™์ž‘ํ•˜๋Š” ๋ฌธ์„œ ๊ฐœ์š”์™€ ํŽธ์ง‘๊ธฐ ๋‚ด ๊ฒ€์ƒ‰. - ์ˆ˜์‹, ์ฝ”๋“œ ๊ฐ•์กฐ, ๊ธ€๊ผด๊นŒ์ง€ ๋ชจ๋‘ ๋‹ด์•„ **PDF**๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ. - **์ž‘์—…์„ ์ ˆ๋Œ€ ์žƒ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.** ์ž๋™ ์ €์žฅ, ๋ณต๊ตฌ ์ดˆ์•ˆ, ์›์ž์  ์“ฐ๊ธฐ๊ฐ€ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ง€ํ‚ต๋‹ˆ๋‹ค. - **๊ธฐ๋ณธ์ด ํ”„๋ผ์ด๋ฒ„์‹œ.** ๊ณ„์ •๋„, ํด๋ผ์šฐ๋“œ๋„, ์›๊ฒฉ ์ธก์ •๋„ ์—†์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ๊ธฐ๊ธฐ ์•ˆ์— ๋จธ๋ญ…๋‹ˆ๋‹ค. - **๊ฐ€๋ณ์Šต๋‹ˆ๋‹ค.** Vue + Capacitor ์…ธ์„ ์‚ฌ์šฉํ•ด ์•ฑ ์ „์ฒด๊ฐ€ ์•ฝ 7.8 MB โ€” ์ž‘๊ณ  ๊ฐ€๋ณ์ง€๋งŒ ๊ธฐ๋Šฅ์€ ์˜จ์ „ํ•ฉ๋‹ˆ๋‹ค. ์ž…๋ ฅํ•˜๋Š” ๋™์•ˆ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ Œ๋”๋ง๋˜๋Š” ํ‘œ, ์ฝ”๋“œ, ์ˆ˜์‹
### ๋‚˜๋งŒ์˜ ํŽธ์ง‘๊ธฐ๋กœ
ํŽธ์ง‘ ์ค‘ ํ‘œ์‹œ๋˜๋Š” ํ•˜๋‹จ ๊ณ ์ • ์„œ์‹ ๋„๊ตฌ ๋ชจ์Œ๊ณผ ์‚ฌ์šฉ์ž ์ •์˜ ์„ ํƒ(๋ถ™์—ฌ๋„ฃ๊ธฐ) ๋ง‰๋Œ€ - **๋‚˜๋งŒ์˜ ๋„๊ตฌ ๋ชจ์Œ ๋งŒ๋“ค๊ธฐ.** ๋ช…๋ น ํ’€์—์„œ ํ•˜๋‹จ ๋น ๋ฅธ ๋„๊ตฌ ๋ง‰๋Œ€๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ๋“œ๋ž˜๊ทธ๋กœ ์ˆœ์„œ๋ฅผ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์„ ํƒ ๋„๊ตฌ ๋ชจ์Œ์—๋„ ์›ํ•˜๋Š” ๋ช…๋ น์„ ๋‹ด์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- **ํ…Œ๋งˆ์™€ ์™ธ๊ด€.** ๋ผ์ดํŠธ, ๋‹คํฌ์— ๋”ํ•ด 30๊ฐ€์ง€๊ฐ€ ๋„˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ํ…Œ๋งˆ๋ฅผ ๊ณ ๋ฅด๊ณ , ๊ธ€์ž์™€ ๋ ˆ์ด์•„์›ƒ์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- **์ทจํ–ฅ๋Œ€๋กœ ์“ฐ๋Š” Markdown.** ๋ชฉ๋ก ๊ธฐํ˜ธ๋ถ€ํ„ฐ front matter๊นŒ์ง€, Markdown์ด ์“ฐ์ด๊ณ  ๋ Œ๋”๋ง๋˜๋Š” ๋ฐฉ์‹์„ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- **ํŒŒ์ผ ๋‹จ์œ„ ์ œ์–ด.** ๋ฌธ์„œ๋ณ„ ์ธ์ฝ”๋”ฉ, ์ค„ ๋, ๋ ์ค„๋ฐ”๊ฟˆ ์ฒ˜๋ฆฌ.
### ํฐ์„ ์œ„ํ•ด ๋งŒ๋“ค๊ณ , ๋ชจ๋‘๋ฅผ ์œ„ํ•ด ๋‹ค๋“ฌ์—ˆ์Šต๋‹ˆ๋‹ค
์ค‘๊ตญ์–ด ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ค‘๊ตญ์–ด ๋ฌธ์„œ๋ฅผ ํ‘œ์‹œํ•œ ํŽธ์ง‘๊ธฐ - **ํŒŒ์ผ์€ ์ œ์ž๋ฆฌ์— ๊ทธ๋Œ€๋กœ.** ์‹œ์Šคํ…œ ์„ ํƒ๊ธฐ๋ฅผ ํ†ตํ•ด ์–ด๋–ค ์ €์žฅ์†Œ ์ œ๊ณต์ž์—์„œ๋“  `.md`๋ฅผ ๋ฐ”๋กœ ํŽธ์ง‘ํ•˜๊ณ , ๊ณต์œ  ์‹œํŠธ๋กœ ๋‹ค๋ฅธ ์•ฑ๊ณผ ๋ฌธ์„œ๋ฅผ ์ฃผ๊ณ ๋ฐ›์Šต๋‹ˆ๋‹ค.
- **์—„์ง€๋ฅผ ์œ„ํ•œ ์„ค๊ณ„.** ํ•œ ์†์œผ๋กœ ํŽธ์•ˆํ•˜๊ฒŒ ๋‹ฟ๋Š” ๋ฐฐ์น˜์™€ ์ฐจ๋ถ„ํ•œ ํŽธ์ง‘๊ธฐ ์ค‘์‹ฌ ๋ ˆ์ด์•„์›ƒ.
- **์ ‘๊ทผ์„ฑ ์žˆ๊ฒŒ, ์ ˆ์ œ๋˜๊ฒŒ.** WCAG 2.2 AA๋ฅผ ์ถฉ์กฑํ•˜๋Š” ์กฐ์šฉํ•œ ๊ทธ๋ž˜ํŒŒ์ดํŠธ ๋””์ž์ธ, ๋šœ๋ ทํ•œ ํฌ์ปค์Šค ์ˆœ์„œ, ๊ทธ๋ฆฌ๊ณ  ์ฐจ๋ถ„ํ•˜๊ณ  ์ ˆ์ œ๋œ ๋ชจ์…˜.
- **์—ด ๊ฐ€์ง€ ์–ธ์–ด**๋ฅผ ์‹œ์Šคํ…œ ์„ค์ •์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค: ์˜์–ด, ๋…์ผ์–ด, ์ŠคํŽ˜์ธ์–ด, ํ”„๋ž‘์Šค์–ด, ์ผ๋ณธ์–ด, ํ•œ๊ตญ์–ด, ํฌ๋ฅดํˆฌ๊ฐˆ์–ด, ํ„ฐํ‚ค์–ด, ๊ทธ๋ฆฌ๊ณ  ์ค‘๊ตญ์–ด ๊ฐ„์ฒด์™€ ๋ฒˆ์ฒด.
--- ## ํ”„๋กœ์ ํŠธ ํ˜„ํ™ฉ > [!IMPORTANT] > ์„œ๋ช…๋œ ๊ณต๊ฐœ ๋ฆด๋ฆฌ์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ฆด๋ฆฌ์Šค APK๋Š” ์ €์žฅ์†Œ์˜ ๋ฆด๋ฆฌ์Šค > ์›Œํฌํ”Œ๋กœ๋กœ ๋นŒ๋“œ๋˜๊ณ  ๊ณต์‹ ๋ฆด๋ฆฌ์Šค ์ธ์ฆ์„œ์— ๊ณ ์ •๋˜๋ฉฐ, ๊ฒŒ์‹œ ์ „์— ํด๋ฆฐ ์„ค์น˜์™€ > ๋™์ผ ํ‚ค ์—…๊ทธ๋ ˆ์ด๋“œ ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ช…๋œ ๋นŒ๋“œ๋Š” [Releases](https://github.com/Renakoni/marktext-android/releases/latest) ํŽ˜์ด์ง€์—์„œ ๋‚ด๋ ค๋ฐ›์œผ์„ธ์š”. ## ์†Œ์Šค์—์„œ ๋นŒ๋“œํ•˜๊ธฐ [Node.js](https://nodejs.org/)์™€ [pnpm](https://pnpm.io/), ๊ทธ๋ฆฌ๊ณ  [Android Studio](https://developer.android.com/studio)(Android SDK์™€ JDK)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์€ API 24 ์ด์ƒ์—์„œ ์‹คํ–‰๋˜๋ฉฐ, API 36์„ ๊ธฐ์ค€์œผ๋กœ ๋นŒ๋“œ๋ฉ๋‹ˆ๋‹ค. ```sh pnpm install # ์˜์กด์„ฑ ์„ค์น˜ pnpm dev # ๋ธŒ๋ผ์šฐ์ €์—์„œ ์›น ์…ธ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ pnpm android:sync # ์›น ์•ฑ์„ ๋นŒ๋“œํ•ด Android ํ”„๋กœ์ ํŠธ๋กœ ๋™๊ธฐํ™” pnpm android:open # Android Studio๋กœ ์—ด๊ณ  ๊ธฐ๊ธฐ ๋˜๋Š” ์—๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์‹คํ–‰ ``` ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ(`test`, `lint`, `typecheck`, `build`)๋Š” `package.json`์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค ๊ด€๋ฆฌ์ž๋Š” [`docs/RELEASING.md`](../RELEASING.md)๋ฅผ ๋”ฐ๋ฅด์„ธ์š”. > [!TIP] > Markdown ํŽธ์ง‘๊ธฐ ์ฝ”์–ด๋Š” `third_party/muya` ์•„๋ž˜์— ๋ฒค๋”๋ง๋œ, **์ˆ˜์ •๋œ** > `@muyajs/core`(Muya) ์‚ฌ๋ณธ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ณ€๊ฒฝํ–ˆ๋‹ค๋ฉด ๋นŒ๋“œ ์ „์— ์ˆ˜์ • ์‚ฌํ•ญ์„ > `node_modules/@muyajs/core/src/**`๋กœ ๋™๊ธฐํ™”ํ•˜์„ธ์š” โ€” ๊ณ„์•ฝ ํ…Œ์ŠคํŠธ๊ฐ€ ์–ด๊ธ‹๋‚จ์„ > ์žก์•„๋ƒ…๋‹ˆ๋‹ค. ## ๊ธฐ์—ฌํ•˜๊ธฐ ์ด์Šˆ์™€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ํ•œ ๊ฐ€์ง€์— ์ง‘์ค‘ํ•˜๊ณ , ํ•„์š”ํ•œ ๊ณณ์—๋Š” ํ…Œ์ŠคํŠธ๋„ ํ•จ๊ป˜ ์ถ”๊ฐ€ํ•ด ์ฃผ์„ธ์š”. ## ๋ผ์ด์„ ์Šค ๋ฐ ์ €์ž‘์ž ํ‘œ์‹œ MarkText for Android๋Š” [MIT ๋ผ์ด์„ ์Šค](../../LICENSE)๋กœ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ด ์•ฑ์€ MarkText์˜ ์˜คํ”ˆ ์†Œ์Šค ์ž‘์—… ์œ„์— ๋งŒ๋“ค์–ด์ง„ **๋น„๊ณต์‹** ํฌํŠธ๋กœ, MarkText ํ”„๋กœ์ ํŠธ์™€ ๊ด€๋ จ์ด ์—†์œผ๋ฉฐ ์Šน์ธ์„ ๋ฐ›์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค: - **MarkText** โ€” ์ด ํฌํŠธ๊ฐ€ ๋”ฐ๋ฅด๋Š” ๋ฐ์Šคํฌํ†ฑ ํŽธ์ง‘๊ธฐ์ด์ž ๋””์ž์ธ. Copyright ยฉ Luo Ran ๋ฐ MarkText ๊ธฐ์—ฌ์ž, MIT ๋ผ์ด์„ ์Šค. - **Muya** (`@muyajs/core`) โ€” ํŽธ์ง‘๊ธฐ ์ฝ”์–ด. `third_party/muya` ์•„๋ž˜์— ๋ฒค๋”๋งํ•ด ์ˆ˜์ •ํ–ˆ์œผ๋ฉฐ, ์›๋ณธ MIT ๋ผ์ด์„ ์Šค๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค ([`third_party/muya/LICENSE`](../../third_party/muya/LICENSE)). ## ๊ฐ์‚ฌ์˜ ๋ง MarkText for Android๋Š” ์ˆ˜๋งŽ์€ ์˜คํ”ˆ ์†Œ์Šค ์ž‘์—… ์œ„์— ์„œ ์žˆ์Šต๋‹ˆ๋‹ค: [MarkText](https://github.com/marktext/marktext) ํŽธ์ง‘๊ธฐ์™€ ๊ทธ [๊ธฐ์—ฌ์ž๋“ค](https://github.com/marktext/marktext/graphs/contributors), [Muya](https://github.com/marktext/muya) ํŽธ์ง‘ ์—”์ง„, ๊ทธ๋ฆฌ๊ณ  [Vue](https://vuejs.org/), [Vite](https://vite.dev/), [Capacitor](https://capacitorjs.com/). ์ด ๋ชจ๋“  ๊ฒƒ์„ ๋งŒ๋“ค์–ด ์ฃผ์‹  ๋ถ„๋“ค๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ---

์กฐ์šฉํžˆ, ๋‚˜๋งŒ์˜ Markdown.