Move to self-hosted Gitea, update dependencies, clean up stuff.

This commit is contained in:
Bauke 2020-08-06 14:47:06 +02:00
parent 21c2ea2a1d
commit b8bd49ff94
Signed by: Bauke
GPG Key ID: C1C0F29952BCF558
32 changed files with 5297 additions and 1631 deletions

View File

@ -1,30 +0,0 @@
.common:
image: node:12
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- node_modules/
before_script:
- node --version
- yarn --version
- yarn
test:
extends: .common
stage: test
script:
- yarn test
pages:
extends: .common
stage: deploy
only:
- master@holllo/love
script:
- yarn build
- cp 'public/index.html' 'public/404.html'
# Copy various theme output files over so they're available through the website.
- yarn copy-themes
artifacts:
paths:
- public

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
The MIT License
Copyright (c) 2020 Holllo <helllo@holllo.cc>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -1,7 +0,0 @@
Copyright 2020 Holllo <helllo@holllo.cc>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

34
PUBLISHING.md Normal file
View File

@ -0,0 +1,34 @@
# Publishing
This document mainly exists so I ([Bauke](https://bauke.xyz)) remember how to go about publishing Love since it's a little complicated for certain platforms.
## Published to platforms
The following sections assume you have previously published a version, but are starting from a completely fresh repository.
### Atom
Requires the [Atom Package Manager](https://github.com/atom/apm) to be installed.
1. Clone all the `love-...` repositories from [the GitHub organization](https://github.com/Holllo) into `source/atom/`. The directories created will be gitignored in the current repository.
2. Build the Atom theme by running `yarn build` (or `yarn build:atom`).
3. Change into each directory (`cd source/atom/love-...`) and review the changes.
4. When satisfied, use `apm publish major|minor|patch` to publish to the Atom Package Registry and the GitHub repositories.
### Visual Studio Code
1. Run `yarn build` (or `yarn build:vscode`).
2. Change into the VS Code source directory (`cd source/vscode/`).
3. Run `yarn package` to create the `.vsix` package.
4. Head to [the Marketplace Manage Extensions page](https://marketplace.visualstudio.com/manage/publishers).
5. Click on the `...` next to the current version and click on `Update`.
6. Upload the `.vsix` that was created in step 3.
## Published to the website
The following integrations aren't yet/can't be published to platforms, so mostly no special procedure needs to happen. They are just built and served on the website directly.
* Firefox (if updated, the links need to be updated on the website too, may get published [to AMO](https://git.holllo.cc/Holllo/love/issues/1)).
* Kitty.
* Sublime Text (may get published [at some point](https://git.holllo.cc/Holllo/love/issues/2)).
* Tauon.

19
README.md Normal file
View File

@ -0,0 +1,19 @@
# Love
> A color scheme for you to love. ♡
[![Netlify deploy status](https://api.netlify.com/api/v1/badges/255a4cea-e3fe-4e0f-8450-b8c4ce46f7a0/deploy-status)](https://app.netlify.com/sites/holllo-love/deploys)
## Installation
See [the Love website](https://love.holllo.cc#get) for installation guides.
## Building
To build the themes and the site, [Node](https://nodejs.org) and [Yarn](https://yarnpkg.com) are required.
Then, run `yarn build` to build everything at once. The results will be put in the `public/` directory.
## License
Open-sourced with the [MIT license](https://git.holllo.cc/Holllo/love/src/branch/main/LICENSE).

View File

@ -1,22 +0,0 @@
# Love
> A color scheme for you to love. ♡ https://love.holllo.cc
## Get
### File Formats
* [JSON](https://love.holllo.cc/love.json)
### Software
* [Atom](https://love.holllo.cc/get/atom.html)
* [Firefox](https://love.holllo.cc/get/firefox.html)
* [Kitty](https://love.holllo.cc/get/kitty.html)
* [Sublime Text](https://love.holllo.cc/get/sublime-text.html)
* [Tauon](https://love.holllo.cc/get/tauon.html)
* [Visual Studio Code](https://love.holllo.cc/get/vscode.html)
## License
Open-sourced with [the MIT License](License).

View File

@ -1,10 +1,11 @@
{
"name": "love",
"description": "A color scheme for you to love. ♡",
"version": "0.1.0",
"license": "MIT",
"author": "Holllo <helllo@holllo.cc>",
"homepage": "https://love.holllo.cc",
"repository": "https://gitlab.com/holllo/love",
"repository": "https://git.holllo.cc/Holllo/love",
"license": "MIT",
"scripts": {
"build": "yarn build:atom && yarn build:images && yarn build:kitty && yarn build:pages && yarn build:sublime-text && yarn build:tauon && yarn build:vscode && yarn copy-themes",
"build:atom": "ts-node 'source/scripts/atom.ts'",
@ -17,42 +18,44 @@
"watch:atom": "chokidar 'source/atom/*.less' 'source/atom/ui-template/*.less' -c 'yarn build:atom'",
"watch:vscode": "chokidar 'source/vscode/themes/love-template.color-theme.json' -c 'yarn build:vscode'",
"copy-themes": "cp 'source/kitty/love-kitty.zip' 'public/' && cp 'source/sublime-text/Love.sublime-package' 'public/' && cp 'source/tauon/love-tauon.zip' 'public/'",
"test": "xo && stylelint 'source/pages/scss/**'"
"test": "xo && stylelint 'source/pages/scss/**'",
"deploy": "rm -rf 'public/' && yarn build && yarn deploy:netlify",
"deploy:netlify": "netlify deploy --prod --dir 'public/' -s 255a4cea-e3fe-4e0f-8450-b8c4ce46f7a0"
},
"dependencies": {
"modern-normalize": "^0.6.0"
"modern-normalize": "^0.7.0"
},
"devDependencies": {
"@types/jszip": "^3.1.7",
"@types/marked": "^0.7.4",
"@types/marked": "^1.1.0",
"@types/nunjucks": "^3.1.3",
"@types/prompts": "^2.0.5",
"@types/prompts": "^2.0.8",
"@types/refractor": "^2.8.0",
"@types/sass": "^1.16.0",
"@types/semver": "^7.1.0",
"@types/semver": "^7.3.1",
"@types/tar": "^4.0.3",
"chokidar-cli": "^2.1.0",
"cpy": "^8.1.0",
"cpy-cli": "^3.1.0",
"cpy-cli": "^3.1.1",
"hsluv": "^0.1.0",
"hsluv-sass": "^1.0.0",
"htmlclean": "^3.0.8",
"jszip": "^3.3.0",
"marked": "^0.8.2",
"husky": "^4.2.5",
"jszip": "^3.5.0",
"marked": "^1.1.1",
"mathsass": "^0.11.0",
"nunjucks": "^3.2.1",
"netlify-cli": "^2.59.0",
"nunjucks": "^3.2.2",
"prompts": "^2.3.2",
"refractor": "^3.0.0",
"rehype": "^10.0.0",
"sass": "^1.26.3",
"rehype": "^11.0.0",
"sass": "^1.26.10",
"semver": "^7.3.2",
"stylelint": "^13.2.1",
"stylelint-config-xo-scss": "^0.12.0",
"stylelint": "^13.6.1",
"stylelint-config-xo-scss": "^0.13.0",
"stylelint-config-xo-space": "^0.14.0",
"tar": "^6.0.1",
"ts-node": "^8.7.0",
"typescript": "^3.8.3",
"xo": "^0.28.0"
"ts-node": "^8.10.2",
"typescript": "^3.9.7",
"xo": "^0.32.1"
},
"stylelint": {
"extends": [
@ -61,6 +64,7 @@
],
"ignoreFiles": [
"source/atom/**/*.less",
"source/**/*.ts",
"public/css/**"
],
"rules": {
@ -76,5 +80,11 @@
"no-await-in-loop": "off"
},
"space": true
},
"husky": {
"hooks": {
"pre-commit": "yarn test",
"pre-push": "yarn test"
}
}
}

View File

@ -11,4 +11,4 @@
## License
Open-sourced with [the MIT License](https://gitlab.com/holllo/love/-/blob/master/License).
Open-sourced with the [MIT license](https://git.holllo.cc/Holllo/love/src/branch/main/LICENSE).

View File

@ -8,22 +8,22 @@
<section class="images-section">
<div class="is-dark">
![Love Dark Preview 1](../images/atom/love-dark-01.png)
![Love Dark Preview 1](/images/atom/love-dark-01.png)
</div>
<div class="is-light">
![Love Light Preview 1](../images/atom/love-light-01.png)
![Love Light Preview 1](/images/atom/love-light-01.png)
</div>
<div class="is-dark">
![Love Dark Preview 2](../images/atom/love-dark-02.png)
![Love Dark Preview 2](/images/atom/love-dark-02.png)
</div>
<div class="is-light">
![Love Light Preview 2](../images/atom/love-light-02.png)
![Love Light Preview 2](/images/atom/love-light-02.png)
</div>
</section>

View File

@ -2,11 +2,10 @@
"name": "love",
"description": "A color scheme for you to love. ♡",
"version": "0.1.2",
"license": "MIT",
"author": "Holllo <helllo@holllo.cc>",
"homepage": "https://love.holllo.cc",
"repository": "https://gitlab.com/holllo/love",
"bugs": "https://gitlab.com/holllo/love/issues",
"repository": "https://git.holllo.cc/Holllo/love",
"license": "MIT",
"theme": "",
"engines": {
"atom": ">=1.0.0 <2.0.0"

View File

@ -8,12 +8,12 @@
<section class="images-section">
<div class="is-dark">
![Love Dark Preview 1](../images/firefox/love-dark-01.png)
![Love Dark Preview 1](/images/firefox/love-dark-01.png)
</div>
<div class="is-light">
![Love Light Preview 1](../images/firefox/love-light-01.png)
![Love Light Preview 1](/images/firefox/love-light-01.png)
</div>
</section>

View File

@ -8,12 +8,12 @@
<section class="images-section">
<div class="is-dark">
![Love Dark Preview 1](../images/kitty/love-dark-01.png)
![Love Dark Preview 1](/images/kitty/love-dark-01.png)
</div>
<div class="is-light">
![Love Light Preview 1](../images/kitty/love-light-01.png)
![Love Light Preview 1](/images/kitty/love-light-01.png)
</div>
</section>
@ -27,7 +27,7 @@
<div class="is-dark padded">
1. Download [the Love theme zip](../love-kitty.zip).
1. Download [the Love theme zip](/love-kitty.zip).
1. Unzip it in [the Kitty configuration directory](https://sw.kovidgoyal.net/kitty/conf.html).
1. Add the following line your `kitty.conf`.
* For Dark add `include love-dark.conf`

Binary file not shown.

Binary file not shown.

View File

@ -5,8 +5,9 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ title }}</title>
<link href="../css/style.css" rel="stylesheet">
<link rel="shortcut icon" href="../images/love-mark-square.png" type="image/x-icon">
<link rel="stylesheet" href="/css/modern-normalize.css">
<link href="/css/style.css" rel="stylesheet">
<link rel="shortcut icon" href="/images/love-mark-square.png" type="image/x-icon">
</head>
<body id="get-love-page">
@ -17,12 +18,12 @@
<footer>
<div>
<a class="hide-external" href="https://holllo.cc">
<img src="../images/holllo-mark.png" alt="Made by Holllo">
<img src="/images/holllo-mark.png" alt="Made by Holllo">
</a>
</div>
<div>
<a id="liberapay-button" class="hide-external" href="https://liberapay.com/Holllo/donate">
<img src="../images/liberapay-button.svg" alt="Support Holllo via LiberaPay">
<img src="/images/liberapay-button.svg" alt="Support Holllo via LiberaPay">
</a>
</div>
</footer>

View File

@ -5,8 +5,9 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>The Love Color Scheme</title>
<link href="css/style.css" rel="stylesheet">
<link rel="shortcut icon" href="images/love-mark-square.png" type="image/x-icon">
<link rel="stylesheet" href="/css/modern-normalize.css">
<link href="/css/style.css" rel="stylesheet">
<link rel="shortcut icon" href="/images/love-mark-square.png" type="image/x-icon">
</head>
<body>
@ -36,10 +37,10 @@
</div>
<div class="goal">
<h3 class="goal-title">
<a href="https://gitlab.com/holllo/love">Free and open-source.</a>
<a href="https://git.holllo.cc/Holllo/love">Free and open-source.</a>
</h3>
<p>
Open-sourced with the MIT License, because everyone deserves love.
Open-sourced with the MIT license, because everyone deserves love.
</p>
</div>
<div class="goal light">
@ -136,9 +137,7 @@
color customization is possible, and we'll spread the love together.
</p>
<p>
Your suggestions are welcome at Love's
<a href="https://gitlab.com/holllo/love/issues">issue tracker</a>
and through email at
Your suggestions are welcome via email at
<a href="mailto:love@holllo.cc">love@holllo.cc</a>.
</p>
</div>
@ -148,7 +147,7 @@
</h3>
<ul>
<li>
<a href="love.json">JSON</a>
<a href="/love.json">JSON</a>
</li>
</ul>
</div>
@ -158,22 +157,22 @@
</h3>
<ul>
<li>
<a href="get/atom.html">Atom</a>
<a href="/get/atom">Atom</a>
</li>
<li>
<a href="get/firefox.html">Firefox</a>
<a href="/get/firefox">Firefox</a>
</li>
<li>
<a href="get/kitty.html">Kitty</a>
<a href="/get/kitty">Kitty</a>
</li>
<li>
<a href="get/sublime-text.html">Sublime Text</a>
<a href="/get/sublime-text">Sublime Text</a>
</li>
<li>
<a href="get/tauon.html">Tauon Music Box</a>
<a href="/get/tauon">Tauon Music Box</a>
</li>
<li>
<a href="get/vscode.html">Visual Studio Code</a>
<a href="/get/vscode">Visual Studio Code</a>
</li>
</ul>
</div>
@ -186,18 +185,6 @@
<div class="divider"></div>
<section id="attributions">
<h2 class="light">Attributions</h2>
<div class="border">
<h3>
<a href="https://rsms.me/inter/">Inter</a>
</h3>
<p>Excellent OFL 1.1 licensed sans-serif font.</p>
</div>
<div class="light monospace">
<h3>
<a href="https://github.com/i-tu/Hasklig/">Hasklig</a>
</h3>
<p>OFL 1.1 licensed monospace font with ligatures.</p>
</div>
<div class="border">
<h3>
<a href="https://www.hsluv.org/">HSLuv</a>
@ -209,12 +196,12 @@
<footer>
<div>
<a class="hide-external" href="https://holllo.cc">
<img src="images/holllo-mark.png" alt="Made by Holllo">
<img src="/images/holllo-mark.png" alt="Made by Holllo">
</a>
</div>
<div>
<a id="liberapay-button" class="hide-external" href="https://liberapay.com/Holllo/donate">
<img src="images/liberapay-button.svg" alt="Support Holllo via LiberaPay">
<img src="/images/liberapay-button.svg" alt="Support Holllo via LiberaPay">
</a>
</div>
</footer>

View File

@ -1,263 +0,0 @@
// Inter
@font-face {
font-family: Inter;
font-style: normal;
font-weight: 100;
font-display: swap;
src:
url('../fonts/Inter/Inter-Thin-BETA.woff2') format('woff2'),
url('../fonts/Inter/Inter-Thin-BETA.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: italic;
font-weight: 100;
font-display: swap;
src:
url('../fonts/Inter/Inter-ThinItalic-BETA.woff2') format('woff2'),
url('../fonts/Inter/Inter-ThinItalic-BETA.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: normal;
font-weight: 200;
font-display: swap;
src:
url('../fonts/Inter/Inter-ExtraLight-BETA.woff2') format('woff2'),
url('../fonts/Inter/Inter-ExtraLight-BETA.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: italic;
font-weight: 200;
font-display: swap;
src:
url('../fonts/Inter/Inter-ExtraLightItalic-BETA.woff2') format('woff2'),
url('../fonts/Inter/Inter-ExtraLightItalic-BETA.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: normal;
font-weight: 300;
font-display: swap;
src:
url('../fonts/Inter/Inter-Light-BETA.woff2') format('woff2'),
url('../fonts/Inter/Inter-Light-BETA.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: italic;
font-weight: 300;
font-display: swap;
src:
url('../fonts/Inter/Inter-LightItalic-BETA.woff2') format('woff2'),
url('../fonts/Inter/Inter-LightItalic-BETA.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: normal;
font-weight: normal;
font-display: swap;
src:
url('../fonts/Inter/Inter-Regular.woff2') format('woff2'),
url('../fonts/Inter/Inter-Regular.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: italic;
font-weight: normal;
font-display: swap;
src:
url('../fonts/Inter/Inter-Italic.woff2') format('woff2'),
url('../fonts/Inter/Inter-Italic.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: normal;
font-weight: 500;
font-display: swap;
src:
url('../fonts/Inter/Inter-Medium.woff2') format('woff2'),
url('../fonts/Inter/Inter-Medium.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: italic;
font-weight: 500;
font-display: swap;
src:
url('../fonts/Inter/Inter-MediumItalic.woff2') format('woff2'),
url('../fonts/Inter/Inter-MediumItalic.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: normal;
font-weight: 600;
font-display: swap;
src:
url('../fonts/Inter/Inter-SemiBold.woff2') format('woff2'),
url('../fonts/Inter/Inter-SemiBold.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: italic;
font-weight: 600;
font-display: swap;
src:
url('../fonts/Inter/Inter-SemiBoldItalic.woff2') format('woff2'),
url('../fonts/Inter/Inter-SemiBoldItalic.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: normal;
font-weight: bold;
font-display: swap;
src:
url('../fonts/Inter/Inter-Bold.woff2') format('woff2'),
url('../fonts/Inter/Inter-Bold.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: italic;
font-weight: bold;
font-display: swap;
src:
url('../fonts/Inter/Inter-BoldItalic.woff2') format('woff2'),
url('../fonts/Inter/Inter-BoldItalic.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: normal;
font-weight: 800;
font-display: swap;
src:
url('../fonts/Inter/Inter-ExtraBold.woff2') format('woff2'),
url('../fonts/Inter/Inter-ExtraBold.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: italic;
font-weight: 800;
font-display: swap;
src:
url('../fonts/Inter/Inter-ExtraBoldItalic.woff2') format('woff2'),
url('../fonts/Inter/Inter-ExtraBoldItalic.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: normal;
font-weight: 900;
font-display: swap;
src:
url('../fonts/Inter/Inter-Black.woff2') format('woff2'),
url('../fonts/Inter/Inter-Black.woff') format('woff');
}
@font-face {
font-family: Inter;
font-style: italic;
font-weight: 900;
font-display: swap;
src:
url('../fonts/Inter/Inter-BlackItalic.woff2') format('woff2'),
url('../fonts/Inter/Inter-BlackItalic.woff') format('woff');
}
// Hasklig
@font-face {
font-family: Hasklig;
font-style: normal;
font-weight: 200;
font-display: swap;
src: url('../fonts/Hasklig/Hasklig-ExtraLight.otf') format('opentype');
}
@font-face {
font-family: Hasklig;
font-style: italic;
font-weight: 200;
font-display: swap;
src: url('../fonts/Hasklig/Hasklig-ExtraLightIt.otf') format('opentype');
}
@font-face {
font-family: Hasklig;
font-style: normal;
font-weight: 300;
font-display: swap;
src: url('../fonts/Hasklig/Hasklig-Light.otf') format('opentype');
}
@font-face {
font-family: Hasklig;
font-style: italic;
font-weight: 300;
font-display: swap;
src: url('../fonts/Hasklig/Hasklig-LightIt.otf') format('opentype');
}
@font-face {
font-family: Hasklig;
font-style: normal;
font-weight: normal;
font-display: swap;
src: url('../fonts/Hasklig/Hasklig-Regular.otf') format('opentype');
}
@font-face {
font-family: Hasklig;
font-style: italic;
font-weight: normal;
font-display: swap;
src: url('../fonts/Hasklig/Hasklig-It.otf') format('opentype');
}
@font-face {
font-family: Hasklig;
font-style: normal;
font-weight: 500;
font-display: swap;
src: url('../fonts/Hasklig/Hasklig-Medium.otf') format('opentype');
}
@font-face {
font-family: Hasklig;
font-style: italic;
font-weight: 500;
font-display: swap;
src: url('../fonts/Hasklig/Hasklig-MediumIt.otf') format('opentype');
}
@font-face {
font-family: Hasklig;
font-style: normal;
font-weight: 600;
font-display: swap;
src: url('../fonts/Hasklig/Hasklig-SemiBold.otf') format('opentype');
}
@font-face {
font-family: Hasklig;
font-style: italic;
font-weight: 600;
font-display: swap;
src: url('../fonts/Hasklig/Hasklig-SemiBoldIt.otf') format('opentype');
}
@font-face {
font-family: Hasklig;
font-style: normal;
font-weight: bold;
font-display: swap;
src: url('../fonts/Hasklig/Hasklig-Bold.otf') format('opentype');
}
@font-face {
font-family: Hasklig;
font-style: italic;
font-weight: bold;
font-display: swap;
src: url('../fonts/Hasklig/Hasklig-BoldIt.otf') format('opentype');
}
@font-face {
font-family: Hasklig;
font-style: normal;
font-weight: 900;
font-display: swap;
src: url('../fonts/Hasklig/Hasklig-Black.otf') format('opentype');
}
@font-face {
font-family: Hasklig;
font-style: italic;
font-weight: 900;
font-display: swap;
src: url('../fonts/Hasklig/Hasklig-BlackIt.otf') format('opentype');
}

View File

@ -14,7 +14,7 @@ code[class*='language-'] {
}
&.namespace {
opacity: 0.7;
opacity: 70%;
}
&.boolean,

View File

@ -1,7 +1,3 @@
@import '../../../node_modules/modern-normalize/modern-normalize';
@import '../../../node_modules/hsluv-sass/src/hsluv';
@import 'fonts';
/* :root-insert */
@import 'syntax-highlighting';
@ -18,7 +14,7 @@ html {
body {
background-color: var(--background-1);
color: var(--foreground-1);
font-family: Inter, sans-serif;
font-family: sans-serif;
font-size: 2rem;
}
@ -132,7 +128,7 @@ ul {
}
.monospace {
font-family: Hasklig, monospace;
font-family: monospace;
}
.spacer {
@ -188,7 +184,7 @@ ul {
overflow-x: auto;
span {
font-family: Hasklig, monospace;
font-family: monospace;
font-weight: bold;
margin-right: 8px;
padding: 8px;
@ -251,7 +247,7 @@ ul {
}
.color {
font-family: Hasklig, monospace;
font-family: monospace;
font-weight: bold;
}

View File

@ -3,7 +3,7 @@ import {join} from 'path';
import cpy from 'cpy';
import {generateLove, LoveVariant} from './love';
export async function entry(): Promise<void> {
export async function main(): Promise<void> {
const atomDirectory: string = join(__dirname, '../atom/');
const packageTemplate: any = JSON.parse(
@ -40,7 +40,7 @@ ${variant.colors.grays
);
const uiTheme =
'@import "styles/ui-variables";\n' +
uiFiles.map(value => `@import "styles/${value}";`).join('\n');
uiFiles.map((value) => `@import "styles/${value}";`).join('\n');
const syntaxDirectory: string = join(
atomDirectory,
@ -102,23 +102,23 @@ ${variant.colors.grays
generateLessUIVariables(variant)
);
// Copy the License, ReadMe and images.
// Copy the LICENSE, README and images.
await fsp.copyFile(
join(__dirname, '../../License'),
join(syntaxDirectory, 'License')
join(__dirname, '../../LICENSE'),
join(syntaxDirectory, 'LICENSE')
);
await fsp.copyFile(
join(__dirname, '../../License'),
join(uiDirectory, 'License')
join(__dirname, '../../LICENSE'),
join(uiDirectory, 'LICENSE')
);
await fsp.copyFile(
join(atomDirectory, 'ReadMe.md'),
join(syntaxDirectory, 'ReadMe.md')
join(atomDirectory, 'README.md'),
join(syntaxDirectory, 'README.md')
);
await fsp.copyFile(
join(atomDirectory, 'ReadMe.md'),
join(uiDirectory, 'ReadMe.md')
join(atomDirectory, 'README.md'),
join(uiDirectory, 'README.md')
);
await cpy(join(atomDirectory, 'images'), join(syntaxDirectory, 'images'));
@ -223,5 +223,5 @@ export function generateLessUIVariables(love: LoveVariant): string {
}
if (require.main === module) {
entry();
void main();
}

View File

@ -5,7 +5,7 @@ import nunjucks from 'nunjucks';
import {generateLove, LoveVariant} from './love';
import {getVersions, Versions} from './version';
export async function entry(): Promise<void> {
export async function main(): Promise<void> {
const themeDirectory: string = join(__dirname, '../kitty/');
// Configure Nunjucks to use the templates for `source/kitty/`.
nunjucks.configure(themeDirectory, {
@ -43,5 +43,5 @@ export async function entry(): Promise<void> {
}
if (require.main === module) {
entry();
void main();
}

View File

@ -1,22 +1,24 @@
import fs, {promises as fsp} from 'fs';
import {join} from 'path';
import cpy from 'cpy';
// @ts-ignore
// @ts-expect-error
import htmlclean from 'htmlclean';
import marked from 'marked';
import nunjucks from 'nunjucks';
import refractor from 'refractor';
// @ts-ignore
import rehype from 'rehype';
import sass from 'sass';
import tar from 'tar';
import {generateLove, LoveVariant} from './love';
import {getVersions, Versions} from './version';
export async function entry(): Promise<void> {
export async function main(): Promise<void> {
// Create all required directories for the website.
await fsp.mkdir(join(__dirname, '../../public/css/'), {recursive: true});
await fsp.mkdir(join(__dirname, '../../public/fonts/'), {recursive: true});
await fsp.copyFile(
join(__dirname, '../../node_modules/modern-normalize/modern-normalize.css'),
join(__dirname, '../../public/css/modern-normalize.css')
);
await fsp.mkdir(join(__dirname, '../../public/images/'), {recursive: true});
// Configure Nunjucks to use the templates for `source/pages/`.
@ -73,16 +75,6 @@ ${love[1].colors.grays
htmlclean(nunjucks.render('index.html', {love}))
);
// Extract the fonts to file.
await tar.extract({
file: join(__dirname, '../pages/assets/Inter.tar'),
cwd: join(__dirname, '../../public/fonts/')
});
await tar.extract({
file: join(__dirname, '../pages/assets/Hasklig.tar'),
cwd: join(__dirname, '../../public/fonts/')
});
const renderer: marked.Renderer = new marked.Renderer();
renderer.code = (code: string, language: string | undefined): string => {
@ -99,12 +91,12 @@ ${love[1].colors.grays
await fsp.mkdir(join(__dirname, '../../public/get/'), {recursive: true});
const pagesToCreate: string[] = (
await fsp.readdir(join(__dirname, '../'))
).filter(value => !['pages', 'scripts'].includes(value));
).filter((value) => !['pages', 'scripts'].includes(value));
for (const page of pagesToCreate) {
const markdown: string = marked(
nunjucks.renderString(
await fsp.readFile(
join(__dirname, `../${page}/Site ReadMe.md`),
join(__dirname, `../${page}/SITE README.md`),
'utf8'
),
{versions}
@ -124,7 +116,7 @@ ${love[1].colors.grays
let title = `Love for ${page
.replace(/-/g, ' ')
.split(' ')
.map(capitalize)
.map((value) => capitalize(value))
.join(' ')}`;
switch (page) {
@ -135,8 +127,10 @@ ${love[1].colors.grays
break;
}
const directory = join(__dirname, `../../public/get/${page}/`);
await fsp.mkdir(directory, {recursive: true});
await fsp.writeFile(
join(__dirname, `../../public/get/${page}.html`),
join(directory, 'index.html'),
htmlclean(nunjucks.render('get.html', {love, markdown, title}))
);
}
@ -152,5 +146,5 @@ export async function writeJSON(path: string, data: unknown): Promise<void> {
}
if (require.main === module) {
entry();
void main();
}

View File

@ -5,7 +5,7 @@ import nunjucks from 'nunjucks';
import {generateLove, LoveVariant} from './love';
import {getVersions, Versions} from './version';
export async function entry(): Promise<void> {
export async function main(): Promise<void> {
const themeDirectory: string = join(__dirname, '../sublime-text/');
// Configure Nunjucks to use the templates for `source/sublime-text/`.
nunjucks.configure(themeDirectory, {
@ -71,5 +71,5 @@ export async function entry(): Promise<void> {
}
if (require.main === module) {
entry();
void main();
}

View File

@ -5,7 +5,7 @@ import nunjucks from 'nunjucks';
import {generateLove, LoveVariant} from './love';
import {getVersions, Versions} from './version';
export async function entry(): Promise<void> {
export async function main(): Promise<void> {
const themeDirectory: string = join(__dirname, '../tauon/');
// Configure Nunjucks to use the templates for `source/tauon/`.
nunjucks.configure(themeDirectory, {
@ -22,8 +22,9 @@ export async function entry(): Promise<void> {
const versions: Versions = await getVersions();
for (const variant of love) {
const themeName = `Love ${variant.name.slice(0, 1).toUpperCase() +
variant.name.slice(1)}.ttheme`;
const themeName = `Love ${
variant.name.slice(0, 1).toUpperCase() + variant.name.slice(1)
}.ttheme`;
const outputPath: string = join(themeDirectory, themeName);
// Render the template.
@ -54,17 +55,17 @@ export function hexToRGB(hex: string): string {
if (hex.length === 3) {
return [
parseInt(hex[0], 16),
parseInt(hex[1], 16),
parseInt(hex[2], 16)
Number.parseInt(hex[0], 16),
Number.parseInt(hex[1], 16),
Number.parseInt(hex[2], 16)
].join(',');
}
if (hex.length === 6) {
return [
parseInt(hex.slice(0, 2), 16),
parseInt(hex.slice(2, 4), 16),
parseInt(hex.slice(4, 6), 16)
Number.parseInt(hex.slice(0, 2), 16),
Number.parseInt(hex.slice(2, 4), 16),
Number.parseInt(hex.slice(4, 6), 16)
].join(',');
}
@ -72,5 +73,5 @@ export function hexToRGB(hex: string): string {
}
if (require.main === module) {
entry();
void main();
}

View File

@ -13,7 +13,7 @@ export interface Versions {
vscode: string;
}
export async function entry(): Promise<void> {
export async function main(): Promise<void> {
const versions: Versions = await getVersions();
const command = await prompts({
@ -42,7 +42,7 @@ export async function entry(): Promise<void> {
message: 'Which theme do you want to update?',
name: 'theme',
type: 'select',
choices: Object.keys(versions).map(value => ({
choices: Object.keys(versions).map((value) => ({
title: `${value} (${String(versions[value])})`,
value
})),
@ -115,5 +115,5 @@ export async function getVersions(): Promise<Versions> {
}
if (require.main === module) {
entry();
void main();
}

View File

@ -3,7 +3,7 @@ import {join} from 'path';
import nunjucks from 'nunjucks';
import {generateLove, LoveVariant} from './love';
export async function entry(): Promise<void> {
export async function main(): Promise<void> {
const themesDirectory: string = join(__dirname, '../vscode/themes/');
// Configure Nunjucks to use the templates for `source/vscode/themes/`.
nunjucks.configure(themesDirectory, {
@ -38,7 +38,7 @@ export async function entry(): Promise<void> {
formattedOutput += '\n';
}
let outputObject: object;
let outputObject: Record<string, unknown>;
try {
outputObject = JSON.parse(formattedOutput);
} catch (error) {
@ -52,5 +52,5 @@ export async function entry(): Promise<void> {
}
if (require.main === module) {
entry();
void main();
}

View File

@ -8,12 +8,12 @@
<section class="images-section">
<div class="is-dark">
![Love Dark Preview 1](../images/sublime-text/love-dark-01.png)
![Love Dark Preview 1](/images/sublime-text/love-dark-01.png)
</div>
<div class="is-light">
![Love Light Preview 1](../images/sublime-text/love-light-01.png)
![Love Light Preview 1](/images/sublime-text/love-light-01.png)
</div>
</section>
@ -27,7 +27,7 @@
<div class="is-dark padded">
1. Download [the Love theme package](../Love.sublime-package).
1. Download [the Love theme package](/Love.sublime-package).
1. Move the package to [the appropriate location](https://www.sublimetext.com/docs/3/packages.html).
1. Done! ♥

View File

@ -8,12 +8,12 @@
<section class="images-section">
<div class="is-dark">
![Love Dark Preview](../images/tauon/love-dark-01.png)
![Love Dark Preview](/images/tauon/love-dark-01.png)
</div>
<div class="is-light">
![Love Light Preview](../images/tauon/love-light-01.png)
![Love Light Preview](/images/tauon/love-light-01.png)
</div>
</section>
@ -29,7 +29,7 @@
### Official Love
1. Download [the Love theme zip](../love-tauon.zip).
1. Download [the Love theme zip](/love-tauon.zip).
1. Unzip the zip in the `theme` directory inside Tauon's user data directory. You can find the user data directory by going into the Settings and clicking "Open data folder" inside the Functions tab.
1. Done! ♥
</div>

View File

@ -9,4 +9,4 @@
## License
Open-sourced with [the MIT License](https://gitlab.com/holllo/love/-/blob/master/License).
Open-sourced with the [MIT license](https://git.holllo.cc/Holllo/love/src/branch/main/LICENSE).

View File

@ -8,12 +8,12 @@
<section class="images-section">
<div class="is-dark">
![Love Dark Preview 1](../images/vscode/love-dark-01.png)
![Love Dark Preview 1](/images/vscode/love-dark-01.png)
</div>
<div class="is-light">
![Love Light Preview 1](../images/vscode/love-light-01.png)
![Love Light Preview 1](/images/vscode/love-light-01.png)
</div>
</section>

View File

@ -1,12 +1,13 @@
{
"name": "love",
"description": "A color scheme for you to love. ♡",
"version": "0.1.1",
"license": "MIT",
"author": "Holllo <helllo@holllo.cc>",
"homepage": "https://love.holllo.cc",
"repository": "https://gitlab.com/holllo/love",
"repository": "https://git.holllo.cc/Holllo/love",
"license": "MIT",
"scripts": {
"package": "vsce package --baseImagesUrl='https://gitlab.com/holllo/love/-/raw/master/source/vscode/'"
"package": "vsce package --baseImagesUrl='https://love.holllo.cc/images/vscode/'"
},
"dependencies": {},
"devDependencies": {
@ -14,7 +15,7 @@
},
"displayName": "Love Theme",
"publisher": "Holllo",
"icon": "images/love-mark-square.png",
"icon": "love-mark-square.png",
"galleryBanner": {
"color": "#2A2041",
"theme": "dark"

6265
yarn.lock

File diff suppressed because it is too large Load Diff