Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[marketing] homepage updates #5869

Closed
wants to merge 65 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
7d24716
[marketing] homepage updates
benmccann Aug 11, 2022
2d5e9c3
remove unused css
benmccann Aug 11, 2022
a9ccb52
add sample waterfall component
benmccann Aug 11, 2022
06d384c
remove number from lighthouse scores
benmccann Aug 11, 2022
27c764b
update with client-side nav details
benmccann Aug 11, 2022
5f071c8
Add language tools section
benmccann Aug 13, 2022
7f57559
user quotes
benmccann Aug 13, 2022
29e6c56
grows with you
benmccann Aug 13, 2022
89b6a59
cleanup adapter section
benmccann Aug 13, 2022
6373bb7
svelte -> sveltekit
benmccann Aug 13, 2022
a8f7e5d
enable caching
benmccann Aug 13, 2022
24062a2
cleanup
benmccann Aug 14, 2022
439bd3d
semi-responsive
benmccann Aug 14, 2022
e07a869
more responsivity
benmccann Aug 14, 2022
0a1fb80
more responsivity
benmccann Aug 14, 2022
6b817b8
fix adapter name
benmccann Aug 15, 2022
6a3cfe3
Merge branch 'master' into homepage
benmccann Aug 16, 2022
54e9344
remove _components directory
benmccann Aug 16, 2022
3b33c52
remove waterfall section
benmccann Aug 16, 2022
92ce05c
Merge branch 'master' into homepage
benmccann Aug 16, 2022
b0c351b
video
benmccann Aug 16, 2022
1a48560
Merge branch 'master' into homepage
benmccann Aug 16, 2022
4c2023b
minor wording update
benmccann Aug 16, 2022
c6f9e75
cleanup quotes component
benmccann Aug 16, 2022
2c306fe
finish removing waterfall
benmccann Aug 19, 2022
8bdf57b
update tsconfig
benmccann Aug 19, 2022
4d054d7
webgl globe demo
benmccann Aug 19, 2022
912e033
add svg Logos for "Deploy Anywhere"
Aug 19, 2022
de9cb2d
add grow as svg
Aug 19, 2022
37b014d
make h3s a bit larger
Aug 19, 2022
fcd79d4
bigger quote, add br in h3, add quotation marks
Aug 19, 2022
5bcde66
add br in h3
Aug 19, 2022
9f75e87
tweaking globe values, dirty css positioning/sizing hack due to my la…
Aug 19, 2022
0f04e45
Merge pull request #1 from vedam/homepage-vedam
benmccann Aug 19, 2022
faa6041
cleanup top alignment
benmccann Aug 19, 2022
477deb2
integrate platform images
benmccann Aug 19, 2022
2c2ff26
syntax highlighting
benmccann Aug 19, 2022
453ce91
Merge branch 'master' into homepage
benmccann Aug 20, 2022
ef338ed
Improved Fun section
benmccann Aug 26, 2022
6ac79a2
remove unused css
benmccann Aug 26, 2022
32da2cb
replace image with live code block
benmccann Aug 27, 2022
9936df5
remove image
benmccann Aug 27, 2022
fcba830
improved logos. thanks vedam!
benmccann Aug 27, 2022
8827d96
replace image with code block
benmccann Aug 27, 2022
ad3ea27
disable globe
benmccann Aug 27, 2022
be2a412
adjust code block background
benmccann Aug 27, 2022
29e18a2
fix font-size increase. remove extra margin
benmccann Aug 28, 2022
15711fd
Merge branch 'master' into homepage
benmccann Aug 28, 2022
5ef7bb4
WIP map
benmccann Aug 28, 2022
f8e19e1
replace globe with map
benmccann Aug 29, 2022
befd3a2
fix adapter text padding
benmccann Aug 29, 2022
abdf880
map cleanup
benmccann Aug 29, 2022
484ca51
fix adapters layout
benmccann Aug 29, 2022
ade0382
revert accidental change
benmccann Dec 3, 2022
99c3ed6
merge master
benmccann Dec 5, 2022
ea13a97
additional fixes from merging master
benmccann Dec 5, 2022
3fb2361
fix up video section and use new heading
benmccann Dec 6, 2022
b69f0f3
shrunk hero container
benmccann Dec 6, 2022
0a52879
replace language tools section with showcase
benmccann Dec 6, 2022
22bde73
update wording
benmccann Dec 6, 2022
35f8bef
heading styles
benmccann Dec 6, 2022
401ed75
update d3
benmccann Dec 6, 2022
b51f17d
switch to non-deprecated package
benmccann Dec 6, 2022
c070f5a
spaces to tabs
benmccann Dec 6, 2022
dbfd266
merge master
benmccann Dec 6, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1,205 changes: 633 additions & 572 deletions pnpm-lock.yaml

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions sites/kit.svelte.dev/package.json
Expand Up @@ -16,13 +16,16 @@
"@sveltejs/kit": "workspace:*",
"@sveltejs/site-kit": "^2.1.4",
"@types/node": "^16.18.6",
"d3": "^7.7.0",
"d3-dsv": "^3.0.1",
"flexsearch": "^0.7.31",
"magic-string": "^0.27.0",
"marked": "^4.2.3",
"prism-svelte": "^0.5.0",
"prismjs": "^1.29.0",
"shiki-twoslash": "^3.1.0",
"svelte": "^3.53.1",
"topojson-client": "^3.1.0",
"tiny-glob": "^0.2.9",
"typescript": "^4.9.3",
"uvu": "^0.5.6",
Expand Down
208 changes: 145 additions & 63 deletions sites/kit.svelte.dev/src/routes/+page.svelte
@@ -1,8 +1,23 @@
<script>
import { Blurb } from '@sveltejs/site-kit';
import Hero from './Hero.svelte';
// images
import Logotype from './svelte-kit-logotype.svg';
import Machine from './svelte-kit-machine.webp?w=1440;800;600;480&format=avif;webp;png&picture';

// code highlighting
import * as hovers from '$lib/docs/client/hovers.js';
hovers.setup();

// sections
import { Blurb } from '@sveltejs/site-kit';
import Hero from './Hero.svelte';
import Adapters from './Adapters.svelte';
import Fun from './Fun.svelte';
import Grow from './Grow.svelte';
import Lighthouse from './Lighthouse.svelte';
import Showcase from './Showcase.svelte';

// css
import './common.css';
</script>

<svelte:head>
Expand All @@ -13,81 +28,119 @@
<meta name="description" content="SvelteKit is the official Svelte application framework" />
</svelte:head>

<h1 class="visually-hidden">SvelteKit</h1>
<Hero
title="SvelteKit"
logotype={Logotype}
tagline="The fastest way to build svelte apps"
background={Machine}
alt="SvelteKit illustration"
/>

<div class="blurb-shifter">
<Blurb>
<div slot="one">
<h2>Powered by Svelte</h2>
<p>
SvelteKit is an application framework powered by Svelte — build bigger apps with a smaller
footprint
</p>

<a href="https://svelte.dev" class="cta">learn Svelte</a>
</div>

<div slot="two">
<h2>Best of both worlds</h2>
<p>
All the SEO and progressive enhancement of a server-rendered app, with the slick navigation
of an SPA
</p>

<a data-sveltekit-preload-data href="/docs" class="cta">read the docs</a>
<div class="home">
<h1 class="visually-hidden">SvelteKit</h1>
<Hero
title="SvelteKit"
logotype={Logotype}
tagline="The fastest way to build svelte apps"
background={Machine}
alt="SvelteKit illustration"
/>

<div class="blurb-shifter">
<Blurb>
<div slot="one">
<h2>Powered by Svelte</h2>
<p>
SvelteKit is an application framework powered by Svelte — build bigger apps with a smaller
footprint
</p>

<a href="https://svelte.dev" class="cta">learn Svelte</a>
</div>

<div slot="two">
<h2>Best of both worlds</h2>
<p>
All the SEO and progressive enhancement of a server-rendered app, with the slick navigation
of an SPA
</p>

<a data-sveltekit-preload-data href="/docs" class="cta">read the docs</a>
</div>

<div slot="three">
<h2>Build fast</h2>
<p>
Hit the ground running with advanced routing, server-side rendering, code-splitting, offline
support and more
</p>

<a data-sveltekit-preload-data href="/docs" class="cta">read the docs</a>
</div>

<div class="description" slot="what">
<p>
SvelteKit is a framework for building web applications of all sizes, with a beautiful
development experience and flexible filesystem-based routing.
</p>

<p>
Unlike single-page apps, SvelteKit doesn't compromise on SEO, progressive enhancement or the
initial load experience — but unlike traditional server-rendered apps, navigation is
instantaneous for that app-like feel.
</p>

<p>
<a href="https://node.new/sveltekit">Try it on StackBlitz</a> or create a project locally.
</p>
</div>

<div slot="how">
<pre><code
>npm create <span class="orange-highlight">svelte</span>@latest my-app
cd my-app
npm install
npm run dev -- --open</code
></pre>
<a data-sveltekit-preload-data href="/docs" class="cta">get started</a>
</div>
</Blurb>
</div>

<div class="fun">
<div class="section">
<Fun />
</div>
</div>

<div slot="three">
<h2>Build fast</h2>
<p>
Hit the ground running with advanced routing, server-side rendering, code-splitting, offline
support and more
</p>
<div class="section grow">
<Grow />
</div>

<a data-sveltekit-preload-data href="/docs" class="cta">read the docs</a>
<div class="lighthouse">
<div class="section">
<Lighthouse />
</div>
</div>

<div class="description" slot="what">
<p>
SvelteKit is a framework for building web applications of all sizes, with a beautiful
development experience and flexible filesystem-based routing.
</p>

<p>
Unlike single-page apps, SvelteKit doesn't compromise on SEO, progressive enhancement or the
initial load experience — but unlike traditional server-rendered apps, navigation is
instantaneous for that app-like feel.
</p>

<p>
<a href="https://node.new/sveltekit">Try it on StackBlitz</a> or create a project locally.
</p>
</div>
<div class="section adapters">
<Adapters />
</div>

<div slot="how">
<pre><code
>npm create <span class="orange-highlight">svelte</span>@latest my-app
cd my-app
npm install
npm run dev -- --open</code
></pre>
<a data-sveltekit-preload-data href="/docs" class="cta">get started</a>
<div class="showcase">
<div class="section">
<Showcase />
</div>
</Blurb>
</div>
</div>

<style>
:global(.hero-container:dir(rtl)) {
max-width: 116rem;
}

/* @vedam -------------------------------------
Because I didn't want to fiddle arround in @sveltejs/site-kit
I tweaked the h3s font-size here.
I don't know if changing this value is a foottrap elsewhere.
*/
:global(.typo-default) {
--h3: 3.6rem !important;
}
/* /@vedam ------------------------------------- */

pre {
height: 100%;
display: flex;
Expand All @@ -107,4 +160,33 @@ npm run dev -- --open</code
margin-top: -12em;
}
}

.section {
position: relative;
margin: 0 auto 10rem auto;
padding: 0 var(--side-nav);
max-width: 120rem;
}

.fun {
background: #f5f8fc;
padding: 10rem 2rem 3rem;
margin: 0 auto 10rem;
}

.lighthouse {
background: #212121;
padding: 10rem 2rem;
margin: 0 auto 10rem auto;
}

.lighthouse .section {
margin: 0 auto;
}

.showcase {
background: #f5f8fc;
padding: 10rem 2rem;
margin: 0 auto;
}
</style>
111 changes: 111 additions & 0 deletions sites/kit.svelte.dev/src/routes/Adapters.svelte
@@ -0,0 +1,111 @@
<script>
import Vercel from './logo-vercel.svg';
import Netlify from './logo-netlify.svg';
import Cloudflare from './logo-cloudflare.svg';
import HTML from './logo-html5.svg';
import Node from './logo-nodejs.svg';
import Firebase from './logo-firebase.svg';
import Deno from './logo-deno.svg';
import AppEngine from './logo-appengine.svg';

const adapters = [
{ display: 'Vercel', package: '@sveltejs/adapter-vercel', image: Vercel },
{ display: 'Netlify', package: '@sveltejs/adapter-netlify', image: Netlify },
{ display: 'Cloudflare', package: '@sveltejs/adapter-cloudflare', image: Cloudflare },
{ display: 'your server', package: '@sveltejs/adapter-node', image: HTML },
{ display: 'static hosting', package: '@sveltejs/adapter-static', image: Node },
{ display: 'Firebase', package: 'svelte-adapter-firebase', image: Firebase },
{ display: 'Deno', package: 'svelte-adapter-deno', image: Deno },
{ display: 'AppEngine', package: 'svelte-adapter-appengine', image: AppEngine },
];

let i = 0;
let adapter;

function update() {
adapter = adapters[i];
i = (i + 1) % adapters.length;
setTimeout(update, 2200);
}

update();
</script>

<h2>Deploy Anywhere</h2>

<div class="container">

<div class="anywhere">
<p>SvelteKit builds instant, optimized bundles with the Svelte compiler and code-splitting.</p>
<p>Deploy to over 20 different platforms with community adapters by changing just a single line of code.</p>
</div>

<div class="host">
<h3>{adapter.display}</h3>
<img src={adapter.image} alt="" />
</div>

<div class="code-container">
<!-- This has to be prerendered through a complicated pipeline.
I just wrote an FAQ with this code block and then copied the output here.
Needed to encode the curly braces and then update the dynamic part. -->
<div class="text"><pre class="shiki twoslash lsp" style="background-color: var(--shiki-color-background); color: var(--shiki-color-text)"><div class="language-id">ts</div><div class="code-container"><code><div class="line"><span style="color: var(--shiki-token-keyword)">import</span><span style="color: var(--shiki-color-text)"> <data-lsp lsp="(alias) function adapter(options?: AdapterOptions): <a href=&quot;/docs/types#sveltejs-kit-adapter&quot;>Adapter</a>&amp;#10;import adapter">adapter</data-lsp> </span><span style="color: var(--shiki-token-keyword)">from</span><span style="color: var(--shiki-color-text)"> </span><span style="color: var(--shiki-token-string-expression)">'{adapter.package}'</span><span style="color: var(--shiki-color-text)">;</span></div><div class="line">&nbsp;</div><div class="line"><span style="color: var(--shiki-token-keyword)">export</span><span style="color: var(--shiki-color-text)"> </span><span style="color: var(--shiki-token-keyword)">default</span><span style="color: var(--shiki-color-text)"> &lcub;</span></div><div class="line"><span style="color: var(--shiki-color-text)"> <data-lsp lsp="(property) kit: &lcub;&amp;#10; adapter: <a href=&quot;/docs/types#sveltejs-kit-adapter&quot;>Adapter</a>;&amp;#10;}">kit</data-lsp></span><span style="color: var(--shiki-token-keyword)">:</span><span style="color: var(--shiki-color-text)"> &lcub;</span></div><div class="line"><span style="color: var(--shiki-color-text)"> <data-lsp lsp="(property) adapter: <a href=&quot;/docs/types#sveltejs-kit-adapter&quot;>Adapter</a>">adapter</data-lsp></span><span style="color: var(--shiki-token-keyword)">:</span><span style="color: var(--shiki-color-text)"> </span><span style="color: var(--shiki-token-function)"><data-lsp lsp="(alias) adapter(options?: AdapterOptions | undefined): <a href=&quot;/docs/types#sveltejs-kit-adapter&quot;>Adapter</a>&amp;#10;import adapter">adapter</data-lsp></span><span style="color: var(--shiki-color-text)">()</span></div><div class="line"><span style="color: var(--shiki-color-text)"> &rcub;</span></div><div class="line"><span style="color: var(--shiki-color-text)">&rcub;</span></div></code></div></pre></div>
</div>

</div>

<style>
h2 {
margin-bottom: 1em;
}

.container {
display: grid;
grid-template-columns: repeat(10, minmax(0, 1fr));
gap: 10px;
width: 100%;
}

.host {
text-align: center;
display: none;
}

.anywhere {
grid-column: span 10 / span 10;
line-height: 200%;
}

.code-container {
grid-column: span 10 / span 10;
}

.code-block {
max-width: 450px;
}

@media (min-width: 640px) {
.anywhere {
grid-column: span 10 / span 10;
}
.host {
grid-column: span 3 / span 3;
display: block;
}
.code-container {
grid-column: span 7 / span 7;
}
}

@media (min-width: 1024px) {
.anywhere {
grid-column: span 3 / span 3;
}
.host {
grid-column: span 3 / span 3;
}
.code-container {
grid-column: span 4 / span 4;
}
}
</style>