d84bfe719a
* make astro-root uids unique * Move Astro to Vite * Update tests * More test improvements * fred fixes * Update compiler, improve tests * Fix runtime, improve code frame * Add Markdown support * Tycho fixes * Fred fixes part 2 * Throw Error for WIP Features * Improve testing suite * Allow users to pass config to Vite * Fix npm install (#1407) * Automate publish on merge (#1408) * Add NPM_TOKEN to publish script (#1409) * Create .npmrc * Clean up astro deps (#1411) * Use new renderers (#1412) * feat: update compiler (#1421) * Try mocha/chai test runners (#1418) * Try mocha/chai test runners * Disable failing smoke test for now Will revert when next can build docs * Enable mocha in parallel mode * Remove warning * Update docs * Fix Windows bug * Fix internal imports * Fix styles * Fix CI release on merge to next (#1427) * Fix logger locale parsing (#1439) * fix(logger): locale parsing * Fixed issue of compiler crash when "c" locale was encountered * Return default locale if parsed locale is less than 2 chars long * chore: add changeset * Apply changes from #1387 * Add back in support for children (#1486) * Add back in support for children * Be more careful * Enables most slot tests (#1494) * Enables most slot tests * Use spreadAttributes * Add hydration to Solid renderer (#1479) (#1495) * feat: add hydration to Solid renderer * fix: intersection observer, move script to the end Co-authored-by: Ryan Carniato <ryansolid@gmail.com> * [next] support Astro.slots API (#1516) * [next] Support for custom elements (#1528) * [next] Support for custom elements * Fix eslint errors * eslint again * [next] Fix Astro.fetchContent (#1480) * fix Astro.fetchContent * fix(fetchContent): cast type Co-authored-by: Nate Moore <nate@skypack.dev> * Move hydration to the compiler (#1547) * Move hydration to the compiler * Move extracting url, export to util fn * Brings back astro-dynamic tests (#1548) * Implements top-level Astro + Astro.resolve (#1556) * Implements top-level Astro + Astro.resolve * Fix linting * [next] Update renderers (#1509) * chore: update vite * fix(renderers): point renderers to resolved server/client entrypoints * Chore: Enable more tests with new compiler changes (#1558) * [Next] `fetch` support (#1563) * fix: polyfill fetch in every ssr scenario * test(fetch): update fetch tests * docs: update data fetching guide to remove caveats about `fetch` and isomorphic usage * refactor: update regex for clarity * Restructure (#1569) * Upgrade to @astrojs/compiler 0.2.0 (#1584) * Use Vite fork (#1585) * Use Vite fork * Fix linting * Move Vite to vendor/ and add a license * Fix linting * Include the dist folder * Update files config * Markdown compilation (#1593) * Markdown compilation * remove debugger * Gets lit hydration working (#1595) * Gets Astro.fetchContent compilation to work (#1596) * Gets Astro.fetchContent compilation to work This fixes Astro.fetchContent so that we handle esbuild transforming the name of the nested Astro call. * Remove debugging * Update the tests * Remove another debugger * Update Vite to latest (#1597) * Add Prism syntax highlighting (#1598) * Scoped styles with markdown (#1599) * Bugfix: fix getStaticPaths() cache miss (#1602) * Fix build order (#1609) * Bugfix: restore build to get all paths earlier, when build. Same as main. * Also re-add timings * [next] blog example fully working (#1610) * Add environment variables docs (Closes #873) (#1587) * Added environment variables docs (Closes #873) * Fixed prefix * Remove numbered comments (#1611) * Chore: remove numbered comments * Clean up block comments * comment style fixes (#1614) * [next] Upgrade compiler (#1619) * [next] Upgrade compiler * Upgrade to latest compiler * Fix the path to global css * Removed debugger * feat: add fragment support to vite-plugin-astro (#1600) * [next] fix `.tsx` handling (#1620) * fix: support tsx in JSX plugin * fix: preserve JSX via esbuild, only use Babel for JSX compilation * fix: handle upcoming Vite API for `ssr` flag * [next] Add CSS preprocessing (#1589) * Add concept for style support in Astro * Update style preprocessor to use new compiler * fix: massage preprocessStyle type * fix: @astrojs/compiler types Co-authored-by: Nate Moore <nate@skypack.dev> * fix issues in blog-multiple-authors (#1621) * Move Sass to deps (#1622) * Update renderer API for Vite (#1623) * Update renderer API for Vite * Fix lit-element tests * Clean up comments * Throw friendly error if renderer provides viteConfig in a bad format * Fix changesets (#1628) * Remove cheerio scanning from build stats (#1629) * Minor change to jsxTransformOptions, update Renderer API docs (#1630) * [next] docs example fully working (#1627) * [next] docs example fully working * Upgrade compiler to unlock docs * Add `class:list` directive (#1612) * Add support for class:list directive The `class:list` directive serializes an expression of css class names. For React components, `className:list` is also supported. * Remove `className` support and React tests * Add tests for the absence of omitted classes * fix: `define:vars` scoping for styles (#1632) * feat: fix Debug component (#1633) * [next] Fix `<Markdown>` component (#1631) * fix: cleanup issues with <Markdown> component * fix: fix `content` usage with Markdown * [next] Fix `<Code>` component (#1635) * fix: enable Code component * test: update expect to chai format * Fixes solid (#1634) * Fixes solid * Rename the test * Rebase with next * Skip solid test for now * Add support for markdown plugins (#1650) * Fix broken next release (#1652) * Prevent passing to Svelte components * Prevent passing class to Vue components * Add CSS injection, fix portfolio example (#1648) * Fix portfolio example * Add .pcss extension * Update load ssr opts * Update packages/astro/src/runtime/server/index.ts Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com> Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com> * Fixes external HMR (#1654) * Upgrade compiler version (#1655) Fixes docs and blog examples * Resolve renderers relative to the projectRoot (#1659) * Template fixes (#1656) * fix: dedupe hashes for identical islands (#1660) * fix: scope `define:vars` to `:root` for `<style global>` (#1663) * chore: update compiler to latest (#1664) * [next] fix island hydration inside of `<Markdown>` (#1665) * fix: create rehype plugin to smooth over island hydration bugs * refactor: remove debug code * chore: explain need for `rehypeIslands` * Bugfix: renderer-lit missing files on npm (#1669) * Force Vite to rebuild dependencies (#1670) * [next] Add `preact/compat` renderer (#1668) * feat: add preact/compat entry for `@astrojs/renderer-preact` * Update index.js * Bugfix: plugin-astro-fetch tries to append node-fetch to node-fetch (#1671) * Fix Vite race condition (#1674) * Fix with-nanostore deps (#1675) Adds missing Solid renderer * [next] Fix `resolveDependency` on Windows (#1666) * fix: Windows issue with resolveDependency util * chore: add comment * Update CONTRIBUTING.md (#1677) * Prevent scanning a user's deps (#1678) * Prevent scanning a user's deps * Remove unused things * remove unused util * Adding a changeset for the remark plugin * Config changes needed for stater template (#1680) This does 2 things: 1. Adds prismjs as a dep. 2. Adds shiki as an external. * Next bugs (#1681) * fix(#1679): hoisted <script> rendering * fix(#1679): do not print global for styles, but do for scripts * fix: update ObjectSet implementation * fix: dedupe elements in sets * [next] update compiler (#1683) * chore: update compiler * chore: update compiler (again) * Fix Astro HMR bottleneck (#1684) * Bugfix: JSX renderers can be declared in any order (#1686) * chore: update compiler (#1690) * Exclude lit-server from being optimized (#1691) This should get the lit example working from `npm`. * fix: exclude all renderer server entrypoints (#1692) * chore: update compiler (#1705) * fix: do not crash when Markdown has no content (#1702) * feat: improve support for third-party React packages (#1701) * Remove prism warning when no language is provided (#1703) * Remove prism warning when no language is provided * Add the plaintext language instead * retry deploy * chore: enter prerelease mode under `next` (#1707) * Updates to the changesets (#1708) * Updates to the changesets * Adds a changeset for astro-prism Co-authored-by: Fred K. Schott <fkschott@gmail.com> Co-authored-by: Nate Moore <nate@skypack.dev> Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> Co-authored-by: Pranav Karawale <52596591+obnoxiousnerd@users.noreply.github.com> Co-authored-by: Matthew Phillips <matthew@skypack.dev> Co-authored-by: Matthew Phillips <matthew@matthewphillips.info> Co-authored-by: Ryan Carniato <ryansolid@gmail.com> Co-authored-by: AsyncBanana <58297401+AsyncBanana@users.noreply.github.com> Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
283 lines
6 KiB
CSS
283 lines
6 KiB
CSS
: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;
|
|
|
|
--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-700: #374151;
|
|
--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;
|
|
}
|
|
|
|
:root {
|
|
color-scheme: light;
|
|
--theme-accent: var(--color-orange);
|
|
--theme-accent-rgb: var(--color-orange-rgb);
|
|
--theme-accent-opacity: 0.1;
|
|
--theme-divider: var(--color-gray-100);
|
|
--theme-text: var(--color-gray-800);
|
|
--theme-text-light: var(--color-gray-600);
|
|
--theme-text-lighter: var(--color-gray-400);
|
|
--theme-bg: var(--color-white);
|
|
--theme-bg-offset: var(--color-gray-100);
|
|
--theme-bg-accent: rgba(var(--theme-accent-rgb), var(--theme-accent-opacity));
|
|
--theme-code-inline-bg: var(--color-gray-100);
|
|
--theme-code-text: var(--color-gray-100);
|
|
--theme-code-bg: var(--color-gray-700);
|
|
}
|
|
|
|
body {
|
|
background: var(--theme-bg);
|
|
color: var(--theme-text);
|
|
}
|
|
|
|
:root.theme-dark {
|
|
color-scheme: dark;
|
|
--theme-accent-opacity: 0.3;
|
|
--theme-divider: var(--color-gray-900);
|
|
--theme-text: var(--color-gray-200);
|
|
--theme-text-light: var(--color-gray-400);
|
|
--theme-text-lighter: var(--color-gray-600);
|
|
--theme-bg: var(--color-black);
|
|
--theme-bg-offset: var(--color-gray-900);
|
|
--theme-code-inline-bg: var(--color-gray-800);
|
|
--theme-code-text: var(--color-gray-200);
|
|
--theme-code-bg: var(--color-gray-900);
|
|
}
|
|
|
|
::selection {
|
|
color: var(--theme-accent);
|
|
background-color: rgba(var(--theme-accent-rgb), var(--theme-accent-opacity));
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
}
|
|
|
|
:root {
|
|
--user-font-scale: 1rem - 16px;
|
|
--max-width: calc(100% - 2rem);
|
|
}
|
|
|
|
@media (min-width: 50em) {
|
|
:root {
|
|
--max-width: 40em;
|
|
}
|
|
}
|
|
|
|
body {
|
|
font-family: var(--font-body);
|
|
font-size: 1rem;
|
|
font-size: clamp(0.875rem, 0.4626rem + 1.0309vw + var(--user-font-scale), 1.125rem);
|
|
line-height: 1.625;
|
|
}
|
|
|
|
.wrapper {
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
max-width: 65em;
|
|
padding-left: 2rem;
|
|
padding-right: 2rem;
|
|
width: 100%;
|
|
}
|
|
|
|
nav ul {
|
|
list-style: none;
|
|
padding: 0;
|
|
}
|
|
|
|
/* Typography */
|
|
:is(h1, h2, h3, h4, h5, h6) {
|
|
margin-bottom: 1.38rem;
|
|
font-weight: 400;
|
|
line-height: 1.3;
|
|
}
|
|
|
|
:is(h1, h2) {
|
|
max-width: 40ch;
|
|
}
|
|
|
|
:is(h2, h3):not(:first-child) {
|
|
margin-top: 3rem;
|
|
}
|
|
|
|
h1 {
|
|
font-size: clamp(2.488rem, 1.924rem + 1.41vw, 3.052rem);
|
|
}
|
|
|
|
h2 {
|
|
font-size: clamp(2.074rem, 1.707rem + 0.9175vw, 2.441rem);
|
|
}
|
|
|
|
h3 {
|
|
font-size: clamp(1.728rem, 1.503rem + 0.5625vw, 1.953rem);
|
|
}
|
|
|
|
h4 {
|
|
font-size: clamp(1.44rem, 1.317rem + 0.3075vw, 1.563rem);
|
|
}
|
|
|
|
h5 {
|
|
font-size: clamp(1.2rem, 1.15rem + 0.125vw, 1.25rem);
|
|
}
|
|
|
|
p {
|
|
color: var(--theme-text-light);
|
|
}
|
|
|
|
small,
|
|
.text_small {
|
|
font-size: 0.833rem;
|
|
}
|
|
|
|
a {
|
|
color: var(--theme-accent);
|
|
font-weight: 400;
|
|
text-underline-offset: 0.08em;
|
|
text-decoration: none;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
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 {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
display: block;
|
|
background: var(--theme-accent);
|
|
opacity: var(--theme-accent-opacity);
|
|
border-radius: var(--border-radius);
|
|
}
|
|
|
|
a:hover,
|
|
a:focus {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
a:focus {
|
|
outline: 2px solid currentColor;
|
|
outline-offset: 0.25em;
|
|
}
|
|
|
|
strong {
|
|
font-weight: 600;
|
|
color: inherit;
|
|
}
|
|
|
|
/* Supporting Content */
|
|
|
|
code:not([class*='language']) {
|
|
--border-radius: 3px;
|
|
--padding-block: 0.2rem;
|
|
--padding-inline: 0.33rem;
|
|
|
|
font-family: var(--font-mono);
|
|
font-size: 0.85em;
|
|
color: inherit;
|
|
background-color: var(--theme-code-inline-bg);
|
|
padding: var(--padding-block) var(--padding-inline);
|
|
margin: calc(var(--padding-block) * -1) -0.125em;
|
|
border-radius: var(--border-radius);
|
|
}
|
|
|
|
pre > code:not([class*='language']) {
|
|
background-color: transparent;
|
|
padding: 0;
|
|
margin: 0;
|
|
border-radius: 0;
|
|
color: inherit;
|
|
}
|
|
|
|
pre {
|
|
position: relative;
|
|
background-color: var(--theme-code-bg);
|
|
color: var(--theme-code-text);
|
|
--padding-block: 1rem;
|
|
--padding-inline: 2rem;
|
|
padding: var(--padding-block) var(--padding-inline);
|
|
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));
|
|
overflow-y: hidden;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
@media (min-width: 37.75em) {
|
|
pre {
|
|
--padding-inline: 1.25rem;
|
|
border-radius: 8px;
|
|
}
|
|
}
|
|
|
|
.flex {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
img.cover {
|
|
width: 100%;
|
|
max-height: 50vh;
|
|
object-fit: cover;
|
|
}
|
|
|
|
blockquote {
|
|
font-size: 1.5rem;
|
|
--padding-block: 1rem;
|
|
--padding-inline: 1.25rem;
|
|
--color: var(--theme-divider);
|
|
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
padding: var(--padding-block) var(--padding-inline);
|
|
margin-left: calc(var(--padding-inline) * -1);
|
|
margin-right: calc(var(--padding-inline) * -1);
|
|
|
|
background: transparent;
|
|
border-left: calc(var(--padding-inline) / 2) solid var(--color);
|
|
border-radius: 0;
|
|
}
|
|
|
|
blockquote .source {
|
|
font-weight: 500;
|
|
color: var(--color);
|
|
font-size: 1rem;
|
|
}
|