czon 0.1.1 → 0.1.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/package.json +1 -1
- package/.zen/meta.json +0 -106
- package/.zen/src/ar-SA/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/ar-SA/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -79
- package/.zen/src/ar-SA/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/ar-SA/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/ar-SA/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/ar-SA/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/da-DK/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/da-DK/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -78
- package/.zen/src/da-DK/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/da-DK/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/da-DK/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/da-DK/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/de-DE/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/de-DE/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -78
- package/.zen/src/de-DE/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/de-DE/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/de-DE/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/de-DE/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/en-US/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/en-US/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -79
- package/.zen/src/en-US/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/en-US/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/en-US/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/en-US/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/es-ES/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/es-ES/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -78
- package/.zen/src/es-ES/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/es-ES/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/es-ES/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/es-ES/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/es-MX/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/es-MX/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -78
- package/.zen/src/es-MX/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/es-MX/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/es-MX/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/es-MX/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/fi-FI/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/fi-FI/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -79
- package/.zen/src/fi-FI/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/fi-FI/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/fi-FI/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/fi-FI/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/fr-FR/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/fr-FR/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -78
- package/.zen/src/fr-FR/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/fr-FR/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/fr-FR/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/fr-FR/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/hi-IN/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/hi-IN/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -79
- package/.zen/src/hi-IN/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/hi-IN/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/hi-IN/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/hi-IN/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/id-ID/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/id-ID/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -79
- package/.zen/src/id-ID/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/id-ID/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/id-ID/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/id-ID/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/it-IT/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/it-IT/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -78
- package/.zen/src/it-IT/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/it-IT/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/it-IT/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/it-IT/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/ja-JP/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/ja-JP/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -79
- package/.zen/src/ja-JP/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/ja-JP/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/ja-JP/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/ja-JP/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/ko-KR/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/ko-KR/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -79
- package/.zen/src/ko-KR/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/ko-KR/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/ko-KR/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/ko-KR/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/nl-NL/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/nl-NL/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -79
- package/.zen/src/nl-NL/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/nl-NL/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/nl-NL/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/nl-NL/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/no-NO/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/no-NO/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -78
- package/.zen/src/no-NO/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/no-NO/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/no-NO/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/no-NO/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/pl-PL/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/pl-PL/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -79
- package/.zen/src/pl-PL/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/pl-PL/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/pl-PL/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/pl-PL/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/pt-BR/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/pt-BR/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -78
- package/.zen/src/pt-BR/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/pt-BR/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/pt-BR/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/pt-BR/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/pt-PT/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/pt-PT/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -78
- package/.zen/src/pt-PT/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/pt-PT/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/pt-PT/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/pt-PT/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/ru-RU/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/ru-RU/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -78
- package/.zen/src/ru-RU/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/ru-RU/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/ru-RU/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/ru-RU/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/sv-SE/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/sv-SE/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -78
- package/.zen/src/sv-SE/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/sv-SE/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/sv-SE/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/sv-SE/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/th-TH/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/th-TH/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -79
- package/.zen/src/th-TH/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/th-TH/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/th-TH/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/th-TH/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/tr-TR/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/tr-TR/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -79
- package/.zen/src/tr-TR/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/tr-TR/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/tr-TR/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/tr-TR/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/uk-UA/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/uk-UA/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -79
- package/.zen/src/uk-UA/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/uk-UA/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/uk-UA/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/uk-UA/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/vi-VN/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -121
- package/.zen/src/vi-VN/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -78
- package/.zen/src/vi-VN/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/vi-VN/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -71
- package/.zen/src/vi-VN/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/vi-VN/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -30
- package/.zen/src/zh-Hans/4b2cedd76dddb2a20b1890460735dd38fa65e293a37d6bd15310852ba1c851c4.md +0 -21
- package/.zen/src/zh-Hans/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -123
- package/.zen/src/zh-Hans/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -81
- package/.zen/src/zh-Hans/59fe7aff1dcf6f4bbbaff1ad2f7c4c5a3d34b99b1d288b78717ee34525c9897b.md +0 -24
- package/.zen/src/zh-Hans/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -74
- package/.zen/src/zh-Hans/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -74
- package/.zen/src/zh-Hans/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -75
- package/.zen/src/zh-Hans/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -31
- package/.zen/src/zh-Hans/c1b0e9eb01d78140c21097187d6395815fd01a6f179af31b7e72532ec6c7c682.md +0 -75
- package/.zen/src/zh-Hans/cbf2fcda767ee28fe49828908c14de2c8edba8f8b7d721743eda767838b70923.md +0 -67
- package/.zen/src/zh-Hans/ec9fa686ad66e28d8d9ee131812bb6f31052185584de0853db1ee8893ebddda3.md +0 -22
- package/.zen/src/zh-Hans/f119cbaf7645c713b1e0fa67abdc1070766c80f94eec9e42108bfa37ef85db43.md +0 -24
- package/.zen/src/zh-Hant/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +0 -123
- package/.zen/src/zh-Hant/579c3a203225b8b7aead541f42381de0619d8bc1d451d0d9c3267dbc74205503.md +0 -81
- package/.zen/src/zh-Hant/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +0 -70
- package/.zen/src/zh-Hant/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +0 -74
- package/.zen/src/zh-Hant/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +0 -71
- package/.zen/src/zh-Hant/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md +0 -31
- package/docs/test-katex.md +0 -66
- package/docs/test-mermaid.md +0 -105
- package/docs/tricks.md +0 -15
- package/src/ai/extractMetadataFromMarkdown.ts +0 -95
- package/src/ai/translateMarkdown.ts +0 -60
- package/src/build/pipeline.ts +0 -172
- package/src/cli.ts +0 -73
- package/src/findEntries.ts +0 -37
- package/src/index.ts +0 -1
- package/src/languages.ts +0 -37
- package/src/metadata.ts +0 -44
- package/src/paths.ts +0 -7
- package/src/process/extractMetadataByAI.ts +0 -31
- package/src/process/scanSourceFiles.ts +0 -73
- package/src/process/template.ts +0 -222
- package/src/services/openai.ts +0 -92
- package/src/types.ts +0 -37
- package/src/utils/convertMarkdownToHtml.ts +0 -93
- package/src/utils/frontmatter.ts +0 -18
- package/src/utils/sha256.ts +0 -4
- package/test-multilang.js +0 -44
package/.zen/src/zh-Hant/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
'title': 'ZEN - 極簡主義 Markdown + AI 靜態網站建構器'
|
|
3
|
-
'summary': 'ZEN 是一個結合 AI 的靜態網站生成器,專注於簡化文件寫作和建構過程。它允許用戶使用 Markdown 在 git 管理的資料夾中建立靜態 HTML 網站,無需複雜配置,所有設定隱藏在 .zen 目錄下。核心功能包括智慧分類導航(透過 AI 分析內容生成網站地圖)、自動增量翻譯(支援多語言版本,用戶可用母語寫作,AI 處理翻譯),以及最小化打擾的寫作體驗。工具依賴 Node.js、OpenAI API Key 和 Git,透過命令列快速建構,支援指定語言參數如 zh-Hans 和 en-US。'
|
|
4
|
-
'tags':
|
|
5
|
-
- '靜態網站生成器'
|
|
6
|
-
- 'Markdown'
|
|
7
|
-
- 'AI'
|
|
8
|
-
- '多語言翻譯'
|
|
9
|
-
- '極簡主義'
|
|
10
|
-
- '文件工具'
|
|
11
|
-
- 'ZEN'
|
|
12
|
-
'inferred_lang': 'zh-Hans'
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# ZEN - 極簡主義 Markdown + AI 靜態網站建構器
|
|
16
|
-
|
|
17
|
-
[> 網站示範](https://zen.zccz14.com/)
|
|
18
|
-
|
|
19
|
-
## 基本功能
|
|
20
|
-
|
|
21
|
-
1. 📃 **靜態網站生成**:將任意一個包含 Markdown 的 git 資料夾建構成一個靜態 HTML 網站。
|
|
22
|
-
2. 🧭 **智慧分類導航**:使用 AI 進行內容分析,生成網站地圖和導航,原始檔案的位置不敏感。
|
|
23
|
-
3. 🌍 **自動增量翻譯**:使用 AI 進行增量翻譯,讓用戶使用母語編寫 Markdown,但用戶可以是多語言的。
|
|
24
|
-
|
|
25
|
-
為什麼又搞了個 Markdown 靜態網站生成器?我重新思考了 AI 時代下,文件工具可以如何更好地服務於寫作者:
|
|
26
|
-
|
|
27
|
-
- 回歸內容:最小化打擾,專注寫作
|
|
28
|
-
|
|
29
|
-
讓文件回歸本質,讓寫作回歸寧靜。
|
|
30
|
-
|
|
31
|
-
其一,我不想做圖書管理員。我有時想寫下一些內容,但我可能還沒有想好它的標題,還沒有形成特別的組織。我希望 LLM 會自動幫我生成標題、做摘要、分類、導航等整理工作。
|
|
32
|
-
|
|
33
|
-
其二,我的書房必須打掃乾淨。我不想要配置複雜的建構工具,折騰複雜的文件配置,不喜歡複雜的結構。每次我看到 Docusaurus、VuePress、Astro 這些工具的配置檔案和專案結構,我就頭疼。現在,ZEN 選擇將所有的配置都隱藏到 .zen 目錄下,掃到角落裡,用戶只需要專注於寫作內容,其他的交給 ZEN 來處理。其他的目錄都是您的寫作空間,您可以隨意組織您的 Markdown 檔案。
|
|
34
|
-
|
|
35
|
-
- 回歸母語:用母語寫作,流暢建構多語言版本
|
|
36
|
-
|
|
37
|
-
人生苦短,我懶得翻譯。人在使用母語時,才是最能發揮自身思考深度的。但同時與世界保持連接又是必要的,我不想放棄多語言的交流。於是我希望有一個工具,能讓我用母語寫作,同時又能讓更多人看到我的內容。現在的 i18n 需要自己翻譯不說,還得自己維護內容更新,太麻煩了。我選擇使用 LLM 來幫我做翻譯,省下了我很多時間,並且可以一鍵完成多國語言翻譯。
|
|
38
|
-
|
|
39
|
-
## 快速開始
|
|
40
|
-
|
|
41
|
-
前提:
|
|
42
|
-
|
|
43
|
-
- 已安裝 [Node.js](https://nodejs.org/)(建議版本 18 及以上,需要有 npx 命令)
|
|
44
|
-
- 已取得 [OpenAI API Key](https://platform.openai.com/account/api-keys),或者 OPENAI 相容的 API Key
|
|
45
|
-
- 已安裝 Git(用於從 Git 列出 Markdown 檔案,忽略 .gitignore 規則過濾的檔案)
|
|
46
|
-
|
|
47
|
-
首先,工作在一個已經被 git 管理的資料夾中:
|
|
48
|
-
|
|
49
|
-
配置環境變數
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
export OPENAI_API_KEY="sk-xxxxxx" # 必須:請替換為您的 OpenAI API Key
|
|
53
|
-
export OPENAI_BASE_URL="https://api.openai.com/v1" # 可選,預設使用 OpenAI 官方 API
|
|
54
|
-
export OPENAI_MODEL="gpt-3.5-turbo" # 可選,預設使用 gpt-3.5-turbo 模型
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
建構網站,支援多語言翻譯。使用目前目錄作為來源目錄,輸出到 `.zen/dist` 目錄。
|
|
58
|
-
|
|
59
|
-
- 可以透過多次使用 `--lang` 參數指定需要生成的語言版本(例如 `--lang zh-Hans --lang en-US`)。
|
|
60
|
-
- 不需要配置來源語言,ZEN 會自動偵測。
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
npx zengen@latest build --lang zh-Hans --lang en-US
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
**檢視更多參數或幫助**:
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
npx zengen@latest
|
|
70
|
-
```
|
package/.zen/src/zh-Hant/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
'title': 'ZEN - 極簡主義 Markdown + AI 靜態網站建構器'
|
|
3
|
-
'summary':
|
|
4
|
-
'ZEN 是一個結合 AI 功能的靜態網站生成器,旨在簡化文件寫作和網站建構過程。它允許使用者專注於用母語編寫 Markdown
|
|
5
|
-
內容,自動處理標題生成、分類導航和增量翻譯,支援多語言版本,無需複雜配置。工具基於 Node.js 和 OpenAI
|
|
6
|
-
API,透過命令列快速建構網站,適合追求高效和簡潔的寫作者。'
|
|
7
|
-
'tags':
|
|
8
|
-
- '靜態網站生成器'
|
|
9
|
-
- 'Markdown'
|
|
10
|
-
- 'AI'
|
|
11
|
-
- '極簡主義'
|
|
12
|
-
- '多語言翻譯'
|
|
13
|
-
- 'Node.js'
|
|
14
|
-
- 'OpenAI'
|
|
15
|
-
'inferred_lang': 'zh-Hans'
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
# ZEN - 極簡主義 Markdown + AI 靜態網站建構器
|
|
19
|
-
|
|
20
|
-
[> 網站示範](https://zccz14.github.io/ZEN/)
|
|
21
|
-
|
|
22
|
-
## 基本功能
|
|
23
|
-
|
|
24
|
-
1. 📃 **靜態網站生成**:將任意一個包含 Markdown 的 git 資料夾建構成一個靜態 HTML 網站。
|
|
25
|
-
2. 🧭 **智慧分類導航**:使用 AI 進行內容分析,生成網站地圖和導航,原始檔案的位置不敏感。
|
|
26
|
-
3. 🌍 **自動增量翻譯**:使用 AI 進行增量翻譯,讓使用者使用母語編寫 Markdown,但使用者可以是多語言的。
|
|
27
|
-
|
|
28
|
-
為什麼又搞了個 Markdown 靜態網站生成器?我重新思考了 AI 時代下,文件工具可以如何更好地服務於寫作者:
|
|
29
|
-
|
|
30
|
-
- 回歸內容:最小化打擾,專注寫作
|
|
31
|
-
|
|
32
|
-
讓文件回歸本質,讓寫作回歸寧靜。
|
|
33
|
-
|
|
34
|
-
其一,我不想當圖書管理員。我有時想寫下一些內容,但我可能還沒想好它的標題,還沒有形成特別的組織。我希望 LLM 會自動幫我生成標題、做摘要、分類、導航等整理工作。
|
|
35
|
-
|
|
36
|
-
其二,我的書房必須打掃乾淨。我不想要配置複雜的建構工具,折騰複雜的文件配置,不喜歡複雜的結構。每次我看到 Docusaurus、VuePress、Astro 這些工具的配置檔案和專案結構,我就頭疼。現在,ZEN 選擇將所有的配置都隱藏到 .zen 目錄下,掃到角落裡,使用者只需要專注於寫作內容,其他的交給 ZEN 來處理。其他的目錄都是您的寫作空間,您可以隨意組織您的 Markdown 檔案。
|
|
37
|
-
|
|
38
|
-
- 回歸母語:用母語寫作,流暢建構多語言版本
|
|
39
|
-
|
|
40
|
-
人生苦短,我懶得翻譯。人在使用母語時,才是最能發揮自身思考深度的。但同時與世界保持連接又是必要的,我不想放棄多語言的交流。於是我希望有一個工具,能讓我用母語寫作,同時又能讓更多人看到我的內容。現在的 i18n 需要自己翻譯不說,還得自己維護內容更新,太麻煩了。我選擇使用 LLM 來幫我做翻譯,省下了我很多時間,並且可以一鍵完成多國語言翻譯。
|
|
41
|
-
|
|
42
|
-
## 快速開始
|
|
43
|
-
|
|
44
|
-
前提:
|
|
45
|
-
|
|
46
|
-
- 已安裝 [Node.js](https://nodejs.org/)(建議版本 18 及以上,需要有 npx 命令)
|
|
47
|
-
- 已取得 [OpenAI API Key](https://platform.openai.com/account/api-keys),或者 OPENAI 相容的 API Key
|
|
48
|
-
- 已安裝 Git(用於從 Git 列出 Markdown 檔案,忽略 .gitignore 規則過濾的檔案)
|
|
49
|
-
|
|
50
|
-
首先,工作在一個已經被 git 管理的資料夾中:
|
|
51
|
-
|
|
52
|
-
配置環境變數
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
export OPENAI_API_KEY="sk-xxxxxx" # 必須:請替換為您的 OpenAI API Key
|
|
56
|
-
export OPENAI_BASE_URL="https://api.openai.com/v1" # 可選,預設使用 OpenAI 官方 API
|
|
57
|
-
export OPENAI_MODEL="gpt-3.5-turbo" # 可選,預設使用 gpt-3.5-turbo 模型
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
建構網站,支援多語言翻譯。使用當前目錄作為來源目錄,輸出到 `.zen/dist` 目錄。
|
|
61
|
-
|
|
62
|
-
- 可以透過多次使用 `--lang` 參數指定需要生成的語言版本(例如 `--lang zh-Hans --lang en-US`)。
|
|
63
|
-
- 可以透過 `--base-url` 參數指定網站的基礎 URL 前綴(例如 GitHub Pages 上的儲存庫名稱)。
|
|
64
|
-
- 不需要配置來源語言,ZEN 會自動偵測。
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
npx zengen@latest build --lang zh-Hans --lang en-US
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
**檢視更多參數或幫助**:
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
npx zengen@latest
|
|
74
|
-
```
|
package/.zen/src/zh-Hant/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
'title': 'ZEN - 極簡主義 Markdown + AI 靜態網站建構器'
|
|
3
|
-
'summary': 'ZEN 是一個結合 AI 功能的靜態網站生成器,專為 Markdown 文件設計。它允許使用者將包含 Markdown 檔案的 Git 資料夾轉換為靜態 HTML 網站,無需複雜配置,所有設定隱藏在 .zen 目錄中。核心功能包括智慧分類導航(使用 AI 分析內容生成網站地圖)、自動增量翻譯(支援多語言版本,使用者可用母語寫作,AI 處理翻譯),以及最小化打擾的寫作體驗。快速開始指南要求安裝 Node.js、取得 OpenAI API Key 和 Git,透過命令列建構網站,支援指定語言和基礎 URL。'
|
|
4
|
-
'tags':
|
|
5
|
-
- '靜態網站生成器'
|
|
6
|
-
- 'Markdown'
|
|
7
|
-
- 'AI'
|
|
8
|
-
- '多語言翻譯'
|
|
9
|
-
- '極簡主義'
|
|
10
|
-
- '文件工具'
|
|
11
|
-
- 'Git'
|
|
12
|
-
'inferred_lang': 'zh-Hant'
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# ZEN - 極簡主義 Markdown + AI 靜態網站建構器
|
|
16
|
-
|
|
17
|
-
[> 網站示範](https://zen.zccz14.com/)
|
|
18
|
-
|
|
19
|
-
## 基本功能
|
|
20
|
-
|
|
21
|
-
1. 📃 **靜態網站生成**:將任意一個包含 Markdown 的 git 資料夾建構成一個靜態 HTML 網站。
|
|
22
|
-
2. 🧭 **智慧分類導航**:使用 AI 進行內容分析,生成網站地圖和導航,原始檔案的位置不敏感。
|
|
23
|
-
3. 🌍 **自動增量翻譯**:使用 AI 進行增量翻譯,讓使用者使用母語編寫 Markdown,但是使用者可以是多語言的。
|
|
24
|
-
|
|
25
|
-
為什麼又搞了個 Markdown 靜態網站生成器?我重新思考了 AI 時代下,文件工具可以如何更好地服務於寫作者:
|
|
26
|
-
|
|
27
|
-
- 回歸內容:最小化打擾,專注寫作
|
|
28
|
-
|
|
29
|
-
讓文件回歸本質,讓寫作回歸寧靜。
|
|
30
|
-
|
|
31
|
-
其一,我不想做圖書管理員。我有時想寫下一些內容,但我可能還沒有想好它的標題,還沒有形成特別的組織。我希望 LLM 會自動幫我生成標題、做摘要、分類、導航等整理工作。
|
|
32
|
-
|
|
33
|
-
其二,我的書房必須打掃乾淨。我不想要配置複雜的建構工具,折騰複雜的文件配置,不喜歡複雜的結構。每次我看到 Docusaurus、VuePress、Astro 這些工具的配置檔案和專案結構,我就頭疼。現在,ZEN 選擇將所有的配置都隱藏到 .zen 目錄下,掃到角落裡,使用者只需要專注於寫作內容,其他的交給 ZEN 來處理。其他的目錄都是您的寫作空間,您可以隨意組織您的 Markdown 檔案。
|
|
34
|
-
|
|
35
|
-
- 回歸母語:用母語寫作,流暢建構多語言版本
|
|
36
|
-
|
|
37
|
-
人生苦短,我懶得翻譯。人在使用母語時,才是最能發揮自身思考深度的。但同時與世界保持連接又是必要的,我不想放棄多語言的交流。於是我希望有一個工具,能讓我用母語寫作,同時又能讓更多人看到我的內容。現在的 i18n 需要自己翻譯不說,還得自己維護內容更新,太麻煩了。我選擇使用 LLM 來幫我做翻譯,省下了我很多時間,並且可以一鍵完成多國語言翻譯。
|
|
38
|
-
|
|
39
|
-
## 快速開始
|
|
40
|
-
|
|
41
|
-
前提:
|
|
42
|
-
|
|
43
|
-
- 已安裝 [Node.js](https://nodejs.org/)(建議版本 18 及以上,需要有 npx 命令)
|
|
44
|
-
- 已取得 [OpenAI API Key](https://platform.openai.com/account/api-keys),或者 OPENAI 相容的 API Key
|
|
45
|
-
- 已安裝 Git(用於從 Git 列出 Markdown 檔案,忽略 .gitignore 規則過濾的檔案)
|
|
46
|
-
|
|
47
|
-
首先,工作在一個已經被 git 管理的資料夾中:
|
|
48
|
-
|
|
49
|
-
配置環境變數
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
export OPENAI_API_KEY="sk-xxxxxx" # 必須:請替換為您的 OpenAI API Key
|
|
53
|
-
export OPENAI_BASE_URL="https://api.openai.com/v1" # 可選,預設使用 OpenAI 官方 API
|
|
54
|
-
export OPENAI_MODEL="gpt-3.5-turbo" # 可選,預設使用 gpt-3.5-turbo 模型
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
建構網站,支援多語言翻譯。使用當前目錄作為來源目錄,輸出到 `.zen/dist` 目錄。
|
|
58
|
-
|
|
59
|
-
- 可以透過多次使用 `--lang` 參數指定需要生成的語言版本(例如 `--lang zh-Hans --lang en-US`)。
|
|
60
|
-
- 可以透過 `--base-url` 參數指定網站的基礎 URL 前綴(例如 GitHub Pages 上的儲存庫名稱)。
|
|
61
|
-
- 不需要配置來源語言,ZEN 會自動偵測。
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
npx zengen@latest build --lang zh-Hans --lang en-US
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
**查看更多參數或幫助**:
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
npx zengen@latest
|
|
71
|
-
```
|
package/.zen/src/zh-Hant/9d0485c244a80b14dcc92ef91cf5ff82220ed774ebb5e09549929ac75200c7bc.md
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
'title': 'ZEN文件日期聲明使用技巧'
|
|
3
|
-
'summary': '本文檔介紹了ZEN工具中在正文中直接聲明日期的使用技巧,與傳統Markdown透過YAML
|
|
4
|
-
Frontmatter聲明日期的方式對比,強調了ZEN的自動識別和智能處理功能,提升了使用者體驗,並適用於日記、部落格等需要時間線的內容類型。'
|
|
5
|
-
'tags':
|
|
6
|
-
- 'ZEN'
|
|
7
|
-
- '日期聲明'
|
|
8
|
-
- 'Markdown'
|
|
9
|
-
- 'AI處理'
|
|
10
|
-
- '時間線'
|
|
11
|
-
- '使用者體驗'
|
|
12
|
-
- '文件管理'
|
|
13
|
-
'inferred_date': '2026-01-08'
|
|
14
|
-
'inferred_lang': 'zh-Hans'
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# 使用技巧
|
|
18
|
-
|
|
19
|
-
## 在正文中聲明日期
|
|
20
|
-
|
|
21
|
-
正文中可以使用「今天是 2026 年 1 月 8 日」這樣的日期聲明(格式風格自由),ZEN 會自動識別並處理。
|
|
22
|
-
|
|
23
|
-
傳統 Markdown 文件是透過 YAML Frontmatter 聲明日期,需要記住對應的欄位,否則會導致日期無法正確識別。
|
|
24
|
-
|
|
25
|
-
ZEN 支援在正文中直接聲明日期,避免了忘記填寫 Frontmatter 欄位的問題。
|
|
26
|
-
|
|
27
|
-
AI 會自動擷取並推斷正文中的日期資訊,並將其作為文件的建立日期進行處理。
|
|
28
|
-
|
|
29
|
-
這種方式更加靈活和智能,提升了使用者體驗。
|
|
30
|
-
|
|
31
|
-
順帶一提,具有日期的文件,可以生成時間線檢視,方便瀏覽和管理。特別適合日記、部落格等需要時間線的內容類型。
|
package/docs/test-katex.md
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
# KaTeX 公式显示效果测试
|
|
2
|
-
|
|
3
|
-
这是一个行内公式测试: $ E = mc^2 $ 。
|
|
4
|
-
|
|
5
|
-
这是一个块级公式测试:
|
|
6
|
-
|
|
7
|
-
$$
|
|
8
|
-
\int_a^b f(x) \, dx = F(b) - F(a)
|
|
9
|
-
$$
|
|
10
|
-
|
|
11
|
-
这是另一个块级公式测试:
|
|
12
|
-
|
|
13
|
-
$$
|
|
14
|
-
\frac{d}{dx}e^x = e^x
|
|
15
|
-
$$
|
|
16
|
-
|
|
17
|
-
这是一个复杂的公式测试:
|
|
18
|
-
|
|
19
|
-
$$
|
|
20
|
-
\sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6}
|
|
21
|
-
$$
|
|
22
|
-
|
|
23
|
-
带有 cases 的公式测试:
|
|
24
|
-
|
|
25
|
-
$$
|
|
26
|
-
f(x) =
|
|
27
|
-
\begin{cases}
|
|
28
|
-
x^2 & \text{if } x \geq 0 \\
|
|
29
|
-
-x & \text{if } x < 0
|
|
30
|
-
\end{cases}
|
|
31
|
-
$$
|
|
32
|
-
|
|
33
|
-
表格公式:
|
|
34
|
-
|
|
35
|
-
$$
|
|
36
|
-
\begin{array}{c|c|c}
|
|
37
|
-
a & b & c \\
|
|
38
|
-
\hline
|
|
39
|
-
1 & 2 & 3 \\
|
|
40
|
-
4 & 5 & 6 \\
|
|
41
|
-
\end{array}
|
|
42
|
-
$$
|
|
43
|
-
|
|
44
|
-
矩阵公式:
|
|
45
|
-
|
|
46
|
-
$$
|
|
47
|
-
\begin{pmatrix}
|
|
48
|
-
1 & 2 \\
|
|
49
|
-
3 & 4
|
|
50
|
-
\end{pmatrix}
|
|
51
|
-
$$
|
|
52
|
-
|
|
53
|
-
含有 text 的公式测试:
|
|
54
|
-
|
|
55
|
-
$$
|
|
56
|
-
E = mc^2 \quad \text{where } m \text{ is mass and
|
|
57
|
-
} c \text{ is the speed of light}
|
|
58
|
-
$$
|
|
59
|
-
|
|
60
|
-
广义凯利公式:
|
|
61
|
-
|
|
62
|
-
$$
|
|
63
|
-
f^* = \argmax_f \sum_{i \in X} P_i \ln (1 + f \cdot R_i)
|
|
64
|
-
$$
|
|
65
|
-
|
|
66
|
-
请确保以上公式均能正确显示。
|
package/docs/test-mermaid.md
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
# Mermaid 图表测试
|
|
2
|
-
|
|
3
|
-
这是一个测试文件,用于验证 ZEN 中的 Mermaid 图表渲染功能。
|
|
4
|
-
|
|
5
|
-
## 流程图示例
|
|
6
|
-
|
|
7
|
-
```mermaid
|
|
8
|
-
graph TD
|
|
9
|
-
A[开始] --> B{是否继续?}
|
|
10
|
-
B -->|是| C[执行操作]
|
|
11
|
-
B -->|否| D[结束]
|
|
12
|
-
C --> E[检查结果]
|
|
13
|
-
E --> F{是否成功?}
|
|
14
|
-
F -->|是| G[完成]
|
|
15
|
-
F -->|否| H[重试]
|
|
16
|
-
H --> C
|
|
17
|
-
G --> D
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## 序列图示例
|
|
21
|
-
|
|
22
|
-
```mermaid
|
|
23
|
-
sequenceDiagram
|
|
24
|
-
participant User
|
|
25
|
-
participant System
|
|
26
|
-
participant Database
|
|
27
|
-
|
|
28
|
-
User->>System: 提交请求
|
|
29
|
-
System->>Database: 查询数据
|
|
30
|
-
Database-->>System: 返回结果
|
|
31
|
-
System-->>User: 显示结果
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## 甘特图示例
|
|
35
|
-
|
|
36
|
-
```mermaid
|
|
37
|
-
gantt
|
|
38
|
-
title 项目时间表
|
|
39
|
-
dateFormat YYYY-MM-DD
|
|
40
|
-
section 设计
|
|
41
|
-
需求分析 :done, des1, 2024-01-01, 7d
|
|
42
|
-
原型设计 :active, des2, 2024-01-08, 5d
|
|
43
|
-
详细设计 : des3, after des2, 5d
|
|
44
|
-
section 开发
|
|
45
|
-
前端开发 : dev1, after des3, 10d
|
|
46
|
-
后端开发 : dev2, after des3, 15d
|
|
47
|
-
section 测试
|
|
48
|
-
单元测试 : test1, after dev1, 5d
|
|
49
|
-
集成测试 : test2, after dev2, 5d
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## 类图示例
|
|
53
|
-
|
|
54
|
-
```mermaid
|
|
55
|
-
classDiagram
|
|
56
|
-
class Animal {
|
|
57
|
-
+String name
|
|
58
|
-
+int age
|
|
59
|
-
+void eat()
|
|
60
|
-
+void sleep()
|
|
61
|
-
}
|
|
62
|
-
class Dog {
|
|
63
|
-
+void bark()
|
|
64
|
-
}
|
|
65
|
-
class Cat {
|
|
66
|
-
+void meow()
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
Animal <|-- Dog
|
|
70
|
-
Animal <|-- Cat
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## 状态图示例
|
|
74
|
-
|
|
75
|
-
```mermaid
|
|
76
|
-
stateDiagram-v2
|
|
77
|
-
[*] --> Idle
|
|
78
|
-
Idle --> Processing : 开始处理
|
|
79
|
-
Processing --> Success : 处理成功
|
|
80
|
-
Processing --> Error : 处理失败
|
|
81
|
-
Success --> [*]
|
|
82
|
-
Error --> [*]
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## 饼图示例
|
|
86
|
-
|
|
87
|
-
```mermaid
|
|
88
|
-
pie title 浏览器使用率
|
|
89
|
-
"Chrome" : 65.2
|
|
90
|
-
"Firefox" : 15.3
|
|
91
|
-
"Safari" : 12.5
|
|
92
|
-
"Edge" : 5.2
|
|
93
|
-
"其他" : 1.8
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
## 错误语法测试(应该显示错误信息)
|
|
97
|
-
|
|
98
|
-
```mermaid
|
|
99
|
-
graph TD
|
|
100
|
-
A --> B
|
|
101
|
-
// 这里缺少箭头定义
|
|
102
|
-
C --> D
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
这个测试文件包含了多种 Mermaid 图表类型,用于验证 ZEN 的 Mermaid 集成是否正常工作。
|
package/docs/tricks.md
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# 使用技巧
|
|
2
|
-
|
|
3
|
-
## 在正文中声明日期
|
|
4
|
-
|
|
5
|
-
正文中可以使用 "今天是 2026 年 1 月 8 日" 这样的日期声明(格式风格自由),ZEN 会自动识别并处理。
|
|
6
|
-
|
|
7
|
-
传统 Markdown 文档是通过 YAML Frontmatter 声明日期,需要记住对应的字段,否则会导致日期无法正确识别。
|
|
8
|
-
|
|
9
|
-
ZEN 支持在正文中直接声明日期,避免了忘记填写 Frontmatter 字段的问题。
|
|
10
|
-
|
|
11
|
-
AI 会自动提取并推断正文中的日期信息,并将其作为文档的创建日期进行处理。
|
|
12
|
-
|
|
13
|
-
这种方式更加灵活和智能,提升了用户体验。
|
|
14
|
-
|
|
15
|
-
顺带一提,具有日期的文档,可以生成时间线视图,方便浏览和管理。特别适合日记、博客等需要时间线的内容类型。
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { completeMessages, OpenAIMessage } from '../services/openai';
|
|
2
|
-
import { AIMetadata } from '../types';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* 从 markdown 内容中提取 metadata
|
|
6
|
-
* @param content Markdown 内容
|
|
7
|
-
* @returns Promise<AIMetadata> 提取的元数据,失败时抛出错误
|
|
8
|
-
*/
|
|
9
|
-
export async function extractMetadataFromMarkdown(content: string): Promise<AIMetadata> {
|
|
10
|
-
const prompt = buildMetadataPrompt(content);
|
|
11
|
-
const messages: OpenAIMessage[] = [
|
|
12
|
-
{
|
|
13
|
-
role: 'system',
|
|
14
|
-
content:
|
|
15
|
-
'你是一个专业的文档分析助手,擅长从文档中提取结构化信息。请严格按照要求的 JSON 格式返回结果。',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
role: 'user',
|
|
19
|
-
content: prompt,
|
|
20
|
-
},
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
const response = await completeMessages(messages, {
|
|
24
|
-
response_format: { type: 'json_object' },
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
const metadata = parseMetadataResponse(response.choices[0].message.content);
|
|
28
|
-
|
|
29
|
-
// 添加 tokens 使用情况
|
|
30
|
-
metadata.tokens_used = {
|
|
31
|
-
prompt: response.usage.prompt_tokens,
|
|
32
|
-
completion: response.usage.completion_tokens,
|
|
33
|
-
total: response.usage.total_tokens,
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
return metadata;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* 构建提取 metadata 的 prompt
|
|
41
|
-
*/
|
|
42
|
-
function buildMetadataPrompt(content: string): string {
|
|
43
|
-
// 限制内容长度以避免 token 超限
|
|
44
|
-
const maxContentLength = Infinity; // 可根据需要调整长度限制
|
|
45
|
-
const truncatedContent =
|
|
46
|
-
content.length > maxContentLength
|
|
47
|
-
? content.substring(0, maxContentLength) + '... [内容已截断]'
|
|
48
|
-
: content;
|
|
49
|
-
|
|
50
|
-
return `请分析以下文档内容,提取以下信息并返回 JSON 格式:
|
|
51
|
-
|
|
52
|
-
文档内容:
|
|
53
|
-
"""
|
|
54
|
-
${truncatedContent}
|
|
55
|
-
"""
|
|
56
|
-
|
|
57
|
-
请提取:
|
|
58
|
-
1. title: 文档的标题(简洁明了,不超过 30 个字)
|
|
59
|
-
2. summary: 文档摘要(控制在 300 字以内,概括主要内容)
|
|
60
|
-
3. tags: 关键词列表(3-8 个关键词,使用中文或英文)
|
|
61
|
-
4. inferred_date: 文档中隐含的创建日期(如果有的话,格式:YYYY-MM-DD,没有就留空字符串)
|
|
62
|
-
5. inferred_lang: 文档使用的语言代码(例如:zh-Hans 表示简体中文,en-US 表示美式英语)
|
|
63
|
-
|
|
64
|
-
请严格按照以下 JSON 格式返回,不要包含任何其他文本:
|
|
65
|
-
{
|
|
66
|
-
"title": "文档标题",
|
|
67
|
-
"summary": "文档摘要...",
|
|
68
|
-
"tags": ["关键词1", "关键词2", "关键词3"],
|
|
69
|
-
"inferred_date": "2023-01-01",
|
|
70
|
-
"inferred_lang": "zh-Hans"
|
|
71
|
-
}`;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* 解析 AI 返回的 metadata
|
|
76
|
-
*/
|
|
77
|
-
function parseMetadataResponse(responseContent: string): AIMetadata {
|
|
78
|
-
try {
|
|
79
|
-
const metadata = JSON.parse(responseContent);
|
|
80
|
-
|
|
81
|
-
// 验证和清理数据
|
|
82
|
-
return {
|
|
83
|
-
title: metadata.title?.trim() || '未命名文档',
|
|
84
|
-
summary: metadata.summary?.trim() || '',
|
|
85
|
-
tags: Array.isArray(metadata.tags)
|
|
86
|
-
? metadata.tags.map((tag: string) => tag.trim()).filter(Boolean)
|
|
87
|
-
: [],
|
|
88
|
-
inferred_date: metadata.inferred_date?.trim() || undefined,
|
|
89
|
-
inferred_lang: metadata.inferred_lang?.trim() || 'zh-Hans',
|
|
90
|
-
};
|
|
91
|
-
} catch (error) {
|
|
92
|
-
console.error('❌ Failed to parse AI response:', error, 'Response:', responseContent);
|
|
93
|
-
throw error;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { LANGUAGE_NAMES } from '../languages';
|
|
2
|
-
import { completeMessages, OpenAIMessage } from '../services/openai';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
|
|
6
|
-
* @param content Markdown 内容
|
|
7
|
-
* @param targetLang 目标语言代码(例如:zh-Hans, en-US)
|
|
8
|
-
* @returns Promise<string> 翻译后的 Markdown 内容
|
|
9
|
-
*/
|
|
10
|
-
export async function translateMarkdown(content: string, targetLang: string): Promise<string> {
|
|
11
|
-
const langName = LANGUAGE_NAMES[targetLang];
|
|
12
|
-
const lang = `${langName} (${targetLang})`;
|
|
13
|
-
const messages: OpenAIMessage[] = [
|
|
14
|
-
{
|
|
15
|
-
role: 'system',
|
|
16
|
-
content: [
|
|
17
|
-
`You are a professional document translator.`,
|
|
18
|
-
`Translate the following markdown content into ${lang}`,
|
|
19
|
-
targetLang === 'ja-JP'
|
|
20
|
-
? [
|
|
21
|
-
//
|
|
22
|
-
'使用日语母语者自然的表达方式。',
|
|
23
|
-
'采用适合技术/专业文档的礼貌、正式语体(丁寧体/です・ます体)',
|
|
24
|
-
'确保语法和字符集完全符合日语规范。',
|
|
25
|
-
'绝对禁止使用繁体中文汉字。',
|
|
26
|
-
'所有日语汉字必须使用标准的 **日本常用汉字(Jōyō kanji)** 字形。',
|
|
27
|
-
'特别检查以下字形示例,确保使用日文标准字形:',
|
|
28
|
-
'1. “国” - 使用“国”而非“國”',
|
|
29
|
-
'2. “学” - 使用“学”而非“學”',
|
|
30
|
-
'3. “広” - 使用“広”而非“廣”',
|
|
31
|
-
'4. “円” - 使用“円”而非“圓”',
|
|
32
|
-
'5. “医” - 使用“医”而非“醫”',
|
|
33
|
-
'6. “図” - 使用“図”而非“圖”',
|
|
34
|
-
'7. “対” - 使用“対”而非“對”',
|
|
35
|
-
'8. “声” - 使用“声”而非“聲”',
|
|
36
|
-
'9. “芸” - 使用“芸”而非“藝”',
|
|
37
|
-
'10. “験” - 使用“験”而非“驗”',
|
|
38
|
-
].join('\n')
|
|
39
|
-
: ``,
|
|
40
|
-
`Preserve the original markdown formatting, including headings, lists, code blocks, links, and images.`,
|
|
41
|
-
`Do not change any non-text elements or their formatting.`,
|
|
42
|
-
`Ensure that technical terms and code snippets remain unchanged.`,
|
|
43
|
-
`Provide a natural and fluent translation suitable for readers familiar with the subject matter.`,
|
|
44
|
-
].join('\n'),
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
role: 'user',
|
|
48
|
-
content: content,
|
|
49
|
-
},
|
|
50
|
-
];
|
|
51
|
-
|
|
52
|
-
const response = await completeMessages(messages);
|
|
53
|
-
const translatedContent = response.choices[0]?.message?.content?.trim() || '';
|
|
54
|
-
|
|
55
|
-
if (!translatedContent) {
|
|
56
|
-
throw new Error('Empty translation response');
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return translatedContent;
|
|
60
|
-
}
|