[ci] yarn format

This commit is contained in:
FredKSchott 2021-07-20 04:07:49 +00:00 committed by GitHub Actions
parent 07e533402e
commit 50f82e1a53
46 changed files with 666 additions and 632 deletions

View file

@ -9,7 +9,7 @@ body:
value: |
## Quick Checklist
Thank you for taking the time to file a bug report! Please fill out this form as completely as possible.
✅ I am using the **latest version of Astro** and all plugins.
✅ I am using a version of Node that supports ESM (`v12.20.0+`, `v14.13.1+`, or `v16.0.0+`)
- type: input
@ -45,5 +45,5 @@ body:
- type: input
attributes:
label: Link to Minimal Reproducible Example (Optional)
description: "Issues with easy reproductions are more likely to get fixed, faster."
description: 'Issues with easy reproductions are more likely to get fixed, faster.'
placeholder: 'https://github.com/username/repo'

View file

@ -41,7 +41,7 @@ body:
- type: checkboxes
attributes:
label: Help make it happen!
description: "Tip: RFCs with contributing authors are much more likely to get done!"
description: 'Tip: RFCs with contributing authors are much more likely to get done!'
options:
- label: I am willing to submit a PR to implement this change.
- label: I am willing to submit a PR to implement this change, but would need some guidance.

View file

@ -5,4 +5,4 @@ contact_links:
about: Our Discord server is active, come join us!
- name: 💁 Support
url: https://astro.build/chat
about: "This issue tracker is not for support questions. Join us on Discord for assistance!"
about: 'This issue tracker is not for support questions. Join us on Discord for assistance!'

View file

@ -1,7 +1,7 @@
{
"singleQuote": true,
"tabWidth": 2,
"endOfLine": "auto",
"trailingComma": "es5",
"printWidth": 80
}
"singleQuote": true,
"tabWidth": 2,
"endOfLine": "auto",
"trailingComma": "es5",
"printWidth": 80
}

View file

@ -1,28 +1,28 @@
.language-css > code,
.language-sass > code,
.language-scss > code {
color: #fd9170;
color: #fd9170;
}
[class*="language-"] .namespace {
opacity: 0.7;
[class*='language-'] .namespace {
opacity: 0.7;
}
.token.plain-text,
[class*="language-bash"] span.token,
[class*="language-shell"] span.token {
color: var(--color-gray-200);
[class*='language-bash'] span.token,
[class*='language-shell'] span.token {
color: var(--color-gray-200);
}
[class*="language-bash"] span.token,
[class*="language-shell"] span.token {
font-style: bold;
[class*='language-bash'] span.token,
[class*='language-shell'] span.token {
font-style: bold;
}
.token.prolog,
.token.comment,
[class*="language-bash"] span.token.comment,
[class*="language-shell"] span.token.comment {
[class*='language-bash'] span.token.comment,
[class*='language-shell'] span.token.comment {
color: var(--color-gray-400);
}
@ -33,7 +33,7 @@
.token.variable,
.token.entity,
.token.deleted {
color: #FA5E5B;
color: #fa5e5b;
}
.token.boolean,
@ -46,7 +46,7 @@
.token.hexcode,
.token.class-name,
.token.attr-name {
color: var(--color-yellow);
color: var(--color-yellow);
}
.token.atrule,
@ -56,15 +56,14 @@
.token.pseudo-class,
.token.pseudo-element,
.token.string {
color: var(--color-green);
color: var(--color-green);
}
.token.symbol,
.token.function,
.token.id,
.token.important
{
color: var(--color-blue);
.token.important {
color: var(--color-blue);
}
.token.important,
@ -72,27 +71,26 @@
font-weight: bold;
}
.token.cdata,
.token.char,
.token.property {
color: #23B1AF;
color: #23b1af;
}
.token.inserted {
color: var(--color-green);
color: var(--color-green);
}
.token.keyword {
color: #FF657C;
color: #ff657c;
font-style: italic;
}
.token.operator {
color: var(--color-gray-300);
color: var(--color-gray-300);
}
.token.attr-value .token.attr-equals,
.token.punctuation {
color: var(--color-gray-200);
color: var(--color-gray-200);
}

View file

@ -2,7 +2,10 @@
--font-fallback: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,
sans-serif, Apple Color Emoji, Segoe UI Emoji;
--font-body: system-ui, var(--font-fallback);
--font-mono: "IBM Plex Mono", Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
--font-mono: 'IBM Plex Mono', Consolas, 'Andale Mono WT', 'Andale Mono',
'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono',
'Bitstream Vera Sans Mono', 'Liberation Mono', 'Nimbus Mono L', Monaco,
'Courier New', Courier, monospace;
--color-white: #fff;
--color-black: #000014;
@ -56,7 +59,10 @@
--theme-navbar-height: 3.5rem;
--theme-sidebar-offset: var(--theme-navbar-height);
--theme-selection-color: var(--color-orange);
--theme-selection-bg: rgba(var(--color-orange-rgb), var(--theme-accent-opacity));
--theme-selection-bg: rgba(
var(--color-orange-rgb),
var(--theme-accent-opacity)
);
}
body {
@ -87,7 +93,10 @@ body {
--theme-code-text: var(--color-white);
--theme-navbar-bg: var(--color-gray-900);
--theme-selection-color: var(--color-white);
--theme-selection-bg: rgba(var(--color-purple-rgb), var(--theme-accent-opacity));
--theme-selection-bg: rgba(
var(--color-purple-rgb),
var(--theme-accent-opacity)
);
}
::selection {

View file

@ -5,4 +5,4 @@ export default {
},
plugins: ['@snowpack/plugin-dotenv'],
workspaceRoot: '../',
};
};

View file

@ -5,13 +5,11 @@ export default {
// public: './public', // A folder of static files Astro will copy to the root. Useful for favicons, images, and other files that dont need processing.
buildOptions: {
// site: 'http://example.com', // Your public domain, e.g.: https://my-site.dev/. Used to generate sitemaps and canonical URLs.
sitemap: true, // Generate sitemap (set to "false" to disable)
sitemap: true, // Generate sitemap (set to "false" to disable)
},
devOptions: {
// port: 3000, // The port to run the dev server on.
// tailwindConfig: '', // Path to tailwind.config.js if used, e.g. './tailwind.config.js'
},
renderers: [
'@astrojs/renderer-preact'
]
renderers: ['@astrojs/renderer-preact'],
};

View file

@ -5,13 +5,11 @@ export default {
// public: './public', // A folder of static files Astro will copy to the root. Useful for favicons, images, and other files that dont need processing.
buildOptions: {
// site: 'http://example.com', // Your public domain, e.g.: https://my-site.dev/. Used to generate sitemaps and canonical URLs.
sitemap: true, // Generate sitemap (set to "false" to disable)
sitemap: true, // Generate sitemap (set to "false" to disable)
},
devOptions: {
// port: 3000, // The port to run the dev server on.
// tailwindConfig: '', // Path to tailwind.config.js if used, e.g. './tailwind.config.js'
},
renderers: [
'@astrojs/renderer-preact'
]
renderers: ['@astrojs/renderer-preact'],
};

View file

@ -1,37 +1,35 @@
:root {
--font-fallback: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
--font-body: "IBM Plex Sans", var(--font-fallback);
--font-mono: "IBM Plex Mono", Consolas, "Andale Mono WT", "Andale Mono",
"Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono",
"Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco,
"Courier New", Courier, monospace;
--font-fallback: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;
--font-body: 'IBM Plex Sans', var(--font-fallback);
--font-mono: 'IBM Plex Mono', Consolas, 'Andale Mono WT', 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono',
'Liberation Mono', 'Nimbus Mono L', Monaco, 'Courier New', Courier, monospace;
--color-white: #FFF;
--color-white: #fff;
--color-black: #000014;
--color-gray-50: #F9FAFB;
--color-gray-100: #F3F4F6;
--color-gray-200: #E5E7EB;
--color-gray-300: #D1D5DB;
--color-gray-400: #9CA3AF;
--color-gray-500: #6B7280;
--color-gray-600: #4B5563;
--color-gray-50: #f9fafb;
--color-gray-100: #f3f4f6;
--color-gray-200: #e5e7eb;
--color-gray-300: #d1d5db;
--color-gray-400: #9ca3af;
--color-gray-500: #6b7280;
--color-gray-600: #4b5563;
--color-gray-700: #374151;
--color-gray-800: #1F2937;
--color-gray-800: #1f2937;
--color-gray-900: #111827;
--color-blue: #3894FF;
--color-blue-rgb: 56,148,255;
--color-green: #17C083;
--color-green-rgb: 23,192,131;
--color-orange: #FF5D01;
--color-orange-rgb: 255,93,1;
--color-purple: #882DE7;
--color-purple-rgb: 136,45,231;
--color-red: #FF1639;
--color-red-rgb: 255,22,57;
--color-yellow: #FFBE2D;
--color-yellow-rgb: 255,190,45;
--color-blue: #3894ff;
--color-blue-rgb: 56, 148, 255;
--color-green: #17c083;
--color-green-rgb: 23, 192, 131;
--color-orange: #ff5d01;
--color-orange-rgb: 255, 93, 1;
--color-purple: #882de7;
--color-purple-rgb: 136, 45, 231;
--color-red: #ff1639;
--color-red-rgb: 255, 22, 57;
--color-yellow: #ffbe2d;
--color-yellow-rgb: 255, 190, 45;
}
:root {
@ -140,30 +138,31 @@ nav ul {
}
h1 {
font-size: clamp(2.488rem, 1.9240rem + 1.4100vw, 3.052rem);
font-size: clamp(2.488rem, 1.924rem + 1.41vw, 3.052rem);
}
h2 {
font-size: clamp(2.074rem, 1.7070rem + 0.9175vw, 2.441rem);
font-size: clamp(2.074rem, 1.707rem + 0.9175vw, 2.441rem);
}
h3 {
font-size: clamp(1.728rem, 1.5030rem + 0.5625vw, 1.953rem);
font-size: clamp(1.728rem, 1.503rem + 0.5625vw, 1.953rem);
}
h4 {
font-size: clamp(1.44rem, 1.3170rem + 0.3075vw, 1.563rem);
font-size: clamp(1.44rem, 1.317rem + 0.3075vw, 1.563rem);
}
h5 {
font-size: clamp(1.2rem, 1.1500rem + 0.1250vw, 1.25rem);
font-size: clamp(1.2rem, 1.15rem + 0.125vw, 1.25rem);
}
p {
color: var(--theme-text-light);
}
small, .text_small {
small,
.text_small {
font-size: 0.833rem;
}
@ -176,14 +175,14 @@ a {
gap: 0.5rem;
}
a > code:not([class*="language"]) {
a > code:not([class*='language']) {
position: relative;
color: var(--theme-accent);
background: transparent;
text-underline-offset: var(--padding-block);
}
a > code:not([class*="language"])::before {
a > code:not([class*='language'])::before {
content: '';
position: absolute;
top: 0;
@ -213,13 +212,13 @@ strong {
/* Supporting Content */
code:not([class*="language"]) {
code:not([class*='language']) {
--border-radius: 3px;
--padding-block: 0.2rem;
--padding-inline: 0.33rem;
font-family: var(--font-mono);
font-size: .85em;
font-size: 0.85em;
color: inherit;
background-color: var(--theme-code-inline-bg);
padding: var(--padding-block) var(--padding-inline);
@ -227,7 +226,7 @@ code:not([class*="language"]) {
border-radius: var(--border-radius);
}
pre > code:not([class*="language"]) {
pre > code:not([class*='language']) {
background-color: transparent;
padding: 0;
margin: 0;
@ -245,7 +244,7 @@ pre {
padding-right: calc(var(--padding-inline) * 2);
margin-left: calc(50vw - var(--padding-inline));
transform: translateX(-50vw);
line-height: 1.414;
width: calc(100vw + (var(--padding-inline) * 2));
max-width: calc(100% + (var(--padding-inline) * 2));

View file

@ -1,99 +1,93 @@
:root {
--font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
--font-mono: "IBM Plex Mono", Consolas, "Andale Mono WT", "Andale Mono",
"Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono",
"Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco,
"Courier New", Courier, monospace;
--color-green: #17c083;
--font-sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
--font-mono: 'IBM Plex Mono', Consolas, 'Andale Mono WT', 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono',
'Liberation Mono', 'Nimbus Mono L', Monaco, 'Courier New', Courier, monospace;
--color-green: #17c083;
}
* {
box-sizing: border-box;
margin: 0;
box-sizing: border-box;
margin: 0;
}
html {
display: grid;
width: 100%;
max-width: 100vw;
overflow: hidden;
height: 100%;
background-color: #000014;
display: grid;
width: 100%;
max-width: 100vw;
overflow: hidden;
height: 100%;
background-color: #000014;
}
html, body {
padding: 0;
font-size: clamp(14px, calc(1rem + (3vw - 1.2rem)), 20px);
font-family: var(--font-sans);
font-weight: 400;
background-image: radial-gradient(
87.7% 87.7% at 85.6% 18.14%,
#111827 0%,
#000014 100%
);
background-repeat: no-repeat;
color: #f3f4f6;
html,
body {
padding: 0;
font-size: clamp(14px, calc(1rem + (3vw - 1.2rem)), 20px);
font-family: var(--font-sans);
font-weight: 400;
background-image: radial-gradient(87.7% 87.7% at 85.6% 18.14%, #111827 0%, #000014 100%);
background-repeat: no-repeat;
color: #f3f4f6;
}
body {
position: relative;
display: grid;
place-items: center;
min-width: 100%;
max-width: 100vw;
min-height: 100vh;
overflow-x: hidden;
position: relative;
display: grid;
place-items: center;
min-width: 100%;
max-width: 100vw;
min-height: 100vh;
overflow-x: hidden;
}
.visually-hidden {
clip: rect(0 0 0 0);
clip-path: inset(50%);
height: 1px;
overflow: hidden;
position: absolute;
white-space: nowrap;
width: 1px;
clip: rect(0 0 0 0);
clip-path: inset(50%);
height: 1px;
overflow: hidden;
position: absolute;
white-space: nowrap;
width: 1px;
}
a {
position: relative;
text-decoration: none;
color: var(--color-green);
padding: 0.05em 0.125em;
margin: -0.05em -0.125em;
transition: color 120ms cubic-bezier(0.23, 1, 0.320, 1);
z-index: 0;
display: inline-block;
position: relative;
text-decoration: none;
color: var(--color-green);
padding: 0.05em 0.125em;
margin: -0.05em -0.125em;
transition: color 120ms cubic-bezier(0.23, 1, 0.32, 1);
z-index: 0;
display: inline-block;
&:hover,
&:focus {
color: rgba(0, 0, 0, 1);
&::before {
transform: scaleY(1);
background: var(--color-green);
}
}
&:visited {
// color: var(--color-green);
color: var(--color-green);
&:hover,
&:focus {
color: rgba(0, 0, 0, 1);
}
}
&:hover,
&:focus {
color: rgba(0, 0, 0, 1);
&::before {
transform-origin: bottom center;
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
inset: 0;
background: var(--color-green);
pointer-events: none;
transform: scaleY(0.05);
transition: transform 120ms cubic-bezier(0.23, 1, 0.320, 1),
background 120ms cubic-bezier(0.23, 1, 0.320, 1);
z-index: -1;
transform: scaleY(1);
background: var(--color-green);
}
}
&:visited {
// color: var(--color-green);
color: var(--color-green);
&:hover,
&:focus {
color: rgba(0, 0, 0, 1);
}
}
&::before {
transform-origin: bottom center;
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
inset: 0;
background: var(--color-green);
pointer-events: none;
transform: scaleY(0.05);
transition: transform 120ms cubic-bezier(0.23, 1, 0.32, 1), background 120ms cubic-bezier(0.23, 1, 0.32, 1);
z-index: -1;
}
}

View file

@ -11,7 +11,5 @@ export default {
// port: 3000, // The port to run the dev server on.
// tailwindConfig: '', // Path to tailwind.config.js if used, e.g. './tailwind.config.js'
},
renderers: [
'@astrojs/renderer-preact'
]
renderers: ['@astrojs/renderer-preact'],
};

View file

@ -1,155 +1,155 @@
.language-css > code,
.language-sass > code,
.language-scss > code {
color: #fd9170;
color: #fd9170;
}
[class*="language-"] .namespace {
opacity: 0.7;
[class*='language-'] .namespace {
opacity: 0.7;
}
.token.atrule {
color: #c792ea;
color: #c792ea;
}
.token.attr-name {
color: #ffcb6b;
color: #ffcb6b;
}
.token.attr-value {
color: #a5e844;
color: #a5e844;
}
.token.attribute {
color: #a5e844;
color: #a5e844;
}
.token.boolean {
color: #c792ea;
color: #c792ea;
}
.token.builtin {
color: #ffcb6b;
color: #ffcb6b;
}
.token.cdata {
color: #80cbc4;
color: #80cbc4;
}
.token.char {
color: #80cbc4;
color: #80cbc4;
}
.token.class {
color: #ffcb6b;
color: #ffcb6b;
}
.token.class-name {
color: #f2ff00;
color: #f2ff00;
}
.token.comment {
color: #616161;
color: #616161;
}
.token.constant {
color: #c792ea;
color: #c792ea;
}
.token.deleted {
color: #ff6666;
color: #ff6666;
}
.token.doctype {
color: #616161;
color: #616161;
}
.token.entity {
color: #ff6666;
color: #ff6666;
}
.token.function {
color: #c792ea;
color: #c792ea;
}
.token.hexcode {
color: #f2ff00;
color: #f2ff00;
}
.token.id {
color: #c792ea;
font-weight: bold;
color: #c792ea;
font-weight: bold;
}
.token.important {
color: #c792ea;
font-weight: bold;
color: #c792ea;
font-weight: bold;
}
.token.inserted {
color: #80cbc4;
color: #80cbc4;
}
.token.keyword {
color: #c792ea;
color: #c792ea;
}
.token.number {
color: #fd9170;
color: #fd9170;
}
.token.operator {
color: #89ddff;
color: #89ddff;
}
.token.prolog {
color: #616161;
color: #616161;
}
.token.property {
color: #80cbc4;
color: #80cbc4;
}
.token.pseudo-class {
color: #a5e844;
color: #a5e844;
}
.token.pseudo-element {
color: #a5e844;
color: #a5e844;
}
.token.punctuation {
color: #89ddff;
color: #89ddff;
}
.token.regex {
color: #f2ff00;
color: #f2ff00;
}
.token.selector {
color: #ff6666;
color: #ff6666;
}
.token.string {
color: #a5e844;
color: #a5e844;
}
.token.symbol {
color: #c792ea;
color: #c792ea;
}
.token.tag {
color: #ff6666;
color: #ff6666;
}
.token.unit {
color: #fd9170;
color: #fd9170;
}
.token.url {
color: #ff6666;
color: #ff6666;
}
.token.variable {
color: #ff6666;
color: #ff6666;
}

View file

@ -52,30 +52,31 @@ nav ul {
}
h1 {
font-size: clamp(2.488rem, 1.9240rem + 1.4100vw, 3.052rem);
font-size: clamp(2.488rem, 1.924rem + 1.41vw, 3.052rem);
}
h2 {
font-size: clamp(2.074rem, 1.7070rem + 0.9175vw, 2.441rem);
font-size: clamp(2.074rem, 1.707rem + 0.9175vw, 2.441rem);
}
h3 {
font-size: clamp(1.728rem, 1.5030rem + 0.5625vw, 1.953rem);
font-size: clamp(1.728rem, 1.503rem + 0.5625vw, 1.953rem);
}
h4 {
font-size: clamp(1.44rem, 1.3170rem + 0.3075vw, 1.563rem);
font-size: clamp(1.44rem, 1.317rem + 0.3075vw, 1.563rem);
}
h5 {
font-size: clamp(1.2rem, 1.1500rem + 0.1250vw, 1.25rem);
font-size: clamp(1.2rem, 1.15rem + 0.125vw, 1.25rem);
}
p {
color: var(--theme-text-light);
}
small, .text_small {
small,
.text_small {
font-size: 0.833rem;
}
@ -89,14 +90,14 @@ a {
gap: 0.5rem;
}
a > code:not([class*="language"]) {
a > code:not([class*='language']) {
position: relative;
color: var(--theme-accent);
background: transparent;
text-underline-offset: var(--padding-block);
}
a > code:not([class*="language"])::before {
a > code:not([class*='language'])::before {
content: '';
position: absolute;
top: 0;
@ -126,13 +127,13 @@ strong {
/* Supporting Content */
code:not([class*="language"]) {
code:not([class*='language']) {
--border-radius: 3px;
--padding-block: 0.2rem;
--padding-inline: 0.33rem;
font-family: var(--font-mono);
font-size: .85em;
font-size: 0.85em;
color: inherit;
background-color: var(--theme-code-inline-bg);
padding: var(--padding-block) var(--padding-inline);
@ -140,7 +141,7 @@ code:not([class*="language"]) {
border-radius: var(--border-radius);
}
pre > code:not([class*="language"]) {
pre > code:not([class*='language']) {
background-color: transparent;
padding: 0;
margin: 0;
@ -158,7 +159,7 @@ pre {
padding-right: calc(var(--padding-inline) * 2);
margin-left: calc(50vw - var(--padding-inline));
transform: translateX(-50vw);
line-height: 1.414;
width: calc(100vw + 4px);
max-width: calc(100% + (var(--padding-inline) * 2));
@ -211,7 +212,6 @@ button {
background-color: var(--theme-bg);
}
button:hover {
}
#theme-toggle {
@ -254,7 +254,7 @@ button:hover {
opacity: 1;
}
input[name="theme-toggle"] {
input[name='theme-toggle'] {
position: absolute;
opacity: 0;
top: 0;
@ -354,7 +354,7 @@ nav h4 {
}
.nav-groups > li + li {
margin-top: 2rem;
margin-top: 2rem;
}
/* Scrollbar */
@ -362,7 +362,7 @@ nav h4 {
/* Firefox */
body {
scrollbar-width: thin;
scrollbar-color: var(--theme-text-lighter) var(--theme-divider);
scrollbar-color: var(--theme-text-lighter) var(--theme-divider);
}
/* width */

View file

@ -1,34 +1,34 @@
:root {
--font-fallback: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
--font-fallback: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;
--font-body: system-ui, var(--font-fallback);
--font-mono: source-code-pro,Menlo,Monaco,Consolas,'Courier New',monospace;
--font-mono: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
--color-white: #FFF;
--color-white: #fff;
--color-black: #000014;
--color-gray-50: #F9FAFB;
--color-gray-100: #F3F4F6;
--color-gray-200: #E5E7EB;
--color-gray-300: #D1D5DB;
--color-gray-400: #9CA3AF;
--color-gray-500: #6B7280;
--color-gray-600: #4B5563;
--color-gray-50: #f9fafb;
--color-gray-100: #f3f4f6;
--color-gray-200: #e5e7eb;
--color-gray-300: #d1d5db;
--color-gray-400: #9ca3af;
--color-gray-500: #6b7280;
--color-gray-600: #4b5563;
--color-gray-700: #374151;
--color-gray-800: #1F2937;
--color-gray-800: #1f2937;
--color-gray-900: #111827;
--color-blue: #3894FF;
--color-blue-rgb: 56,148,255;
--color-green: #17C083;
--color-green-rgb: 23,192,131;
--color-orange: #FF5D01;
--color-orange-rgb: 255,93,1;
--color-purple: #882DE7;
--color-purple-rgb: 136,45,231;
--color-red: #FF1639;
--color-red-rgb: 255,22,57;
--color-yellow: #FFBE2D;
--color-yellow-rgb: 255,190,45;
--color-blue: #3894ff;
--color-blue-rgb: 56, 148, 255;
--color-green: #17c083;
--color-green-rgb: 23, 192, 131;
--color-orange: #ff5d01;
--color-orange-rgb: 255, 93, 1;
--color-purple: #882de7;
--color-purple-rgb: 136, 45, 231;
--color-red: #ff1639;
--color-red-rgb: 255, 22, 57;
--color-yellow: #ffbe2d;
--color-yellow-rgb: 255, 190, 45;
}
:root {

View file

@ -11,7 +11,5 @@ export default {
// port: 3000, // The port to run the dev server on.
// tailwindConfig: '', // Path to tailwind.config.js if used, e.g. './tailwind.config.js'
},
renderers: [
'@astrojs/renderer-lit'
]
};
renderers: ['@astrojs/renderer-lit'],
};

View file

@ -1,38 +1,39 @@
:root {
--font-mono: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
--color-light: #F3F4F6;
--font-mono: Consolas, 'Andale Mono WT', 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono',
'Nimbus Mono L', Monaco, 'Courier New', Courier, monospace;
--color-light: #f3f4f6;
}
@media (prefers-color-scheme: dark) {
:root {
--color-light: #1F2937;
}
:root {
--color-light: #1f2937;
}
}
a {
color: inherit;
color: inherit;
}
header > div {
font-size: clamp(2rem, -0.4742rem + 6.1856vw, 2.75rem);
font-size: clamp(2rem, -0.4742rem + 6.1856vw, 2.75rem);
}
header > div {
display: flex;
flex-direction: column;
align-items: center;
display: flex;
flex-direction: column;
align-items: center;
}
header h1 {
font-size: 1em;
font-weight: 500;
font-size: 1em;
font-weight: 500;
}
header img {
width: 2em;
height: 2.667em;
width: 2em;
height: 2.667em;
}
h2 {
font-weight: 500;
font-size: clamp(1.5rem, 1rem + 1.25vw, 2rem);
font-weight: 500;
font-size: clamp(1.5rem, 1rem + 1.25vw, 2rem);
}

View file

@ -11,10 +11,5 @@ export default {
// port: 3000, // The port to run the dev server on.
// tailwindConfig: '', // Path to tailwind.config.js if used, e.g. './tailwind.config.js'
},
renderers: [
'@astrojs/renderer-preact',
'@astrojs/renderer-react',
'@astrojs/renderer-svelte',
'@astrojs/renderer-vue',
]
renderers: ['@astrojs/renderer-preact', '@astrojs/renderer-react', '@astrojs/renderer-svelte', '@astrojs/renderer-vue'],
};

View file

@ -1,11 +1,11 @@
<template>
<div class="counter">
<button @click="subtract()">-</button>
<pre>{{ count }}</pre>
<button @click="add()">+</button>
<button @click="subtract()">-</button>
<pre>{{ count }}</pre>
<button @click="add()">+</button>
</div>
<div class="children">
<slot />
<slot />
</div>
</template>
@ -13,15 +13,15 @@
import { ref } from 'vue';
export default {
setup() {
const count = ref(0)
const add = () => count.value = count.value + 1;
const subtract = () => count.value = count.value - 1;
const count = ref(0);
const add = () => (count.value = count.value + 1);
const subtract = () => (count.value = count.value - 1);
return {
count,
add,
subtract
}
}
}
subtract,
};
},
};
</script>

View file

@ -11,7 +11,5 @@ export default {
// port: 3000, // The port to run the dev server on.
// tailwindConfig: '', // Path to tailwind.config.js if used, e.g. './tailwind.config.js'
},
renderers: [
'@astrojs/renderer-preact'
]
renderers: ['@astrojs/renderer-preact'],
};

View file

@ -11,7 +11,5 @@ export default {
// port: 3000, // The port to run the dev server on.
// tailwindConfig: '', // Path to tailwind.config.js if used, e.g. './tailwind.config.js'
},
renderers: [
'@astrojs/renderer-react'
]
renderers: ['@astrojs/renderer-react'],
};

View file

@ -11,7 +11,5 @@ export default {
// port: 3000, // The port to run the dev server on.
// tailwindConfig: '', // Path to tailwind.config.js if used, e.g. './tailwind.config.js'
},
renderers: [
'@astrojs/renderer-svelte'
]
renderers: ['@astrojs/renderer-svelte'],
};

View file

@ -11,7 +11,5 @@ export default {
// port: 3000, // The port to run the dev server on.
// tailwindConfig: '', // Path to tailwind.config.js if used, e.g. './tailwind.config.js'
},
renderers: [
'@astrojs/renderer-vue'
]
renderers: ['@astrojs/renderer-vue'],
};

View file

@ -1,11 +1,11 @@
<template>
<div class="counter">
<button @click="subtract()">-</button>
<pre>{{ count }}</pre>
<button @click="add()">+</button>
<button @click="subtract()">-</button>
<pre>{{ count }}</pre>
<button @click="add()">+</button>
</div>
<div class="children">
<slot />
<slot />
</div>
</template>
@ -13,15 +13,15 @@
import { ref } from 'vue';
export default {
setup() {
const count = ref(0)
const add = () => count.value = count.value + 1;
const subtract = () => count.value = count.value - 1;
const count = ref(0);
const add = () => (count.value = count.value + 1);
const subtract = () => (count.value = count.value - 1);
return {
count,
add,
subtract
}
}
}
subtract,
};
},
};
</script>

View file

@ -11,7 +11,5 @@ export default {
// port: 3000, // The port to run the dev server on.
// tailwindConfig: '', // Path to tailwind.config.js if used, e.g. './tailwind.config.js'
},
renderers: [
'@astrojs/renderer-preact'
]
renderers: ['@astrojs/renderer-preact'],
};

View file

@ -86,35 +86,69 @@ h1 {
$colors: 'black', 'blue', 'white';
@each $color in $colors {
// text color
.tc-#{$color} { color: var(--c-#{color}); }
.tc-#{$color} {
color: var(--c-#{color});
}
// background color
.bg-#{$color} { background-color: var(--c-#{color}); }
.bg-#{$color} {
background-color: var(--c-#{color});
}
}
// font size
@for $i from 0 through 18 {
.f-u#{$i} { font-size: var(--f-u#{$i}); }
.f-d#{$i} { font-size: var(--f-d#{$i}); }
.f-u#{$i} {
font-size: var(--f-u#{$i});
}
.f-d#{$i} {
font-size: var(--f-d#{$i});
}
}
// margin & padding
@for $i from 0 through 36 {
.ma#{$i} { margin: #{0.5 * $i}rem; }
.mt#{$i} { margin-top: #{0.5 * $i}rem; }
.mr#{$i} { margin-right: #{0.5 * $i}rem; }
.mb#{$i} { margin-bottom: #{0.5 * $i}rem; }
.ml#{$i} { margin-left: #{0.5 * $i}rem; }
.pa#{$i} { padding: #{0.5 * $i}rem; }
.pt#{$i} { padding-top: #{0.5 * $i}rem; }
.pr#{$i} { padding-right: #{0.5 * $i}rem; }
.pb#{$i} { padding-bottom: #{0.5 * $i}rem; }
.pl#{$i} { padding-left: #{0.5 * $i}rem; }
.ma#{$i} {
margin: #{0.5 * $i}rem;
}
.mt#{$i} {
margin-top: #{0.5 * $i}rem;
}
.mr#{$i} {
margin-right: #{0.5 * $i}rem;
}
.mb#{$i} {
margin-bottom: #{0.5 * $i}rem;
}
.ml#{$i} {
margin-left: #{0.5 * $i}rem;
}
.pa#{$i} {
padding: #{0.5 * $i}rem;
}
.pt#{$i} {
padding-top: #{0.5 * $i}rem;
}
.pr#{$i} {
padding-right: #{0.5 * $i}rem;
}
.pb#{$i} {
padding-bottom: #{0.5 * $i}rem;
}
.pl#{$i} {
padding-left: #{0.5 * $i}rem;
}
}
// text align
.tac { text-align: center; }
.tal { text-align: left; }
.tar { text-align: right; }
.tac {
text-align: center;
}
.tal {
text-align: left;
}
.tar {
text-align: right;
}
// wrapper
.wrapper {
@ -126,4 +160,4 @@ $colors: 'black', 'blue', 'white';
}
.wrapper__readable {
max-width: 50em;
}
}

View file

@ -6,6 +6,6 @@ export default {
renderers: [
'@astrojs/renderer-vue',
'@astrojs/renderer-svelte',
'@astrojs/renderer-preact'
]
'@astrojs/renderer-preact',
],
};

View file

@ -1 +1,19 @@
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
{
"name": "",
"short_name": "",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}

View file

@ -4,22 +4,48 @@
// margin & padding
@for $i from 0 through 36 {
.ma#{$i} { margin: #{0.5 * $i}rem; }
.mt#{$i} { margin-top: #{0.5 * $i}rem; }
.mr#{$i} { margin-right: #{0.5 * $i}rem; }
.mb#{$i} { margin-bottom: #{0.5 * $i}rem; }
.ml#{$i} { margin-left: #{0.5 * $i}rem; }
.pa#{$i} { padding: #{0.5 * $i}rem; }
.pt#{$i} { padding-top: #{0.5 * $i}rem; }
.pr#{$i} { padding-right: #{0.5 * $i}rem; }
.pb#{$i} { padding-bottom: #{0.5 * $i}rem; }
.pl#{$i} { padding-left: #{0.5 * $i}rem; }
.ma#{$i} {
margin: #{0.5 * $i}rem;
}
.mt#{$i} {
margin-top: #{0.5 * $i}rem;
}
.mr#{$i} {
margin-right: #{0.5 * $i}rem;
}
.mb#{$i} {
margin-bottom: #{0.5 * $i}rem;
}
.ml#{$i} {
margin-left: #{0.5 * $i}rem;
}
.pa#{$i} {
padding: #{0.5 * $i}rem;
}
.pt#{$i} {
padding-top: #{0.5 * $i}rem;
}
.pr#{$i} {
padding-right: #{0.5 * $i}rem;
}
.pb#{$i} {
padding-bottom: #{0.5 * $i}rem;
}
.pl#{$i} {
padding-left: #{0.5 * $i}rem;
}
}
// text align
.tac { text-align: center; }
.tal { text-align: left; }
.tar { text-align: right; }
.tac {
text-align: center;
}
.tal {
text-align: left;
}
.tar {
text-align: right;
}
// wrapper
.wrapper {
@ -32,4 +58,4 @@
.wrapper__readable {
max-width: 55em;
}
}

View file

@ -8,8 +8,8 @@ export default {
props: {
title: {
type: String,
required: true
}
}
}
required: true,
},
},
};
</script>

View file

@ -1,40 +1,41 @@
:root {
--font-mono: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
--color-light: #F3F4F6;
--font-mono: Consolas, 'Andale Mono WT', 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono',
'Nimbus Mono L', Monaco, 'Courier New', Courier, monospace;
--color-light: #f3f4f6;
}
@media (prefers-color-scheme: dark) {
:root {
--color-light: #1F2937;
}
:root {
--color-light: #1f2937;
}
}
a {
color: inherit;
color: inherit;
}
header > div {
font-size: clamp(2rem, -0.4742rem + 6.1856vw, 2.75rem);
font-size: clamp(2rem, -0.4742rem + 6.1856vw, 2.75rem);
}
header > div {
display: flex;
flex-direction: column;
align-items: center;
display: flex;
flex-direction: column;
align-items: center;
}
header h1 {
font-size: 1em;
font-weight: 500;
font-size: 1em;
font-weight: 500;
}
header img {
width: 2em;
height: 2.667em;
width: 2em;
height: 2.667em;
}
h2 {
font-weight: 500;
font-size: clamp(1.5rem, 1rem + 1.25vw, 2rem);
font-weight: 500;
font-size: clamp(1.5rem, 1rem + 1.25vw, 2rem);
}
.counter {

View file

@ -4,19 +4,15 @@ export default {
// dist: './dist', // When running `astro build`, path to final static output
// public: './public', // A folder of static files Astro will copy to the root. Useful for favicons, images, and other files that dont need processing.
buildOptions: {
site: 'http://example.com', // Your public domain, e.g.: https://my-site.dev/. Used to generate sitemaps and canonical URLs.
site: 'http://example.com', // Your public domain, e.g.: https://my-site.dev/. Used to generate sitemaps and canonical URLs.
// sitemap: true, // Generate sitemap (set to "false" to disable)
},
markdownOptions: {
remarkPlugins: [
'remark-code-titles',
'remark-slug',
['remark-autolink-headings', { behavior: 'prepend' }],
],
remarkPlugins: ['remark-code-titles', 'remark-slug', ['remark-autolink-headings', { behavior: 'prepend' }]],
rehypePlugins: [
['rehype-toc', { headings: ["h2", "h3"] }],
['rehype-add-classes', { 'h1,h2,h3': 'title', }],
]
['rehype-toc', { headings: ['h2', 'h3'] }],
['rehype-add-classes', { 'h1,h2,h3': 'title' }],
],
},
devOptions: {
// port: 3000, // The port to run the dev server on.

View file

@ -34,20 +34,20 @@ body {
}
.remark-code-title,
pre[class^="language-"] {
pre[class^='language-'] {
padding: 10px;
margin: 0;
}
.remark-code-title {
border-bottom: 1px solid rgba(0,0,0,.05);
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
border-radius: 4px 4px 0 0;
background: rgba(0,0,0,.08);
background: rgba(0, 0, 0, 0.08);
font-family: monospace;
font-weight: bold;
}
pre[class^="language-"] {
background: rgba(0,0,0,.05);
pre[class^='language-'] {
background: rgba(0, 0, 0, 0.05);
border-radius: 0 0 4px 4px;
}

View file

@ -3,4 +3,4 @@
body {
max-width: 900px;
margin: auto;
}
}

View file

@ -1,11 +1,11 @@
<template>
<div class="counter">
<button @click="subtract()">-</button>
<pre>{{ count }}</pre>
<button @click="add()">+</button>
<button @click="subtract()">-</button>
<pre>{{ count }}</pre>
<button @click="add()">+</button>
</div>
<div class="children">
<slot />
<slot />
</div>
</template>
@ -13,15 +13,15 @@
import { ref } from 'vue';
export default {
setup() {
const count = ref(0)
const add = () => count.value = count.value + 1;
const subtract = () => count.value = count.value - 1;
const count = ref(0);
const add = () => (count.value = count.value + 1);
const subtract = () => (count.value = count.value - 1);
return {
count,
add,
subtract
}
}
}
subtract,
};
},
};
</script>

View file

@ -9,12 +9,7 @@ export default {
},
devOptions: {
// port: 3000, // The port to run the dev server on.
tailwindConfig: './tailwind.config.js', // Path to tailwind.config.js if used, e.g. './tailwind.config.js'
tailwindConfig: './tailwind.config.js', // Path to tailwind.config.js if used, e.g. './tailwind.config.js'
},
renderers: [
'@astrojs/renderer-preact',
'@astrojs/renderer-react',
'@astrojs/renderer-svelte',
'@astrojs/renderer-vue',
]
renderers: ['@astrojs/renderer-preact', '@astrojs/renderer-react', '@astrojs/renderer-svelte', '@astrojs/renderer-vue'],
};

View file

@ -1,38 +1,39 @@
:root {
--font-mono: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
--color-light: #F3F4F6;
--font-mono: Consolas, 'Andale Mono WT', 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono',
'Nimbus Mono L', Monaco, 'Courier New', Courier, monospace;
--color-light: #f3f4f6;
}
@media (prefers-color-scheme: dark) {
:root {
--color-light: #1F2937;
}
:root {
--color-light: #1f2937;
}
}
a {
color: inherit;
color: inherit;
}
header > div {
font-size: clamp(2rem, -0.4742rem + 6.1856vw, 2.75rem);
font-size: clamp(2rem, -0.4742rem + 6.1856vw, 2.75rem);
}
header > div {
display: flex;
flex-direction: column;
align-items: center;
display: flex;
flex-direction: column;
align-items: center;
}
header h1 {
font-size: 1em;
font-weight: 500;
font-size: 1em;
font-weight: 500;
}
header img {
width: 2em;
height: 2.667em;
width: 2em;
height: 2.667em;
}
h2 {
font-weight: 500;
font-size: clamp(1.5rem, 1rem + 1.25vw, 2rem);
font-weight: 500;
font-size: clamp(1.5rem, 1rem + 1.25vw, 2rem);
}

View file

@ -2,12 +2,12 @@
<h1>Vue</h1>
<ul>
<li v-for="user in list" :key="user.name">
{{JSON.stringify(user, null, 2)}}
{{ JSON.stringify(user, null, 2) }}
</li>
</ul>
<div>
<h3>Counter</h3>
<p>{{count}}</p>
<p>{{ count }}</p>
<button @click="decreaseCounter">-1</button>
<button @click="increaseCounter">+1</button>
</div>
@ -15,16 +15,16 @@
</template>
<script>
import { useStore } from 'nanostores/vue'
import { useStore } from 'nanostores/vue';
import { admins } from '../store/admins.js'
import { counter, increaseCounter, decreaseCounter } from '../store/counter.js'
import { admins } from '../store/admins.js';
import { counter, increaseCounter, decreaseCounter } from '../store/counter.js';
export default {
setup() {
const list = useStore(admins)
const count = useStore(counter)
return { list, count, increaseCounter, decreaseCounter }
}
}
export default {
setup() {
const list = useStore(admins);
const count = useStore(counter);
return { list, count, increaseCounter, decreaseCounter };
},
};
</script>

View file

@ -5,13 +5,11 @@ export default {
// public: './public', // A folder of static files Astro will copy to the root. Useful for favicons, images, and other files that dont need processing.
buildOptions: {
// site: 'http://example.com', // Your public domain, e.g.: https://my-site.dev/. Used to generate sitemaps and canonical URLs.
sitemap: true, // Generate sitemap (set to "false" to disable)
sitemap: true, // Generate sitemap (set to "false" to disable)
},
devOptions: {
// port: 3000, // The port to run the dev server on.
tailwindConfig: './tailwind.config.js', // Path to tailwind.config.js if used, e.g. './tailwind.config.js'
tailwindConfig: './tailwind.config.js', // Path to tailwind.config.js if used, e.g. './tailwind.config.js'
},
renderers: [
'@astrojs/renderer-preact'
]
renderers: ['@astrojs/renderer-preact'],
};

View file

@ -1,72 +1,82 @@
export function addAstro(Prism) {
if(Prism.languages.astro) {
if (Prism.languages.astro) {
return;
}
let scriptLang;
if(Prism.languages.typescript) {
if (Prism.languages.typescript) {
scriptLang = 'typescript';
} else {
scriptLang = 'javascript';
console.warn('Prism TypeScript language not loaded, Astro scripts will be treated as JavaScript.');
}
let script = Prism.util.clone(Prism.languages[scriptLang]);
let space = /(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source;
let braces = /(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source;
let spread = /(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;
/**
* @param {string} source
* @param {string} [flags]
*/
function re(source, flags) {
source = source
.replace(/<S>/g, function () { return space; })
.replace(/<BRACES>/g, function () { return braces; })
.replace(/<SPREAD>/g, function () { return spread; });
.replace(/<S>/g, function () {
return space;
})
.replace(/<BRACES>/g, function () {
return braces;
})
.replace(/<SPREAD>/g, function () {
return spread;
});
return RegExp(source, flags);
}
spread = re(spread).source;
Prism.languages.astro = Prism.languages.extend('markup', script);
Prism.languages.astro.tag.pattern = re(
/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[^]|[^\\"])*"|'(?:\\[^]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source
);
Prism.languages.astro.tag.pattern = re(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[^]|[^\\"])*"|'(?:\\[^]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source);
Prism.languages.astro.tag.inside['tag'].pattern = /^<\/?[^\s>\/]*/i;
Prism.languages.astro.tag.inside['attr-value'].pattern = /=(?!\{)(?:"(?:\\[^]|[^\\"])*"|'(?:\\[^]|[^\\'])*'|[^\s'">]+)/i;
Prism.languages.astro.tag.inside['tag'].inside['class-name'] = /^[A-Z]\w*(?:\.[A-Z]\w*)*$/;
Prism.languages.astro.tag.inside['comment'] = script['comment'];
Prism.languages.insertBefore('inside', 'attr-name', {
'spread': {
pattern: re(/<SPREAD>/.source),
inside: Prism.languages.astro
}
}, Prism.languages.astro.tag);
Prism.languages.insertBefore('inside', 'special-attr', {
'script': {
// Allow for two levels of nesting
pattern: re(/=<BRACES>/.source),
inside: {
'script-punctuation': {
pattern: /^=(?={)/,
alias: 'punctuation'
},
rest: Prism.languages.astro
},
'alias': `language-${scriptLang}`
}
}, Prism.languages.astro.tag);
Prism.languages.insertBefore(
'inside',
'attr-name',
{
spread: {
pattern: re(/<SPREAD>/.source),
inside: Prism.languages.astro,
},
},
Prism.languages.astro.tag
);
Prism.languages.insertBefore(
'inside',
'special-attr',
{
script: {
// Allow for two levels of nesting
pattern: re(/=<BRACES>/.source),
inside: {
'script-punctuation': {
pattern: /^=(?={)/,
alias: 'punctuation',
},
rest: Prism.languages.astro,
},
alias: `language-${scriptLang}`,
},
},
Prism.languages.astro.tag
);
// The following will handle plain text inside tags
let stringifyToken = function (token) {
if (!token) {
@ -80,23 +90,23 @@ export function addAstro(Prism) {
}
return token.content.map(stringifyToken).join('');
};
let walkTokens = function (tokens) {
let openedTags = [];
for (let i = 0; i < tokens.length; i++) {
let token = tokens[i];
// This breaks styles, not sure why
if(token.type === 'style') {
if (token.type === 'style') {
return;
}
let notTagNorBrace = false;
if (typeof token !== 'string') {
if (token.type === 'tag' && token.content[0] && token.content[0].type === 'tag') {
// We found a tag, now find its kind
if (token.content[0].content[0].content === '</') {
// Closing tag
if (openedTags.length > 0 && openedTags[openedTags.length - 1].tagName === stringifyToken(token.content[0].content[1])) {
@ -110,22 +120,18 @@ export function addAstro(Prism) {
// Opening tag
openedTags.push({
tagName: stringifyToken(token.content[0].content[1]),
openedBraces: 0
openedBraces: 0,
});
}
}
} else if (openedTags.length > 0 && token.type === 'punctuation' && token.content === '{') {
// Here we might have entered a Astro context inside a tag
openedTags[openedTags.length - 1].openedBraces++;
} else if (openedTags.length > 0 && openedTags[openedTags.length - 1].openedBraces > 0 && token.type === 'punctuation' && token.content === '}') {
// Here we might have left a Astro context inside a tag
openedTags[openedTags.length - 1].openedBraces--;
} else {
notTagNorBrace = true
notTagNorBrace = true;
}
}
if (notTagNorBrace || typeof token === 'string') {
@ -133,7 +139,7 @@ export function addAstro(Prism) {
// Here we are inside a tag, and not inside a Astro context.
// That's plain text: drop any tokens matched.
let plainText = stringifyToken(token);
// And merge text with adjacent text
if (i < tokens.length - 1 && (typeof tokens[i + 1] === 'string' || tokens[i + 1].type === 'plain-text')) {
plainText += stringifyToken(tokens[i + 1]);
@ -144,22 +150,21 @@ export function addAstro(Prism) {
tokens.splice(i - 1, 1);
i--;
}
tokens[i] = new Prism.Token('plain-text', plainText, null, plainText);
}
}
if (token.content && typeof token.content !== 'string') {
walkTokens(token.content);
}
}
};
Prism.hooks.add('after-tokenize', function (env) {
if (env.language !== 'astro') {
return;
}
walkTokens(env.tokens);
});
}
}

View file

@ -7,14 +7,14 @@ const ci = require('ci-info');
const CI_INTRUCTIONS = {
NETLIFY: 'https://docs.netlify.com/configure-builds/manage-dependencies/#node-js-and-javascript',
GITHUB_ACTIONS: 'https://docs.github.com/en/actions/guides/building-and-testing-nodejs#specifying-the-nodejs-version',
VERCEL: 'https://vercel.com/docs/runtimes#official-runtimes/node-js/node-js-version'
}
VERCEL: 'https://vercel.com/docs/runtimes#official-runtimes/node-js/node-js-version',
};
/** Dynamically import the CLI after checking if this version of Node is supported */
async function main() {
const engines = pkg.engines.node;
const version = process.versions.node;
const isSupported = semver.satisfies(version, engines)
const isSupported = semver.satisfies(version, engines);
if (!isSupported) {
console.error(`\nNode.js v${version} is not supported by Astro!
@ -27,13 +27,13 @@ Please upgrade to one of Node.js ${engines}.\n`);
break;
}
}
console.log(`To set the Node.js version for ${ci.name}, reference the official documentation`)
console.log(`To set the Node.js version for ${ci.name}, reference the official documentation`);
if (CI_INTRUCTIONS[platform]) console.log(CI_INTRUCTIONS[platform]);
}
process.exit(1);
}
await import('./dist/cli.js').then(({cli}) => cli(process.argv));
await import('./dist/cli.js').then(({ cli }) => cli(process.argv));
}
main();

View file

@ -15,28 +15,17 @@ const DEFAULT_HMR_PORT = 12321;
* @type {import('snowpack').SnowpackPluginFactory<PluginOptions>}
*/
module.exports = (snowpackConfig, options = {}) => {
const {
resolvePackageUrl,
astroConfig,
configManager,
mode
} = options;
const { resolvePackageUrl, astroConfig, configManager, mode } = options;
let hmrPort = DEFAULT_HMR_PORT;
return {
name: 'snowpack-astro',
knownEntrypoints: [
'astro/dist/internal/h.js',
'astro/components/Prism.astro',
'shorthash',
'estree-util-value-to-estree',
'astring'
],
knownEntrypoints: ['astro/dist/internal/h.js', 'astro/components/Prism.astro', 'shorthash', 'estree-util-value-to-estree', 'astring'],
resolve: {
input: ['.astro', '.md'],
output: ['.js', '.css'],
},
async transform({contents, id, fileExt}) {
if(configManager.isConfigModule(fileExt, id)) {
async transform({ contents, id, fileExt }) {
if (configManager.isConfigModule(fileExt, id)) {
configManager.configModuleId = id;
const source = await configManager.buildSource(contents);
return source;
@ -44,13 +33,13 @@ module.exports = (snowpackConfig, options = {}) => {
},
onChange({ filePath }) {
// If the astro.config.mjs file changes, mark the generated config module as changed.
if(configManager.isAstroConfig(filePath) && configManager.configModuleId) {
if (configManager.isAstroConfig(filePath) && configManager.configModuleId) {
this.markChanged(configManager.configModuleId);
configManager.markDirty();
}
},
async config(snowpackConfig) {
if(!isNaN(snowpackConfig.devOptions.hmrPort)) {
if (!isNaN(snowpackConfig.devOptions.hmrPort)) {
hmrPort = snowpackConfig.devOptions.hmrPort;
} else {
hmrPort = await getPort({ port: DEFAULT_HMR_PORT, host: snowpackConfig.devOptions.hostname });

View file

@ -11,4 +11,4 @@ if (requiredMajorVersion < minimumMajorVersion) {
process.exit(1);
}
import('./dist/index.js').then(({main}) => main());
import('./dist/index.js').then(({ main }) => main());

View file

@ -1,6 +1,6 @@
export default {
buildOptions: {
sitemap: true,
site: 'https://astro.build/'
site: 'https://astro.build/',
},
}
};

View file

@ -1,37 +1,35 @@
:root {
--font-fallback: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
--font-body: "IBM Plex Sans", var(--font-fallback);
--font-mono: "IBM Plex Mono", Consolas, "Andale Mono WT", "Andale Mono",
"Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono",
"Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco,
"Courier New", Courier, monospace;
--font-fallback: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;
--font-body: 'IBM Plex Sans', var(--font-fallback);
--font-mono: 'IBM Plex Mono', Consolas, 'Andale Mono WT', 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono',
'Liberation Mono', 'Nimbus Mono L', Monaco, 'Courier New', Courier, monospace;
--color-white: #FFF;
--color-white: #fff;
--color-black: #000014;
--color-gray-50: #F9FAFB;
--color-gray-100: #F3F4F6;
--color-gray-200: #E5E7EB;
--color-gray-300: #D1D5DB;
--color-gray-400: #9CA3AF;
--color-gray-500: #6B7280;
--color-gray-600: #4B5563;
--color-gray-50: #f9fafb;
--color-gray-100: #f3f4f6;
--color-gray-200: #e5e7eb;
--color-gray-300: #d1d5db;
--color-gray-400: #9ca3af;
--color-gray-500: #6b7280;
--color-gray-600: #4b5563;
--color-gray-700: #374151;
--color-gray-800: #1F2937;
--color-gray-800: #1f2937;
--color-gray-900: #111827;
--color-blue: #3894FF;
--color-blue-rgb: 56,148,255;
--color-green: #17C083;
--color-green-rgb: 23,192,131;
--color-orange: #FF5D01;
--color-orange-rgb: 255,93,1;
--color-purple: #882DE7;
--color-purple-rgb: 136,45,231;
--color-red: #FF1639;
--color-red-rgb: 255,22,57;
--color-yellow: #FFBE2D;
--color-yellow-rgb: 255,190,45;
--color-blue: #3894ff;
--color-blue-rgb: 56, 148, 255;
--color-green: #17c083;
--color-green-rgb: 23, 192, 131;
--color-orange: #ff5d01;
--color-orange-rgb: 255, 93, 1;
--color-purple: #882de7;
--color-purple-rgb: 136, 45, 231;
--color-red: #ff1639;
--color-red-rgb: 255, 22, 57;
--color-yellow: #ffbe2d;
--color-yellow-rgb: 255, 190, 45;
}
:root {
@ -140,30 +138,31 @@ nav ul {
}
h1 {
font-size: clamp(2.488rem, 1.9240rem + 1.4100vw, 3.052rem);
font-size: clamp(2.488rem, 1.924rem + 1.41vw, 3.052rem);
}
h2 {
font-size: clamp(2.074rem, 1.7070rem + 0.9175vw, 2.441rem);
font-size: clamp(2.074rem, 1.707rem + 0.9175vw, 2.441rem);
}
h3 {
font-size: clamp(1.728rem, 1.5030rem + 0.5625vw, 1.953rem);
font-size: clamp(1.728rem, 1.503rem + 0.5625vw, 1.953rem);
}
h4 {
font-size: clamp(1.44rem, 1.3170rem + 0.3075vw, 1.563rem);
font-size: clamp(1.44rem, 1.317rem + 0.3075vw, 1.563rem);
}
h5 {
font-size: clamp(1.2rem, 1.1500rem + 0.1250vw, 1.25rem);
font-size: clamp(1.2rem, 1.15rem + 0.125vw, 1.25rem);
}
p {
color: var(--theme-text-light);
}
small, .text_small {
small,
.text_small {
font-size: 0.833rem;
}
@ -176,14 +175,14 @@ a {
gap: 0.5rem;
}
a > code:not([class*="language"]) {
a > code:not([class*='language']) {
position: relative;
color: var(--theme-accent);
background: transparent;
text-underline-offset: var(--padding-block);
}
a > code:not([class*="language"])::before {
a > code:not([class*='language'])::before {
content: '';
position: absolute;
top: 0;
@ -213,13 +212,13 @@ strong {
/* Supporting Content */
code:not([class*="language"]) {
code:not([class*='language']) {
--border-radius: 3px;
--padding-block: 0.2rem;
--padding-inline: 0.33rem;
font-family: var(--font-mono);
font-size: .85em;
font-size: 0.85em;
color: inherit;
background-color: var(--theme-code-inline-bg);
padding: var(--padding-block) var(--padding-inline);
@ -227,7 +226,7 @@ code:not([class*="language"]) {
border-radius: var(--border-radius);
}
pre > code:not([class*="language"]) {
pre > code:not([class*='language']) {
background-color: transparent;
padding: 0;
margin: 0;
@ -245,7 +244,7 @@ pre {
padding-right: calc(var(--padding-inline) * 2);
margin-left: calc(50vw - var(--padding-inline));
transform: translateX(-50vw);
line-height: 1.414;
width: calc(100vw + (var(--padding-inline) * 2));
max-width: calc(100% + (var(--padding-inline) * 2));

View file

@ -1,99 +1,93 @@
:root {
--font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
--font-mono: "IBM Plex Mono", Consolas, "Andale Mono WT", "Andale Mono",
"Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono",
"Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco,
"Courier New", Courier, monospace;
--color-green: #17c083;
--font-sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
--font-mono: 'IBM Plex Mono', Consolas, 'Andale Mono WT', 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono',
'Liberation Mono', 'Nimbus Mono L', Monaco, 'Courier New', Courier, monospace;
--color-green: #17c083;
}
* {
box-sizing: border-box;
margin: 0;
box-sizing: border-box;
margin: 0;
}
html {
display: grid;
width: 100%;
max-width: 100vw;
overflow: hidden;
height: 100%;
background-color: #000014;
display: grid;
width: 100%;
max-width: 100vw;
overflow: hidden;
height: 100%;
background-color: #000014;
}
html, body {
padding: 0;
font-size: clamp(14px, calc(1rem + (3vw - 1.2rem)), 20px);
font-family: var(--font-sans);
font-weight: 400;
background-image: radial-gradient(
87.7% 87.7% at 85.6% 18.14%,
#111827 0%,
#000014 100%
);
background-repeat: no-repeat;
color: #f3f4f6;
html,
body {
padding: 0;
font-size: clamp(14px, calc(1rem + (3vw - 1.2rem)), 20px);
font-family: var(--font-sans);
font-weight: 400;
background-image: radial-gradient(87.7% 87.7% at 85.6% 18.14%, #111827 0%, #000014 100%);
background-repeat: no-repeat;
color: #f3f4f6;
}
body {
position: relative;
display: grid;
place-items: center;
min-width: 100%;
max-width: 100vw;
min-height: 100vh;
overflow-x: hidden;
position: relative;
display: grid;
place-items: center;
min-width: 100%;
max-width: 100vw;
min-height: 100vh;
overflow-x: hidden;
}
.visually-hidden {
clip: rect(0 0 0 0);
clip-path: inset(50%);
height: 1px;
overflow: hidden;
position: absolute;
white-space: nowrap;
width: 1px;
clip: rect(0 0 0 0);
clip-path: inset(50%);
height: 1px;
overflow: hidden;
position: absolute;
white-space: nowrap;
width: 1px;
}
a {
position: relative;
text-decoration: none;
color: var(--color-green);
padding: 0.05em 0.125em;
margin: -0.05em -0.125em;
transition: color 120ms cubic-bezier(0.23, 1, 0.320, 1);
z-index: 0;
display: inline-block;
position: relative;
text-decoration: none;
color: var(--color-green);
padding: 0.05em 0.125em;
margin: -0.05em -0.125em;
transition: color 120ms cubic-bezier(0.23, 1, 0.32, 1);
z-index: 0;
display: inline-block;
&:hover,
&:focus {
color: rgba(0, 0, 0, 1);
&::before {
transform: scaleY(1);
background: var(--color-green);
}
}
&:visited {
// color: var(--color-green);
color: var(--color-green);
&:hover,
&:focus {
color: rgba(0, 0, 0, 1);
}
}
&:hover,
&:focus {
color: rgba(0, 0, 0, 1);
&::before {
transform-origin: bottom center;
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
inset: 0;
background: var(--color-green);
pointer-events: none;
transform: scaleY(0.05);
transition: transform 120ms cubic-bezier(0.23, 1, 0.320, 1),
background 120ms cubic-bezier(0.23, 1, 0.320, 1);
z-index: -1;
transform: scaleY(1);
background: var(--color-green);
}
}
&:visited {
// color: var(--color-green);
color: var(--color-green);
&:hover,
&:focus {
color: rgba(0, 0, 0, 1);
}
}
&::before {
transform-origin: bottom center;
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
inset: 0;
background: var(--color-green);
pointer-events: none;
transform: scaleY(0.05);
transition: transform 120ms cubic-bezier(0.23, 1, 0.32, 1), background 120ms cubic-bezier(0.23, 1, 0.32, 1);
z-index: -1;
}
}