correction, ajout gitignore

This commit is contained in:
Thibaud
2019-07-06 13:25:00 +02:00
commit 28d1936dee
182 changed files with 28900 additions and 0 deletions
@@ -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 |