Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

micromark-extension-cjk-friendly-util

tats-u1mMIT3.0.0TypeScript support: included

common library for micromark-extension-cjk-friendly and its related packages

micromark-extension, micromark, markdown, japanese, chinese, korean, cjk

readme

micromark-extension-cjk-friendly-util

Version Node Current NPM Downloads NPM Last Update Socket Badge Snyk Advisor Package Health Badge

An utility library package for micromark-extension-cjk-friendly, which is internally used by remark-cjk-friendly, and its related packages.

Problem / 問題 / 问题 / 문제

CommonMark has a problem that the following emphasis marks ** are not recognized as emphasis marks in Japanese, Chinese, and Korean.

CommonMarkには、日本語・中国語・韓国語内の次のような強調記号(**)が強調記号として認識されない問題があります。

CommonMark存在以下问题:在中文、日语和韩语文本中,强调标记**不会被识别为强调标记。

CommonMark는 한국어, 일본어, 중국어에서 다음과 같은 강조 표시 **가 강조 표시로 인식되지 않는 문제가 있습니다.

**このアスタリスクは強調記号として認識されず、そのまま表示されます。**この文のせいで。

**该星号不会被识别,而是直接显示。**这是因为它没有被识别为强调符号。

**이 별표는 강조 표시로 인식되지 않고 그대로 표시됩니다(이 괄호 때문에)**이 문장 때문에.

This problem occurs because the character just inside the ** is a (Japanese or Chinese) punctuation mark (。) or parenthesis and the character just outside is not a space or punctuation mark.

これが起こった原因は、終了側の**のすぐ内側が約物(。やカッコ)、かつ外側が約物や空白以外の文字であるためです。

这个问题是因为在**的结束部分,内侧字符是标点符号(。)或括号,而外侧字符不是空格或标点符号。

이 문제는 ** 바로 안쪽의 문자가 (일본어나 중국어) 문장 부호(。) 또는 괄호이고 바깥쪽 문자가 공백이나 문장 부호가 아니기 때문에 발생합니다.

Of course, not only the end side but also the start side has the same issue.

もちろん終了側だけでなく、開始側も同様の問題が存在します。

当然,不仅是结束侧,开始侧也存在同样的问题。

물론 끝나는 부분뿐만 아니라 시작하는 부분에서도 동일한 문제가 있습니다.

CommonMark issue: https://github.com/commonmark/commonmark-spec/issues/650

Runtime Requirements / 実行環境の要件 / 运行环境要求 / 런타임 요구 사항

This package is ESM-only. It requires Node.js 18 or later. (I have only tested it on 20 and later. There is no factor that would prevent it from working on 18, but I do not guarantee its operation on 18.)

本パッケージはESM専用です。Node.js 18以上が必要です。(動作検証は20以降でのみ行っています。18での動作を妨げる要因はありませんが、動作の保証はありません)

此包仅支持ESM。需要Node.js 18或更高版本。(我只测试了20及以后的版本。没有因素会阻止它在18上工作,但我不保证在18上的操作。)

본 패키지는 ESM 전용입니다. Node.js 18 이상이 필요합니다. (동작 검증은 20 이후 버전에서만 수행했습니다. 18에서 동작을 방해하는 요인은 없으나, 동작을 보장하지는 않습니다)

Installation / インストール / 安装 / 설치

Install micromark-extension-cjk-friendly-util via npm:

micromark-extension-cjk-friendly-utilnpmでインストールしてください。

通过 npm 安装 micromark-extension-cjk-friendly-util

micromark-extension-cjk-friendly-utilnpm으로 설치하세요.

npm install micromark-extension-cjk-friendly-util

If you use another package manager, please replace npm install with the command of the package manager you use (e.g. pnpm add or yarn add).

npm以外のパッケージマネージャを使う場合は、npm installを当該パッケージマネージャのコマンド(例:pnpm addyarn add)に置き換えてください。

如果使用其他包管理器,请将 npm install 替换为当时包管理器的命令(例如:pnpm addyarn add)。

npm이 아닌 다른 패키지 매니저를 사용하는 경우 npm install을 해당 패키지 매니저의 명령어(예: pnpm add, yarn add)로 바꿔 주세요.

Usage / 使い方 / 用法 / 사용법

[!IMPORTANT] Most people do not have to use this package directly. Did you mean:

This package provides a function and a namespace based on the original micromark-related packages:

Name Type Derived from Original Name Description
classifyCharacter function micromark-util-character (same) Tells whether a character is not only a punctuation or whitespace but also a CJK or variation selector
constantsEx namespace micromark-util-symbol constants Constants meaning CJK and variation selectors; use it and the original constants together.

Also, this package provides some utility functions to check whether a character belongs to the category defined in the specification (e.g. CJK character), or to help you fetch the Unicode Code Point of a character around the emphasis mark.

Specification / 規格書 / 规范 / 설명서

https://github.com/tats-u/markdown-cjk-friendly/blob/main/specification.md (English)

Contributing / 貢献 / 贡献 / 기여

Setup

Install the dependencies:

pnpm install

Get Started

Build the library:

pnpm build

Build the library in watch mode:

pnpm dev