This commit is contained in:
tree🌴 2023-02-12 17:11:52 +01:00
parent de20bc3ac9
commit 956f7b62ae
12 changed files with 313 additions and 237 deletions

View File

@ -39,4 +39,4 @@ jobs:
if: ${{ github.ref == 'refs/heads/main' }} if: ${{ github.ref == 'refs/heads/main' }}
with: with:
github_token: ${{ secrets.GITHUB_TOKEN }} github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build publish_dir: ./build

View File

@ -1,6 +1,6 @@
module.exports = { module.exports = {
plugins: { plugins: {
tailwindcss: {}, tailwindcss: {},
autoprefixer: {}, autoprefixer: {}
}, }
} };

View File

@ -1,4 +1,3 @@
@import url('https://fonts.googleapis.com/css2?family=Ubuntu+Mono&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Ubuntu+Mono&display=swap');
@tailwind base; @tailwind base;
@ -6,67 +5,68 @@
@tailwind utilities; @tailwind utilities;
@layer components { @layer components {
body {
@apply bg-[#0d1117];
}
body { * {
@apply bg-[#0d1117]; @apply font-mono;
} }
* { footer a,
@apply font-mono; .markdown a {
} @apply underline hover:no-underline;
}
footer a, .markdown a { .markdown p {
@apply underline hover:no-underline; }
}
.markdown p { .middle-pane-medium {
} @apply max-w-7xl mx-auto px-4 xl:px-0;
}
.middle-pane-big {
@apply max-w-screen-2xl mx-auto px-4 2xl:px-0;
}
.middle-pane-medium { .button {
@apply max-w-7xl mx-auto px-4 xl:px-0; @apply px-3 py-1.5 text-black bg-white;
} }
.middle-pane-big { .section-header {
@apply max-w-screen-2xl mx-auto px-4 2xl:px-0; @apply text-3xl md:text-5xl mb-8 md:mb-16 font-bold pt-10;
} }
.button { .text-mild {
@apply px-3 py-1.5 text-black bg-white; @apply text-white/70;
} }
.section-header {
@apply text-3xl md:text-5xl mb-8 md:mb-16 font-bold pt-10;
}
.text-mild { table.table-custom {
@apply text-white/70; @apply text-base;
} }
.table-custom td,
.table-custom th {
@apply px-2 py-3 md:px-4 md:py-4 align-top;
}
.table-custom th {
@apply text-mild;
}
.table-custom tbody tr:hover td {
@apply bg-white text-black;
}
.table-custom tbody tr:hover td .description {
@apply text-black;
}
.table-custom td {
@apply border border-b-0 border-l-0 border-r-0 border-gray-600;
}
.table-custom td.time {
@apply text-sm;
}
table.table-custom { .external::after {
@apply text-base; padding-left: 10px;
} content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.5' height='13.5' aria-hidden='true' viewBox='0 0 24 24' class='iconExternalLink_nPIU'%3E%3Cpath fill='white' d='M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z'%3E%3C/path%3E%3C/svg%3E");
.table-custom td, .table-custom th { }
@apply px-2 py-3 md:px-4 md:py-4 align-top; .external.external-mild::after {
} content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.5' height='13.5' aria-hidden='true' viewBox='0 0 24 24' class='iconExternalLink_nPIU'%3E%3Cpath fill='silver' d='M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z'%3E%3C/path%3E%3C/svg%3E");
.table-custom th { }
@apply text-mild; }
}
.table-custom tbody tr:hover td {
@apply bg-white text-black;
}
.table-custom tbody tr:hover td .description {
@apply text-black;
}
.table-custom td {
@apply border border-b-0 border-l-0 border-r-0 border-gray-600;
}
.table-custom td.time {
@apply text-sm;
}
.external::after {
padding-left: 10px;
content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.5' height='13.5' aria-hidden='true' viewBox='0 0 24 24' class='iconExternalLink_nPIU'%3E%3Cpath fill='white' d='M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z'%3E%3C/path%3E%3C/svg%3E");
}
.external.external-mild::after {
content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.5' height='13.5' aria-hidden='true' viewBox='0 0 24 24' class='iconExternalLink_nPIU'%3E%3Cpath fill='silver' d='M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z'%3E%3C/path%3E%3C/svg%3E");
}
}

View File

@ -0,0 +1,25 @@
<script>
export let items;
export let people;
function getPerson(id) {
return people.find((p) => p.id === id);
}
function twitterLink(handle) {
return `https://twitter.com/${handle}`;
}
</script>
{#each items.map(getPerson) as item}
<div>
<div>
<a href={twitterLink(item.twitter)}
><img src="/people/{item.img}" class="grayscale hover:grayscale-0" /></a
>
</div>
<div class="mt-4">{item.name}</div>
<div class="text-base text-mild">
<a href={twitterLink(item.twitter)} class="hover:underline">@{item.twitter}</a>
</div>
</div>
{/each}

View File

@ -3,11 +3,11 @@ import yaml from 'js-yaml';
const CONFIG = yaml.load(` const CONFIG = yaml.load(`
title: Web3Privacy Prague 2023 title: Web3Privacy Prague 2023
shortname: Web3Privacy Summit shortname: "Web3Privacy Summit #1"
date: Monday, 5. June 2023 date: Monday, 5. June 2023
venue: X10, Prague venue: X10, Prague
slogan: | slogan: |
We need to protect our privacy, and that's why we're coming together on June 5 to Prague to sit down and discuss different aspects of privacy in the Web3 industry - how we can help shape it and make it more accessible - building a shared culture. Conference was created to complement the [Web3Privacy Now](http://web3privacy.info/) research project. We need to protect our privacy, and that's why we're coming together on June 5 to Prague to sit down and discuss different aspects of privacy in the Web3 industry - how we can help shape it and make it more accessible - building a shared culture. The conference complements the research project [Web3Privacy Now](http://web3privacy.info/) and was created by joining forces with the production team of the privacy hackathon [ETHBrno](https://ethbrno.cz/).
themes: themes:
- title: Human rights DAOs (pro-privacy) - title: Human rights DAOs (pro-privacy)
- title: Identity (ID) - title: Identity (ID)
@ -52,8 +52,18 @@ faq:
text: Yes, we plan do both. Livestream of the whole conference and recordings of the lectures will be publicly available. text: Yes, we plan do both. Livestream of the whole conference and recordings of the lectures will be publicly available.
- title: How do I get to the venue? - title: How do I get to the venue?
text: Venue X10 (full name "[Divadlo X10](https://divadlox10.cz)") is located in the centre of Prague near the metro station *Národní Třída* (Line B) and *Můstek* (Line A,C). The address is [Charvátova 10/39, Prague 1, 110 00](https://goo.gl/maps/Yh8qWagnqB1DvK676) ([Google Maps](https://goo.gl/maps/Yh8qWagnqB1DvK676)). text: Venue X10 (full name "[Divadlo X10](https://divadlox10.cz)") is located in the centre of Prague near the metro station *Národní Třída* (Line B) and *Můstek* (Line A,C). The address is [Charvátova 10/39, Prague 1, 110 00](https://goo.gl/maps/Yh8qWagnqB1DvK676) ([Google Maps](https://goo.gl/maps/Yh8qWagnqB1DvK676)).
- title: Will there be any food or drink? people:
text: We don't know, but we'll do our best. This unfortunately depends on the sponsors. - id: mykola
name: Mykola Siusko
twitter: nicksvyaznoy
img: mykola.png
- id: tree
name: Tree
twitter: treecz
img: tree.jpeg
hosts:
- mykola
- tree
program: program:
- time: 9:00 - 9:30 - time: 9:00 - 9:30
title: Registration & networking title: Registration & networking
@ -88,4 +98,4 @@ program:
`); `);
export default CONFIG; export default CONFIG;

View File

@ -1,7 +1,7 @@
import config from '$lib/config'; import config from '$lib/config';
export async function load({ params, url, fetch }) { export async function load({ params, url, fetch }) {
return { return {
config config
} };
} }

View File

@ -1,76 +1,89 @@
<script> <script>
import "../app.css"; import '../app.css';
export let data; export let data;
const menu = [ const menu = [
{ title: 'About', url: '#about' }, { title: 'About', url: '#about' },
{ title: 'Speakers', url: '#speakers' }, { title: 'Speakers', url: '#speakers' },
{ title: 'Program', url: '#program' }, { title: 'Program', url: '#program' },
{ title: 'Sponsors', url: '#sponsors' }, { title: 'Sponsors', url: '#sponsors' },
{ title: 'Ticket', url: '#ticket', class: 'button' } { title: 'Ticket', url: '#ticket', class: 'button' }
] ];
</script> </script>
<div class="relative w-full min-h-screen text-white"> <div class="relative w-full min-h-screen text-white">
<div class="fixed w-full h-18 bg-black pt-6 md:pt-2 pb-2"> <div class="fixed w-full h-18 bg-black pt-6 md:pt-2 pb-2">
<div class="middle-pane-big bg-black"> <div class="middle-pane-big bg-black">
<div class="flex"> <div class="flex">
<div class="flex items-center gap-4 grow"> <div class="flex items-center gap-4 grow">
<div class="w-20"> <div class="w-20">
<a href="https://web3privacy.info"><img src="/web3privacy.png" /></a> <a href="https://web3privacy.info"><img src="/web3privacy.png" /></a>
</div> </div>
<!--h1 class="text-2xl uppercase">{data.config.title}</h1--> <!--h1 class="text-2xl uppercase">{data.config.title}</h1-->
</div> </div>
<div class="flex items-center gap-6 uppercase text-xl"> <div class="flex items-center gap-6 uppercase text-xl">
{#each menu as mi} {#each menu as mi}
<div class={mi.class}><a href={mi.url}>{mi.title}</a></div> <div class={mi.class}><a href={mi.url}>{mi.title}</a></div>
{/each} {/each}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="w-full h-screen"> <div class="w-full h-screen">
<div class="w-full h-full flex items-center text-center"> <div class="w-full h-full flex items-center text-center">
<div class="mx-auto"> <div class="mx-auto">
<div class="text-5xl md:text-8xl font-bold uppercase mb-4 md:mb-8">{data.config.shortname}</div> <div class="text-5xl md:text-8xl font-bold uppercase mb-4 md:mb-8">
<div class="text-3xl md:text-5xl md:mb-4">{data.config.date}</div> {data.config.shortname}
<div class="text-3xl md:text-5xl">{data.config.venue}</div> </div>
<div class="mt-8 text-lg text-mild mx-4"> <div class="text-3xl md:text-5xl md:mb-4">{data.config.date}</div>
<p>Diving into the culture of the Web3 privacy industry</p> <div class="text-3xl md:text-5xl uppercase">{data.config.venue}</div>
<p><a href="https://prgblockweek.com" class="underline hover:no-underline external external-mild">Prague Blockchain Week 2023</a></p> <div class="mt-8 text-lg text-mild mx-4">
</div> <p>Diving into the culture of the Web3 privacy industry</p>
</div> <p>
<a
href="https://prgblockweek.com"
target="_blank"
class="underline hover:no-underline external external-mild"
>Prague Blockchain Week 2023</a
>
</p>
</div>
</div>
</div>
</div>
</div> <slot />
</div>
<slot /> <footer class="pb-16 bg-black">
<div class="middle-pane-big pt-6 mx-auto">
<footer class="pb-16 bg-black"> <div class="flex items-center">
<div class="middle-pane-big pt-6 mx-auto"> <div class="grow">
<div class="flex items-center"> <div class="w-48">
<div class="grow"> <a href="https://web3privacy.info"><img src="/web3privacy.png" /></a>
<div class="w-48"> </div>
<a href="https://web3privacy.info"><img src="/web3privacy.png" /></a> </div>
</div> <div class="text-right">
</div> <div class="">
<div class="text-right"> <a class="inline-block w-5 mr-1" href="https://twitter.com/web3privacy">
<div class=""> <svg viewBox="0 0 29 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<a class="inline-block w-5 mr-1" href="https://twitter.com/web3privacy"> <path
<svg viewBox="0 0 29 26" fill="none" xmlns="http://www.w3.org/2000/svg"> d="M28.0266 3.12733C26.9955 3.62938 25.8872 3.96853 24.7242 4.12112C25.9113 3.34005 26.8231 2.10325 27.2524 0.629411C26.1413 1.35279 24.9107 1.87791 23.6009 2.16092C22.5522 0.934264 21.0578 0.167969 19.4039 0.167969C16.2285 0.167969 13.6538 2.99367 13.6538 6.47907C13.6538 6.97373 13.7047 7.45548 13.8028 7.91738C9.02398 7.6542 4.78719 5.14151 1.95117 1.3231C1.45622 2.25521 1.17259 3.33929 1.17259 4.49596C1.17259 6.68564 2.18771 8.61738 3.73058 9.74913C2.78804 9.71637 1.90142 9.43244 1.1262 8.95977C1.12555 8.98607 1.12555 9.01252 1.12555 9.03913C1.12555 12.0969 3.1076 14.6476 5.73804 15.2278C5.25556 15.3721 4.74758 15.4491 4.2232 15.4491C3.85268 15.4491 3.49255 15.4095 3.14137 15.3359C3.87315 17.8432 5.99658 19.6679 8.51282 19.7187C6.54493 21.4115 4.06569 22.4206 1.37163 22.4206C0.907503 22.4206 0.449828 22.3906 0 22.3323C2.54468 24.1231 5.56708 25.168 8.81424 25.168C19.3905 25.168 25.1742 15.5511 25.1742 7.21076C25.1742 6.93712 25.1686 6.66503 25.1576 6.39416C26.2809 5.50451 27.2556 4.39306 28.0265 3.12733H28.0266Z"
<path d="M28.0266 3.12733C26.9955 3.62938 25.8872 3.96853 24.7242 4.12112C25.9113 3.34005 26.8231 2.10325 27.2524 0.629411C26.1413 1.35279 24.9107 1.87791 23.6009 2.16092C22.5522 0.934264 21.0578 0.167969 19.4039 0.167969C16.2285 0.167969 13.6538 2.99367 13.6538 6.47907C13.6538 6.97373 13.7047 7.45548 13.8028 7.91738C9.02398 7.6542 4.78719 5.14151 1.95117 1.3231C1.45622 2.25521 1.17259 3.33929 1.17259 4.49596C1.17259 6.68564 2.18771 8.61738 3.73058 9.74913C2.78804 9.71637 1.90142 9.43244 1.1262 8.95977C1.12555 8.98607 1.12555 9.01252 1.12555 9.03913C1.12555 12.0969 3.1076 14.6476 5.73804 15.2278C5.25556 15.3721 4.74758 15.4491 4.2232 15.4491C3.85268 15.4491 3.49255 15.4095 3.14137 15.3359C3.87315 17.8432 5.99658 19.6679 8.51282 19.7187C6.54493 21.4115 4.06569 22.4206 1.37163 22.4206C0.907503 22.4206 0.449828 22.3906 0 22.3323C2.54468 24.1231 5.56708 25.168 8.81424 25.168C19.3905 25.168 25.1742 15.5511 25.1742 7.21076C25.1742 6.93712 25.1686 6.66503 25.1576 6.39416C26.2809 5.50451 27.2556 4.39306 28.0265 3.12733H28.0266Z" fill="white"/> fill="white"
</svg> />
</a> </svg>
<a href="https://twitter.com/web3privacy" class="text-2xl no-underline hover:underline"> </a>
@web3privacy <a href="https://twitter.com/web3privacy" class="text-2xl no-underline hover:underline">
</a> @web3privacy
</div> </a>
<div class="mt-4 text-mild"> </div>
💛 Collaboration of <a href="https://web3privacy.info" class="external external-mild">Web3Privacy Now</a> & <a href="https://ethbrno.cz" class="external external-mild">ETHBrno</a> team <div class="mt-4 text-mild">
</div> 💛 Collaboration of <a href="https://web3privacy.info" class="external external-mild"
</div> >Web3Privacy Now</a
</div> >
</div> & <a href="https://ethbrno.cz" class="external external-mild">ETHBrno</a> team
</footer> </div>
</div>
</div>
</div>
</footer>
</div> </div>

View File

@ -1,112 +1,140 @@
<script> <script>
import SvelteMarkdown from 'svelte-markdown'; import SvelteMarkdown from 'svelte-markdown';
import PeopleList from '$lib/components/PeopleList.svelte';
export let data; export let data;
</script> </script>
<svelte:head> <svelte:head>
<title>{data.config.title} | {data.config.date}</title> <title>{data.config.title} | {data.config.date}</title>
</svelte:head> </svelte:head>
<div class="bg-black" id="about"> <div class="bg-black" id="about">
<div class="middle-pane-medium pb-16 text-xl text-center mx-auto"> <div class="middle-pane-medium pb-16 text-xl text-center mx-auto">
<div class="py-16 md:py-32 md:w-1/2 mx-auto markdown"> <div class="py-16 md:py-32 md:w-1/2 mx-auto markdown">
<SvelteMarkdown source={data.config.slogan} /> <SvelteMarkdown source={data.config.slogan} />
</div> </div>
<div class="section-header">Key themes</div> <div class="section-header">Key themes</div>
<div class="grid md:grid-cols-3 gap-4 md:gap-10"> <div class="grid md:grid-cols-3 gap-4 md:gap-10">
{#each data.config.themes as ti} {#each data.config.themes as ti}
<div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6"> <div class="bg-[#0d1117] hover:text-black hover:bg-white px-4 py-6">
<div class="text-2xl uppercase">{ti.title}</div> <div class="text-2xl uppercase">{ti.title}</div>
<div class="mt-4 text-lg markdown"> <div class="mt-4 text-lg markdown">
<SvelteMarkdown source={ti.desc} /> <SvelteMarkdown source={ti.desc} />
</div> </div>
</div> </div>
{/each} {/each}
</div> </div>
</div> </div>
</div> </div>
<div class="" id="speakers"> <div class="" id="speakers">
<div class="middle-pane-medium pt-16 text-xl text-center mx-auto"> <div class="middle-pane-medium pt-16 text-xl text-center mx-auto">
<div class="section-header">Speakers</div> <div class="section-header">Speakers</div>
<div class="pb-16 text-mild">To-be-announced</div> <div class="pb-16 text-mild">To-be-announced</div>
</div> </div>
</div>
<div class="" id="hosts">
<div class="middle-pane-medium pt-16 text-xl text-center mx-auto">
<div class="section-header">Hosts</div>
<div class="mx-auto sm:w-1/3">
<div class="pb-16 grid grid-cols-2 gap-4 sm:gap-10">
<PeopleList items={data.config.hosts} people={data.config.people} />
</div>
</div>
</div>
</div> </div>
<div class="bg-black" id="program"> <div class="bg-black" id="program">
<div class="middle-pane-medium pt-16 text-xl text-center mx-auto pb-32"> <div class="middle-pane-medium pt-16 text-xl text-center mx-auto pb-32">
<div class="section-header">Program</div> <div class="section-header">Program</div>
<table class="table-auto table-custom w-full mx-0 lg:mx-8"> <table class="table-auto table-custom w-full mx-0 lg:mx-8">
<thead> <thead>
<tr> <tr>
<th class="text-right">time</th> <th class="text-right">time</th>
<th class="text-left">topic</th> <th class="text-left">topic</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{#each data.config.program as pi} {#each data.config.program as pi}
<tr class=""> <tr class="">
<td class="text-right time xl:whitespace-nowrap sm:w-16 xl:w-36">{@html pi.time.split('-').map(x => x).join('<div class="xl:inline-block hidden mx-1">-</div>')} </td> <td class="text-right time xl:whitespace-nowrap sm:w-16 xl:w-36"
<td class="text-left"> >{@html pi.time
<div class="text-xl">{pi.title} {pi.speakers ? '― '+pi.speakers[0]?.name : ''}</div> .split('-')
{#if pi.desc} .map((x) => x)
<div class="mt-2 text-base description text-mild markdown"> .join('<div class="xl:inline-block hidden mx-1">-</div>')}
<SvelteMarkdown source={pi.desc} /> </td>
</div> <td class="text-left">
{/if} <div class="text-xl">{pi.title} {pi.speakers ? '― ' + pi.speakers[0]?.name : ''}</div>
</td> {#if pi.desc}
</tr> <div class="mt-2 text-base description text-mild markdown">
{/each} <SvelteMarkdown source={pi.desc} />
</tbody> </div>
</table> {/if}
</div> </td>
</tr>
{/each}
</tbody>
</table>
</div>
</div> </div>
<div class="" id="sponsors"> <div class="" id="sponsors">
<div class="middle-pane-medium pt-16 text-xl text-center mx-auto pb-32"> <div class="middle-pane-medium pt-16 text-xl text-center mx-auto pb-32">
<div class="section-header">Sponsors</div> <div class="section-header">Sponsors</div>
<div> <div>
<a href="https://matrix.to/#/@tree:gwei.cz" target="_blank"><button class="py-2 px-5 bg-white text-black hover:bg-black border border-bg-white hover:text-white">Become a Sponsor</button></a> <a href="https://matrix.to/#/@tree:gwei.cz" target="_blank"
</div> ><button
</div> class="py-2 px-5 bg-white text-black hover:bg-black border border-bg-white hover:text-white"
>Become a Sponsor</button
></a
>
</div>
</div>
</div> </div>
<div class="bg-black" id="ticket"> <div class="bg-black" id="ticket">
<div class="middle-pane-medium pt-16 text-xl text-center mx-auto pb-32"> <div class="middle-pane-medium pt-16 text-xl text-center mx-auto pb-32">
<div class="section-header">Ticket</div> <div class="section-header">Ticket</div>
<div class="grid lg:grid-cols-2 gap-10 md:w-2/3 mx-auto"> <div class="mb-8 text-lg text-mild">Be a part of the first Web3Privacy Summit experience…</div>
{#each data.config.tickets as tt} <div class="grid lg:grid-cols-2 gap-10 md:w-2/3 mx-auto">
<div class="bg-[#0d1117] hover:border-0 py-10 hover:text-black hover:bg-white px-10 cursor-pointer"> {#each data.config.tickets as tt}
<div class="text-3xl uppercase">{tt.title}</div> <div
<div class="text-xl mt-6">{tt.price}</div> class="bg-[#0d1117] hover:border-0 py-10 px-10 {false
<ul class="mt-6 text-lg text-left list-disc px-6"> ? 'hover:text-black hover:bg-white cursor-pointer'
{#each tt.includes as ti} : ''}"
<li>{ti}</li> >
{/each} <div class="text-3xl uppercase">{tt.title}</div>
</ul> <div class="text-xl mt-6">{tt.price}</div>
<!--div class="mt-6"> <ul class="mt-6 text-lg text-left list-disc px-6">
{#each tt.includes as ti}
<li>{ti}</li>
{/each}
</ul>
<!--div class="mt-6">
<a href="/"><button class="py-2 px-5 bg-white text-black">Buy {tt.title} ticket</button></a> <a href="/"><button class="py-2 px-5 bg-white text-black">Buy {tt.title} ticket</button></a>
</div--> </div-->
{#if tt.note} {#if tt.note}
<div class="mt-10 text-base">{tt.note}</div> <div class="mt-10 text-base">{tt.note}</div>
{/if} {/if}
</div> </div>
{/each} {/each}
</div> </div>
</div> <div class="mt-8 text-xl">Tickets will go on sale in early March 2023.</div>
</div>
</div> </div>
<div class="mb-36" id="faq"> <div class="mb-36" id="faq">
<div class="middle-pane-medium pt-20 text-xl text-center mx-auto"> <div class="middle-pane-medium pt-20 text-xl text-center mx-auto">
<div class="section-header">FAQ</div> <div class="section-header">FAQ</div>
<div class="grid md:grid-cols-2 gap-2 md:gap-10"> <div class="grid md:grid-cols-2 gap-2 md:gap-10">
{#each data.config.faq as fi} {#each data.config.faq as fi}
<div class="py-10 px-4 hover:bg-white hover:text-black"> <div class="py-10 px-4 hover:bg-white hover:text-black">
<div class="text-2xl font-bold mb-6">{fi.title}</div> <div class="text-2xl font-bold mb-6">{fi.title}</div>
<div class="text-lg markdown"><SvelteMarkdown source={fi.text} /></div> <div class="text-lg markdown"><SvelteMarkdown source={fi.text} /></div>
</div> </div>
{/each} {/each}
</div> </div>
</div> </div>
</div> </div>

BIN
static/people/mykola.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

BIN
static/people/tree.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -6,7 +6,7 @@ const config = {
kit: { kit: {
adapter: adapter() adapter: adapter()
}, },
preprocess: vitePreprocess() preprocess: vitePreprocess()
}; };
export default config; export default config;

View File

@ -3,14 +3,14 @@
const defaultTheme = require('tailwindcss/defaultTheme'); const defaultTheme = require('tailwindcss/defaultTheme');
module.exports = { module.exports = {
content: ['./src/**/*.{html,js,svelte,ts}'], content: ['./src/**/*.{html,js,svelte,ts}'],
theme: { theme: {
extend: { extend: {
fontFamily: { fontFamily: {
mono: ['Ubuntu Mono', ...defaultTheme.fontFamily.mono] mono: ['Ubuntu Mono', ...defaultTheme.fontFamily.mono]
}, }
}, }
}, },
plugins: [], plugins: [],
darkMode: ['class'], darkMode: ['class']
} };