diff --git a/.gitignore b/.gitignore
index 9cc1c96..74b1745 100644
--- a/.gitignore
+++ b/.gitignore
@@ -112,11 +112,14 @@ public/
# Generated theme outputs.
source/atom/love-*
-source/kitty/*
-!source/kitty/love-template.conf
-source/sublime-text/*
-!source/sublime-text/love-template.sublime-color-scheme
-source/tauon/*
-!source/tauon/love-template.ttheme
+source/kitty/love-dark.conf
+source/kitty/love-light.conf
+source/kitty/love-kitty.zip
+source/sublime-text/Love.sublime-package
+source/sublime-text/love-dark.sublime-color-scheme
+source/sublime-text/love-light.sublime-color-scheme
+source/tauon/Love Dark.ttheme
+source/tauon/Love Light.ttheme
+source/tauon/love-tauon.zip
source/vscode/themes/love-dark.color-theme.json
source/vscode/themes/love-light.color-theme.json
diff --git a/love-versions.json b/love-versions.json
new file mode 100644
index 0000000..2ca231b
--- /dev/null
+++ b/love-versions.json
@@ -0,0 +1,8 @@
+{
+ "atom": "0.1.2",
+ "firefox": "0.1.0",
+ "kitty": "0.1.0",
+ "sublime-text": "0.1.0",
+ "tauon": "0.1.3",
+ "vscode": "0.1.1"
+}
diff --git a/package.json b/package.json
index 42dd65e..d53f55f 100644
--- a/package.json
+++ b/package.json
@@ -24,8 +24,12 @@
},
"devDependencies": {
"@types/jszip": "^3.1.7",
+ "@types/marked": "^0.7.4",
"@types/nunjucks": "^3.1.3",
+ "@types/prompts": "^2.0.5",
+ "@types/refractor": "^2.8.0",
"@types/sass": "^1.16.0",
+ "@types/semver": "^7.1.0",
"@types/tar": "^4.0.3",
"chokidar-cli": "^2.1.0",
"cpy": "^8.1.0",
@@ -34,9 +38,14 @@
"hsluv-sass": "^1.0.0",
"htmlclean": "^3.0.8",
"jszip": "^3.3.0",
+ "marked": "^0.8.2",
"mathsass": "^0.11.0",
"nunjucks": "^3.2.1",
+ "prompts": "^2.3.2",
+ "refractor": "^3.0.0",
+ "rehype": "^10.0.0",
"sass": "^1.26.3",
+ "semver": "^7.3.2",
"stylelint": "^13.2.1",
"stylelint-config-xo-scss": "^0.12.0",
"stylelint-config-xo-space": "^0.14.0",
diff --git a/source/atom/Site ReadMe.md b/source/atom/Site ReadMe.md
new file mode 100644
index 0000000..d59482b
--- /dev/null
+++ b/source/atom/Site ReadMe.md
@@ -0,0 +1,78 @@
+
+
+
+
+
+![Love Dark Preview 1](../images/atom/love-dark-01.png)
+
+
+
+
+![Love Light Preview 1](../images/atom/love-light-01.png)
+
+
+
+
+![Love Dark Preview 2](../images/atom/love-dark-02.png)
+
+
+
+
+![Love Light Preview 2](../images/atom/love-light-02.png)
+
+
+
+
+
+
+
+
+
+
+### Via Atom
+
+1. Head to your Settings by clicking on `Edit -> Preferences`.
+1. Head on the Install section.
+1. Switch the search to look for Themes.
+1. Search for `love-dark` or `love-light` and install the syntax and UI themes.
+1. Done! ♥
+
+
+
+
+### Via the Command Line
+
+1. Install the wanted themes with `apm install`:
+ * `apm install love-dark-syntax`
+ * `apm install love-dark-ui`
+ * `apm install love-light-syntax`
+ * `apm install love-light-ui`
+1. Done! ♥
+
+
+
+
+### From Source
+
+Requires [NodeJS](https://nodejs.org) and [Yarn](https://yarnpkg.com) to be installed.
+
+With a cloned repository and your current working directory at the root of it:
+
+1. Install the dependencies with `yarn`.
+1. Build the theme with `yarn build:atom`.
+1. Link the wanted themes with `apm link`:
+ * `apm link source/atom/love-dark-syntax`
+ * `apm link source/atom/love-dark-ui`
+ * `apm link source/atom/love-light-syntax`
+ * `apm link source/atom/love-light-ui`
+1. Done! ♥
+
+
diff --git a/source/firefox/Site ReadMe.md b/source/firefox/Site ReadMe.md
new file mode 100644
index 0000000..a9f9c0a
--- /dev/null
+++ b/source/firefox/Site ReadMe.md
@@ -0,0 +1,34 @@
+
+
+
+
+
+![Love Dark Preview 1](../images/firefox/love-dark-01.png)
+
+
+
+
+![Love Light Preview 1](../images/firefox/love-light-01.png)
+
+
+
+
+
+
+
+
+
+
+1. Install [the Firefox Color extension](https://addons.mozilla.org/en-GB/firefox/addon/firefox-color/).
+1. Head to the [Love Dark](https://color.firefox.com/?theme=XQAAAAIYAQAAAAAAAABBqYhm849SCia2CaaEGccwS-xNKlhSXT3Vtt2XDAs6h7gdL5pcAb7xqXopx66Ln4wY2B4_apm1Xo1m-kSLNybjC15LIb4OXWhGfyPJrZA2e0IeJeWC0yox2SBMD04SrZBvZwoC8QX9EBbJd69TMCmh7d-g0Wc_msdR2nzvnbFECN4_c5VKI9Btzbzvdvjw1-KH_nfezJDCoRea7HASdSJBgMVdHiWfmWiLujatKOWmCJfGaFyV_75SjmA) or [Love Light](https://color.firefox.com/?theme=XQAAAAIqAQAAAAAAAABBqYhm849SCia2CaaEGccwS-xNKliFvSp4LiFpmRcA5AwYsIABKiGtHcakOiV8NSmxjnVR9H4TYg2VNxSp6iDrgcvBoo3NoFSZSndEX6ZHCH8h1ahP78I4dZXjJD8ZzlOxqC6HrDKQmTBAEm09iix8uVI5_QcbhtDjDxpYbPP5WGvXu84Za9H0s1VXwrgKdxIgKTJraGh0P5bPsWJ_YY-lPSsAB62ABnbOV7SJEIMsWMC9a01QhpCubrrA-f_WNVAA) page and apply either one.
+1. Done! ♥
+
+
diff --git a/source/firefox/images/love-dark-01.png b/source/firefox/images/love-dark-01.png
new file mode 100644
index 0000000..dd133b8
Binary files /dev/null and b/source/firefox/images/love-dark-01.png differ
diff --git a/source/firefox/images/love-light-01.png b/source/firefox/images/love-light-01.png
new file mode 100644
index 0000000..c77975d
Binary files /dev/null and b/source/firefox/images/love-light-01.png differ
diff --git a/source/kitty/Site ReadMe.md b/source/kitty/Site ReadMe.md
new file mode 100644
index 0000000..8c13164
--- /dev/null
+++ b/source/kitty/Site ReadMe.md
@@ -0,0 +1,37 @@
+
+
+
+
+
+![Love Dark Preview 1](../images/kitty/love-dark-01.png)
+
+
+
+
+![Love Light Preview 1](../images/kitty/love-light-01.png)
+
+
+
+
+
+
+
+
+
+
+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`
+ * For Light add `include love-light.conf`
+1. Done! ♥
+
+
diff --git a/source/kitty/images/love-dark-01.png b/source/kitty/images/love-dark-01.png
new file mode 100644
index 0000000..1f22f32
Binary files /dev/null and b/source/kitty/images/love-dark-01.png differ
diff --git a/source/kitty/images/love-light-01.png b/source/kitty/images/love-light-01.png
new file mode 100644
index 0000000..829e733
Binary files /dev/null and b/source/kitty/images/love-light-01.png differ
diff --git a/source/kitty/love-template.conf b/source/kitty/love-template.conf
index 0c1923e..e01fbb4 100644
--- a/source/kitty/love-template.conf
+++ b/source/kitty/love-template.conf
@@ -1,5 +1,5 @@
# The Love Theme for Kitty
-# Version: 0.1.0
+# Version: {{ version }}
# https://love.holllo.cc
# Documentation:
diff --git a/source/pages/get.html b/source/pages/get.html
new file mode 100644
index 0000000..3b0dacc
--- /dev/null
+++ b/source/pages/get.html
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+ {{ title }}
+
+
+
+
+
+
+
{{ title }}
+ {{ markdown | safe }}
+
+
+
+
+
+
diff --git a/source/pages/index.html b/source/pages/index.html
index fb23bfe..433b80f 100644
--- a/source/pages/index.html
+++ b/source/pages/index.html
@@ -158,25 +158,22 @@
diff --git a/source/pages/scss/_get.scss b/source/pages/scss/_get.scss
new file mode 100644
index 0000000..0c43b81
--- /dev/null
+++ b/source/pages/scss/_get.scss
@@ -0,0 +1,58 @@
+#get-love-page {
+ h3 {
+ padding-bottom: 16px;
+ }
+
+ img {
+ width: 100%;
+ }
+
+ p {
+ margin-bottom: 8px;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+ }
+
+ pre {
+ background-color: var(--background-1);
+ }
+
+ .images-section {
+ > div {
+ padding: 8px;
+ }
+ }
+
+ .is-dark {
+ border: 2px solid var(--foreground-1);
+ color: var(--foreground-1);
+
+ code {
+ background-color: var(--background-2);
+ }
+ }
+
+ .is-light {
+ background-color: var(--foreground-1);
+ color: var(--background-1);
+
+ a,
+ a:visited {
+ color: var(--light-accent-8);
+
+ &:hover {
+ color: var(--light-accent-10);
+ }
+ }
+
+ code {
+ background-color: var(--foreground-2);
+ }
+ }
+
+ .padded {
+ padding: 16px;
+ }
+}
diff --git a/source/pages/scss/_syntax-highlighting.scss b/source/pages/scss/_syntax-highlighting.scss
new file mode 100644
index 0000000..2df5eff
--- /dev/null
+++ b/source/pages/scss/_syntax-highlighting.scss
@@ -0,0 +1,80 @@
+code[class*='language-'] {
+ color: var(--foreground-1);
+
+ .token {
+ &.cdata,
+ &.comment,
+ &.doctype,
+ &.prolog {
+ color: var(--dark-gray-3);
+ }
+
+ &.punctuation {
+ color: var(--dark-accent-5);
+ }
+
+ &.namespace {
+ opacity: 0.7;
+ }
+
+ &.boolean,
+ &.constant,
+ &.deleted,
+ &.number,
+ &.property,
+ &.symbol,
+ &.tag {
+ color: var(--dark-accent-7);
+ }
+
+ &.attr-name,
+ &.builtin,
+ &.char,
+ &.inserted,
+ &.selector,
+ &.string {
+ color: var(--dark-accent-4);
+ }
+
+ &.entity,
+ &.operator,
+ &.url {
+ color: var(--dark-accent-5);
+ }
+
+ &.atrule,
+ &.attr-value,
+ &.keyword {
+ color: var(--dark-accent-5);
+ }
+
+ &.class-name,
+ &.function {
+ color: var(--dark-accent-6);
+ }
+
+ &.important,
+ &.regex,
+ &.variable {
+ color: var(--dark-accent-6);
+ }
+
+ &.bold,
+ &.important {
+ font-weight: bold;
+ }
+
+ &.italic {
+ font-style: italic;
+ }
+
+ &.entity {
+ cursor: help;
+ }
+ }
+}
+
+.language-css .token.string,
+.style .token.string {
+ color: var(--dark-accent-5);
+}
diff --git a/source/pages/scss/style.scss b/source/pages/scss/style.scss
index fb7c046..1dfcb75 100644
--- a/source/pages/scss/style.scss
+++ b/source/pages/scss/style.scss
@@ -4,6 +4,8 @@
/* :root-insert */
+@import 'syntax-highlighting';
+
$small-breakpoint: 600px;
$medium-breakpoint: 900px;
$large-breakpoint: 1200px;
@@ -40,6 +42,15 @@ a:visited {
}
}
+code {
+ padding: 0 4px;
+}
+
+pre {
+ padding: 16px;
+ overflow: auto;
+}
+
h1 {
padding: 16px;
}
@@ -47,12 +58,13 @@ h1 {
h1,
h2,
h3,
-p {
+p,
+pre {
margin: 0;
}
li {
- margin-bottom: 4px;
+ margin-bottom: 8px;
&:last-child {
margin-bottom: 0;
@@ -62,7 +74,19 @@ li {
ol,
ul {
margin: 0;
+ margin-bottom: 8px;
padding-left: 32px;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+
+ > li {
+ > ol,
+ > ul {
+ margin-top: 8px;
+ }
+ }
}
section {
@@ -400,6 +424,16 @@ footer {
> div {
padding: 16px;
}
+
+ ul {
+ display: grid;
+ grid-template-columns: repeat(1, 1fr);
+
+ @media (min-width: $small-breakpoint) {
+ grid-template-columns: repeat(2, 1fr);
+ list-style-type: symbols(cyclic '♡' '♥' '♥' '♡');
+ }
+ }
}
#attributions {
@@ -420,3 +454,5 @@ footer {
display: flex;
line-height: 0;
}
+
+@import 'get';
diff --git a/source/scripts/kitty.ts b/source/scripts/kitty.ts
index 532e8a8..2de3978 100644
--- a/source/scripts/kitty.ts
+++ b/source/scripts/kitty.ts
@@ -3,6 +3,7 @@ import {join} from 'path';
import Zip from 'jszip';
import nunjucks from 'nunjucks';
import {generateLove, LoveVariant} from './love';
+import {getVersions, Versions} from './version';
export async function entry(): Promise {
const themeDirectory: string = join(__dirname, '../kitty/');
@@ -13,6 +14,8 @@ export async function entry(): Promise {
throwOnUndefined: true
});
+ const versions: Versions = await getVersions();
+
// Create a new zip archive.
const kittyPackage: Zip = new Zip();
@@ -25,7 +28,8 @@ export async function entry(): Promise {
// Render the template.
const theme: string = nunjucks.render('love-template.conf', {
- love: variant
+ love: variant,
+ version: versions.kitty
});
// Write the theme to file and add it to the zip archive.
diff --git a/source/scripts/pages.ts b/source/scripts/pages.ts
index 8a5352e..de6e60d 100644
--- a/source/scripts/pages.ts
+++ b/source/scripts/pages.ts
@@ -1,11 +1,17 @@
-import {promises as fsp} from 'fs';
+import fs, {promises as fsp} from 'fs';
import {join} from 'path';
+import cpy from 'cpy';
// @ts-ignore
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 {
// Create all required directories for the website.
@@ -22,6 +28,8 @@ export async function entry(): Promise {
const love: LoveVariant[] = generateLove();
+ const versions: Versions = await getVersions();
+
// Write the colors to file.
await writeJSON(join(__dirname, '../../public/love.json'), love);
@@ -75,7 +83,67 @@ ${love[1].colors.grays
cwd: join(__dirname, '../../public/fonts/')
});
- console.log('Lovely!');
+ const renderer: marked.Renderer = new marked.Renderer();
+
+ renderer.code = (code: string, language: string | undefined): string => {
+ if (language === undefined) {
+ throw new Error('Markdown code block with no language detected');
+ }
+
+ const codeHTML: string = rehype()
+ .stringify({type: 'root', children: refractor.highlight(code, language)})
+ .toString();
+ return `${codeHTML}
`;
+ };
+
+ await fsp.mkdir(join(__dirname, '../../public/get/'), {recursive: true});
+ const pagesToCreate: string[] = (
+ await fsp.readdir(join(__dirname, '../'))
+ ).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`),
+ 'utf8'
+ ),
+ {versions}
+ ),
+ {renderer}
+ );
+ await fsp.mkdir(join(__dirname, `../../public/images/${page}/`), {
+ recursive: true
+ });
+ if (fs.existsSync(join(__dirname, `../${page}/images/`))) {
+ await cpy(
+ join(__dirname, `../${page}/images/*`),
+ join(__dirname, `../../public/images/${page}/`)
+ );
+ }
+
+ let title = `Love for ${page
+ .replace(/-/g, ' ')
+ .split(' ')
+ .map(capitalize)
+ .join(' ')}`;
+
+ switch (page) {
+ case 'vscode':
+ title = 'Love for VS Code';
+ break;
+ default:
+ break;
+ }
+
+ await fsp.writeFile(
+ join(__dirname, `../../public/get/${page}.html`),
+ htmlclean(nunjucks.render('get.html', {love, markdown, title}))
+ );
+ }
+}
+
+export function capitalize(word: string): string {
+ return `${word.slice(0, 1).toUpperCase()}${word.slice(1)}`;
}
// Utility helper function to write some data to file as JSON.
diff --git a/source/scripts/sublime-text.ts b/source/scripts/sublime-text.ts
index 982ee7b..a14f43e 100644
--- a/source/scripts/sublime-text.ts
+++ b/source/scripts/sublime-text.ts
@@ -3,6 +3,7 @@ import {join} from 'path';
import Zip from 'jszip';
import nunjucks from 'nunjucks';
import {generateLove, LoveVariant} from './love';
+import {getVersions, Versions} from './version';
export async function entry(): Promise {
const themeDirectory: string = join(__dirname, '../sublime-text/');
@@ -14,6 +15,7 @@ export async function entry(): Promise {
});
const love: LoveVariant[] = generateLove();
+ const versions: Versions = await getVersions();
const sublimePackage: Zip = new Zip();
for (const variant of love) {
const template: string = await fsp.readFile(
@@ -27,7 +29,8 @@ export async function entry(): Promise {
);
const output: string = nunjucks.renderString(template, {
- love: variant
+ love: variant,
+ version: versions['sublime-text']
});
let formattedOutput = '';
for (const line of output.split('\n')) {
diff --git a/source/scripts/tauon.ts b/source/scripts/tauon.ts
index b3c3f41..fc58228 100644
--- a/source/scripts/tauon.ts
+++ b/source/scripts/tauon.ts
@@ -3,6 +3,7 @@ import {join} from 'path';
import Zip from 'jszip';
import nunjucks from 'nunjucks';
import {generateLove, LoveVariant} from './love';
+import {getVersions, Versions} from './version';
export async function entry(): Promise {
const themeDirectory: string = join(__dirname, '../tauon/');
@@ -18,6 +19,7 @@ export async function entry(): Promise {
// Generate the Love variants.
const love: LoveVariant[] = generateLove();
+ const versions: Versions = await getVersions();
for (const variant of love) {
const themeName = `Love ${variant.name.slice(0, 1).toUpperCase() +
@@ -27,7 +29,8 @@ export async function entry(): Promise {
// Render the template.
const theme: string = nunjucks.render('love-template.ttheme', {
love: variant,
- rgb: hexToRGB
+ rgb: hexToRGB,
+ version: versions.tauon
});
// Write the theme to file and add it to the zip archive.
diff --git a/source/scripts/version.ts b/source/scripts/version.ts
new file mode 100644
index 0000000..9b0ad56
--- /dev/null
+++ b/source/scripts/version.ts
@@ -0,0 +1,119 @@
+import {promises as fsp} from 'fs';
+import {join} from 'path';
+import prompts from 'prompts';
+import semver from 'semver';
+
+export interface Versions {
+ [index: string]: string;
+ atom: string;
+ firefox: string;
+ kitty: string;
+ 'sublime-text': string;
+ tauon: string;
+ vscode: string;
+}
+
+export async function entry(): Promise {
+ const versions: Versions = await getVersions();
+
+ const command = await prompts({
+ message: 'What do you want to do?',
+ name: 'command',
+ type: 'select',
+ choices: [
+ {
+ title: 'Show',
+ value: 'show'
+ },
+ {
+ title: 'Update',
+ value: 'update'
+ }
+ ],
+ initial: 0
+ });
+ if (command.command === 'show') {
+ console.log(versions);
+ return;
+ }
+
+ if (command.command === 'update') {
+ const whichTheme = await prompts({
+ message: 'Which theme do you want to update?',
+ name: 'theme',
+ type: 'select',
+ choices: Object.keys(versions).map(value => ({
+ title: `${value} (${String(versions[value])})`,
+ value
+ })),
+ initial: 0
+ });
+
+ const currentVersion: string = versions[whichTheme.theme];
+ const whichVersion = await prompts({
+ message: 'To what version do you want to update?',
+ name: 'version',
+ type: 'select',
+ choices: [
+ {
+ title: `Major (${currentVersion} -> ${semver.inc(
+ currentVersion,
+ 'major'
+ )!})`,
+ value: 'major'
+ },
+ {
+ title: `Minor (${currentVersion} -> ${semver.inc(
+ currentVersion,
+ 'minor'
+ )!})`,
+ value: 'minor'
+ },
+ {
+ title: `Patch (${currentVersion} -> ${semver.inc(
+ currentVersion,
+ 'patch'
+ )!})`,
+ value: 'patch'
+ }
+ ],
+ initial: 0
+ });
+
+ const selectedTheme: string = whichTheme.theme;
+ const newVersion: string = semver.inc(
+ currentVersion,
+ whichVersion.version
+ )!;
+ versions[selectedTheme] = newVersion;
+ await fsp.writeFile(
+ join(__dirname, '../../love-versions.json'),
+ JSON.stringify(versions, null, 2) + '\n'
+ );
+
+ if (['atom', 'sublime-text', 'vscode'].includes(selectedTheme)) {
+ const packageLocation: string = join(
+ __dirname,
+ `../${selectedTheme}/package.json`
+ );
+ const themePackage: any = JSON.parse(
+ await fsp.readFile(packageLocation, 'utf8')
+ );
+ themePackage.version = newVersion;
+ await fsp.writeFile(
+ packageLocation,
+ JSON.stringify(themePackage, null, 2) + '\n'
+ );
+ }
+ }
+}
+
+export async function getVersions(): Promise {
+ return JSON.parse(
+ await fsp.readFile(join(__dirname, '../../love-versions.json'), 'utf8')
+ );
+}
+
+if (require.main === module) {
+ entry();
+}
diff --git a/source/sublime-text/Site ReadMe.md b/source/sublime-text/Site ReadMe.md
new file mode 100644
index 0000000..3342130
--- /dev/null
+++ b/source/sublime-text/Site ReadMe.md
@@ -0,0 +1,36 @@
+
+
+
+
+
+![Love Dark Preview 1](../images/sublime-text/love-dark-01.png)
+
+
+
+
+![Love Light Preview 1](../images/sublime-text/love-light-01.png)
+
+
+
+
+
+
+
+
+
+
+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! ♥
+
+It is recommended to use the default "Adaptive" theme, at the moment Love is only available for Sublime Text as [a color scheme](https://www.sublimetext.com/docs/3/color_schemes.html). Using Adaptive will give you the result as shown in the preview.
+
+
diff --git a/source/sublime-text/images/love-dark-01.png b/source/sublime-text/images/love-dark-01.png
new file mode 100644
index 0000000..3ee7c79
Binary files /dev/null and b/source/sublime-text/images/love-dark-01.png differ
diff --git a/source/sublime-text/images/love-light-01.png b/source/sublime-text/images/love-light-01.png
new file mode 100644
index 0000000..4917cbe
Binary files /dev/null and b/source/sublime-text/images/love-light-01.png differ
diff --git a/source/sublime-text/love-template.sublime-color-scheme b/source/sublime-text/love-template.sublime-color-scheme
index 88b754b..17a2b62 100644
--- a/source/sublime-text/love-template.sublime-color-scheme
+++ b/source/sublime-text/love-template.sublime-color-scheme
@@ -1,6 +1,7 @@
{
"name": "Love {{ love.name | capitalize }}",
"author": "Holllo",
+ "version": "{{ version }}",
"variables": {
"foreground1": "{{ love.colors.foreground1 }}",
"foreground2": "{{ love.colors.foreground2 }}",
diff --git a/source/tauon/Site ReadMe.md b/source/tauon/Site ReadMe.md
new file mode 100644
index 0000000..7f490d8
--- /dev/null
+++ b/source/tauon/Site ReadMe.md
@@ -0,0 +1,47 @@
+
+
+
+
+
+![Love Dark Preview](../images/tauon/love-dark-01.png)
+
+
+
+
+![Love Light Preview](../images/tauon/love-light-01.png)
+
+
+
+
+
+
+
+
+
+
+
+
+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! ♥
+
+
+
+
diff --git a/source/tauon/images/love-dark-01.png b/source/tauon/images/love-dark-01.png
new file mode 100644
index 0000000..432cff4
Binary files /dev/null and b/source/tauon/images/love-dark-01.png differ
diff --git a/source/tauon/images/love-light-01.png b/source/tauon/images/love-light-01.png
new file mode 100644
index 0000000..580a3f9
Binary files /dev/null and b/source/tauon/images/love-light-01.png differ
diff --git a/source/tauon/love-template.ttheme b/source/tauon/love-template.ttheme
index cdb2dee..ee78498 100644
--- a/source/tauon/love-template.ttheme
+++ b/source/tauon/love-template.ttheme
@@ -1,5 +1,5 @@
# The Love Theme for Tauon Music Box
-# Version: 0.1.3
+# Version: {{ version }}
# https://love.holllo.cc
{% if love.name === 'light' %}
diff --git a/source/vscode/Site ReadMe.md b/source/vscode/Site ReadMe.md
new file mode 100644
index 0000000..2c4098f
--- /dev/null
+++ b/source/vscode/Site ReadMe.md
@@ -0,0 +1,62 @@
+
+
+
+
+
+![Love Dark Preview 1](../images/vscode/love-dark-01.png)
+
+
+
+
+![Love Light Preview 1](../images/vscode/love-light-01.png)
+
+
+
+
+
+
+
+
+
+
+### Via Visual Studio Code
+
+1. Open the Extensions sidebar by clicking on View -> Extensions
.
+1. Search for `@id:Holllo.Love`.
+1. Click on the green "Install" button.
+1. Done! ♥
+
+
+
+
+### Via the Command Line
+
+1. Run `code --install-extension Holllo.Love`.
+1. Done! ♥
+
+
+
+
+### From Source
+
+Requires [NodeJS](https://nodejs.org) and [Yarn](https://yarnpkg.com) to be installed.
+
+With a cloned repository and your current working directory at the root of it:
+
+1. Install the dependencies with `yarn`.
+1. Build the theme with `yarn build:vscode`.
+1. Change into the VS Code directory with `cd source/vscode/`.
+1. Install the packaging utility by running `yarn`.
+1. Create the `.vsix` package with `yarn package`.
+1. Install the theme with `code --install-extension love-{{ versions.vscode }}.vsix`.
+1. Done! ♥
+
+
diff --git a/yarn.lock b/yarn.lock
index 502bae0..a2d619f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -208,6 +208,11 @@
dependencies:
"@types/node" "*"
+"@types/marked@^0.7.4":
+ version "0.7.4"
+ resolved "https://registry.yarnpkg.com/@types/marked/-/marked-0.7.4.tgz#607685669bb1bbde2300bc58ba43486cbbee1f0a"
+ integrity sha512-fdg0NO4qpuHWtZk6dASgsrBggY+8N4dWthl1bAQG9ceKUNKFjqpHaDKCAhRUI6y8vavG7hLSJ4YBwJtZyZEXqw==
+
"@types/minimatch@*":
version "3.0.3"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
@@ -245,6 +250,23 @@
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
+"@types/prismjs@*":
+ version "1.16.0"
+ resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.16.0.tgz#4328c9f65698e59f4feade8f4e5d928c748fd643"
+ integrity sha512-mEyuziLrfDCQ4juQP1k706BUU/c8OGn/ZFl69AXXY6dStHClKX4P+N8+rhqpul1vRDA2VOygzMRSJJZHyDEOfw==
+
+"@types/prompts@^2.0.5":
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@types/prompts/-/prompts-2.0.5.tgz#b3cb5cd2c69a0da11b21ea6618bffdab6091336c"
+ integrity sha512-07dV9H+uEmGjtudYst7UlRnctQfd/22zJ2/k1ykZR4Kx/n42hC314v1NCxvaesZebvJJ8i5AVMtBaMbSIR3oBw==
+
+"@types/refractor@^2.8.0":
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/@types/refractor/-/refractor-2.8.0.tgz#2e17b69f27e89c1ea076f49b599abe3567c54e01"
+ integrity sha512-l3wSB96RFZnvB8bnbF8UmYsDD1MQl+u7jtYq+DgI/vo3RD5pdbK3OitGEvMO3DNJhTYmCEhXLVWyyWTddzwNzQ==
+ dependencies:
+ "@types/prismjs" "*"
+
"@types/sass@^1.16.0":
version "1.16.0"
resolved "https://registry.yarnpkg.com/@types/sass/-/sass-1.16.0.tgz#b41ac1c17fa68ffb57d43e2360486ef526b3d57d"
@@ -252,6 +274,13 @@
dependencies:
"@types/node" "*"
+"@types/semver@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.1.0.tgz#c8c630d4c18cd326beff77404887596f96408408"
+ integrity sha512-pOKLaubrAEMUItGNpgwl0HMFPrSAFic8oSVIvfu1UwcgGNmNyK9gyhBHKmBnUTwwVvpZfkzUC0GaMgnL6P86uA==
+ dependencies:
+ "@types/node" "*"
+
"@types/tar@^4.0.3":
version "4.0.3"
resolved "https://registry.yarnpkg.com/@types/tar/-/tar-4.0.3.tgz#e2cce0b8ff4f285293243f5971bd7199176ac489"
@@ -796,7 +825,7 @@ caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001030:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz#2bb53b8aa4716b2ed08e088d4dc816a5fe089a1e"
integrity sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==
-ccount@^1.0.0:
+ccount@^1.0.0, ccount@^1.0.3:
version "1.0.5"
resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17"
integrity sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==
@@ -925,6 +954,15 @@ cli-width@^2.0.0:
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=
+clipboard@^2.0.0:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.6.tgz#52921296eec0fdf77ead1749421b21c968647376"
+ integrity sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==
+ dependencies:
+ good-listener "^1.2.2"
+ select "^1.1.2"
+ tiny-emitter "^2.0.0"
+
cliui@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
@@ -985,6 +1023,11 @@ color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+comma-separated-tokens@^1.0.0, comma-separated-tokens@^1.0.1:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea"
+ integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==
+
commander@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e"
@@ -1272,6 +1315,11 @@ define-property@^2.0.2:
is-descriptor "^1.0.2"
isobject "^3.0.1"
+delegate@^3.1.2:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
+ integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==
+
des.js@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843"
@@ -2184,6 +2232,13 @@ gonzales-pe@^4.2.4:
dependencies:
minimist "1.1.x"
+good-listener@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
+ integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=
+ dependencies:
+ delegate "^3.1.2"
+
got@^9.6.0:
version "9.6.0"
resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
@@ -2292,6 +2347,58 @@ hash.js@^1.0.0, hash.js@^1.0.3:
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
+hast-util-from-parse5@^5.0.0:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-5.0.3.tgz#3089dc0ee2ccf6ec8bc416919b51a54a589e097c"
+ integrity sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA==
+ dependencies:
+ ccount "^1.0.3"
+ hastscript "^5.0.0"
+ property-information "^5.0.0"
+ web-namespaces "^1.1.2"
+ xtend "^4.0.1"
+
+hast-util-is-element@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.0.4.tgz#059090a05cc02e275df1ad02caf8cb422fcd2e02"
+ integrity sha512-NFR6ljJRvDcyPP5SbV7MyPBgF47X3BsskLnmw1U34yL+X6YC0MoBx9EyMg8Jtx4FzGH95jw8+c1VPLHaRA0wDQ==
+
+hast-util-parse-selector@^2.0.0:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.4.tgz#60c99d0b519e12ab4ed32e58f150ec3f61ed1974"
+ integrity sha512-gW3sxfynIvZApL4L07wryYF4+C9VvH3AUi7LAnVXV4MneGEgwOByXvFo18BgmTWnm7oHAe874jKbIB1YhHSIzA==
+
+hast-util-to-html@^6.0.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-6.1.0.tgz#86bcd19c3bd46af456984f8f34db16298c2b10b0"
+ integrity sha512-IlC+LG2HGv0Y8js3wqdhg9O2sO4iVpRDbHOPwXd7qgeagpGsnY49i8yyazwqS35RA35WCzrBQE/n0M6GG/ewxA==
+ dependencies:
+ ccount "^1.0.0"
+ comma-separated-tokens "^1.0.1"
+ hast-util-is-element "^1.0.0"
+ hast-util-whitespace "^1.0.0"
+ html-void-elements "^1.0.0"
+ property-information "^5.2.0"
+ space-separated-tokens "^1.0.0"
+ stringify-entities "^2.0.0"
+ unist-util-is "^3.0.0"
+ xtend "^4.0.1"
+
+hast-util-whitespace@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz#e4fe77c4a9ae1cb2e6c25e02df0043d0164f6e41"
+ integrity sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A==
+
+hastscript@^5.0.0:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.1.2.tgz#bde2c2e56d04c62dd24e8c5df288d050a355fb8a"
+ integrity sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==
+ dependencies:
+ comma-separated-tokens "^1.0.0"
+ hast-util-parse-selector "^2.0.0"
+ property-information "^5.0.0"
+ space-separated-tokens "^1.0.0"
+
hmac-drbg@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
@@ -2323,6 +2430,11 @@ html-tags@^3.1.0:
resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140"
integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==
+html-void-elements@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483"
+ integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==
+
htmlclean@^3.0.8:
version "3.0.8"
resolved "https://registry.yarnpkg.com/htmlclean/-/htmlclean-3.0.8.tgz#cea451cf5399d4018386a57129489f2d630e62b0"
@@ -2570,7 +2682,7 @@ is-date-object@^1.0.1:
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
-is-decimal@^1.0.0:
+is-decimal@^1.0.0, is-decimal@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==
@@ -2712,6 +2824,11 @@ is-plain-obj@^1.1.0:
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
+is-plain-obj@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
+ integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
+
is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
@@ -2925,6 +3042,11 @@ kind-of@^6.0.0, kind-of@^6.0.2:
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+kleur@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
+ integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
+
known-css-properties@^0.18.0:
version "0.18.0"
resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.18.0.tgz#d6e00b56ee1d5b0d171fd86df1583cfb012c521f"
@@ -3123,6 +3245,11 @@ markdown-table@^1.1.0:
resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60"
integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==
+marked@^0.8.2:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/marked/-/marked-0.8.2.tgz#4faad28d26ede351a7a1aaa5fec67915c869e355"
+ integrity sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw==
+
mathml-tag-names@^2.1.3:
version "2.1.3"
resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3"
@@ -3736,6 +3863,18 @@ parse-entities@^1.0.2, parse-entities@^1.1.0:
is-decimal "^1.0.0"
is-hexadecimal "^1.0.0"
+parse-entities@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8"
+ integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==
+ dependencies:
+ character-entities "^1.0.0"
+ character-entities-legacy "^1.0.0"
+ character-reference-invalid "^1.0.0"
+ is-alphanumerical "^1.0.0"
+ is-decimal "^1.0.0"
+ is-hexadecimal "^1.0.0"
+
parse-json@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
@@ -3761,6 +3900,11 @@ parse-json@^5.0.0:
json-parse-better-errors "^1.0.1"
lines-and-columns "^1.1.6"
+parse5@^5.0.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178"
+ integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==
+
pascalcase@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
@@ -4006,6 +4150,13 @@ prettier@^1.15.2:
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
+prismjs@~1.20.0:
+ version "1.20.0"
+ resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.20.0.tgz#9b685fc480a3514ee7198eac6a3bf5024319ff03"
+ integrity sha512-AEDjSrVNkynnw6A+B1DsFkd6AVdTnp+/WoUixFRULlCLZVRZlVQMVWio/16jv7G1FscUxQxOQhWwApgbnxr6kQ==
+ optionalDependencies:
+ clipboard "^2.0.0"
+
process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
@@ -4021,6 +4172,21 @@ progress@^2.0.0:
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+prompts@^2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068"
+ integrity sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==
+ dependencies:
+ kleur "^3.0.3"
+ sisteransi "^1.0.4"
+
+property-information@^5.0.0, property-information@^5.2.0:
+ version "5.4.0"
+ resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.4.0.tgz#16e08f13f4e5c4a7be2e4ec431c01c4f8dba869a"
+ integrity sha512-nmMWAm/3vKFGmmOWOcdLjgq/Hlxa+hsuR/px1Lp/UGEyc5A22A6l78Shc2C0E71sPmAqglni+HrS7L7VJ7AUCA==
+ dependencies:
+ xtend "^4.0.0"
+
proto-props@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/proto-props/-/proto-props-2.0.0.tgz#8ac6e6dec658545815c623a3bc81580deda9a181"
@@ -4211,6 +4377,15 @@ redent@^3.0.0:
indent-string "^4.0.0"
strip-indent "^3.0.0"
+refractor@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/refractor/-/refractor-3.0.0.tgz#7c8072eaf49dbc1b333e7acc64fb52a1c9b17c75"
+ integrity sha512-eCGK/oP4VuyW/ERqjMZRZHxl2QsztbkedkYy/SxqE/+Gh1gLaAF17tWIOcVJDiyGhar1NZy/0B9dFef7J0+FDw==
+ dependencies:
+ hastscript "^5.0.0"
+ parse-entities "^2.0.0"
+ prismjs "~1.20.0"
+
regenerator-runtime@^0.13.4:
version "0.13.5"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697"
@@ -4253,6 +4428,32 @@ registry-url@^5.0.0:
dependencies:
rc "^1.2.8"
+rehype-parse@^6.0.0:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-6.0.2.tgz#aeb3fdd68085f9f796f1d3137ae2b85a98406964"
+ integrity sha512-0S3CpvpTAgGmnz8kiCyFLGuW5yA4OQhyNTm/nwPopZ7+PI11WnGl1TTWTGv/2hPEe/g2jRLlhVVSsoDH8waRug==
+ dependencies:
+ hast-util-from-parse5 "^5.0.0"
+ parse5 "^5.0.0"
+ xtend "^4.0.0"
+
+rehype-stringify@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/rehype-stringify/-/rehype-stringify-6.0.1.tgz#b6aa9f84d5276c5d247c62fc1ea15983a35a4575"
+ integrity sha512-JfEPRDD4DiG7jet4md7sY07v6ACeb2x+9HWQtRPm2iA6/ic31hCv1SNBUtpolJASxQ/D8gicXiviW4TJKEMPKQ==
+ dependencies:
+ hast-util-to-html "^6.0.0"
+ xtend "^4.0.0"
+
+rehype@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/rehype/-/rehype-10.0.0.tgz#817a52747ebbb78c02d34d12efb0ccfac8195228"
+ integrity sha512-0W8M4Y91b2QuzDSTjkZgBOJo79bP089YbSQNPMqebuUVrp6iveoi+Ra6/H7fJwUxq8FCHGCGzkLaq3fvO9XnVg==
+ dependencies:
+ rehype-parse "^6.0.0"
+ rehype-stringify "^6.0.0"
+ unified "^9.0.0"
+
remark-parse@^6.0.0:
version "6.0.3"
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-6.0.3.tgz#c99131052809da482108413f87b0ee7f52180a3a"
@@ -4457,6 +4658,11 @@ sass@^1.26.3:
dependencies:
chokidar ">=2.0.0 <4.0.0"
+select@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
+ integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
+
semver-diff@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b"
@@ -4479,6 +4685,11 @@ semver@^7.1.2, semver@^7.1.3:
resolved "https://registry.yarnpkg.com/semver/-/semver-7.1.3.tgz#e4345ce73071c53f336445cfc19efb1c311df2a6"
integrity sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==
+semver@^7.3.2:
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
+ integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
+
set-blocking@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
@@ -4529,6 +4740,11 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
+sisteransi@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
+ integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
+
slash@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
@@ -4612,6 +4828,11 @@ source-map@^0.6.0, source-map@^0.6.1:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+space-separated-tokens@^1.0.0:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899"
+ integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
+
spdx-correct@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4"
@@ -4745,6 +4966,17 @@ stringify-entities@^1.0.1:
is-alphanumerical "^1.0.0"
is-hexadecimal "^1.0.0"
+stringify-entities@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-2.0.0.tgz#fa7ca6614b355fb6c28448140a20c4ede7462827"
+ integrity sha512-fqqhZzXyAM6pGD9lky/GOPq6V4X0SeTAFBl0iXb/BzOegl40gpf/bV3QQP7zULNYvjr6+Dx8SCaDULjVoOru0A==
+ dependencies:
+ character-entities-html4 "^1.0.0"
+ character-entities-legacy "^1.0.0"
+ is-alphanumerical "^1.0.0"
+ is-decimal "^1.0.2"
+ is-hexadecimal "^1.0.0"
+
strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
@@ -4985,6 +5217,11 @@ timers-browserify@^2.0.4:
dependencies:
setimmediate "^1.0.4"
+tiny-emitter@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
+ integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
+
tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
@@ -5166,6 +5403,18 @@ unified@^7.0.0:
vfile "^3.0.0"
x-is-string "^0.1.0"
+unified@^9.0.0:
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/unified/-/unified-9.0.0.tgz#12b099f97ee8b36792dbad13d278ee2f696eed1d"
+ integrity sha512-ssFo33gljU3PdlWLjNp15Inqb77d6JnJSfyplGJPT/a+fNRNyCBeveBAYJdO5khKdF6WVHa/yYCC7Xl6BDwZUQ==
+ dependencies:
+ bail "^1.0.0"
+ extend "^3.0.0"
+ is-buffer "^2.0.0"
+ is-plain-obj "^2.0.0"
+ trough "^1.0.0"
+ vfile "^4.0.0"
+
union-value@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
@@ -5349,6 +5598,14 @@ vfile-message@^1.0.0:
dependencies:
unist-util-stringify-position "^1.1.1"
+vfile-message@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a"
+ integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-stringify-position "^2.0.0"
+
vfile@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803"
@@ -5359,11 +5616,27 @@ vfile@^3.0.0:
unist-util-stringify-position "^1.0.0"
vfile-message "^1.0.0"
+vfile@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.1.0.tgz#d79248957f43225d57ff67a56effc67bef08946e"
+ integrity sha512-BaTPalregj++64xbGK6uIlsurN3BCRNM/P2Pg8HezlGzKd1O9PrwIac6bd9Pdx2uTb0QHoioZ+rXKolbVXEgJg==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ is-buffer "^2.0.0"
+ replace-ext "1.0.0"
+ unist-util-stringify-position "^2.0.0"
+ vfile-message "^2.0.0"
+
vm-browserify@^1.0.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
+web-namespaces@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec"
+ integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==
+
which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"