mirror of
https://github.com/LukeHagar/website.git
synced 2025-12-10 04:22:18 +00:00
feat: quickstart
This commit is contained in:
@@ -357,8 +357,7 @@
|
||||
</li>
|
||||
<li>
|
||||
<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/light/messaging.png" alt="" class="u-only-light" width="48" height="48" />
|
||||
<img src="/images/icons/illustrated/dark/messaging.png" alt="" width="48" height="48" />
|
||||
<h4 class="aw-sub-body-500 aw-u-color-text-primary u-margin-block-start-8">
|
||||
Messaging
|
||||
</h4>
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
<script lang="ts">
|
||||
import { page } from '$app/stores';
|
||||
import Docs from '$lib/layouts/Docs.svelte';
|
||||
import Sidebar from '../Sidebar.svelte';
|
||||
</script>
|
||||
|
||||
<Docs variant="two-side-navs">
|
||||
<Docs variant={$page.url.pathname.endsWith('/quick-starts') ? 'default' : 'two-side-navs'}>
|
||||
<Sidebar />
|
||||
<slot />
|
||||
</Docs>
|
||||
|
||||
@@ -1,23 +1,121 @@
|
||||
<script>
|
||||
let qs = [
|
||||
'android',
|
||||
'angular',
|
||||
'apple',
|
||||
'astro',
|
||||
'flutter',
|
||||
'nextjs',
|
||||
'nuxt',
|
||||
'qwik',
|
||||
'react',
|
||||
'sveltekit',
|
||||
'vuejs'
|
||||
<script lang="ts">
|
||||
import { MainFooter } from '$lib/components';
|
||||
|
||||
type QuickStart = {
|
||||
title: string;
|
||||
icon: string;
|
||||
image: string;
|
||||
href: string;
|
||||
};
|
||||
|
||||
type QuickStarts = Array<{
|
||||
title: string;
|
||||
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>
|
||||
|
||||
<ul class="aw-list">
|
||||
{#each qs as q}
|
||||
<li>
|
||||
<a class="aw-link" href={`/docs/quick-starts/${q}`}>{q}</a>
|
||||
</li>
|
||||
{/each}
|
||||
</ul>
|
||||
<main class="aw-main-section">
|
||||
<article class="aw-article">
|
||||
<header class="aw-article-header">
|
||||
<div class="aw-article-header-start u-flex-vertical aw-u-cross-start">
|
||||
<div class="u-position-relative u-flex u-cross-center">
|
||||
<h1 class="aw-title">Quick start</h1>
|
||||
</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">
|
||||
import Docs from '$lib/layouts/Docs.svelte';
|
||||
import Sidebar from '../Sidebar.svelte';
|
||||
import { MainFooter } from '$lib/components';
|
||||
</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