Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maxwondercorn/ember-dictionary
Hunspell dictionary to use with Ember learning team documentation
https://github.com/maxwondercorn/ember-dictionary
ember hunspell
Last synced: 3 months ago
JSON representation
Hunspell dictionary to use with Ember learning team documentation
- Host: GitHub
- URL: https://github.com/maxwondercorn/ember-dictionary
- Owner: maxwondercorn
- License: mit
- Created: 2018-11-29T23:32:02.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2023-01-31T03:38:25.000Z (almost 2 years ago)
- Last Synced: 2024-09-30T06:01:09.416Z (3 months ago)
- Topics: ember, hunspell
- Language: JavaScript
- Homepage:
- Size: 517 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# ember-dictionary
This is a custom [Hunspell](http://hunspell.github.io) dictionary for
spellchecking the Ember guides. It has the common technical terms used by the
Ember community and helps enforce consistency across the guides.For example, `emberobserver` and `EmberObserver` will be flagged as invalid,
with a suggestion of `Ember Observer`.In addition to spell checking, the markdown will be linted for repeated words,
contraction errors and conssitency issues. See the documentation for the plugins
used in the configuration file.## Dictionary
The Ember dictionary is merged with the `en_US` Hunspell
[dictionary](http://wordlist.sourceforge.net). This simplifies configuration of
`retext-spell`. The english dictionary will occasionally need to be remerged
(~12-18 months) to keep it in sync. See en_US.lic for license.Whenever the `en_US` dictionary is updated check for duplicate words using the
command `REV` command discussed in [CONTRIBUTING](contributing#finally).## Installation
```bash
npm install ember-dictionary
```or
```bash
yarn add ember-dictionary
```## Dependencies
All packages under the [unified](https://unifiedjs.com) umbrella have been
converted to ESM imports. The package versions below are the last versions
before the conversion.Using later versions will require setting the project to `modules` in
`package.json` or updating the configuration. It's recommended that the versions
are pinned to prevent breaking changes to the configuration.Install the following devDependencies:
```bash
npm i -D [email protected]
npm i -D ember-dictionary
npm i -D [email protected]
npm i -D [email protected]
npm i -D [email protected]
npm i -D [email protected]
npm i -D [email protected]
npm i -D [email protected]
npm i -D [email protected]
npm i -D [email protected]
npm i -D [email protected]
npm i -D [email protected]
npm i -D [email protected]
```Create a `.remarkrc.js` file in the project root and paste the configuration
below into the file. A copy of `.remarkrc.js` is included in the repo.```js
// ./remark.js
/* eslint-env node */
const unified = require('unified');
const read = require('fs').readFileSync;
const ember = require('ember-dictionary');exports.plugins = [
[
require('remark-retext'),
unified().use({
plugins: [
[require('retext-contractions'), { straight: true }],
require('retext-english'),
require('retext-indefinite-article'),
require('retext-repeated-words'),
require('retext-syntax-urls'),
[
require('retext-spell'),
{
dictionary: ember,
personal: read('./.local.dic')
}
]
]
})
],
'remark-preset-lint-consistent',
'remark-preset-lint-recommended',
['remark-lint-list-item-indent', 'space']
];
```Addtional `remark` rules and settings can be added to the configuration. See the
readme for
[remarkjs/remark-lint: plugins to check (lint) markdown code style](https://github.com/remarkjs/remark-lint)
for a complete listing. Additonal settings should be added to the end of the
configuartion.## Local dictionary
Project specific words not included in the main dictionary can be added to a
local dictionary. In the proejct root, create a file named `.local.dic`.
Additonal words are added to this file with each word on its own line.Note: The `.local.dic` file MUST be present even if they are not project
specific words!## Ignore files
Ignore files during linting by adding them a `.remarkignore` file to the
project's root. Generally, `README.md` and `CONTRIBUTING.md` would be excluded.
Older documentation versions can also be added to save time during CI.## Finally
Add the following npm script to `package.json`. The `--frail` flag will generate
errors causing the linting to fail. For warnings only remove `--frail`.```json
"lint:md": "remark . --frail"
```## Contributing
If you would like to add new words to the dictionary, read the
[contributing](./contributing.md) guide.