mirror of
https://github.com/LukeHagar/website.git
synced 2025-12-10 12:57:49 +00:00
feat: quickstart
This commit is contained in:
@@ -357,8 +357,7 @@
|
|||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<div class="aw-card is-full-color u-opacity-20">
|
<div class="aw-card is-full-color u-opacity-20">
|
||||||
<img src="/images/icons/illustrated/dark/messaging.png" alt="" class="u-only-dark" width="48" height="48" />
|
<img src="/images/icons/illustrated/dark/messaging.png" alt="" width="48" height="48" />
|
||||||
<img src="/images/icons/illustrated/light/messaging.png" alt="" class="u-only-light" width="48" height="48" />
|
|
||||||
<h4 class="aw-sub-body-500 aw-u-color-text-primary u-margin-block-start-8">
|
<h4 class="aw-sub-body-500 aw-u-color-text-primary u-margin-block-start-8">
|
||||||
Messaging
|
Messaging
|
||||||
</h4>
|
</h4>
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import { page } from '$app/stores';
|
||||||
import Docs from '$lib/layouts/Docs.svelte';
|
import Docs from '$lib/layouts/Docs.svelte';
|
||||||
import Sidebar from '../Sidebar.svelte';
|
import Sidebar from '../Sidebar.svelte';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Docs variant="two-side-navs">
|
<Docs variant={$page.url.pathname.endsWith('/quick-starts') ? 'default' : 'two-side-navs'}>
|
||||||
<Sidebar />
|
<Sidebar />
|
||||||
<slot />
|
<slot />
|
||||||
</Docs>
|
</Docs>
|
||||||
|
|||||||
@@ -1,23 +1,121 @@
|
|||||||
<script>
|
<script lang="ts">
|
||||||
let qs = [
|
import { MainFooter } from '$lib/components';
|
||||||
'android',
|
|
||||||
'angular',
|
type QuickStart = {
|
||||||
'apple',
|
title: string;
|
||||||
'astro',
|
icon: string;
|
||||||
'flutter',
|
image: string;
|
||||||
'nextjs',
|
href: string;
|
||||||
'nuxt',
|
};
|
||||||
'qwik',
|
|
||||||
'react',
|
type QuickStarts = Array<{
|
||||||
'sveltekit',
|
title: string;
|
||||||
'vuejs'
|
quickStarts: QuickStart[];
|
||||||
|
}>;
|
||||||
|
|
||||||
|
const quickStarts: QuickStarts = [
|
||||||
|
{
|
||||||
|
title: 'Web App',
|
||||||
|
quickStarts: [
|
||||||
|
{
|
||||||
|
title: 'Next.js',
|
||||||
|
icon: 'icon-next_js',
|
||||||
|
image: '/images/blog/placeholder.png',
|
||||||
|
href: 'nextjs'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Vue.js',
|
||||||
|
icon: 'icon-vue_js',
|
||||||
|
image: '/images/blog/placeholder.png',
|
||||||
|
href: 'vuejs'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'SvelteKit',
|
||||||
|
icon: 'icon-svelte',
|
||||||
|
image: '/images/blog/placeholder.png',
|
||||||
|
href: 'sveltekit'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Nuxt',
|
||||||
|
icon: 'icon-nuxt_js',
|
||||||
|
image: '/images/blog/placeholder.png',
|
||||||
|
href: 'nuxt'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Angular',
|
||||||
|
icon: 'icon-angular',
|
||||||
|
image: '/images/blog/placeholder.png',
|
||||||
|
href: 'angular'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Astro',
|
||||||
|
icon: 'icon-astro',
|
||||||
|
image: '/images/blog/placeholder.png',
|
||||||
|
href: 'astro'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Mobile and Native',
|
||||||
|
quickStarts: [
|
||||||
|
{
|
||||||
|
title: 'Flutter',
|
||||||
|
icon: 'icon-flutter',
|
||||||
|
image: '/images/blog/placeholder.png',
|
||||||
|
href: 'flutter'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Android',
|
||||||
|
icon: 'icon-android',
|
||||||
|
image: '/images/blog/placeholder.png',
|
||||||
|
href: 'android'
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Server',
|
||||||
|
quickStarts: []
|
||||||
|
}
|
||||||
];
|
];
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<ul class="aw-list">
|
<main class="aw-main-section">
|
||||||
{#each qs as q}
|
<article class="aw-article">
|
||||||
<li>
|
<header class="aw-article-header">
|
||||||
<a class="aw-link" href={`/docs/quick-starts/${q}`}>{q}</a>
|
<div class="aw-article-header-start u-flex-vertical aw-u-cross-start">
|
||||||
</li>
|
<div class="u-position-relative u-flex u-cross-center">
|
||||||
{/each}
|
<h1 class="aw-title">Quick start</h1>
|
||||||
</ul>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="aw-article-header-end" />
|
||||||
|
</header>
|
||||||
|
<div class="aw-article-content aw-u-gap-80">
|
||||||
|
{#each quickStarts as category}
|
||||||
|
<section class="u-flex-vertical u-gap-24">
|
||||||
|
<h2 class="aw-eyebrow">{category.title}</h2>
|
||||||
|
<ul class="aw-grid-row-4 aw-grid-row-4-mobile-2">
|
||||||
|
{#each category.quickStarts as quickStart}
|
||||||
|
<li class="is-mobile-col-span-2">
|
||||||
|
<a href={`/docs/quick-starts/${quickStart.href}`}>
|
||||||
|
<img class="aw-media" src={quickStart.image} alt="" />
|
||||||
|
<div class="u-flex u-cross-baseline u-gap-4">
|
||||||
|
<span class="{quickStart.icon} aw-u-font-size-24" aria-hidden="true" />
|
||||||
|
<h4 class="aw-sub-body-500 aw-u-color-text-primary">{quickStart.title}</h4>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{/each}
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
{/each}
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<MainFooter variant="docs" />
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.aw-media {
|
||||||
|
aspect-ratio: 16/9;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Docs from '$lib/layouts/Docs.svelte';
|
|
||||||
import Sidebar from '../Sidebar.svelte';
|
|
||||||
import { MainFooter } from '$lib/components';
|
import { MainFooter } from '$lib/components';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
BIN
static/images/icons/illustrated/dark/messaging.png
Normal file
BIN
static/images/icons/illustrated/dark/messaging.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
Reference in New Issue
Block a user