Merges PR #241 by @Horsty80

This commit is contained in:
Andrew Gioia 2024-08-21 14:12:29 -04:00
commit f459655d24
Signed by: andrew
GPG Key ID: FC09694A000800C8
44 changed files with 4528 additions and 657 deletions

View File

@ -8,9 +8,21 @@ All notable changes to this project will be documented in this file.
* Support apparent "tri-layered" symbols, like SNC and CBL where there's a rarity layer, a fixed white layer, and a border. These are unlike the dual-layered symbols like AFR and MID. * Support apparent "tri-layered" symbols, like SNC and CBL where there's a rarity layer, a fixed white layer, and a border. These are unlike the dual-layered symbols like AFR and MID.
* Validate all class names to handle official set codes, MODO codes, and MTGJson/community fallbacks * Validate all class names to handle official set codes, MODO codes, and MTGJson/community fallbacks
* Update this changelog for better formatting * Update this changelog for better formatting
* Review DSK and FDN SVG files to make sure they're single layer, and update docs if needed
## Versions ## Versions
### [3.15.0] 2024-08-21 FDN, DSK, and other fixes
Major thanks to @Horsty80 for the PR and patience! Thanks to @HeliumOctahelide as well for contributions.
* **Added:** Duskmourne set symbol (DSK) ([#232](https://github.com/andrewgioia/keyrune/issues/232))
* **Added:** Foundations set symbol (FND) ([#233](https://github.com/andrewgioia/keyrune/issues/233))
* **Added:** Map to MH2 retro frame set code ([#239](https://github.com/andrewgioia/keyrune/pull/239))
* **Fixed:** BLB now correctly displayed, no longer showing BLC ([#234](https://github.com/andrewgioia/keyrune/issues/234))
* **Changed:** Development dependendies in `package.json` for lessc, sass, and clean-css.
* **Added:** New contributing guide beginnings
### [3.14.1] 2024-03-04 Fixes docs for BIG, fixes .ttf for embedding ### [3.14.1] 2024-03-04 Fixes docs for BIG, fixes .ttf for embedding
* **Fixed:** Moved BIG to Expansions in docs ([#227](https://github.com/andrewgioia/keyrune/issues/227)) * **Fixed:** Moved BIG to Expansions in docs ([#227](https://github.com/andrewgioia/keyrune/issues/227))

22
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,22 @@
# How adding a new set icon
## Prerequisites
You need to have a icomoon account: https://icomoon.io/app/
For future steps, i recommande to import actual set of keyrune's icons in icomoon.
![import](./contributing/images/import-icon-btn.png)
A model asking for "The glyphs in your SVG font were loaded.
Use this font's metrics and metadata when exporting fonts?" will appear, click on "Yes".
![modal-import](./contributing/images/import-icon-modal.png)
🎉 Success, you have now all the keyrune's icons in your icomoon project. That will be useful for the next steps when we need to generate the font.
## Summary
1. [Update fonts and svg with the new icon](./contributing/UpdateFonts.md)
2. [Update codebase to handle the new icon](./contributing/UpdateCodebase.md)
3. [Generate associated css](./contributing/GenerateCss.md)
4. [Update the documentation](./contributing/UpdateDocumentation.md)

View File

@ -1,4 +1,4 @@
# Keyrune v3.14.0 # Keyrune v3.15.0
## The Magic: the Gathering set symbol font! ## The Magic: the Gathering set symbol font!

View File

@ -1,7 +1,7 @@
{ {
"name": "keyrune", "name": "keyrune",
"homepage": "http://keyrune.andrewgioia.com", "homepage": "http://keyrune.andrewgioia.com",
"version": "3.14.1", "version": "3.15.0",
"authors": [ "authors": [
"Andrew Gioia <andrew@gioia.email>" "Andrew Gioia <andrew@gioia.email>"
], ],

View File

@ -0,0 +1,26 @@
# Generate CSS
> Example with the set icon of the set "Foundation" (FDN)
## Steps
Generate the CSS files with the following commands:
```bash
npm run less && npm run lessmin
```
If you prefer to use the Sass source, run these instead:
```bash
npm run sass && npm run sassmin
```
2 files will be generated in the `css` folder: `keyrune.css` and `keyrune.min.css`.
![generate-css](./images/generate-css.png)
Yaay 🎉 you have generated the CSS files! Now you can use the new icon(s) that were added, if any. Follow the [Usage inside README.md](../README.md#usage)
---
**Go to the next step: [Update the documentation](./UpdateDocumentation.md)**
---

View File

@ -0,0 +1,33 @@
# Update Codebase
> Example with the set icon of the set "Foundation" (FDN)
## Prerequisites
You need to have `lessc` or `sass` installed on your computer.
## Steps
### Updating Sass source
1. Open the `sass/_variables.scss` file in the repository.
2. Add the new set icon in the `@keyrune-icons` list. (You can see that i add the short code `fdn` and the unicode character `1f31f`)
```diff
+ ("Foundations", "fdn", "\1f31f"),
```
### Updating Less source
3. Open the `less/icons.less` file in the repository.
4. Add the new set icon in the `@keyrune-icons` list. (You can see that i add the short code `fdn` and the unicode character `1f31f`)
```diff
+ .@{ss-prefix}-fdn:before { content: "\1f31f"; } // Foundation
```
Yaay 🎉 you have update the codebase now everything is ready only one steps to use the new icon
---
**Go to the next step: [Generate CSS](./GenerateCss.md)**
---

View File

@ -0,0 +1,34 @@
# Update existing documentation
After you have added a new set icon, update the codebase and generate the new `keyrune.css` file, you need to update the documentation to reflect the changes.
## Steps
1. Run this command
```bash
npm run build
```
This will copy fonts and css files to the `docs` folder.
2. Add the new icon usage inside the `cheatsheet.html`.
```diff
+ <div class="icon">
```
Replace `fdn` with the short code of the new icon.
3. Add the new icon usage inside the `icons.html`.
```diff
+ <div class="icon" id="fdn" name="Foundation" data-name="Foundation" data-class="fdn" data-unicode="x1f31f" data-added="v3.14.0">
+ <span class="name"><i class="ss ss-fdn"></i> Foundation <em>(fdn)</em></span>
+ </div>
```
Replace `fdn` with the short code of the new icon.
> A data attribute with the version is present, but i don't know how it's working. If you have info about it, please add it in this doc here. 🙏
You can open each html file in your browser to see the changes. Or use tools like `Live Server` in Visual Studio Code.
Normally you can see the changes in the `./cheatsheet.html` and `./icons.html` .
![cheatsheet.html](./images/cheatsheet-html.png) ![icons.html](./images/icons-html.png)
Yaay! You have successfully updated the documentation. 🎉
You can now commit your changes and create a pull request.

View File

@ -0,0 +1,54 @@
# Update Fonts
> Example with the set icon of the set "Foundation" (FDN)
## Steps
1. Search for the icon you want to add (from scryfall.com: https://svgs.scryfall.io/sets/fdn.svg) and download it (inspect DOM and copy/paste in a blank file). Save it in a temporary folder in your desktop.
2. In Icomoon, click on the "Import Icons" button. Select the previously downloaded icon. It will be added in a "Untilited Set".
![import-icon](./images/import-icon.png)
3. Now you need to select all the icons you want to add in the font + the new one. On top right of each section you can find a menu with "Select all" and "Deselect all".
![select-all](./images/select-all.png)
4. On the bottom of the page, you can check that you have the right number of icons selected. (Actual number + 1, the new one)
![check-number](./images/check-number.png)
5. You can now click on the "Generate Font" button. You will be redirect to a page whith all setting for each icon.
![generate-font](./images/generate-font.png)
6. Find your new icon and click on the "smiley" button to search for a unicode character and select it.
![icon-settings](./images/icon-settings.png)
🚧 Be sure to select a character that is not already used in the font.🚧
You can check how your icon will be displayed in the font by clicking on the "Get code </>" button.
![preview-icon](./images/preview-icon.png)
> If you have info about how to determine wich character is free, please add it in this doc here. 🙏
> What I do is when i have selected my unicode character, i search in all the codebase if it's already used. If not, i use it.
7. You can now donwload the font by clicking on the "Download" button. You get a zip file with all the files needed.
![download-font](./images/download-font.png)
8. Unzip the file and copy the `fonts` folder in the keyrune `fonts` folder. Normally you will have the `keyrune.eot`, `keyrune.svg`, `keyrune.ttf`, `keyrune.woff` files.
![fonts-folder](./images/fonts-folder.png)
Yaay 🎉 you have update the keyrune font! And have your new icon available.
---
**Go to the next step: [Update codebase to handle the new icon](./UpdateCodebase.md)**
---
## Extra steps
One files is missing inside the generated fonts, it's the `keyrune.woff2`. To get it you need to convert the `keyrune.woff` with online tools like [Cloudconvert](https://cloudconvert.com/woff-to-woff2)

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1485
css/keyrune.min.css vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -159,6 +159,7 @@
<span class="utf"><i>&#xe689;</i> ss-dpa <code>&amp;#xe689;</code></span> <span class="utf"><i>&#xe689;</i> ss-dpa <code>&amp;#xe689;</code></span>
<span class="utf"><i>&#xe678;</i> ss-drb <code>&amp;#xe678;</code></span> <span class="utf"><i>&#xe678;</i> ss-drb <code>&amp;#xe678;</code></span>
<span class="utf"><i>&#xe616;</i> ss-drk <code>&amp;#xe616;</code></span> <span class="utf"><i>&#xe616;</i> ss-drk <code>&amp;#xe616;</code></span>
<span class="utf"><i>&#xe9d7;</i> ss-dsk <code>&amp;#xe9d7;</code></span>
<span class="utf"><i>&#xe632;</i> ss-dst <code>&amp;#xe632;</code></span> <span class="utf"><i>&#xe632;</i> ss-dst <code>&amp;#xe632;</code></span>
<span class="utf"><i>&#xe693;</i> ss-dtk <code>&amp;#xe693;</code></span> <span class="utf"><i>&#xe693;</i> ss-dtk <code>&amp;#xe693;</code></span>
<span class="utf"><i>&#xe92d;</i> ss-e01 <code>&amp;#xe92d;</code></span> <span class="utf"><i>&#xe92d;</i> ss-e01 <code>&amp;#xe92d;</code></span>
@ -172,6 +173,7 @@
<span class="utf"><i>&#xe621;</i> ss-exo <code>&amp;#xe621;</code></span> <span class="utf"><i>&#xe621;</i> ss-exo <code>&amp;#xe621;</code></span>
<span class="utf"><i>&#xe69a;</i> ss-exp <code>&amp;#xe69a;</code></span> <span class="utf"><i>&#xe69a;</i> ss-exp <code>&amp;#xe69a;</code></span>
<span class="utf"><i>&#xe617;</i> ss-fem <code>&amp;#xe617;</code></span> <span class="utf"><i>&#xe617;</i> ss-fem <code>&amp;#xe617;</code></span>
<span class="utf"><i>&#xe9d8;</i> ss-fdn <code>&amp;#xe9d8;</code></span>
<span class="utf"><i>&#xe654;</i> ss-frf <code>&amp;#xe654;</code></span> <span class="utf"><i>&#xe654;</i> ss-frf <code>&amp;#xe654;</code></span>
<span class="utf"><i>&#xe63c;</i> ss-fut <code>&amp;#xe63c;</code></span> <span class="utf"><i>&#xe63c;</i> ss-fut <code>&amp;#xe63c;</code></span>
<span class="utf"><i>&#xe94b;</i> ss-gk1 <code>&amp;#xe94b;</code></span> <span class="utf"><i>&#xe94b;</i> ss-gk1 <code>&amp;#xe94b;</code></span>

Binary file not shown.

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 922 KiB

After

Width:  |  Height:  |  Size: 930 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -449,9 +449,15 @@
<div class="icon" id="big" name="The Big Score" data-name="The Big Score" data-class="big" data-unicode="e9d6" data-added="v3.14.0"> <div class="icon" id="big" name="The Big Score" data-name="The Big Score" data-class="big" data-unicode="e9d6" data-added="v3.14.0">
<span class="name"><i class="ss ss-big"></i> The Big Score <em>(big)</em></span> <span class="name"><i class="ss ss-big"></i> The Big Score <em>(big)</em></span>
</div> </div>
<div class="icon" id="blb" name="Bloomburrow" data-name="Bloomburrow" data-class="blb" data-unicode="e9cd" data-added="v3.14.0"> <div class="icon" id="blb" name="Bloomburrow" data-name="Bloomburrow" data-class="blb" data-unicode="e9cf" data-added="v3.15.0">
<span class="name"><i class="ss ss-blb"></i> Bloomburrow <em>(blb)</em></span> <span class="name"><i class="ss ss-blb"></i> Bloomburrow <em>(blb)</em></span>
</div> </div>
<div class="icon" id="dsk" name="Duskmourn: House of Horror" data-name="Duskmourn" data-class="dsk" data-unicode="e9d7" data-added="v3.15.0">
<span class="name"><i class="ss ss-dsk"></i> Duskmourn: House of Horror<em>(dsk)</em></span>
</div>
<div class="icon" id="fdn" name="Foundation" data-name="Foundation" data-class="fdn" data-unicode="e9d8" data-added="v3.15.0">
<span class="name"><i class="ss ss-fdn"></i> Foundation <em>(fdn)</em></span>
</div>
</div> </div>
</section> </section>
<section class="content"> <section class="content">

Binary file not shown.

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 922 KiB

After

Width:  |  Height:  |  Size: 930 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -177,6 +177,8 @@
.@{ss-prefix}-mkm:before { content: "\e9c9"; } // Murders at Karlov Manor .@{ss-prefix}-mkm:before { content: "\e9c9"; } // Murders at Karlov Manor
.@{ss-prefix}-otj:before { content: "\e9cc"; } // Outlaws of Thunder Junction .@{ss-prefix}-otj:before { content: "\e9cc"; } // Outlaws of Thunder Junction
.@{ss-prefix}-blb:before { content: "\e9cd"; } // Bloomburrow .@{ss-prefix}-blb:before { content: "\e9cd"; } // Bloomburrow
.@{ss-prefix}-dsk:before { content: "\e9d7"; } // Duskmourn: House of Horror
.@{ss-prefix}-fdn:before { content: "\e9d8"; } // Foundation
/** /**
* Command Zone */ * Command Zone */

View File

@ -2,6 +2,6 @@
* Global */ * Global */
@ss-font-path: '../fonts'; @ss-font-path: '../fonts';
@ss-version: '3.14.0'; @ss-version: '3.15.0';
@ss-font-size-base: 14px; @ss-font-size-base: 14px;
@ss-prefix: ss; @ss-prefix: ss;

698
package-lock.json generated
View File

@ -1,9 +1,703 @@
{ {
"name": "keyrune", "name": "keyrune",
"version": "3.7.1", "version": "3.15.0",
"lockfileVersion": 1, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": {
"": {
"name": "keyrune",
"version": "3.15.0",
"license": "(OFL-1.1 AND GPL-3.0-only)",
"devDependencies": {
"clean-css": "^5.3.3",
"lessc": "^1.0.2",
"sass": "^1.77.8",
"zepto": "^1.2.0"
},
"engines": {
"node": "*"
}
},
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
"dependencies": { "dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/binary-extensions": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
"dev": true,
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/braces": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"dependencies": {
"fill-range": "^7.1.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/chokidar": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
"glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.6.0"
},
"engines": {
"node": ">= 8.10.0"
},
"funding": {
"url": "https://paulmillr.com/funding/"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
}
},
"node_modules/clean-css": {
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz",
"integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==",
"dev": true,
"dependencies": {
"source-map": "~0.6.0"
},
"engines": {
"node": ">= 10.0"
}
},
"node_modules/copy-anything": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz",
"integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==",
"dev": true,
"dependencies": {
"is-what": "^3.14.1"
},
"funding": {
"url": "https://github.com/sponsors/mesqueeb"
}
},
"node_modules/errno": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
"integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
"dev": true,
"optional": true,
"dependencies": {
"prr": "~1.0.1"
},
"bin": {
"errno": "cli.js"
}
},
"node_modules/fill-range": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"dependencies": {
"to-regex-range": "^5.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
"hasInstallScript": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"dependencies": {
"is-glob": "^4.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"dev": true,
"optional": true
},
"node_modules/image-size": {
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
"integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
"dev": true,
"optional": true,
"bin": {
"image-size": "bin/image-size.js"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/immutable": {
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz",
"integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==",
"dev": true
},
"node_modules/is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
"dependencies": {
"binary-extensions": "^2.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"dependencies": {
"is-extglob": "^2.1.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
"engines": {
"node": ">=0.12.0"
}
},
"node_modules/is-what": {
"version": "3.14.1",
"resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz",
"integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
"dev": true
},
"node_modules/less": {
"version": "3.13.1",
"resolved": "https://registry.npmjs.org/less/-/less-3.13.1.tgz",
"integrity": "sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==",
"dev": true,
"dependencies": {
"copy-anything": "^2.0.1",
"tslib": "^1.10.0"
},
"bin": {
"lessc": "bin/lessc"
},
"engines": {
"node": ">=6"
},
"optionalDependencies": {
"errno": "^0.1.1",
"graceful-fs": "^4.1.2",
"image-size": "~0.5.0",
"make-dir": "^2.1.0",
"mime": "^1.4.1",
"native-request": "^1.0.5",
"source-map": "~0.6.0"
}
},
"node_modules/lessc": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/lessc/-/lessc-1.0.2.tgz",
"integrity": "sha512-cv7EXQRiD3Cu2Vsy3S9C89G01kOv0TrLQMoWHxscCgkMYdhEvknhaINeQkZbPmUlJ87AEzjPm0y/14Cg9j7/ug==",
"dev": true,
"dependencies": {
"less": "^3.9.0"
}
},
"node_modules/make-dir": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
"integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
"dev": true,
"optional": true,
"dependencies": {
"pify": "^4.0.1",
"semver": "^5.6.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true,
"optional": true,
"bin": {
"mime": "cli.js"
},
"engines": {
"node": ">=4"
}
},
"node_modules/native-request": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/native-request/-/native-request-1.1.0.tgz",
"integrity": "sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw==",
"dev": true,
"optional": true
},
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"engines": {
"node": ">=8.6"
},
"funding": {
"url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/pify": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
"dev": true,
"optional": true,
"engines": {
"node": ">=6"
}
},
"node_modules/prr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
"integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
"dev": true,
"optional": true
},
"node_modules/readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"dependencies": {
"picomatch": "^2.2.1"
},
"engines": {
"node": ">=8.10.0"
}
},
"node_modules/sass": {
"version": "1.77.8",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz",
"integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==",
"dev": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
"source-map-js": ">=0.6.2 <2.0.0"
},
"bin": {
"sass": "sass.js"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/semver": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true,
"optional": true,
"bin": {
"semver": "bin/semver"
}
},
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-js": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"dependencies": {
"is-number": "^7.0.0"
},
"engines": {
"node": ">=8.0"
}
},
"node_modules/tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
"dev": true
},
"node_modules/zepto": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/zepto/-/zepto-1.2.0.tgz",
"integrity": "sha1-4Se9nmb9hGvl6rSME5SIL3wOT5g=",
"dev": true
}
},
"dependencies": {
"anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
"requires": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
}
},
"binary-extensions": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
"dev": true
},
"braces": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"requires": {
"fill-range": "^7.1.1"
}
},
"chokidar": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
"requires": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
"fsevents": "~2.3.2",
"glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.6.0"
}
},
"clean-css": {
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz",
"integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==",
"dev": true,
"requires": {
"source-map": "~0.6.0"
}
},
"copy-anything": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz",
"integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==",
"dev": true,
"requires": {
"is-what": "^3.14.1"
}
},
"errno": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
"integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
"dev": true,
"optional": true,
"requires": {
"prr": "~1.0.1"
}
},
"fill-range": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"requires": {
"to-regex-range": "^5.0.1"
}
},
"fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
"optional": true
},
"glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
}
},
"graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"dev": true,
"optional": true
},
"image-size": {
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
"integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
"dev": true,
"optional": true
},
"immutable": {
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz",
"integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==",
"dev": true
},
"is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
"requires": {
"binary-extensions": "^2.0.0"
}
},
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true
},
"is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"requires": {
"is-extglob": "^2.1.1"
}
},
"is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
"is-what": {
"version": "3.14.1",
"resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz",
"integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
"dev": true
},
"less": {
"version": "3.13.1",
"resolved": "https://registry.npmjs.org/less/-/less-3.13.1.tgz",
"integrity": "sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==",
"dev": true,
"requires": {
"copy-anything": "^2.0.1",
"errno": "^0.1.1",
"graceful-fs": "^4.1.2",
"image-size": "~0.5.0",
"make-dir": "^2.1.0",
"mime": "^1.4.1",
"native-request": "^1.0.5",
"source-map": "~0.6.0",
"tslib": "^1.10.0"
}
},
"lessc": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/lessc/-/lessc-1.0.2.tgz",
"integrity": "sha512-cv7EXQRiD3Cu2Vsy3S9C89G01kOv0TrLQMoWHxscCgkMYdhEvknhaINeQkZbPmUlJ87AEzjPm0y/14Cg9j7/ug==",
"dev": true,
"requires": {
"less": "^3.9.0"
}
},
"make-dir": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
"integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
"dev": true,
"optional": true,
"requires": {
"pify": "^4.0.1",
"semver": "^5.6.0"
}
},
"mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true,
"optional": true
},
"native-request": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/native-request/-/native-request-1.1.0.tgz",
"integrity": "sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw==",
"dev": true,
"optional": true
},
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true
},
"picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true
},
"pify": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
"dev": true,
"optional": true
},
"prr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
"integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
"dev": true,
"optional": true
},
"readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"requires": {
"picomatch": "^2.2.1"
}
},
"sass": {
"version": "1.77.8",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz",
"integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==",
"dev": true,
"requires": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
"source-map-js": ">=0.6.2 <2.0.0"
}
},
"semver": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true,
"optional": true
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"source-map-js": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
"dev": true
},
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"requires": {
"is-number": "^7.0.0"
}
},
"tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
"dev": true
},
"zepto": { "zepto": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/zepto/-/zepto-1.2.0.tgz", "resolved": "https://registry.npmjs.org/zepto/-/zepto-1.2.0.tgz",

View File

@ -1,7 +1,7 @@
{ {
"name": "keyrune", "name": "keyrune",
"description": "Keyrune", "description": "Keyrune",
"version": "3.14.1", "version": "3.15.0",
"author": { "author": {
"name": "Andrew Gioia", "name": "Andrew Gioia",
"email": "andrew@gioia.email", "email": "andrew@gioia.email",
@ -20,8 +20,12 @@
}, },
"keywords": [], "keywords": [],
"homepage": "https://keyrune.andrewgioia.com", "homepage": "https://keyrune.andrewgioia.com",
"dependencies": {}, "dependencies": {
},
"devDependencies": { "devDependencies": {
"clean-css": "^5.3.3",
"lessc": "^1.0.2",
"sass": "^1.77.8",
"zepto": "^1.2.0" "zepto": "^1.2.0"
}, },
"license": "(OFL-1.1 AND GPL-3.0-only)", "license": "(OFL-1.1 AND GPL-3.0-only)",

View File

@ -73,9 +73,10 @@
width: 100%; width: 100%;
} }
& {
// set default inner to white unless a rarity is declared // set default inner to white unless a rarity is declared
color: #fff; color: #fff;
}
// sets // sets
@each $code, $glyph in $dual-layered { @each $code, $glyph in $dual-layered {
&.#{$keyrune_prefix}-#{$code}::after { &.#{$keyrune_prefix}-#{$code}::after {

View File

@ -1,7 +1,7 @@
/** /**
* Globals */ * Globals */
$keyrune_version: '3.13.1' !default; $keyrune_version: '3.15.0' !default;
$keyrune_font_path: '../fonts' !default; $keyrune_font_path: '../fonts' !default;
// font specific // font specific
@ -245,7 +245,8 @@ $keyrune_sets: (
("Murders at Karlov Manor", "mkm", "\e9c9"), ("Murders at Karlov Manor", "mkm", "\e9c9"),
("Outlaws of Thunder Junction", "otj", "\e9cc"), ("Outlaws of Thunder Junction", "otj", "\e9cc"),
("Bloomburrow", "blb", "\e9cd"), ("Bloomburrow", "blb", "\e9cd"),
// ("Duskmourn: House of Horror", "dsk", "\e9d7"),
("Foundations", "fdn", "\e9d8"),
// Command zone // Command zone
("Vanguard", "van", "\e655"), ("Vanguard", "van", "\e655"),
("Planechase 2009", "hop", "\e656"), ("Planechase 2009", "hop", "\e656"),
@ -295,7 +296,7 @@ $keyrune_sets: (
("Lost Caverns of Ixalan Commander", "lcc", "\e9c7"), ("Lost Caverns of Ixalan Commander", "lcc", "\e9c7"),
("Murders at Karlov Manor Commander", "mkc", "\e9ca"), ("Murders at Karlov Manor Commander", "mkc", "\e9ca"),
("Outlaws of Thunder Junction Commander", "otc", "\e9d2"), ("Outlaws of Thunder Junction Commander", "otc", "\e9d2"),
("Bloomburrow Commander", "blb", "\e9d4"), ("Bloomburrow Commander", "blc", "\e9d4"),
("Modern Horizons 3 Commander", "m3c", "\e9d0"), ("Modern Horizons 3 Commander", "m3c", "\e9d0"),
// //
// Reprint sets // Reprint sets
@ -329,6 +330,7 @@ $keyrune_sets: (
("Special Guests", "spg", "\e9c8"), ("Special Guests", "spg", "\e9c8"),
("Breaking News", "otp", "\e9d5"), ("Breaking News", "otp", "\e9d5"),
("The Big Score", "big", "\e9d6"), ("The Big Score", "big", "\e9d6"),
("Modern Horizons 2 Timeshifts", "h2r", "\e97b"),
// //
// Beginner // Beginner
("Portal", "por", "\e664"), ("Portal", "por", "\e664"),

9
svg/dsk.svg Normal file
View File

@ -0,0 +1,9 @@
<!-- Generated by IcoMoon.io -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="1169" height="1024" viewBox="0 0 1169 1024">
<g id="icomoon-ignore">
</g>
<path fill="#000" d="M135.339 298.837c-43.349 4.096-85.163 19.797-103.424 38.741l-6.485 6.656 11.605 1.195c24.747 2.56 61.781 14.336 82.432 26.624 16.555 9.728 24.064 15.531 36.864 28.501 24.064 24.235 44.203 59.733 59.392 104.619 10.923 32.597 13.653 49.664 12.288 80.213-0.512 13.653-1.365 26.453-2.048 28.672l-1.195 3.925 9.216-3.755c15.36-6.144 27.136-9.557 49.493-14.165 34.645-6.997 58.88-9.557 121.003-12.117 32.427-1.365 61.952-3.243 65.877-4.267 32.427-7.68 45.227-28.331 52.736-85.163 3.925-29.184 7.339-42.155 14.677-57.003 3.755-7.168 6.485-13.141 6.144-13.141s-5.12 1.536-10.752 3.584c-12.8 4.608-41.472 6.315-55.125 3.243-17.579-3.925-33.109-12.971-72.192-42.496-45.568-34.133-63.317-44.373-106.325-61.781-54.955-22.187-78.336-28.843-114.517-32.256-20.651-1.877-29.013-1.877-49.664 0.171zM252.587 384.853c11.776 1.365 26.795 3.755 33.451 5.12 43.861 8.704 76.629 34.987 112.299 90.112 7.168 11.093 16.384 23.723 20.309 27.989 6.997 7.68 20.992 15.701 27.648 16.043 2.901 0 2.731 0.341-0.853 1.877-6.827 2.901-54.443 3.755-69.632 1.365-60.075-9.557-94.891-38.741-131.243-109.909-6.656-13.312-14.165-25.429-18.773-30.208l-7.509-8.021 6.485 1.365c3.584 0.853 16.043 2.731 27.819 4.267z"></path>
<path fill="#000" d="M264.533 412.331c0 3.072 16.896 25.941 27.477 37.205 19.627 20.992 39.253 35.328 61.44 44.544 12.8 5.461 31.403 9.899 29.184 7.168-34.475-46.080-67.584-73.045-104.448-85.675-13.995-4.779-13.653-4.608-13.653-3.243zM990.72 298.155c-33.28 2.731-58.88 9.045-101.547 25.429-56.661 21.675-77.824 33.28-122.88 67.925-38.741 29.867-50.688 37.035-70.827 42.837-13.653 4.096-43.52 2.731-57.856-2.389-5.632-1.877-10.411-3.584-10.752-3.584s2.048 5.12 5.291 11.605c7.851 15.531 10.752 26.112 13.824 50.517 6.997 53.419 17.237 77.483 37.376 87.040 14.677 6.997 21.333 7.851 82.091 10.411 79.36 3.413 122.539 9.216 157.696 21.675 23.893 8.363 22.016 8.875 20.139-5.803-2.56-21.333-0.512-57.856 4.608-76.629 15.36-58.197 45.909-111.616 78.848-138.24 28.16-22.699 68.608-39.424 105.301-43.349 6.315-0.683 11.435-1.877 11.435-2.56 0-2.048-12.629-12.971-20.821-18.091-29.355-18.603-87.893-30.549-131.925-26.795zM946.859 386.56c-5.461 5.291-11.605 15.019-19.968 31.403-31.573 61.269-58.197 88.235-101.717 102.229-23.381 7.68-38.059 9.387-67.755 8.363-14.336-0.512-28.331-1.707-31.232-2.56-4.949-1.707-4.949-1.707-0.683-1.877 7.851-0.341 21.675-8.704 29.355-17.749 4.096-4.949 14.165-19.115 22.187-31.403 23.893-36.523 52.224-63.659 78.336-75.435 15.36-6.997 26.453-9.557 63.659-14.677 17.749-2.56 32.768-4.779 33.109-5.291 0.341-0.341 1.195-0.683 1.536-0.683 0.512 0-2.56 3.413-6.827 7.68z"></path>
<path fill="#000" d="M893.952 415.403c-25.429 9.045-53.76 27.648-73.216 48.469-12.8 13.483-32.939 37.888-32.085 38.571 0.341 0.341 5.803-0.683 12.288-2.389 25.771-6.827 56.832-26.112 77.312-48.128 15.36-16.725 32.256-40.619 28.501-40.619-0.853 0-6.485 1.877-12.8 4.096zM577.024 406.528c-8.192 11.264-21.675 38.4-27.477 55.637-8.021 23.893-6.485 37.035 6.315 55.979 11.435 16.896 15.701 25.088 22.528 43.52 6.656 17.237 6.827 17.579 8.704 12.629 7.168-19.968 13.483-33.451 20.651-44.885 15.189-24.064 17.749-30.549 17.579-43.861 0-17.579-10.752-45.909-27.477-72.533-10.069-16.043-13.141-16.896-20.821-6.485zM532.48 522.581c0 6.485-9.557 32.939-15.872 44.032-15.872 27.819-29.355 34.133-81.408 37.547-37.205 2.389-57.856 4.608-64.512 6.997-4.267 1.365-5.632 3.072-6.656 8.021-1.536 6.997-1.877 64.512-0.341 65.877 0.512 0.512 6.144-0.853 12.8-3.243 36.181-12.459 69.291-18.261 104.96-18.261h26.795l13.483-10.752c23.552-18.773 33.28-34.645 36.523-59.051 2.901-20.821 0.171-34.133-10.581-52.907-4.608-8.192-9.899-16.725-11.776-18.944l-3.243-3.925-0.171 4.608zM629.077 530.432c-15.189 23.381-17.237 29.355-17.237 50.688 0.171 23.723 3.243 34.645 14.165 48.981 4.437 5.973 14.507 16.043 22.528 22.357l14.507 11.776 15.189-0.853c32.597-1.707 70.485 3.925 107.52 16.043 11.264 3.755 20.651 6.315 20.992 5.973 2.048-1.877 2.389-49.323 0.683-60.245-2.048-11.605-2.389-12.459-7.509-13.995-9.557-2.901-14.848-3.584-54.272-6.144-41.643-2.731-61.44-6.485-71.168-13.483-14.336-10.24-30.037-38.4-35.157-63.317l-2.219-10.24-8.021 12.459z"></path>
<path fill="#000" d="M337.92 631.296c-11.947 11.776-20.651 28.16-24.917 47.445-4.096 18.603-2.56 55.296 3.243 77.312 5.291 20.651 15.872 45.227 27.307 64.512l8.875 14.848 1.195-13.824c1.365-17.237 3.755-25.941 10.24-39.083 14.336-28.331 40.107-57.344 66.219-74.581 8.021-5.291 23.040-13.824 33.621-19.115 10.411-5.291 19.627-10.411 20.309-11.605 0.853-1.365-2.731-1.707-14.677-0.853-28.843 2.048-73.216 12.8-101.035 24.405-5.461 2.219-10.581 4.096-11.435 4.096-3.243 0-7.509-38.229-6.656-61.269 0.341-12.288 0-22.357-0.683-22.357s-5.973 4.437-11.605 10.069zM820.395 642.901c0.683 15.872 0.171 26.795-2.048 40.448-3.925 25.088-3.072 23.893-12.459 19.115-12.288-6.144-43.861-15.872-67.413-20.651-25.088-5.12-53.589-7.509-51.712-4.608 0.683 1.195 10.24 6.656 21.333 12.288 25.088 12.8 37.035 20.48 52.224 33.621 20.48 17.579 42.325 47.275 50.517 68.779 2.048 5.12 4.608 17.067 5.632 26.453l1.877 17.067 8.021-13.653c43.008-73.216 45.397-152.064 6.144-190.464-5.803-5.461-10.923-10.069-11.605-10.069s-0.853 9.728-0.512 21.675z"></path>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB