1
0
mirror of https://github.com/garraflavatra/alphabets.git synced 2025-04-10 23:51:03 +00:00

Compare commits

...

10 Commits
v2.0.4 ... main

Author SHA1 Message Date
03880f2bbe
It is 2024 2024-08-06 14:39:41 +02:00
3da31450c0
Update readme 2024-08-06 14:37:07 +02:00
d070b6c2f1
Add logo 2024-08-06 14:26:49 +02:00
c917b46c48
Added v2.0.5 in changelog 2023-08-08 21:54:44 +02:00
d1906dd728
v2.0.5 2023-08-08 21:53:27 +02:00
41521970b8
Added bugs section to readme 2023-08-08 21:52:22 +02:00
4252782c38
Increase changelog heading level 2023-08-08 21:49:45 +02:00
e35cccfbd6
Add Deno support 2023-08-08 21:49:05 +02:00
66f6817a75
Updated the readme 2023-08-08 21:32:11 +02:00
de32a0bf48
Added Polish alphabet 2023-08-08 21:11:54 +02:00
6 changed files with 92 additions and 62 deletions

View File

@ -1,28 +1,32 @@
# [v2.0.4]
## [v2.0.5]
Added Polish alphabet, plus support for Deno!
## [v2.0.4]
Fixed the X-ray entry in the NATO alphabet.
# [v2.0.3]
## [v2.0.3]
Added the [NATO phonetic alphabet](https://en.wikipedia.org/wiki/NATO_phonetic_alphabet).
# [v2.0.2]
## [v2.0.2]
Fixed a double typo in package.json and package-lock.json (see 237fb6a).
# [v2.0.1]
## [v2.0.1]
Added Ukrainian alphabet.
# [v2.0.0]
## [v2.0.0]
Huge improvements...
# [v1.2.0]
## [v1.2.0]
Added Russian alphabet! It is exported as `russian`.
# [v1.1.0]
## [v1.1.0]
Added Scandinavian alphabets. This package now exports the following alphabets:
@ -37,7 +41,7 @@ Added Scandinavian alphabets. This package now exports the following alphabets:
| Norwegian | `norwegian` |
| Swedish | `swedish` |
# [v1.0.0]
## [v1.0.0]
Initial release.
@ -50,3 +54,4 @@ Initial release.
[v2.0.2]: https://github.com/garraflavatra/alphabets/releases/tag/v2.0.2
[v2.0.3]: https://github.com/garraflavatra/alphabets/releases/tag/v2.0.3
[v2.0.4]: https://github.com/garraflavatra/alphabets/releases/tag/v2.0.4
[v2.0.5]: https://github.com/garraflavatra/alphabets/releases/tag/v2.0.5

View File

@ -1,4 +1,4 @@
Copyright (c) 2021-2023 Romein van Buren <<romein@vburen.nl>>
Copyright (c) 2021-2024 Romein van Buren <<romein@vburen.nl>>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

121
README.md
View File

@ -1,35 +1,38 @@
# Alphabets
A tiny JS package that exports many different alphabets for many different use cases.
Alphabets contains many different alphabets for many different use cases.
[![npm](https://img.shields.io/npm/v/alphabets)](https://www.npmjs.com/package/alphabets)
[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://stand-with-ukraine.pp.ua)
## Why
- [Included alphabets](#included-alphabets)
- [How to use](#how-to-use)
- [JS module](#js-module)
- [JSON file](#json-file)
- [Motivation](#motivation)
- [Questions and bugs](#questions-and-bugs)
- [Copyright](#copyright)
I have seen [code like this]:
## Included alphabets
```js
const alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('');
```
See below for [usage instructions](#how-to-use).
Or [worse]:
| Export name | Alphabet |
|------------------|------------------|
| `danish` | [Danish](https://en.wikipedia.org/wiki/Danish_orthography), same as Norwegian |
| `faroese` | [Faroese](https://en.wikipedia.org/wiki/Faroese_orthography) |
| `greek` | [Greek](https://en.wikipedia.org/wiki/Greek_alphabet) |
| `icelandic` | [Icelandic](https://en.wikipedia.org/wiki/Icelandic_orthography) |
| `latin` | [Latin](https://en.wikipedia.org/wiki/Latin_alphabet) (abcdefg etc.) |
| `nato` | [NATO phonetic alphabet](https://en.wikipedia.org/wiki/NATO_phonetic_alphabet) |
| `norwegian` | [Norwegian](https://en.wikipedia.org/wiki/Danish_and_Norwegian_alphabet), same as Danish |
| `polish` | [Polish](https://en.wikipedia.org/wiki/Polish_alphabet) |
| `russian` | [Russian](https://en.wikipedia.org/wiki/Russian_alphabet) |
| `swedish` | [Swedish](https://en.wikipedia.org/wiki/Swedish_alphabet) |
| `ukrainian` | [Ukrainian](https://en.wikipedia.org/wiki/Ukrainian_alphabet) |
```js
const alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
```
## How to use
My opinion about this: it's ugly, and it pollutes your code. Instead, why not [do it like this](#how-to-use):
```js
import { latin } from 'alphabets';
doSomethingWithTheAlphabet(latin);
```
Much cleaner, right?
## Installation
### JS module
Install the [alphabets npm module](https://www.npmjs.com/package/alphabets) using your preferred package manager:
@ -37,32 +40,20 @@ Install the [alphabets npm module](https://www.npmjs.com/package/alphabets) usin
* Yarn: `yarn add alphabets`
* pnpm: `pnpm add alphabets`
## Supported alphabets
You can also use it with [Deno](https://deno.land/) by importing `https://deno.land/x/alphabets/alphabets.mjs`.
See below for [usage instructions](#how-to-use).
| Alphabet | Export name |
|---------------------------|------------------|
| Danish | `danish` |
| Faroese | `faroese` |
| Greek (modern) | `greek` |
| Greek (ancient/polytonic) | `greekPolytonic` |
| Icelandic | `icelandic` |
| Latin (abcdefg etc.) | `latin` |
| [NATO phonetic alphabet] | `nato` |
| Norwegian | `norwegian` |
| Russian | `russian` |
| Swedish | `swedish` |
| Ukrainian | `ukrainian` |
## How to use
Replace `<alphabetYouWantToUse>` with an alphabet identifier this package supports:
Replace `<alphabetYouWantToUse>` with an [alphabet identifier](#included-alphabets) this package exports:
```js
import { <alphabetYouWantToUse> } from 'alphabets';
```
Deno:
```js
import { <alphabetYouWantToUse> } from 'https://deno.land/x/alphabets/alphabets.mjs';
```
or:
```js
@ -70,13 +61,47 @@ const alphabets = require('alphabets');
console.log(alphabets.<alphabetYouWantToUse>);
```
### JSON file
Or load the JSON file with alphabets directly from a CDN:
* https://cdn.jsdelivr.net/npm/alphabets@2/alphabets.json
* https://unpkg.com/alphabets@2/alphabets.json
## Motivation
I have seen [code like this](https://github.com/search?q=%27abcdefghijklmnopqrstuvwxyz%27.split%28%27%27%29+language%3AJavaScript&type=code&l=JavaScript):
```js
const alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('');
```
Or [even worse](https://github.com/search?q=%5B%22a%22%2C+%22b%22%2C+%22c%22%2C+%22d%22%2C+%22e%22%2C+%22f%22%2C+%22g%22%2C+%22h%22%2C+%22i%22%2C+%22j%22%2C+%22k%22%2C+%22l%22%2C+%22m%22%2C+%22n%22%2C+%22o%22%2C+%22p%22%2C+%22q%22%2C+%22r%22%2C+%22s%22%2C+%22t%22%2C+%22u%22%2C+%22v%22%2C+%22w%22%2C+%22x%22%2C+%22y%22%2C+%22z%22%5D+language%3AJavaScript&type=code&l=JavaScript):
```js
const alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
```
My opinion about this: it's verbose, ugly, and it pollutes your code. Instead, why not [do it like this](#how-to-use):
```js
import { latin } from 'alphabets';
for (const glyph of latin) {/* ... */}
```
This is much cleaner and more idiomatic.
## Questions and bugs
Did you find a mistake in an alphabet, or another bug? Please [report it](https://github.com/garraflavatra/alphabets/issues/new) — thank you! I'll try to fix it as soon as possible.
You may use the same issue form for questions, too.
## Copyright
(c) 2021-2023 Romein van Buren. Licensed under the MIT license.
(c) 2021-2024 [Romein van Buren](mailto:romein@vburen.nl). Licensed under the MIT license.
For the full copyright and license information, please view the [`LICENSE.md`](./LICENSE.md) file that was distributed with this source code.
For the full copyright and license information, please see the [`LICENSE.md`](./LICENSE.md) file that was distributed with this source code.
[code like this]: https://github.com/search?q=%27abcdefghijklmnopqrstuvwxyz%27.split%28%27%27%29+language%3AJavaScript&type=code&l=JavaScript
[worse]: https://github.com/search?q=%5B%22a%22%2C+%22b%22%2C+%22c%22%2C+%22d%22%2C+%22e%22%2C+%22f%22%2C+%22g%22%2C+%22h%22%2C+%22i%22%2C+%22j%22%2C+%22k%22%2C+%22l%22%2C+%22m%22%2C+%22n%22%2C+%22o%22%2C+%22p%22%2C+%22q%22%2C+%22r%22%2C+%22s%22%2C+%22t%22%2C+%22u%22%2C+%22v%22%2C+%22w%22%2C+%22x%22%2C+%22y%22%2C+%22z%22%5D+language%3AJavaScript&type=code&l=JavaScript
[NATO phonetic alphabet]: https://en.wikipedia.org/wiki/NATO_phonetic_alphabet
[![Smart Yellow](https://code.smartyellow.net/smartyellow/meta/raw/branch/main/logo.png)](https://www.smartyellow.nl)

View File

@ -8,8 +8,6 @@
"greek": ["α", "β", "γ", "δ", "ε", "ζ", "η", "θ", "ι", "κ", "λ", "μ", "ν", "ξ", "ο", "π", "ρ", "σ", "τ", "υ", "φ", "χ", "ψ", "ω"],
"greekPolytonic": ["α", "β", "γ", "δ", "ε", "ζ", "η", "θ", "ι", "κ", "λ", "μ", "ν", "ξ", "ο", "π", "ρ", "σ", "τ", "υ", "φ", "χ", "ψ", "ω"],
"icelandic": ["a", "á", "b", "d", "ð", "e", "é", "f", "g", "h", "i", "í", "j", "k", "l", "m", "n", "o", "ó", "p", "r", "s", "t", "u", "ú", "v", "x", "y", "ý", "þ", "æ", "ö"],
"latin": ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"],
@ -18,6 +16,8 @@
"norwegian": ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "æ", "ø", "å"],
"polish": ["a", "ą", "b", "c", "ć", "d", "e", "ę", "f", "g", "h", "i", "j", "k", "l", "ł", "m", "n", "ń", "o", "ó", "p", "q", "r", "s", "ś", "t", "u", "v", "w", "x", "y", "z", "ź", "ż"],
"russian": ["а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я"],
"swedish": ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "å", "ä", "ö"],

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "alphabets",
"version": "2.0.4",
"version": "2.0.5",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "alphabets",
"version": "2.0.4",
"version": "2.0.5",
"license": "MIT",
"devDependencies": {
"@garraflavatra/yeslint": "^1.0.0",

View File

@ -2,7 +2,7 @@
"name": "alphabets",
"description": "A collection of many different alphabets for many different use cases. ",
"author": "Romein van Buren <romein@vburen.nl>",
"version": "2.0.4",
"version": "2.0.5",
"homepage": "https://github.com/garraflavatra/alphabets#readme",
"license": "MIT",
"keywords": [