typerlude 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ko.md CHANGED
@@ -1,61 +1,91 @@
1
- # Typerlude
1
+ <h1 align="center">Typerlude</h1>
2
2
 
3
- A typing interlude for your terminal.
3
+ <p align="center"><strong>터미널에서 잠깐 즐기는 타자 연습.</strong></p>
4
4
 
5
- [English](README.md) | [한국어](README.ko.md)
5
+ <p align="center">
6
+ <a href="https://github.com/baba9811/typerlude/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/baba9811/typerlude/ci.yml?branch=main&amp;style=flat-square&amp;label=CI"></a>
7
+ <a href="https://www.npmjs.com/package/typerlude"><img alt="npm" src="https://img.shields.io/npm/v/typerlude?logo=npm&amp;style=flat-square"></a>
8
+ <a href="https://crates.io/crates/typerlude"><img alt="crates.io" src="https://img.shields.io/crates/v/typerlude?logo=rust&amp;style=flat-square"></a>
9
+ <a href="https://github.com/baba9811/typerlude/releases"><img alt="GitHub release" src="https://img.shields.io/github/v/release/baba9811/typerlude?sort=semver&amp;style=flat-square"></a>
10
+ <a href="LICENSE"><img alt="코드 라이선스: MIT" src="https://img.shields.io/badge/code%20license-MIT-blue?style=flat-square"></a>
11
+ </p>
6
12
 
7
- Typerlude는 계정, 텔레메트리, 클라우드 저장소 없이 키, 단어, 문장, 긴 글, 시간제 시험을
8
- 연습하는 오프라인 우선 한국어·영어 터미널 타자 연습기입니다.
13
+ <p align="center"><a href="README.md">English</a> · <strong>한국어</strong></p>
14
+
15
+ 한국어·영어 타자를 연습하거나, 바이브 코딩 중 잠깐 심심할 때 터미널에서 쉬어가세요.
16
+ Typerlude는 오프라인으로 실행되며 연습 데이터를 내 컴퓨터에만 보관합니다.
9
17
 
10
18
  ## 설치
11
19
 
12
- 레지스트리 배포 여부는 아직 검증되지 않았습니다. 패키지가 공개된 뒤에는 다음을 사용하세요.
20
+ | npm · Node.js 18+ | Cargo · Rust 1.88+ |
21
+ | --- | --- |
22
+ | `npm install -g typerlude` | `cargo install typerlude` |
13
23
 
14
- ```bash
15
- npm install -g typerlude
16
- typerlude
17
- ```
24
+ 설치 후 실행하세요.
18
25
 
19
26
  ```bash
20
- cargo install typerlude
21
27
  typerlude
22
28
  ```
23
29
 
24
- 그전에는 현재 소스에서 실행하세요.
25
-
26
- ```bash
27
- git clone https://github.com/baba9811/typerlude.git
28
- cd typerlude
29
- cargo run --release --
30
- ```
31
-
32
30
  UTF-8 대화형 터미널을 사용하세요. 권장 최소 크기는 80×24입니다.
33
31
 
34
- ## 사용
32
+ ## 바로 시작하기
35
33
 
36
- 홈 화면에서 모드를 고르고 옵션을 조정한 뒤 `Enter`를 누르세요. `Tab`, 화살표 키, `j`, `k`로
37
- 포커스를 옮기고, `Esc`로 뒤로 가거나 지원 모드를 일시 정지하며, `q`로 종료합니다. 점수 연습
38
- 붙여넣기는 무시됩니다.
34
+ 모드를 고르고 옵션을 조정한 뒤 `Enter`를 누르세요. `Tab`, 화살표 키, `j`, `k`로 이동하고,
35
+ `Esc`, `q`, `ㅂ`으로 뒤로 가며 홈에서는 같은 키로 종료합니다. 연습 중에는 `Esc`로
36
+ 일시 정지하거나 나가기 확인을 열고, 입력 중인 `q`와 `ㅂ`은 연습 글자로 처리합니다. 단어 연습은
37
+ `Space` 또는 `Enter`로 현재 단어를 제출합니다.
38
+
39
+ 내 파일이나 표준 입력으로도 연습할 수 있습니다.
39
40
 
40
41
  ```bash
41
- typerlude --help
42
42
  typerlude notes.txt
43
- typerlude stats
44
- typerlude history
45
- typerlude paths
46
- typerlude themes
47
- typerlude licenses
43
+ cat notes.txt | typerlude
48
44
  ```
49
45
 
50
- 사용자 텍스트는 메모리에만 남고 세션 기록에 복사되지 않습니다. 로컬 세션 기록에는 집계된
51
- 연습 지표와 의도한 키별 횟수만 저장됩니다.
46
+ 파일과 표준 입력의 연속 줄은 연습 전에 줄로 축약됩니다.
47
+
48
+ 점수 연습 중 붙여넣기는 무시됩니다.
49
+
50
+ ## 주요 기능
51
+
52
+ - 빠른 연습, 키, 단어, 문장, 긴 글, 시간제 시험 모드
53
+ - 한국어·영어 UI와 콘텐츠, 언어별 점수 및 속도 단위
54
+ - 유니코드 기반 타자 지표, 목표, 기록, 추이, 약한 키 연습
55
+ - 오프라인 기본 콘텐츠와 로컬 콘텐츠 팩·테마
56
+ - 계정, 텔레메트리, 광고, 클라우드 저장소 없음
57
+
58
+ ## 유용한 명령
59
+
60
+ | 명령 | 기능 |
61
+ | --- | --- |
62
+ | `typerlude stats` | 통계 화면 열기 |
63
+ | `typerlude history` | 세션 기록 열기 |
64
+ | `typerlude themes` | 테마 선택하기 |
65
+ | `typerlude paths` | 로컬 데이터 경로 모두 출력하기 |
66
+ | `typerlude licenses` | 오프라인 라이선스 고지 출력하기 |
67
+ | `typerlude update` | 새 버전 확인하기 |
68
+ | `typerlude --help` | CLI 도움말 보기 |
69
+
70
+ ## 개인정보와 로컬 데이터
71
+
72
+ 사용자가 넣은 텍스트는 메모리에만 남고 세션 기록에 복사되지 않습니다. 저장되는 세션에는
73
+ 집계 지표와 의도한 키별 횟수만 있으며, 실제 입력 내용은 없습니다. 설정, 세션, 콘텐츠, 테마,
74
+ 업데이트 캐시는 운영체제의 표준 사용자 디렉터리를 사용합니다. 정확한 위치는
75
+ `typerlude paths`로 확인하세요.
76
+
77
+ ## 기여하기
78
+
79
+ 버그 제보, 기능 제안, 범위가 명확한 Pull Request를 환영합니다.
80
+ [기여 안내](https://github.com/baba9811/typerlude/blob/main/CONTRIBUTING.md)와
81
+ [행동 강령](https://github.com/baba9811/typerlude/blob/main/CODE_OF_CONDUCT.md)을 먼저 확인하세요.
52
82
 
53
- ## 알아보기
83
+ ## 프로젝트 링크
54
84
 
55
- - [Content-pack guide](docs/content-packs.md) / [콘텐츠 팩 안내](docs/content-packs.ko.md)
56
- - [배포 안내](docs/releasing.md)
57
- - [보안 정책](SECURITY.md)
58
- - [라이선스와 제3자 고지](LICENSE) / [자료 권리](THIRD_PARTY_NOTICES.md)
85
+ - [Content-pack guide](https://github.com/baba9811/typerlude/blob/main/docs/content-packs.md) · [콘텐츠 팩 안내](https://github.com/baba9811/typerlude/blob/main/docs/content-packs.ko.md)
86
+ - [보안 정책](https://github.com/baba9811/typerlude/blob/main/SECURITY.md)
87
+ - [릴리스](https://github.com/baba9811/typerlude/releases) · [배포 안내](https://github.com/baba9811/typerlude/blob/main/docs/releasing.md)
88
+ - [라이선스](LICENSE) · [제3자 및 콘텐츠 고지](THIRD_PARTY_NOTICES.md)
59
89
 
60
90
  ## 개발
61
91
 
@@ -66,5 +96,6 @@ cargo run --
66
96
  make test
67
97
  ```
68
98
 
69
- Typerlude Rust 1.88.0을 고정합니다. 전체 검증에는 Node.js와 CI에 문서화한 정책 도구도
70
- 사용합니다.
99
+ Typerlude 원본 소스 코드는 MIT 라이선스이고, 프로젝트가 만든 연습 데이터는 CC0입니다.
100
+ 번들된 제3자 콘텐츠와 의존성에는 각자의 조건이 유지됩니다. 자세한 내용은
101
+ [LICENSE](LICENSE)를 확인하세요.
package/README.md CHANGED
@@ -1,63 +1,93 @@
1
- # Typerlude
1
+ <h1 align="center">Typerlude</h1>
2
2
 
3
- A typing interlude for your terminal.
3
+ <p align="center"><strong>A typing interlude for your terminal.</strong></p>
4
4
 
5
- [English](README.md) | [한국어](README.ko.md)
5
+ <p align="center">
6
+ <a href="https://github.com/baba9811/typerlude/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/baba9811/typerlude/ci.yml?branch=main&amp;style=flat-square&amp;label=CI"></a>
7
+ <a href="https://www.npmjs.com/package/typerlude"><img alt="npm" src="https://img.shields.io/npm/v/typerlude?logo=npm&amp;style=flat-square"></a>
8
+ <a href="https://crates.io/crates/typerlude"><img alt="crates.io" src="https://img.shields.io/crates/v/typerlude?logo=rust&amp;style=flat-square"></a>
9
+ <a href="https://github.com/baba9811/typerlude/releases"><img alt="GitHub release" src="https://img.shields.io/github/v/release/baba9811/typerlude?sort=semver&amp;style=flat-square"></a>
10
+ <a href="LICENSE"><img alt="Code license: MIT" src="https://img.shields.io/badge/code%20license-MIT-blue?style=flat-square"></a>
11
+ </p>
6
12
 
7
- Typerlude is an offline-first Korean and English typing tutor for the terminal. Practice keys,
8
- words, sentences, long text, and timed tests without an account, telemetry, or cloud storage.
13
+ <p align="center"><strong>English</strong> · <a href="README.ko.md">한국어</a></p>
14
+
15
+ Practice Korean and English typing—or take a quick interlude when vibe coding gets quiet.
16
+ Typerlude runs in your terminal, works offline, and keeps your practice data local.
9
17
 
10
18
  ## Install
11
19
 
12
- Registry availability is not yet verified. Once the packages are published:
20
+ | npm · Node.js 18+ | Cargo · Rust 1.88+ |
21
+ | --- | --- |
22
+ | `npm install -g typerlude` | `cargo install typerlude` |
13
23
 
14
- ```bash
15
- npm install -g typerlude
16
- typerlude
17
- ```
24
+ Then launch it:
18
25
 
19
26
  ```bash
20
- cargo install typerlude
21
27
  typerlude
22
28
  ```
23
29
 
24
- Until then, run the current source:
25
-
26
- ```bash
27
- git clone https://github.com/baba9811/typerlude.git
28
- cd typerlude
29
- cargo run --release --
30
- ```
30
+ Use a UTF-8 interactive terminal. The recommended minimum size is 80×24.
31
31
 
32
- Use a UTF-8 interactive terminal; 80×24 is the recommended minimum size.
32
+ ## Quick start
33
33
 
34
- ## Use
34
+ Pick a mode, adjust its options, and press `Enter`. Use `Tab`, arrow keys, `j`, or `k` to move;
35
+ `Esc`, `q`, or `ㅂ` go back, and the same keys quit from Home. During active practice, `Esc`
36
+ pauses or opens leave confirmation while `q` and `ㅂ` remain typing input. In Word practice,
37
+ `Space` or `Enter` submits the current word.
35
38
 
36
- Choose a mode on the home screen, adjust its options, then press `Enter`. `Tab`, arrow keys,
37
- `j`, and `k` move focus; `Esc` goes back or pauses supported practice; `q` quits. Paste is
38
- ignored during scored practice.
39
+ Practice your own text from a file or standard input:
39
40
 
40
41
  ```bash
41
- typerlude --help
42
42
  typerlude notes.txt
43
- typerlude stats
44
- typerlude history
45
- typerlude paths
46
- typerlude themes
47
- typerlude licenses
43
+ cat notes.txt | typerlude
48
44
  ```
49
45
 
50
- User text stays in memory and is not copied into session history. Local session records contain
51
- only aggregate practice metrics and intended-key counts.
46
+ Consecutive blank lines in file and stdin text are collapsed before practice.
47
+
48
+ Paste is ignored during scored practice.
49
+
50
+ ## What you get
51
+
52
+ - Quick, Keys, Words, Sentences, Long Text, and timed Test modes
53
+ - Korean and English UI, content, scoring, and speed units
54
+ - Unicode-aware typing metrics, goals, history, progress, and weak-key practice
55
+ - Built-in offline content plus local content packs and themes
56
+ - No account, telemetry, ads, or cloud storage
57
+
58
+ ## Useful commands
59
+
60
+ | Command | Purpose |
61
+ | --- | --- |
62
+ | `typerlude stats` | Open statistics |
63
+ | `typerlude history` | Open session history |
64
+ | `typerlude themes` | Choose a theme |
65
+ | `typerlude paths` | Print every local data path |
66
+ | `typerlude licenses` | Print offline license notices |
67
+ | `typerlude update` | Check for a newer release |
68
+ | `typerlude --help` | Show CLI help |
69
+
70
+ ## Privacy and local data
71
+
72
+ Your custom text stays in memory and is never copied into session history. Saved sessions contain
73
+ aggregate metrics and intended-key counts—not what you typed. Configuration, sessions, content,
74
+ themes, and the update cache use your operating system's standard user directories; run
75
+ `typerlude paths` to see the exact locations.
76
+
77
+ ## Contributing
78
+
79
+ Bug reports, feature ideas, and focused pull requests are welcome. Start with
80
+ [CONTRIBUTING.md](https://github.com/baba9811/typerlude/blob/main/CONTRIBUTING.md) and follow the
81
+ [Code of Conduct](https://github.com/baba9811/typerlude/blob/main/CODE_OF_CONDUCT.md).
52
82
 
53
- ## More
83
+ ## Project links
54
84
 
55
- - [Content-pack guide](docs/content-packs.md) / [콘텐츠 팩 안내](docs/content-packs.ko.md)
56
- - [Release guide](docs/releasing.md)
57
- - [Security policy](SECURITY.md)
58
- - [License and third-party notices](LICENSE) / [data rights](THIRD_PARTY_NOTICES.md)
85
+ - [Content-pack guide](https://github.com/baba9811/typerlude/blob/main/docs/content-packs.md) · [콘텐츠 팩 안내](https://github.com/baba9811/typerlude/blob/main/docs/content-packs.ko.md)
86
+ - [Security policy](https://github.com/baba9811/typerlude/blob/main/SECURITY.md)
87
+ - [Releases](https://github.com/baba9811/typerlude/releases) · [Release guide](https://github.com/baba9811/typerlude/blob/main/docs/releasing.md)
88
+ - [License](LICENSE) · [Third-party and content notices](THIRD_PARTY_NOTICES.md)
59
89
 
60
- ## Develop
90
+ ## Development
61
91
 
62
92
  ```bash
63
93
  git clone https://github.com/baba9811/typerlude.git
@@ -66,5 +96,5 @@ cargo run --
66
96
  make test
67
97
  ```
68
98
 
69
- Typerlude pins Rust 1.88.0. The complete gate also uses Node.js and the policy tools documented by
70
- CI.
99
+ Original Typerlude source code is MIT-licensed. Project-authored practice data is CC0; bundled
100
+ third-party content and dependencies retain their own terms. See [LICENSE](LICENSE) for details.
@@ -1,9 +1,10 @@
1
1
  # Third-Party Notices and Data Rights
2
2
 
3
3
  Typerlude is a composite project. The Rust and JavaScript software is licensed
4
- under the MIT License in `LICENSE`. Practice data written by Typerlude contributors
5
- is released under CC0 1.0 Universal. Third-party material keeps the license or
6
- public-domain status stated below; MIT does not replace those terms.
4
+ under the MIT License in `LICENSE`. Practice word selections written by
5
+ Typerlude contributors are released under CC0 1.0 Universal. Third-party
6
+ material keeps the license or public-domain status stated below; MIT does not
7
+ replace those terms.
7
8
 
8
9
  Compiled Rust dependencies keep their upstream terms. Their crate names,
9
10
  versions, repositories, SPDX expressions, and complete license texts are
@@ -16,24 +17,32 @@ The Typerlude MIT license does not replace or restrict the MPL-2.0 terms.
16
17
  The complete offline legal texts are bundled under `assets/licenses/` in the
17
18
  source tree, Cargo package, and root npm package, and under `licenses/` in
18
19
  native npm packages and native archives. These layouts contain the same
19
- snapshot bytes for `CC0-1.0.txt`, `CC-BY-2.0-FR.txt`, and `NORD-MIT.txt`.
20
+ snapshot bytes for `CC0-1.0.txt`, `CC-BY-2.0-FR.txt`, `CC-BY-4.0.txt`,
21
+ `CC-BY-SA-4.0.txt`, and `NORD-MIT.txt`.
20
22
  The canonical online texts are:
21
23
 
22
24
  - CC0 1.0 Universal: https://creativecommons.org/publicdomain/zero/1.0/legalcode.txt
23
25
  - Creative Commons Attribution 2.0 France (`CC-BY-2.0-FR`):
24
26
  https://creativecommons.org/licenses/by/2.0/fr/legalcode.fr
27
+ - Creative Commons Attribution 4.0 International (`CC-BY-4.0`):
28
+ https://creativecommons.org/licenses/by/4.0/legalcode.txt
29
+ - Creative Commons Attribution-ShareAlike 4.0 International (`CC-BY-SA-4.0`):
30
+ https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt
25
31
  - Nord MIT license: https://github.com/nordtheme/nord/blob/1cef71605416a222e57225b544540ce0fcec18d4/license
26
32
 
27
- License sources were retrieved `2026-08-07`:
33
+ The first two Creative Commons sources were retrieved `2026-08-07`; the 4.0
34
+ sources were retrieved `2026-08-12`:
28
35
 
29
36
  | Shipped file | Official source | Source bytes / SHA-256 | Shipped bytes / SHA-256 |
30
37
  | --- | --- | --- | --- |
31
38
  | `assets/licenses/CC0-1.0.txt` | https://creativecommons.org/publicdomain/zero/1.0/legalcode.txt | 7048 / `a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499` | 7048 / `a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499` |
32
39
  | `assets/licenses/CC-BY-2.0-FR.txt` | https://creativecommons.org/licenses/by/2.0/fr/legalcode.fr | 39707 / `af0d7ada8b9be52a6874238f4533512d0b2568595bf7cb3427e41f7c38847b71` | 15978 / `94690c30fa9b7650a55ea91f9158e3dab81a5e3a79ec1e07d9b0be8a5212b81a` |
40
+ | `assets/licenses/CC-BY-4.0.txt` | https://creativecommons.org/licenses/by/4.0/legalcode.txt | 18657 / `9ba9550ad48438d0836ddab3da480b3b69ffa0aac7b7878b5a0039e7ab429411` | 18657 / `9ba9550ad48438d0836ddab3da480b3b69ffa0aac7b7878b5a0039e7ab429411` |
41
+ | `assets/licenses/CC-BY-SA-4.0.txt` | https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt | 20138 / `28a9529c7d0bb4dc51f4bf5c116a3d16ef247a052f7591466768ddf563fd1cf5` | 20138 / `28a9529c7d0bb4dc51f4bf5c116a3d16ef247a052f7591466768ddf563fd1cf5` |
33
42
 
34
- The CC0 file is the official plain-text response byte-for-byte. The French
35
- license file is a faithful, complete plain-text rendering of only the official
36
- HTML `plain-text-marker` legal-code container. The official HTML endpoint was
43
+ The CC0 and both 4.0 files are official plain-text responses byte-for-byte.
44
+ The French license file is a faithful, complete plain-text rendering of only
45
+ the official HTML `plain-text-marker` legal-code container. The official HTML endpoint was
37
46
  byte-identical to the Creative Commons `cc-legal-tools-data` source at commit
38
47
  `56f8f157d9d395f48683cae3695973665f0c9162`:
39
48
  https://github.com/creativecommons/cc-legal-tools-data/blob/56f8f157d9d395f48683cae3695973665f0c9162/docs/licenses/by/2.0/fr/legalcode.fr.html.
@@ -121,18 +130,128 @@ individual usernames, so the truthful collective attribution label is
121
130
  8033223, 8037983, 8354398, 8354700, 8354702, 9161891, 8356841,
122
131
  9193323, 9227170, 8356993, 8357331
123
132
 
124
- ## Public-domain Constitution excerpts
125
-
126
- Both excerpts use the internal license identifier
127
- `LicenseRef-Public-Domain`; no Creative Commons license is asserted over the
128
- underlying constitutional text.
133
+ ## Korean public-domain literature and Aegukga
134
+
135
+ The Korean long-text pack contains no project-authored or AI-authored prose.
136
+ The 18 literary works below were selected from the Korea Copyright Commission
137
+ Gongu Madang catalog as copyright-expired works. Gongu Madang explains that a
138
+ work whose copyright term has expired may be used without the copyright
139
+ holder's permission:
140
+ https://gongu.copyright.or.kr/gongu/main/contents.do?menuNo=200091.
141
+
142
+ ### Complete Korean stories
143
+
144
+ The 15 complete stories use Korean Wikisource transcriptions because the
145
+ Gongu Madang TXT/HWP line breaks split words in ways unsuitable for typing.
146
+ The original works remain public domain; the community transcription and this
147
+ modified typing edition are distributed under `CC-BY-SA-4.0`:
148
+ https://creativecommons.org/licenses/by-sa/4.0/. Attribution is supplied by
149
+ the original author, the collective label `한국어 위키문헌 기여자`, and a
150
+ permanent revision URL whose page history identifies contributors, as allowed
151
+ by the Wikimedia Terms of Use:
152
+ https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use.
153
+
154
+ | Item and original author | Permanent transcription source | Gongu Madang expiration record |
155
+ | --- | --- | --- |
156
+ | `ko-text-classic-buckwheat-season`, 메밀꽃 필 무렵 — 이효석 | `kowikisource:2584:426852`; https://ko.wikisource.org/w/index.php?title=%EB%A9%94%EB%B0%80%EA%BD%83%20%ED%95%84%20%EB%AC%B4%EB%A0%B5&oldid=426852 | G905-9001211; https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9001211 |
157
+ | `ko-text-classic-camellias`, 동백꽃 — 김유정 | `kowikisource:1923:247658`; https://ko.wikisource.org/w/index.php?title=%EB%8F%99%EB%B0%B1%EA%BD%83&oldid=247658 | G905-9000397; https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9000397 |
158
+ | `ko-text-classic-spring-spring`, 봄봄 — 김유정 | `kowikisource:2036:245881`; https://ko.wikisource.org/w/index.php?title=%EB%B4%84%EB%B4%84&oldid=245881 | G905-9000404; https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9000404 |
159
+ | `ko-text-classic-lucky-day`, 운수 좋은 날 — 현진건 | `kowikisource:2370:457472`; https://ko.wikisource.org/w/index.php?title=%EC%9A%B4%EC%88%98%20%EC%A2%8B%EC%9D%80%20%EB%82%A0&oldid=457472 | G905-9002094; https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9002094 |
160
+ | `ko-text-classic-b-superintendent-love-letter`, B사감과 러브레터 — 현진건 | `kowikisource:2369:425616`; https://ko.wikisource.org/w/index.php?title=B%EC%82%AC%EA%B0%90%EA%B3%BC%20%EB%9F%AC%EB%B8%8C%EB%A0%88%ED%84%B0&oldid=425616 | G905-9002100; https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9002100 |
161
+ | `ko-text-classic-poor-wife`, 빈처 — 현진건 | `kowikisource:4486:250704`; https://ko.wikisource.org/w/index.php?title=%EB%B9%88%EC%B2%98&oldid=250704 | G905-9002092; https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9002092 |
162
+ | `ko-text-classic-wings`, 날개 — 이상 | `kowikisource:1370:221326`; https://ko.wikisource.org/w/index.php?title=%EB%82%A0%EA%B0%9C&oldid=221326 | G905-9000973; https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9000973 |
163
+ | `ko-text-classic-potatoes`, 감자 — 김동인 | `kowikisource:1884:250692`; https://ko.wikisource.org/w/index.php?title=%EA%B0%90%EC%9E%90&oldid=250692 | G905-9000075; https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9000075 |
164
+ | `ko-text-classic-baettaragi`, 배따라기 — 김동인 | `kowikisource:1885:250693`; https://ko.wikisource.org/w/index.php?title=%EB%B0%B0%EB%94%B0%EB%9D%BC%EA%B8%B0&oldid=250693 | G905-9000094; https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9000094 |
165
+ | `ko-text-classic-readymade-life`, 레디메이드 인생 — 채만식 | `kowikisource:17184:223316`; https://ko.wikisource.org/w/index.php?title=%EB%A0%88%EB%94%94%EB%A9%94%EC%9D%B4%EB%93%9C%20%EC%9D%B8%EC%83%9D&oldid=223316 | G905-9001386; https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9001386 |
166
+ | `ko-text-classic-gold-bean-field`, 금 따는 콩밭 — 김유정 | `kowikisource:1920:354124`; https://ko.wikisource.org/w/index.php?title=%EA%B8%88%20%EB%94%B0%EB%8A%94%20%EC%BD%A9%EB%B0%AD&oldid=354124 | G905-9000424; https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9000424 |
167
+ | `ko-text-classic-society-offers-drink`, 술 권하는 사회 — 현진건 | `kowikisource:4002:425047`; https://ko.wikisource.org/w/index.php?title=%EC%88%A0%20%EA%B6%8C%ED%95%98%EB%8A%94%20%EC%82%AC%ED%9A%8C&oldid=425047 | G905-9002096; https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9002096 |
168
+ | `ko-text-classic-mad-painter`, 광화사 — 김동인 | `kowikisource:1925:387811`; https://ko.wikisource.org/w/index.php?title=%EA%B4%91%ED%99%94%EC%82%AC&oldid=387811 | G905-9000079; https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9000079 |
169
+ | `ko-text-classic-manmubang`, 만무방 — 김유정 | `kowikisource:4475:157696`; https://ko.wikisource.org/w/index.php?title=%EB%A7%8C%EB%AC%B4%EB%B0%A9&oldid=157696 | G905-9000403; https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9000403 |
170
+ | `ko-text-classic-fiery-sonata`, 광염 소나타 — 김동인 | `kowikisource:17174:143125`; https://ko.wikisource.org/w/index.php?title=%EA%B4%91%EC%97%BC%20%EC%86%8C%EB%82%98%ED%83%80&oldid=143125 | G905-9000078; https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9000078 |
171
+
172
+ Typerlude removed page furniture and parenthetical Hanja, converted curved
173
+ quotes, middle dots, ellipses, and long dashes to ordinary keyboard characters,
174
+ and retained the complete story. Every item declares `modified = true` and was
175
+ retrieved `2026-08-12`. The modified transcription remains under
176
+ `CC-BY-SA-4.0`; the full offline license is
177
+ `assets/licenses/CC-BY-SA-4.0.txt`.
178
+
179
+ ### Korean poems
180
+
181
+ The following copyright-expired Gongu Madang texts were retrieved
182
+ `2026-08-12`. They use `LicenseRef-Public-Domain`; no Creative Commons license
183
+ is asserted over the underlying poems.
184
+
185
+ | Item | Author and source ID | Official source |
186
+ | --- | --- | --- |
187
+ | `ko-text-poem-counting-stars`, 별 헤는 밤 | 윤동주; `G905-13313879` | https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=13313879 |
188
+ | `ko-text-poem-silence-of-beloved`, 님의 침묵 | 한용운; `G905-9001830` | https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=9001830 |
189
+ | `ko-text-poem-when-that-day-comes`, 그날이 오면 | 심훈; `G905-13313827` | https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200019&wrtSn=13313827 |
190
+
191
+ For direct keyboard practice, Hanja was rendered in Hangul, typographic
192
+ punctuation was replaced with ordinary keyboard punctuation, and obvious
193
+ spacing or historical-spelling barriers were normalized. Each poem therefore
194
+ declares `modified = true`.
195
+
196
+ ### Aegukga, verses 1-4
197
+
198
+ `ko-text-aegukga-verses-1-4`, 애국가 1절부터 4절, contains only the four
199
+ lyric verses; no recording, arrangement, or performance is bundled. Source ID
200
+ `G905-13211046`, attributed as `작사자 미상; 기증 안익태`, was retrieved
201
+ `2026-08-12` from the Korea Copyright Commission:
202
+ https://gongu.copyright.or.kr/gongu/wrt/wrt/view.do?menuNo=200020&wrtSn=13211046.
203
+ The Commission identifies the item as donated and gives the free-use example
204
+ `애국가, 기증 안익태, 공유마당, CC BY 4.0`:
205
+ https://gongu.copyright.or.kr/gongu/main/contents.do?menuNo=200092.
206
+ This item is distributed under `CC-BY-4.0`,
207
+ https://creativecommons.org/licenses/by/4.0/, and declares `modified = true`
208
+ because verse numbers were omitted. The full offline license is
209
+ `assets/licenses/CC-BY-4.0.txt`.
210
+
211
+ ## English public-domain literature
212
+
213
+ The 17 English literary items are term-expired works by authors who died no
214
+ later than 1946. Their text was obtained from the Project Gutenberg editions
215
+ listed below. Project Gutenberg explains that after its license and trademark
216
+ references are stripped from an unrestricted ebook, the remaining text is
217
+ unrestricted under U.S. intellectual-property law:
218
+ https://www.gutenberg.org/policy/license.html.
219
+
220
+ | Item | Original author and source ID | Edition landing page |
221
+ | --- | --- | --- |
222
+ | `en-text-classic-alice-chapter-1`, Alice's Adventures in Wonderland - Chapter I | Lewis Carroll; `gutenberg:11:chapter-1` | https://www.gutenberg.org/ebooks/11 |
223
+ | `en-text-classic-pride-chapter-1`, Pride and Prejudice - Chapter I | Jane Austen; `gutenberg:1342:chapter-1` | https://www.gutenberg.org/ebooks/1342 |
224
+ | `en-text-classic-christmas-carol-stave-1`, A Christmas Carol - Stave I | Charles Dickens; `gutenberg:46:stave-1` | https://www.gutenberg.org/ebooks/46 |
225
+ | `en-text-classic-scandal-bohemia-part-1`, A Scandal in Bohemia - Part I | Arthur Conan Doyle; `gutenberg:1661:scandal-in-bohemia-part-1` | https://www.gutenberg.org/ebooks/1661 |
226
+ | `en-text-classic-time-machine-chapter-1`, The Time Machine - Chapter I | H. G. Wells; `gutenberg:35:chapter-1` | https://www.gutenberg.org/ebooks/35 |
227
+ | `en-text-classic-frankenstein-chapter-1`, Frankenstein - Chapter 1 | Mary Shelley; `gutenberg:84:chapter-1` | https://www.gutenberg.org/ebooks/84 |
228
+ | `en-text-classic-moby-dick-chapter-1`, Moby-Dick - Chapter 1 | Herman Melville; `gutenberg:2701:chapter-1` | https://www.gutenberg.org/ebooks/2701 |
229
+ | `en-text-classic-treasure-island-chapter-1`, Treasure Island - Chapter I | Robert Louis Stevenson; `gutenberg:120:chapter-1` | https://www.gutenberg.org/ebooks/120 |
230
+ | `en-text-classic-little-women-chapter-1`, Little Women - Chapter One | Louisa May Alcott; `gutenberg:514:chapter-1` | https://www.gutenberg.org/ebooks/514 |
231
+ | `en-text-classic-wizard-oz-chapter-1`, The Wonderful Wizard of Oz - Chapter I | L. Frank Baum; `gutenberg:55:chapter-1` | https://www.gutenberg.org/ebooks/55 |
232
+ | `en-text-classic-secret-garden-chapter-1`, The Secret Garden - Chapter I | Frances Hodgson Burnett; `gutenberg:17396:chapter-1` | https://www.gutenberg.org/ebooks/17396 |
233
+ | `en-text-classic-sleepy-hollow`, The Legend of Sleepy Hollow | Washington Irving; `gutenberg:41:complete` | https://www.gutenberg.org/ebooks/41 |
234
+ | `en-text-classic-gift-magi`, The Gift of the Magi | O. Henry; `gutenberg:7256:complete` | https://www.gutenberg.org/ebooks/7256 |
235
+ | `en-text-classic-last-leaf`, The Last Leaf | O. Henry; `gutenberg:3707:last-leaf` | https://www.gutenberg.org/ebooks/3707 |
236
+ | `en-text-classic-happy-prince`, The Happy Prince | Oscar Wilde; `gutenberg:902:happy-prince` | https://www.gutenberg.org/ebooks/902 |
237
+ | `en-text-classic-dracula-chapter-1`, Dracula - Chapter I | Bram Stoker; `gutenberg:345:chapter-1` | https://www.gutenberg.org/ebooks/345 |
238
+ | `en-text-classic-jane-eyre-chapter-1`, Jane Eyre - Chapter I | Charlotte Bronte; `gutenberg:1260:chapter-1` | https://www.gutenberg.org/ebooks/1260 |
239
+
240
+ Only a complete named chapter, stave, or story is bundled; no arbitrary
241
+ mid-work excerpt is used. Project Gutenberg headers, footers, license text,
242
+ illustration captions, and trademark references were removed. Curved quotes,
243
+ long dashes, ellipses, emphasis markers, and non-ASCII letters were converted
244
+ to directly typable ASCII and wrapped source lines were reflowed into
245
+ paragraphs. Every item declares `modified = true`, was retrieved `2026-08-12`,
246
+ and uses `LicenseRef-Public-Domain`.
247
+
248
+ ## Public-domain official documents
129
249
 
130
250
  ### 대한민국헌법 제1조부터 제5조
131
251
 
132
252
  `ko-text-constitution-articles-1-5` contains Korean Constitution Articles 1
133
- through 5, source ID
134
- `rok-constitution:articles-1-5`, retrieved `2026-08-07` from the official
135
- National Law Information Center text:
253
+ through 5, source ID `rok-constitution:articles-1-5`, retrieved `2026-08-07`
254
+ from the official National Law Information Center text:
136
255
  https://www.law.go.kr/법령/대한민국헌법.
137
256
 
138
257
  For direct keyboard practice, the official circled paragraph numerals `①` and
@@ -146,10 +265,33 @@ Center's official reuse policy expressly permits unrestricted reuse, including
146
265
  commercial reuse, of Article 7 material:
147
266
  https://www.law.go.kr/lawPetitionForm.do?menuId=13&subMenuId=79.
148
267
 
149
- ### U.S. Constitution, Article I, Section 2, Clauses 1–2
268
+ ### The Declaration of Independence
269
+
270
+ `en-text-declaration-independence`, The Declaration of Independence, contains
271
+ the complete official transcript attributed to the Second Continental
272
+ Congress. Source ID `nara:declaration-transcript`, retrieved `2026-08-12`:
273
+ https://www.archives.gov/founding-docs/declaration-transcript. The National
274
+ Archives download page marks the founding-document images public domain:
275
+ https://www.archives.gov/founding-docs/downloads. The item is unchanged and
276
+ uses `LicenseRef-Public-Domain`.
277
+
278
+ ### The Gettysburg Address
279
+
280
+ `en-text-gettysburg-address`, The Gettysburg Address, is attributed to Abraham
281
+ Lincoln and follows the standard Bliss-copy wording published by the National
282
+ Park Service. Source ID `nps:gettysburg-address:bliss-copy`, retrieved
283
+ `2026-08-12`:
284
+ https://www.nps.gov/linc/learn/historyculture/gettysburgaddress.htm. Tildes used
285
+ as separators on the web page were rendered as `--`, so the item declares
286
+ `modified = true`. Its 1863 publication is term-expired; the U.S. Copyright
287
+ Office explains copyright expiration and the public domain at
288
+ https://copyright.gov/what-is-copyright/. The item uses
289
+ `LicenseRef-Public-Domain`.
290
+
291
+ ### U.S. Constitution, Article I, Section 2, Clauses 1-2
150
292
 
151
293
  `en-text-constitution-article-1-section-2-clauses-1-2` contains exactly Article
152
- I, Section 2, Clauses 12, source ID
294
+ I, Section 2, Clauses 1-2, source ID
153
295
  `us-constitution:article-1-section-2-clauses-1-2`, attributed to the
154
296
  Constitutional Convention of 1787 and retrieved `2026-08-07` from the official
155
297
  Congress Constitution Annotated text:
@@ -168,23 +310,6 @@ This basis is term expiration, not 17 U.S.C. § 105. Section 105 concerns U.S.
168
310
  federal-government material such as the federal page or transcription; it is
169
311
  not a claim that the federal government authored the 1787 Constitution.
170
312
 
171
- ## Typerlude-authored practice data and traditional-story retellings
172
-
173
- All Typerlude-authored word selections, essays, fiction, aphorisms, and retellings
174
- are new Typerlude expression released by Typerlude contributors under CC0 1.0
175
- Universal. In particular, the four retellings use only the named traditional or
176
- public-domain plot bases below; no wording from a modern edition, translation,
177
- or adaptation was copied.
178
-
179
- - `ko-text-retelling-heungbu-nolbu`, “박씨 하나의 몫 — 흥부와 놀부 다시 쓰기”:
180
- the anonymous traditional Korean narrative 흥부와 놀부.
181
- - `ko-text-retelling-sun-moon-siblings`, “하늘에 남은 두 빛 — 해와 달이 된 오누이 다시 쓰기”:
182
- the anonymous traditional Korean narrative 해와 달이 된 오누이.
183
- - `en-text-retelling-tortoise-hare`, “Two Ways to the Finish — The Tortoise and
184
- the Hare Retold”: the ancient Aesopic fable The Tortoise and the Hare.
185
- - `en-text-retelling-stone-soup`, “The Empty Pot — Stone Soup Retold”: the
186
- traditional European folktale Stone Soup.
187
-
188
313
  ## Nord theme palette
189
314
 
190
315
  The bundled `nord` theme uses the official