correction, ajout gitignore
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
# node.js module
|
||||
|
||||
The Hyphenopoly-package contains a file called `hyphenopoly.module.js`.
|
||||
This module provides hyphenation for node.js applications.
|
||||
|
||||
## Install
|
||||
|
||||
````
|
||||
npm install hyphenopoly
|
||||
````
|
||||
|
||||
## Usage
|
||||
|
||||
One language:
|
||||
|
||||
````javascript
|
||||
const Hyphenopoly = require("hyphenopoly");
|
||||
|
||||
const textHyphenators = Hyphenopoly.config({
|
||||
"require": ["en-us"],
|
||||
"hyphen": "•"
|
||||
});
|
||||
|
||||
textHyphenators.then(
|
||||
function ff(hyphenateText) {
|
||||
console.log(hyphenateText("Hyphenation enhances justification."));
|
||||
}
|
||||
).catch(
|
||||
function err(e) {
|
||||
console.log(e);
|
||||
}
|
||||
);
|
||||
````
|
||||
|
||||
More then one language:
|
||||
|
||||
````javascript
|
||||
const Hyphenopoly = require("hyphenopoly");
|
||||
|
||||
const textHyphenators = Hyphenopoly.config({
|
||||
"require": ["de", "en-us"],
|
||||
"hyphen": "•"
|
||||
});
|
||||
|
||||
textHyphenators.get("de").then(
|
||||
function ff(hyphenateText) {
|
||||
console.log(hyphenateText("Silbentrennung verbessert den Blocksatz."));
|
||||
}
|
||||
);
|
||||
|
||||
textHyphenators.get("en-us").then(
|
||||
function ff(hyphenateText) {
|
||||
console.log(hyphenateText("Hyphenation enhances justification."));
|
||||
}
|
||||
);
|
||||
````
|
||||
|
||||
## Synchronous mode
|
||||
|
||||
By default, `Hyphenopoly.config` returns a promise (or a `Map` of promises). Some code bases are not yet capable of handling async code.
|
||||
By setting `"sync" : true` the hyphenopoly module switches to a sync mode.
|
||||
|
||||
````javascript
|
||||
const hyphenopoly = require("hyphenopoly");
|
||||
|
||||
const hyphenator = hyphenopoly.config({
|
||||
"sync": true,
|
||||
"require": ["de", "en-us"],
|
||||
"hyphen": "•",
|
||||
"exceptions": {
|
||||
"en-us": "en-han-ces"
|
||||
}
|
||||
});
|
||||
|
||||
const hy1 = hyphenator.get("en-us")("hyphenation enhances justification.");
|
||||
const hy2 = hyphenator.get("de")("Silbentrennung verbessert den Blocksatz.");
|
||||
|
||||
|
||||
console.log(hy1);
|
||||
console.log(hy2);
|
||||
````
|
||||
|
||||
## Configuration
|
||||
|
||||
The `.config`-method takes an object as argument:
|
||||
|
||||
Defaults:
|
||||
````javascript
|
||||
{
|
||||
"compound": "hyphen",
|
||||
"exceptions": {},
|
||||
"hyphen": String.fromCharCode(173),
|
||||
"leftmin": 0,
|
||||
"loader": "fs",
|
||||
"minWordLength": 6,
|
||||
"normalize": false,
|
||||
"orphanControl": 1,
|
||||
"paths": {
|
||||
"maindir": `${__dirname}/`,
|
||||
"patterndir": `${__dirname}/patterns/
|
||||
},
|
||||
"require": [],
|
||||
"rightmin": 0,
|
||||
"sync": false
|
||||
}
|
||||
````
|
||||
|
||||
The only option that Must be set is `require` which takes an array of language-tags.
|
||||
|
||||
### loader
|
||||
By default hyphenopoly.module.js loads pattern files and hyphenEnginge by using nodes "fs"-module.
|
||||
This can be changed to the "http"-module by setting the `loader` to "http":
|
||||
````javascript
|
||||
const hyphenator = hyphenopoly.config({
|
||||
"require": […],
|
||||
"loader": "http"
|
||||
});
|
||||
|
||||
````
|
||||
This is useful if the module is transformed to a script used in a webbrowser (e.g. by using [browserify](http://browserify.org)).
|
||||
|
||||
### other options
|
||||
For documentation about the other options see the `Hyphenopoly.js`-documentation:
|
||||
|
||||
- [compound](./Setup.md#compound)
|
||||
- [exceptions](./Setup.md#exceptions)
|
||||
- [hyphen](./Setup.md#hyphen)
|
||||
- [leftmin](./Setup.md#leftmin-and-rightmin)
|
||||
- [minWordLength](./Setup.md#minwordlength)
|
||||
- [normalize](./Setup.md#normalize)
|
||||
- [orphanControl](./Setup.md#orphancontrol)
|
||||
- [paths](./Global-Hyphenopoly-Object.md#paths)
|
||||
- [rightmin](./Setup.md#leftmin-and-rightmin)
|
||||
|
||||
## Supported languages (since Version 2.8.0)
|
||||
A list of supported languages can be programmatically obtained by looking at `Hyphenopoly.supportedLanguages`:
|
||||
````javascript
|
||||
const Hyphenopoly = require("hyphenopoly");
|
||||
Hyphenopoly.supportedLanguages.includes("en-us"); //true
|
||||
Hyphenopoly.supportedLanguages.includes("en"); //false
|
||||
````
|
||||
|
||||
## Performance
|
||||
|
||||
On my machine with node.js 10.0.1:
|
||||
|
||||
| module | setup | hyphenate 100 de words |
|
||||
| ------------- | -------------:| ----------------------:|
|
||||
| _hyphenopoly_ | _12ms_ | _2ms_ |
|
||||
| [hyphen](https://www.npmjs.com/package/hyphen) | 40ms | 370ms |
|
||||
| [hypher](https://www.npmjs.com/package/hypher) | 70ms | 3ms |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user