retext-directionality
retext directionality detection.
Installation
npm:
npm install retext-directionality
retext-directionality is also available for bower, component, and duo, and as an AMD, CommonJS, and globals module, uncompressed and compressed.
Usage
var retext = ;var inspect = ;var direction = ; ;
Yields:
RootNode[1] [data={"direction":"neutral"}]└─ ParagraphNode[1] [data={"direction":"neutral"}] └─ SentenceNode[10] [data={"direction":"neutral"}] ├─ WordNode[1] [data={"direction":"ltr"}] │ └─ TextNode: 'A' [data={"direction":"ltr"}] ├─ WhiteSpaceNode: ' ' [data={"direction":"neutral"}] ├─ WordNode[1] [data={"direction":"ltr"}] │ └─ TextNode: 'simple' [data={"direction":"ltr"}] ├─ PunctuationNode: ',' [data={"direction":"neutral"}] ├─ WhiteSpaceNode: ' ' [data={"direction":"neutral"}] ├─ WordNode[1] [data={"direction":"ltr"}] │ └─ TextNode: 'Anglais' [data={"direction":"ltr"}] ├─ PunctuationNode: ',' [data={"direction":"neutral"}] ├─ WhiteSpaceNode: ' ' [data={"direction":"neutral"}] ├─ WordNode[1] [data={"direction":"rtl"}] │ └─ TextNode: 'بسيطة' [data={"direction":"rtl"}] └─ PunctuationNode: '.' [data={"direction":"neutral"}]
API
None, retext-directionality automatically detects the direction of each
Text
(using
wooorm/direction), either "ltr"
,
"rtl"
, or "neutral"
), and stores the direction in node.data.direction
.
All parents (such as words, sentences, paragraphs, root) also receive a
direction
property (parent.data.direction
): If every
Text
inside a parent has the same
(or neutral) direction, the parent has the same direction, otherwise, the
parent has a neutral direction.