czon 0.1.0 → 0.1.1

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 (263) hide show
  1. package/.github/workflows/bump-version.yml +112 -0
  2. package/.github/workflows/ci.yml +64 -0
  3. package/.github/workflows/pages.yml +61 -0
  4. package/.github/workflows/publish.yml +81 -0
  5. package/.husky/pre-commit +1 -0
  6. package/.prettierignore +14 -0
  7. package/.prettierrc.json +11 -0
  8. package/.zen/meta.json +106 -0
  9. package/.zen/src/ar-SA/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  10. package/.zen/src/ar-SA/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +79 -0
  11. package/.zen/src/ar-SA/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  12. package/.zen/src/ar-SA/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  13. package/.zen/src/ar-SA/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  14. package/.zen/src/ar-SA/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  15. package/.zen/src/da-DK/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  16. package/.zen/src/da-DK/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +78 -0
  17. package/.zen/src/da-DK/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  18. package/.zen/src/da-DK/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  19. package/.zen/src/da-DK/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  20. package/.zen/src/da-DK/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  21. package/.zen/src/de-DE/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  22. package/.zen/src/de-DE/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +78 -0
  23. package/.zen/src/de-DE/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  24. package/.zen/src/de-DE/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  25. package/.zen/src/de-DE/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  26. package/.zen/src/de-DE/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  27. package/.zen/src/en-US/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  28. package/.zen/src/en-US/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +79 -0
  29. package/.zen/src/en-US/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  30. package/.zen/src/en-US/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  31. package/.zen/src/en-US/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  32. package/.zen/src/en-US/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  33. package/.zen/src/es-ES/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  34. package/.zen/src/es-ES/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +78 -0
  35. package/.zen/src/es-ES/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  36. package/.zen/src/es-ES/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  37. package/.zen/src/es-ES/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  38. package/.zen/src/es-ES/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  39. package/.zen/src/es-MX/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  40. package/.zen/src/es-MX/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +78 -0
  41. package/.zen/src/es-MX/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  42. package/.zen/src/es-MX/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  43. package/.zen/src/es-MX/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  44. package/.zen/src/es-MX/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  45. package/.zen/src/fi-FI/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  46. package/.zen/src/fi-FI/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +79 -0
  47. package/.zen/src/fi-FI/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  48. package/.zen/src/fi-FI/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  49. package/.zen/src/fi-FI/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  50. package/.zen/src/fi-FI/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  51. package/.zen/src/fr-FR/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  52. package/.zen/src/fr-FR/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +78 -0
  53. package/.zen/src/fr-FR/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  54. package/.zen/src/fr-FR/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  55. package/.zen/src/fr-FR/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  56. package/.zen/src/fr-FR/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  57. package/.zen/src/hi-IN/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  58. package/.zen/src/hi-IN/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +79 -0
  59. package/.zen/src/hi-IN/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  60. package/.zen/src/hi-IN/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  61. package/.zen/src/hi-IN/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  62. package/.zen/src/hi-IN/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  63. package/.zen/src/id-ID/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  64. package/.zen/src/id-ID/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +79 -0
  65. package/.zen/src/id-ID/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  66. package/.zen/src/id-ID/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  67. package/.zen/src/id-ID/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  68. package/.zen/src/id-ID/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  69. package/.zen/src/it-IT/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  70. package/.zen/src/it-IT/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +78 -0
  71. package/.zen/src/it-IT/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  72. package/.zen/src/it-IT/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  73. package/.zen/src/it-IT/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  74. package/.zen/src/it-IT/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  75. package/.zen/src/ja-JP/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  76. package/.zen/src/ja-JP/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +79 -0
  77. package/.zen/src/ja-JP/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  78. package/.zen/src/ja-JP/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  79. package/.zen/src/ja-JP/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  80. package/.zen/src/ja-JP/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  81. package/.zen/src/ko-KR/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  82. package/.zen/src/ko-KR/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +79 -0
  83. package/.zen/src/ko-KR/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  84. package/.zen/src/ko-KR/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  85. package/.zen/src/ko-KR/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  86. package/.zen/src/ko-KR/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  87. package/.zen/src/nl-NL/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  88. package/.zen/src/nl-NL/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +79 -0
  89. package/.zen/src/nl-NL/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  90. package/.zen/src/nl-NL/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  91. package/.zen/src/nl-NL/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  92. package/.zen/src/nl-NL/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  93. package/.zen/src/no-NO/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  94. package/.zen/src/no-NO/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +78 -0
  95. package/.zen/src/no-NO/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  96. package/.zen/src/no-NO/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  97. package/.zen/src/no-NO/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  98. package/.zen/src/no-NO/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  99. package/.zen/src/pl-PL/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  100. package/.zen/src/pl-PL/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +79 -0
  101. package/.zen/src/pl-PL/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  102. package/.zen/src/pl-PL/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  103. package/.zen/src/pl-PL/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  104. package/.zen/src/pl-PL/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  105. package/.zen/src/pt-BR/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  106. package/.zen/src/pt-BR/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +78 -0
  107. package/.zen/src/pt-BR/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  108. package/.zen/src/pt-BR/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  109. package/.zen/src/pt-BR/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  110. package/.zen/src/pt-BR/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  111. package/.zen/src/pt-PT/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  112. package/.zen/src/pt-PT/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +78 -0
  113. package/.zen/src/pt-PT/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  114. package/.zen/src/pt-PT/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  115. package/.zen/src/pt-PT/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  116. package/.zen/src/pt-PT/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  117. package/.zen/src/ru-RU/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  118. package/.zen/src/ru-RU/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +78 -0
  119. package/.zen/src/ru-RU/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  120. package/.zen/src/ru-RU/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  121. package/.zen/src/ru-RU/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  122. package/.zen/src/ru-RU/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  123. package/.zen/src/sv-SE/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  124. package/.zen/src/sv-SE/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +78 -0
  125. package/.zen/src/sv-SE/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  126. package/.zen/src/sv-SE/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  127. package/.zen/src/sv-SE/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  128. package/.zen/src/sv-SE/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  129. package/.zen/src/th-TH/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  130. package/.zen/src/th-TH/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +79 -0
  131. package/.zen/src/th-TH/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  132. package/.zen/src/th-TH/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  133. package/.zen/src/th-TH/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  134. package/.zen/src/th-TH/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  135. package/.zen/src/tr-TR/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  136. package/.zen/src/tr-TR/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +79 -0
  137. package/.zen/src/tr-TR/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  138. package/.zen/src/tr-TR/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  139. package/.zen/src/tr-TR/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  140. package/.zen/src/tr-TR/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  141. package/.zen/src/uk-UA/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  142. package/.zen/src/uk-UA/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +79 -0
  143. package/.zen/src/uk-UA/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  144. package/.zen/src/uk-UA/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  145. package/.zen/src/uk-UA/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  146. package/.zen/src/uk-UA/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  147. package/.zen/src/vi-VN/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
  148. package/.zen/src/vi-VN/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +78 -0
  149. package/.zen/src/vi-VN/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  150. package/.zen/src/vi-VN/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
  151. package/.zen/src/vi-VN/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  152. package/.zen/src/vi-VN/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +30 -0
  153. package/.zen/src/zh-Hans/4b2cedd76dddb2a20b1890460735dd38fa65e293a37d6bd15310852ba1c851c4.md +21 -0
  154. package/.zen/src/zh-Hans/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +123 -0
  155. package/.zen/src/zh-Hans/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +81 -0
  156. package/.zen/src/zh-Hans/59fe7aff1dcf6f4bbbaff1ad2f7c4c5a3d34b99b1d288b78717ee34525c9897b.md +24 -0
  157. package/.zen/src/zh-Hans/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +74 -0
  158. package/.zen/src/zh-Hans/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +74 -0
  159. package/.zen/src/zh-Hans/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +75 -0
  160. package/.zen/src/zh-Hans/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +31 -0
  161. package/.zen/src/zh-Hans/c1b0e9eb01d78140c21097187d6395815fd01a6f179af31b7e72532ec6c7c682.md +75 -0
  162. package/.zen/src/zh-Hans/cbf2fcda767ee28fe49828908c14de2c8edba8f8b7d721743eda767838b70923.md +67 -0
  163. package/.zen/src/zh-Hans/ec9fa686ad66e28d8d9ee131812bb6f31052185584de0853db1ee8893ebddda3.md +22 -0
  164. package/.zen/src/zh-Hans/f119cbaf7645c713b1e0fa67abdc1070766c80f94eec9e42108bfa37ef85db43.md +24 -0
  165. package/.zen/src/zh-Hant/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +123 -0
  166. package/.zen/src/zh-Hant/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +81 -0
  167. package/.zen/src/zh-Hant/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
  168. package/.zen/src/zh-Hant/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +74 -0
  169. package/.zen/src/zh-Hant/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
  170. package/.zen/src/zh-Hant/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +31 -0
  171. package/README.md +56 -0
  172. package/assets/templates/default/layout.html +421 -0
  173. package/dist/ai/extractMetadataFromMarkdown.d.ts +8 -0
  174. package/dist/ai/extractMetadataFromMarkdown.d.ts.map +1 -0
  175. package/dist/ai/extractMetadataFromMarkdown.js +88 -0
  176. package/dist/ai/extractMetadataFromMarkdown.js.map +1 -0
  177. package/dist/ai/translateMarkdown.d.ts +8 -0
  178. package/dist/ai/translateMarkdown.d.ts.map +1 -0
  179. package/dist/ai/translateMarkdown.js +60 -0
  180. package/dist/ai/translateMarkdown.js.map +1 -0
  181. package/dist/build/pipeline.d.ts +6 -0
  182. package/dist/build/pipeline.d.ts.map +1 -0
  183. package/dist/build/pipeline.js +180 -0
  184. package/dist/build/pipeline.js.map +1 -0
  185. package/dist/cli.d.ts +3 -0
  186. package/dist/cli.d.ts.map +1 -0
  187. package/dist/cli.js +102 -0
  188. package/dist/cli.js.map +1 -0
  189. package/dist/findEntries.d.ts +10 -0
  190. package/dist/findEntries.d.ts.map +1 -0
  191. package/dist/findEntries.js +38 -0
  192. package/dist/findEntries.js.map +1 -0
  193. package/dist/index.d.ts +2 -0
  194. package/dist/index.d.ts.map +1 -0
  195. package/dist/index.js +4 -0
  196. package/dist/index.js.map +1 -0
  197. package/dist/languages.d.ts +2 -0
  198. package/dist/languages.d.ts.map +1 -0
  199. package/dist/languages.js +37 -0
  200. package/dist/languages.js.map +1 -0
  201. package/dist/metadata.d.ts +14 -0
  202. package/dist/metadata.d.ts.map +1 -0
  203. package/dist/metadata.js +78 -0
  204. package/dist/metadata.js.map +1 -0
  205. package/dist/paths.d.ts +6 -0
  206. package/dist/paths.d.ts.map +1 -0
  207. package/dist/paths.js +10 -0
  208. package/dist/paths.js.map +1 -0
  209. package/dist/process/extractMetadataByAI.d.ts +5 -0
  210. package/dist/process/extractMetadataByAI.d.ts.map +1 -0
  211. package/dist/process/extractMetadataByAI.js +31 -0
  212. package/dist/process/extractMetadataByAI.js.map +1 -0
  213. package/dist/process/scanSourceFiles.d.ts +5 -0
  214. package/dist/process/scanSourceFiles.d.ts.map +1 -0
  215. package/dist/process/scanSourceFiles.js +70 -0
  216. package/dist/process/scanSourceFiles.js.map +1 -0
  217. package/dist/process/template.d.ts +5 -0
  218. package/dist/process/template.d.ts.map +1 -0
  219. package/dist/process/template.js +207 -0
  220. package/dist/process/template.js.map +1 -0
  221. package/dist/services/openai.d.ts +41 -0
  222. package/dist/services/openai.d.ts.map +1 -0
  223. package/dist/services/openai.js +54 -0
  224. package/dist/services/openai.js.map +1 -0
  225. package/dist/types.d.ts +35 -0
  226. package/dist/types.d.ts.map +1 -0
  227. package/dist/types.js +3 -0
  228. package/dist/types.js.map +1 -0
  229. package/dist/utils/convertMarkdownToHtml.d.ts +7 -0
  230. package/dist/utils/convertMarkdownToHtml.d.ts.map +1 -0
  231. package/dist/utils/convertMarkdownToHtml.js +94 -0
  232. package/dist/utils/convertMarkdownToHtml.js.map +1 -0
  233. package/dist/utils/frontmatter.d.ts +6 -0
  234. package/dist/utils/frontmatter.d.ts.map +1 -0
  235. package/dist/utils/frontmatter.js +22 -0
  236. package/dist/utils/frontmatter.js.map +1 -0
  237. package/dist/utils/sha256.d.ts +2 -0
  238. package/dist/utils/sha256.d.ts.map +1 -0
  239. package/dist/utils/sha256.js +7 -0
  240. package/dist/utils/sha256.js.map +1 -0
  241. package/docs/test-katex.md +66 -0
  242. package/docs/test-mermaid.md +105 -0
  243. package/docs/tricks.md +15 -0
  244. package/package.json +58 -6
  245. package/src/ai/extractMetadataFromMarkdown.ts +95 -0
  246. package/src/ai/translateMarkdown.ts +60 -0
  247. package/src/build/pipeline.ts +172 -0
  248. package/src/cli.ts +73 -0
  249. package/src/findEntries.ts +37 -0
  250. package/src/index.ts +1 -0
  251. package/src/languages.ts +37 -0
  252. package/src/metadata.ts +44 -0
  253. package/src/paths.ts +7 -0
  254. package/src/process/extractMetadataByAI.ts +31 -0
  255. package/src/process/scanSourceFiles.ts +73 -0
  256. package/src/process/template.ts +222 -0
  257. package/src/services/openai.ts +92 -0
  258. package/src/types.ts +37 -0
  259. package/src/utils/convertMarkdownToHtml.ts +93 -0
  260. package/src/utils/frontmatter.ts +18 -0
  261. package/src/utils/sha256.ts +4 -0
  262. package/test-multilang.js +44 -0
  263. package/tsconfig.json +19 -0
@@ -0,0 +1,421 @@
1
+ <!doctype html>
2
+ <html lang="{{lang}}">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>{{title}}</title>
7
+ <style>
8
+ * {
9
+ margin: 0;
10
+ padding: 0;
11
+ box-sizing: border-box;
12
+ }
13
+
14
+ html[lang='ar-SA'] {
15
+ direction: rtl;
16
+ }
17
+
18
+ body {
19
+ font-family:
20
+ -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
21
+ line-height: 1.6;
22
+ color: #333;
23
+ background: #f8f9fa;
24
+ display: flex;
25
+ align-items: stretch;
26
+ min-height: 100vh;
27
+ }
28
+
29
+ .sidebar {
30
+ width: 280px;
31
+ background: #fff;
32
+ border-right: 1px solid #e9ecef;
33
+ padding: 2rem 1rem;
34
+ overflow-y: auto;
35
+
36
+ flex-shrink: 0;
37
+ }
38
+
39
+ .sidebar-header {
40
+ margin-bottom: 2rem;
41
+ padding-bottom: 1rem;
42
+ border-bottom: 1px solid #e9ecef;
43
+ }
44
+
45
+ .sidebar-header h1 {
46
+ font-size: 1.5rem;
47
+ font-weight: 600;
48
+ color: #212529;
49
+ }
50
+
51
+ .sidebar-header p {
52
+ color: #6c757d;
53
+ font-size: 0.875rem;
54
+ margin-top: 0.5rem;
55
+ }
56
+
57
+ .nav-list {
58
+ list-style: none;
59
+ }
60
+
61
+ .nav-item {
62
+ margin-bottom: 0.5rem;
63
+ }
64
+
65
+ .nav-link {
66
+ display: block;
67
+ padding: 0.5rem 1rem;
68
+ color: #495057;
69
+ text-decoration: none;
70
+ border-radius: 4px;
71
+ transition: all 0.2s;
72
+ }
73
+
74
+ .nav-link:hover {
75
+ background: #e9ecef;
76
+ color: #212529;
77
+ }
78
+
79
+ .nav-link.active {
80
+ background: #007bff;
81
+ color: white;
82
+ }
83
+
84
+ .nav-submenu {
85
+ list-style: none;
86
+ margin-left: 1rem;
87
+ margin-top: 0.25rem;
88
+ }
89
+
90
+ blockquote {
91
+ border-left: 4px solid #007bff;
92
+ padding: 0.5rem 1rem;
93
+ margin: 1rem 0;
94
+ background: #f8f9fa;
95
+ color: #495057;
96
+ }
97
+
98
+ .content {
99
+ flex: 1;
100
+ margin-inline-start: 80px;
101
+ padding: 3rem 4rem;
102
+ max-width: 900px;
103
+ }
104
+
105
+ .content-header {
106
+ margin-bottom: 2rem;
107
+ padding-bottom: 1rem;
108
+ border-bottom: 1px solid #e9ecef;
109
+ }
110
+
111
+ .content-header h1 {
112
+ font-size: 2.5rem;
113
+ font-weight: 700;
114
+ color: #212529;
115
+ margin-bottom: 0.5rem;
116
+ }
117
+
118
+ .content-header .meta {
119
+ color: #6c757d;
120
+ font-size: 0.875rem;
121
+ }
122
+
123
+ .content-body {
124
+ font-size: 1.125rem;
125
+ line-height: 1.8;
126
+ }
127
+
128
+ .content-body h1 {
129
+ font-size: 2rem;
130
+ margin: 2rem 0 1rem;
131
+ color: #212529;
132
+ }
133
+
134
+ .content-body h2 {
135
+ font-size: 1.75rem;
136
+ margin: 1.75rem 0 0.875rem;
137
+ color: #343a40;
138
+ }
139
+
140
+ .content-body h3 {
141
+ font-size: 1.5rem;
142
+ margin: 1.5rem 0 0.75rem;
143
+ color: #495057;
144
+ }
145
+
146
+ .content-body p {
147
+ margin: 1rem 0;
148
+ }
149
+
150
+ .content-body ul,
151
+ .content-body ol {
152
+ margin: 1rem 0 1rem 2rem;
153
+ }
154
+
155
+ .content-body li {
156
+ margin: 0.5rem 0;
157
+ }
158
+
159
+ .content-body blockquote {
160
+ border-left: 4px solid #007bff;
161
+ padding: 0.5rem 1rem;
162
+ margin: 1rem 0;
163
+ background: #f8f9fa;
164
+ color: #495057;
165
+ }
166
+
167
+ .content-body code {
168
+ background: #f8f9fa;
169
+ padding: 0.2rem 0.4rem;
170
+ border-radius: 3px;
171
+ font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
172
+ font-size: 0.875em;
173
+ }
174
+
175
+ .content-body pre {
176
+ background: #f8f9fa;
177
+ padding: 1rem;
178
+ border-radius: 6px;
179
+ overflow-x: auto;
180
+ margin: 1rem 0;
181
+ }
182
+
183
+ .content-body pre code {
184
+ background: none;
185
+ padding: 0;
186
+ }
187
+
188
+ .content-body table {
189
+ width: 100%;
190
+ border-collapse: collapse;
191
+ margin: 1rem 0;
192
+ }
193
+
194
+ .content-body th,
195
+ .content-body td {
196
+ border: 1px solid #dee2e6;
197
+ padding: 0.75rem;
198
+ text-align: left;
199
+ }
200
+
201
+ .content-body th {
202
+ background: #f8f9fa;
203
+ font-weight: 600;
204
+ }
205
+
206
+ .content-body img {
207
+ max-width: 100%;
208
+ height: auto;
209
+ border-radius: 6px;
210
+ margin: 1rem 0;
211
+ }
212
+
213
+ .content-body a {
214
+ color: #007bff;
215
+ text-decoration: none;
216
+ }
217
+
218
+ .content-body a:hover {
219
+ text-decoration: underline;
220
+ }
221
+
222
+ .footer {
223
+ margin-top: 3rem;
224
+ padding-top: 2rem;
225
+ border-top: 1px solid #e9ecef;
226
+ color: #6c757d;
227
+ font-size: 0.875rem;
228
+ text-align: center;
229
+ }
230
+
231
+ .language-switcher {
232
+ margin-top: 2rem;
233
+ text-align: center;
234
+ }
235
+
236
+ .lang-list {
237
+ list-style: none;
238
+ padding: 0;
239
+ /* display: flex; */
240
+ /* justify-content: center; */
241
+ /* flex-wrap: wrap; */
242
+ gap: 1rem;
243
+ }
244
+
245
+ .lang-item a {
246
+ color: #495057;
247
+ text-decoration: none;
248
+ font-weight: 500;
249
+ }
250
+ .lang-item.active a {
251
+ font-weight: 700;
252
+ color: #007bff;
253
+ }
254
+
255
+ .tags-list {
256
+ list-style: none;
257
+ padding: 0;
258
+ display: flex;
259
+ gap: 0.5rem;
260
+ margin-top: 0.5rem;
261
+ flex-wrap: wrap;
262
+ }
263
+
264
+ .tag-item {
265
+ background: #e9ecef;
266
+ color: #495057;
267
+ padding: 0.25rem 0.5rem;
268
+ border-radius: 4px;
269
+ font-size: 0.875rem;
270
+ }
271
+
272
+ @media (max-width: 768px) {
273
+ body {
274
+ flex-direction: column;
275
+ }
276
+
277
+ .sidebar {
278
+ width: 100%;
279
+ height: auto;
280
+ position: static;
281
+ border-right: none;
282
+ border-bottom: 1px solid #e9ecef;
283
+ }
284
+
285
+ .content {
286
+ margin-left: 0;
287
+ padding: 2rem;
288
+ }
289
+ }
290
+ </style>
291
+ <link
292
+ rel="stylesheet"
293
+ href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.11.1/styles/github.min.css"
294
+ />
295
+ <link
296
+ rel="stylesheet"
297
+ href="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css"
298
+ integrity="sha384-GvrOXuhMATgEsSwCs4smul74iXGOixntILdUW9XmUC6+HX0sLNAK3q71HotJqlAn"
299
+ crossorigin="anonymous"
300
+ />
301
+
302
+ <!-- Mermaid.js for diagram rendering -->
303
+ <script src="https://cdn.jsdelivr.net/npm/mermaid@11.4.0/dist/mermaid.min.js"></script>
304
+ <style>
305
+ /* Mermaid diagram styles */
306
+ .mermaid-diagram {
307
+ margin: 1.5rem 0;
308
+ border: 1px solid #e9ecef;
309
+ border-radius: 6px;
310
+ overflow: hidden;
311
+ background: #fff;
312
+ }
313
+
314
+ .mermaid-placeholder {
315
+ padding: 2rem;
316
+ background: #f8f9fa;
317
+ min-height: 200px;
318
+ display: flex;
319
+ align-items: center;
320
+ justify-content: center;
321
+ font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
322
+ }
323
+
324
+ .mermaid-loading {
325
+ color: #6c757d;
326
+ font-style: italic;
327
+ font-size: 0.875rem;
328
+ }
329
+
330
+ .mermaid-error {
331
+ color: #dc3545;
332
+ padding: 1rem;
333
+ background: #f8d7da;
334
+ border-radius: 4px;
335
+ font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
336
+ font-size: 0.875rem;
337
+ line-height: 1.5;
338
+ }
339
+
340
+ .mermaid-source {
341
+ display: none;
342
+ }
343
+
344
+ /* Ensure Mermaid diagrams are responsive */
345
+ .mermaid-diagram svg {
346
+ max-width: 100%;
347
+ height: auto;
348
+ display: block;
349
+ margin: 0 auto;
350
+ }
351
+ </style>
352
+ </head>
353
+ <body>
354
+ <nav class="sidebar">
355
+ <!-- <div class="sidebar-header">
356
+ <h1>ZEN Documentation</h1>
357
+ <p>A minimalist Markdown documentation site builder</p>
358
+ </div> -->
359
+ {{navigation}}
360
+ <hr />
361
+ <div>{{language_switcher}}</div>
362
+ </nav>
363
+
364
+ <main class="content">
365
+ <header class="content-header">
366
+ <h2>{{title}}</h2>
367
+ <blockquote>{{summary}}</blockquote>
368
+ <div>📅 {{inferred_date}}</div>
369
+ <div class="tags">{{tags}}</div>
370
+ </header>
371
+
372
+ <hr />
373
+
374
+ <article class="content-body">{{content}}</article>
375
+
376
+ <footer class="footer">
377
+ <p>
378
+ Generated by <strong>ZEN</strong> •
379
+ <a href="https://github.com/zccz14/ZEN" target="_blank">View on GitHub</a>
380
+ </p>
381
+ </footer>
382
+ </main>
383
+
384
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.11.1/highlight.min.js"></script>
385
+ <script>
386
+ hljs.highlightAll();
387
+ </script>
388
+ <!-- Mermaid initialization -->
389
+ <script>
390
+ (function () {
391
+ // Wait for page to fully load
392
+ window.addEventListener('load', function () {
393
+ // Initialize Mermaid with default configuration
394
+ if (typeof mermaid !== 'undefined') {
395
+ mermaid.initialize({
396
+ startOnLoad: false,
397
+ theme: 'default',
398
+ securityLevel: 'strict',
399
+ flowchart: {
400
+ useMaxWidth: true,
401
+ htmlLabels: true,
402
+ curve: 'basis',
403
+ },
404
+ sequence: {
405
+ useMaxWidth: true,
406
+ diagramMarginX: 50,
407
+ diagramMarginY: 10,
408
+ actorMargin: 50,
409
+ },
410
+ gantt: {
411
+ useMaxWidth: true,
412
+ barHeight: 20,
413
+ barGap: 4,
414
+ },
415
+ });
416
+ }
417
+ });
418
+ })();
419
+ </script>
420
+ </body>
421
+ </html>
@@ -0,0 +1,8 @@
1
+ import { AIMetadata } from '../types';
2
+ /**
3
+ * 从 markdown 内容中提取 metadata
4
+ * @param content Markdown 内容
5
+ * @returns Promise<AIMetadata> 提取的元数据,失败时抛出错误
6
+ */
7
+ export declare function extractMetadataFromMarkdown(content: string): Promise<AIMetadata>;
8
+ //# sourceMappingURL=extractMetadataFromMarkdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractMetadataFromMarkdown.d.ts","sourceRoot":"","sources":["../../src/ai/extractMetadataFromMarkdown.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;;;GAIG;AACH,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA4BtF"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractMetadataFromMarkdown = extractMetadataFromMarkdown;
4
+ const openai_1 = require("../services/openai");
5
+ /**
6
+ * 从 markdown 内容中提取 metadata
7
+ * @param content Markdown 内容
8
+ * @returns Promise<AIMetadata> 提取的元数据,失败时抛出错误
9
+ */
10
+ async function extractMetadataFromMarkdown(content) {
11
+ const prompt = buildMetadataPrompt(content);
12
+ const messages = [
13
+ {
14
+ role: 'system',
15
+ content: '你是一个专业的文档分析助手,擅长从文档中提取结构化信息。请严格按照要求的 JSON 格式返回结果。',
16
+ },
17
+ {
18
+ role: 'user',
19
+ content: prompt,
20
+ },
21
+ ];
22
+ const response = await (0, openai_1.completeMessages)(messages, {
23
+ response_format: { type: 'json_object' },
24
+ });
25
+ const metadata = parseMetadataResponse(response.choices[0].message.content);
26
+ // 添加 tokens 使用情况
27
+ metadata.tokens_used = {
28
+ prompt: response.usage.prompt_tokens,
29
+ completion: response.usage.completion_tokens,
30
+ total: response.usage.total_tokens,
31
+ };
32
+ return metadata;
33
+ }
34
+ /**
35
+ * 构建提取 metadata 的 prompt
36
+ */
37
+ function buildMetadataPrompt(content) {
38
+ // 限制内容长度以避免 token 超限
39
+ const maxContentLength = Infinity; // 可根据需要调整长度限制
40
+ const truncatedContent = content.length > maxContentLength
41
+ ? content.substring(0, maxContentLength) + '... [内容已截断]'
42
+ : content;
43
+ return `请分析以下文档内容,提取以下信息并返回 JSON 格式:
44
+
45
+ 文档内容:
46
+ """
47
+ ${truncatedContent}
48
+ """
49
+
50
+ 请提取:
51
+ 1. title: 文档的标题(简洁明了,不超过 30 个字)
52
+ 2. summary: 文档摘要(控制在 300 字以内,概括主要内容)
53
+ 3. tags: 关键词列表(3-8 个关键词,使用中文或英文)
54
+ 4. inferred_date: 文档中隐含的创建日期(如果有的话,格式:YYYY-MM-DD,没有就留空字符串)
55
+ 5. inferred_lang: 文档使用的语言代码(例如:zh-Hans 表示简体中文,en-US 表示美式英语)
56
+
57
+ 请严格按照以下 JSON 格式返回,不要包含任何其他文本:
58
+ {
59
+ "title": "文档标题",
60
+ "summary": "文档摘要...",
61
+ "tags": ["关键词1", "关键词2", "关键词3"],
62
+ "inferred_date": "2023-01-01",
63
+ "inferred_lang": "zh-Hans"
64
+ }`;
65
+ }
66
+ /**
67
+ * 解析 AI 返回的 metadata
68
+ */
69
+ function parseMetadataResponse(responseContent) {
70
+ try {
71
+ const metadata = JSON.parse(responseContent);
72
+ // 验证和清理数据
73
+ return {
74
+ title: metadata.title?.trim() || '未命名文档',
75
+ summary: metadata.summary?.trim() || '',
76
+ tags: Array.isArray(metadata.tags)
77
+ ? metadata.tags.map((tag) => tag.trim()).filter(Boolean)
78
+ : [],
79
+ inferred_date: metadata.inferred_date?.trim() || undefined,
80
+ inferred_lang: metadata.inferred_lang?.trim() || 'zh-Hans',
81
+ };
82
+ }
83
+ catch (error) {
84
+ console.error('❌ Failed to parse AI response:', error, 'Response:', responseContent);
85
+ throw error;
86
+ }
87
+ }
88
+ //# sourceMappingURL=extractMetadataFromMarkdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractMetadataFromMarkdown.js","sourceRoot":"","sources":["../../src/ai/extractMetadataFromMarkdown.ts"],"names":[],"mappings":";;AAQA,kEA4BC;AApCD,+CAAqE;AAGrE;;;;GAIG;AACI,KAAK,UAAU,2BAA2B,CAAC,OAAe;IAC/D,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAoB;QAChC;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EACL,mDAAmD;SACtD;QACD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,MAAM;SAChB;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAgB,EAAC,QAAQ,EAAE;QAChD,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;KACzC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5E,iBAAiB;IACjB,QAAQ,CAAC,WAAW,GAAG;QACrB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;QACpC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,iBAAiB;QAC5C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;KACnC,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,OAAe;IAC1C,qBAAqB;IACrB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,CAAC,cAAc;IACjD,MAAM,gBAAgB,GACpB,OAAO,CAAC,MAAM,GAAG,gBAAgB;QAC/B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG,aAAa;QACxD,CAAC,CAAC,OAAO,CAAC;IAEd,OAAO;;;;EAIP,gBAAgB;;;;;;;;;;;;;;;;;EAiBhB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,eAAuB;IACpD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAE7C,UAAU;QACV,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,OAAO;YACxC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;YACvC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAChC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBAChE,CAAC,CAAC,EAAE;YACN,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,SAAS;YAC1D,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,SAAS;SAC3D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QACrF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+
3
+ * @param content Markdown 内容
4
+ * @param targetLang 目标语言代码(例如:zh-Hans, en-US)
5
+ * @returns Promise<string> 翻译后的 Markdown 内容
6
+ */
7
+ export declare function translateMarkdown(content: string, targetLang: string): Promise<string>;
8
+ //# sourceMappingURL=translateMarkdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translateMarkdown.d.ts","sourceRoot":"","sources":["../../src/ai/translateMarkdown.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkD5F"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.translateMarkdown = translateMarkdown;
4
+ const languages_1 = require("../languages");
5
+ const openai_1 = require("../services/openai");
6
+ /**
7
+
8
+ * @param content Markdown 内容
9
+ * @param targetLang 目标语言代码(例如:zh-Hans, en-US)
10
+ * @returns Promise<string> 翻译后的 Markdown 内容
11
+ */
12
+ async function translateMarkdown(content, targetLang) {
13
+ const langName = languages_1.LANGUAGE_NAMES[targetLang];
14
+ const lang = `${langName} (${targetLang})`;
15
+ const messages = [
16
+ {
17
+ role: 'system',
18
+ content: [
19
+ `You are a professional document translator.`,
20
+ `Translate the following markdown content into ${lang}`,
21
+ targetLang === 'ja-JP'
22
+ ? [
23
+ //
24
+ '使用日语母语者自然的表达方式。',
25
+ '采用适合技术/专业文档的礼貌、正式语体(丁寧体/です・ます体)',
26
+ '确保语法和字符集完全符合日语规范。',
27
+ '绝对禁止使用繁体中文汉字。',
28
+ '所有日语汉字必须使用标准的 **日本常用汉字(Jōyō kanji)** 字形。',
29
+ '特别检查以下字形示例,确保使用日文标准字形:',
30
+ '1. “国” - 使用“国”而非“國”',
31
+ '2. “学” - 使用“学”而非“學”',
32
+ '3. “広” - 使用“広”而非“廣”',
33
+ '4. “円” - 使用“円”而非“圓”',
34
+ '5. “医” - 使用“医”而非“醫”',
35
+ '6. “図” - 使用“図”而非“圖”',
36
+ '7. “対” - 使用“対”而非“對”',
37
+ '8. “声” - 使用“声”而非“聲”',
38
+ '9. “芸” - 使用“芸”而非“藝”',
39
+ '10. “験” - 使用“験”而非“驗”',
40
+ ].join('\n')
41
+ : ``,
42
+ `Preserve the original markdown formatting, including headings, lists, code blocks, links, and images.`,
43
+ `Do not change any non-text elements or their formatting.`,
44
+ `Ensure that technical terms and code snippets remain unchanged.`,
45
+ `Provide a natural and fluent translation suitable for readers familiar with the subject matter.`,
46
+ ].join('\n'),
47
+ },
48
+ {
49
+ role: 'user',
50
+ content: content,
51
+ },
52
+ ];
53
+ const response = await (0, openai_1.completeMessages)(messages);
54
+ const translatedContent = response.choices[0]?.message?.content?.trim() || '';
55
+ if (!translatedContent) {
56
+ throw new Error('Empty translation response');
57
+ }
58
+ return translatedContent;
59
+ }
60
+ //# sourceMappingURL=translateMarkdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translateMarkdown.js","sourceRoot":"","sources":["../../src/ai/translateMarkdown.ts"],"names":[],"mappings":";;AASA,8CAkDC;AA3DD,4CAA8C;AAC9C,+CAAqE;AAErE;;;;;GAKG;AACI,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,UAAkB;IACzE,MAAM,QAAQ,GAAG,0BAAc,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,GAAG,QAAQ,KAAK,UAAU,GAAG,CAAC;IAC3C,MAAM,QAAQ,GAAoB;QAChC;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,6CAA6C;gBAC7C,iDAAiD,IAAI,EAAE;gBACvD,UAAU,KAAK,OAAO;oBACpB,CAAC,CAAC;wBACE,EAAE;wBACF,iBAAiB;wBACjB,iCAAiC;wBACjC,mBAAmB;wBACnB,eAAe;wBACf,0CAA0C;wBAC1C,wBAAwB;wBACxB,qBAAqB;wBACrB,qBAAqB;wBACrB,qBAAqB;wBACrB,qBAAqB;wBACrB,qBAAqB;wBACrB,qBAAqB;wBACrB,qBAAqB;wBACrB,qBAAqB;wBACrB,qBAAqB;wBACrB,sBAAsB;qBACvB,CAAC,IAAI,CAAC,IAAI,CAAC;oBACd,CAAC,CAAC,EAAE;gBACN,uGAAuG;gBACvG,0DAA0D;gBAC1D,iEAAiE;gBACjE,iGAAiG;aAClG,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,OAAO;SACjB;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAgB,EAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAE9E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { BuildOptions } from '../types';
2
+ /**
3
+ * 主构建函数
4
+ */
5
+ export declare function buildSite(options: BuildOptions): Promise<void>;
6
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/build/pipeline.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAgJxC;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBpE"}