for-humanity 0.5.0 → 0.7.0

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.
Files changed (145) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE +1 -1
  3. package/README.md +4 -3
  4. package/dist/browser.js +9 -9
  5. package/dist/cli.css +25 -310
  6. package/dist/cli.js +177 -321
  7. package/package.json +4 -3
  8. package/src/asset/font/{jetbrains-mono/LICENSE → monoplex-kr/LICENSE.md} +61 -8
  9. package/src/asset/font/monoplex-kr/MonoplexKR-Regular.woff2 +0 -0
  10. package/src/asset/font/monoplex-kr/MonoplexKR-SemiBold.woff2 +0 -0
  11. package/src/asset/font/monoplex-kr/monoplex-kr.css +20 -0
  12. package/src/component/widget/navigation/_constant/navigation-data-schema.ts +0 -3
  13. package/src/component/widget/navigation/_function/to-navigation-data/_to-navigation-document.ts +2 -3
  14. package/src/component/widget/navigation/_function/to-navigation-data/_to-navigation-group.ts +3 -4
  15. package/src/component/widget/navigation/_function/to-navigation-data/to-navigation-data.ts +6 -14
  16. package/src/component/widget/navigation/_type/navigation-data.ts +0 -12
  17. package/src/component/widget/navigation/_type/navigation-focus-snapshot.ts +0 -4
  18. package/src/component/widget/navigation/_wg-navigation-nav-list.css +5 -136
  19. package/src/component/widget/navigation/_wg-navigation-nav-list.tsx +10 -55
  20. package/src/component/widget/navigation/_wg-navigation-nav.css +2 -8
  21. package/src/component/widget/navigation/_wg-navigation-nav.tsx +1 -11
  22. package/src/component/widget/navigation/_wg-navigation-toc.css +12 -207
  23. package/src/component/widget/navigation/_wg-navigation-toc.tsx +39 -80
  24. package/src/component/widget/navigation/wg-navigation.tsx +10 -69
  25. package/src/component/widget/prose/wg-prose.css +0 -3
  26. package/src/component/widget/shell/wg-shell.css +1 -1
  27. package/src/constant/copy.ts +5 -5
  28. package/src/constant/font.ts +2 -12
  29. package/src/entry/browser/browser.tsx +1 -1
  30. package/src/entry/cli/_constant/crawling.ts +14 -0
  31. package/src/entry/cli/_function/create-dev-app.ts +9 -1
  32. package/src/entry/cli/_function/read-docs.ts +20 -1
  33. package/src/entry/cli/_function/to-crawling-app.ts +42 -0
  34. package/src/entry/cli/cli.test.ts +112 -9
  35. package/src/entry/cli/cli.ts +27 -22
  36. package/src/store/navigation/create-navigation-stores.test.ts +10 -28
  37. package/src/store/navigation/create-navigation-stores.ts +4 -18
  38. package/src/store/navigation/navigation-state.ts +0 -10
  39. package/src/store/navigation/navigation-storage.ts +0 -5
  40. package/src/style/token.css +11 -14
  41. package/src/type/site-config.ts +10 -1
  42. package/src/util/font/to-font-css.test.ts +2 -2
  43. package/src/util/mermaid/render-flow.js +2 -2
  44. package/src/asset/font/jetbrains-mono/jetbrains-mono-latin-wght-normal.woff2 +0 -0
  45. package/src/asset/font/jetbrains-mono/jetbrains-mono.css +0 -11
  46. package/src/asset/font/pretendard/LICENSE.txt +0 -94
  47. package/src/asset/font/pretendard/pretendardvariable-dynamic-subset.css +0 -1008
  48. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.0.woff2 +0 -0
  49. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.1.woff2 +0 -0
  50. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.10.woff2 +0 -0
  51. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.11.woff2 +0 -0
  52. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.12.woff2 +0 -0
  53. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.13.woff2 +0 -0
  54. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.14.woff2 +0 -0
  55. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.15.woff2 +0 -0
  56. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.16.woff2 +0 -0
  57. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.17.woff2 +0 -0
  58. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.18.woff2 +0 -0
  59. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.19.woff2 +0 -0
  60. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.2.woff2 +0 -0
  61. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.20.woff2 +0 -0
  62. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.21.woff2 +0 -0
  63. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.22.woff2 +0 -0
  64. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.23.woff2 +0 -0
  65. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.24.woff2 +0 -0
  66. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.25.woff2 +0 -0
  67. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.26.woff2 +0 -0
  68. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.27.woff2 +0 -0
  69. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.28.woff2 +0 -0
  70. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.29.woff2 +0 -0
  71. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.3.woff2 +0 -0
  72. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.30.woff2 +0 -0
  73. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.31.woff2 +0 -0
  74. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.32.woff2 +0 -0
  75. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.33.woff2 +0 -0
  76. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.34.woff2 +0 -0
  77. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.35.woff2 +0 -0
  78. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.36.woff2 +0 -0
  79. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.37.woff2 +0 -0
  80. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.38.woff2 +0 -0
  81. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.39.woff2 +0 -0
  82. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.4.woff2 +0 -0
  83. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.40.woff2 +0 -0
  84. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.41.woff2 +0 -0
  85. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.42.woff2 +0 -0
  86. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.43.woff2 +0 -0
  87. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.44.woff2 +0 -0
  88. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.45.woff2 +0 -0
  89. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.46.woff2 +0 -0
  90. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.47.woff2 +0 -0
  91. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.48.woff2 +0 -0
  92. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.49.woff2 +0 -0
  93. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.5.woff2 +0 -0
  94. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.50.woff2 +0 -0
  95. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.51.woff2 +0 -0
  96. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.52.woff2 +0 -0
  97. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.53.woff2 +0 -0
  98. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.54.woff2 +0 -0
  99. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.55.woff2 +0 -0
  100. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.56.woff2 +0 -0
  101. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.57.woff2 +0 -0
  102. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.58.woff2 +0 -0
  103. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.59.woff2 +0 -0
  104. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.6.woff2 +0 -0
  105. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.60.woff2 +0 -0
  106. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.61.woff2 +0 -0
  107. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.62.woff2 +0 -0
  108. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.63.woff2 +0 -0
  109. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.64.woff2 +0 -0
  110. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.65.woff2 +0 -0
  111. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.66.woff2 +0 -0
  112. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.67.woff2 +0 -0
  113. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.68.woff2 +0 -0
  114. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.69.woff2 +0 -0
  115. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.7.woff2 +0 -0
  116. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.70.woff2 +0 -0
  117. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.71.woff2 +0 -0
  118. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.72.woff2 +0 -0
  119. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.73.woff2 +0 -0
  120. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.74.woff2 +0 -0
  121. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.75.woff2 +0 -0
  122. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.76.woff2 +0 -0
  123. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.77.woff2 +0 -0
  124. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.78.woff2 +0 -0
  125. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.79.woff2 +0 -0
  126. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.8.woff2 +0 -0
  127. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.80.woff2 +0 -0
  128. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.81.woff2 +0 -0
  129. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.82.woff2 +0 -0
  130. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.83.woff2 +0 -0
  131. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.84.woff2 +0 -0
  132. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.85.woff2 +0 -0
  133. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.86.woff2 +0 -0
  134. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.87.woff2 +0 -0
  135. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.88.woff2 +0 -0
  136. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.89.woff2 +0 -0
  137. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.9.woff2 +0 -0
  138. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.90.woff2 +0 -0
  139. package/src/asset/font/pretendard/woff2-dynamic-subset/PretendardVariable.subset.91.woff2 +0 -0
  140. package/src/component/widget/navigation/_function/to-navigation-branch-id.ts +0 -6
  141. package/src/component/widget/navigation/_wg-navigation-branch-toggle.css +0 -28
  142. package/src/component/widget/navigation/_wg-navigation-branch-toggle.tsx +0 -48
  143. package/src/store/navigation/_constant/tree.ts +0 -6
  144. package/src/store/navigation/to-navigation-tree-state.ts +0 -19
  145. package/src/store/navigation/use-navigation-tree-store.ts +0 -12
@@ -1,6 +0,0 @@
1
- /**
2
- * 전체 경로 기반 가지 키를 HTML id로 변환 · 제목이 같은 묶음·문서도 독립 제어
3
- */
4
- export const toNavigationBranchId = (key: string) => {
5
- return `fh-branch-${encodeURIComponent(key)}`;
6
- };
@@ -1,28 +0,0 @@
1
- /* 각 가지 항목이 위치 기준 · 텍스트 이동과 독립된 접기 동작 */
2
- .wg_navigationBranchToggle__root {
3
- position: absolute;
4
- top: 0;
5
- right: 0;
6
- width: var(--app-size-tree-toggle);
7
- height: calc(var(--app-font-size-dense) * var(--app-line-height-tight) + var(--app-space-tree-row) * 2);
8
- padding: 0;
9
- border: 0;
10
- background: transparent;
11
- color: var(--app-color-border-soft);
12
- font-family: var(--app-font-mono);
13
- font-size: var(--app-font-size-body);
14
- line-height: 1;
15
- cursor: pointer;
16
-
17
- &:hover {
18
- background: var(--app-color-accent-soft);
19
- color: var(--app-color-text-strong);
20
- }
21
-
22
- &:focus-visible {
23
- background: var(--app-color-accent-soft);
24
- color: var(--app-color-text-strong);
25
- outline: var(--app-outline-focus);
26
- outline-offset: calc(0px - var(--app-outline-focus-offset));
27
- }
28
- }
@@ -1,48 +0,0 @@
1
- import clsx from "clsx";
2
- import {toNavigationBranchId} from "@/component/widget/navigation/_function/to-navigation-branch-id";
3
- import "./_wg-navigation-branch-toggle.css";
4
-
5
- /**
6
- * 문서·목차에서 공유하는 가지 조작 · 링크 이동과 분리된 네이티브 버튼
7
- */
8
- export interface WgNavigationBranchToggleProps {
9
- /**
10
- * 문서 ID·묶음 경로·페이지별 헤딩으로 구분한 상태 키
11
- */
12
- branchKey: string;
13
- /**
14
- * 펼치거나 접을 가지의 접근 가능한 이름
15
- */
16
- label: string;
17
- /**
18
- * 같은 저장 키의 접힘 상태
19
- */
20
- collapsed: Record<string, boolean>;
21
- /**
22
- * 브라우저에서만 제공하는 가지 변경 동작
23
- */
24
- onToggle?: (key: string) => void;
25
- }
26
-
27
- export const WgNavigationBranchToggle = (props: WgNavigationBranchToggleProps) => {
28
- /**
29
- * 링크 이동과 별도로 현재 가지 선택 변경
30
- */
31
- const handleToggleClick = () => props.onToggle?.(props.branchKey);
32
-
33
- return (
34
- <button
35
- className={clsx("wg_navigationBranchToggle__root")}
36
- type="button"
37
- aria-label={`${props.collapsed[props.branchKey] === true ? "Expand" : "Collapse"} ${props.label}`}
38
- aria-expanded={String(props.collapsed[props.branchKey] !== true)}
39
- aria-controls={toNavigationBranchId(props.branchKey)}
40
- data-navigation-toggle={props.branchKey}
41
- data-navigation-label={props.label}
42
- hidden={props.onToggle === undefined}
43
- onClick={handleToggleClick}
44
- >
45
- {props.collapsed[props.branchKey] === true ? "+" : "−"}
46
- </button>
47
- );
48
- };
@@ -1,6 +0,0 @@
1
- import type {NavigationTreeState} from "@/store/navigation/navigation-state";
2
-
3
- /**
4
- * 서버에서 사용자 저장소 없이 모든 가지를 펼치는 고정 스냅샷
5
- */
6
- export const tree_server_state: NavigationTreeState = {collapsed: {}};
@@ -1,19 +0,0 @@
1
- import type {NavigationTreeState} from "@/store/navigation/navigation-state";
2
-
3
- /**
4
- * persist 저장 자료에서 boolean 접힘 선택만 수용
5
- */
6
- export const toNavigationTreeState = (value: unknown): NavigationTreeState => {
7
- if (
8
- typeof value !== "object" ||
9
- value === null ||
10
- !("collapsed" in value) ||
11
- typeof value.collapsed !== "object" ||
12
- value.collapsed === null ||
13
- Array.isArray(value.collapsed)
14
- ) {
15
- return {collapsed: {}};
16
- }
17
-
18
- return {collapsed: Object.fromEntries(Object.entries(value.collapsed).filter((entry) => typeof entry[1] === "boolean"))};
19
- };
@@ -1,12 +0,0 @@
1
- import {useSyncExternalStore} from "hono/jsx";
2
- import {tree_server_state} from "@/store/navigation/_constant/tree";
3
- import type {createNavigationStores} from "@/store/navigation/create-navigation-stores";
4
-
5
- /**
6
- * Hono 컴포넌트의 persist 구독 · 브라우저 최초 렌더도 저장된 값을 즉시 소비
7
- */
8
- export const useNavigationTreeStore = (tree?: ReturnType<typeof createNavigationStores>["tree"]) => {
9
- const subscribe = tree === undefined ? () => () => {} : tree.subscribe;
10
- const getSnapshot = tree === undefined ? () => tree_server_state : tree.getState;
11
- return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
12
- };