This commit is contained in:
tree🌴 2023-02-12 01:07:49 +01:00
parent f3bce2c0c4
commit 6c8d980101
6 changed files with 215 additions and 42 deletions

33
package-lock.json generated
View file

@ -15,10 +15,12 @@
"eslint": "^8.28.0", "eslint": "^8.28.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-svelte3": "^4.0.0", "eslint-plugin-svelte3": "^4.0.0",
"js-yaml": "^4.1.0",
"postcss": "^8.4.21", "postcss": "^8.4.21",
"prettier": "^2.8.0", "prettier": "^2.8.0",
"prettier-plugin-svelte": "^2.8.1", "prettier-plugin-svelte": "^2.8.1",
"svelte": "^3.54.0", "svelte": "^3.54.0",
"svelte-markdown": "^0.2.3",
"tailwindcss": "^3.2.6", "tailwindcss": "^3.2.6",
"vite": "^4.0.0" "vite": "^4.0.0"
} }
@ -558,6 +560,12 @@
"integrity": "sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==", "integrity": "sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==",
"dev": true "dev": true
}, },
"node_modules/@types/marked": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/@types/marked/-/marked-4.0.8.tgz",
"integrity": "sha512-HVNzMT5QlWCOdeuBsgXP8EZzKUf0+AXzN+sLmjvaB3ZlLqO+e4u0uXrdw9ub69wBKFs+c6/pA4r9sy6cCDvImw==",
"dev": true
},
"node_modules/acorn": { "node_modules/acorn": {
"version": "8.8.2", "version": "8.8.2",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
@ -1744,6 +1752,18 @@
"node": ">=12" "node": ">=12"
} }
}, },
"node_modules/marked": {
"version": "4.2.12",
"resolved": "https://registry.npmjs.org/marked/-/marked-4.2.12.tgz",
"integrity": "sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==",
"dev": true,
"bin": {
"marked": "bin/marked.js"
},
"engines": {
"node": ">= 12"
}
},
"node_modules/merge2": { "node_modules/merge2": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@ -2467,6 +2487,19 @@
"svelte": ">=3.19.0" "svelte": ">=3.19.0"
} }
}, },
"node_modules/svelte-markdown": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/svelte-markdown/-/svelte-markdown-0.2.3.tgz",
"integrity": "sha512-2h680NzTXnAD0CXhxe3GeHl6W+ayG4iKQRl+BIDRw+R0mUE0OiNxP1Vt8Rn+aWevB/LBiBIPCAwvL+0BkG057A==",
"dev": true,
"dependencies": {
"@types/marked": "^4.0.1",
"marked": "^4.0.10"
},
"peerDependencies": {
"svelte": "^3.0.0"
}
},
"node_modules/tailwindcss": { "node_modules/tailwindcss": {
"version": "3.2.6", "version": "3.2.6",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.6.tgz", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.6.tgz",

View file

@ -17,10 +17,12 @@
"eslint": "^8.28.0", "eslint": "^8.28.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-svelte3": "^4.0.0", "eslint-plugin-svelte3": "^4.0.0",
"js-yaml": "^4.1.0",
"postcss": "^8.4.21", "postcss": "^8.4.21",
"prettier": "^2.8.0", "prettier": "^2.8.0",
"prettier-plugin-svelte": "^2.8.1", "prettier-plugin-svelte": "^2.8.1",
"svelte": "^3.54.0", "svelte": "^3.54.0",
"svelte-markdown": "^0.2.3",
"tailwindcss": "^3.2.6", "tailwindcss": "^3.2.6",
"vite": "^4.0.0" "vite": "^4.0.0"
}, },

View file

@ -15,7 +15,7 @@
@apply font-mono; @apply font-mono;
} }
footer a { footer a, .markdown a {
@apply underline hover:no-underline; @apply underline hover:no-underline;
} }
@ -30,6 +30,29 @@
@apply px-3 py-1.5 text-black bg-white; @apply px-3 py-1.5 text-black bg-white;
} }
.section-header { .section-header {
@apply text-5xl mb-16 font-bold; @apply text-5xl mb-16 font-bold pt-10;
}
.text-mild {
@apply text-white/70;
}
table.table-custom {
@apply text-base;
}
.table-custom td, .table-custom th {
@apply px-4 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;
} }
} }

View file

@ -1,25 +1,85 @@
export default { import yaml from 'js-yaml';
title: 'Web3Privacy Prague 2023',
shortname: 'Web3Privacy Summit', const CONFIG = yaml.load(`
date: 'Monday, 5. June 2023',
venue: 'X10, Prague', title: Web3Privacy Prague 2023
themes: [ shortname: Web3Privacy Summit
{ title: 'Human rights DAOs (pro-privacy)' }, date: Monday, 5. June 2023
{ title: 'Identity (ID)' }, venue: X10, Prague
{ title: 'Mixnets → Full-Stack Privacy' }, themes:
{ title: 'Cryptography' }, - title: Human rights DAOs (pro-privacy)
{ title: 'Tech journalists' }, - title: Identity (ID)
{ title: 'Asian community' }, - title: Mixnets Full-Stack Privacy
{ title: 'Privacy wars' }, - title: Cryptography
{ title: 'Privacy workforce' }, - title: Tech journalists
{ title: 'Privacy activist\'s' }, - title: Asian community
{ title: 'R&D (ZK, MPC)' }, - title: Privacy wars
{ title: 'Network states (with a privacy focus)' }, - title: Privacy workforce
{ title: 'Solarpunk vs Lunarpunk' }, - title: "Privacy activist's"
{ title: 'Veksl' } - title: R&D (ZK, MPC)
], - title: Network states (with a privacy focus)
tickets: [ - title: Solarpunk vs Lunarpunk
{ title: 'Conference ticket' }, - title: Veksl
{ title: 'Party ticket' } tickets:
], - title: All-day Access
} price: 2350 CZK (~99 EUR)
includes:
- All talks & panels
- Coffee breaks
- Buffet lunch
- Networking drinks with speakers & attendees
- title: "#Lunarpunk Party"
price: 350 CZK (~15 EUR)
includes:
- 20:00 - morning
- Prague rave from top DJs
- VJs and projections
- Networking with attendees, speakers & sponsors
note: "*Party access is included in the All-day Pass"
faq:
- title: Who is the event for?
text: |
Our event is for anyone interested in privacy topics in the Web3 industry. There will be space for about 300 enthusiasts.
- 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)).
- title: Will there be any food or drink?
text: |
We don't know, but we'll do our best. This unfortunately depends on the sponsors.
program:
- time: 9:00 - 9:30
title: Registration & networking
- time: 9:30 - 9:35
title: Welcome to Web3Privacy
speakers:
- name: TBA
desc: |
Welcoming visitors to our private-centric research, community and conference
- time: 9:35 - 10:55
title: Talks I.
- time: 10:55 - 11:20
title: 25min Coffee Break
- time: 11:25 - 12:40
title: Talks II.
- time: 12:40 - 14:00
title: Lunch & Networking
- time: 14:00 - 15:40
title: Talks III.
- time: 15:40 - 16:05
title: 25min Coffee Break
- time: 16:10 - 18:30
title: Talks IV.
- time: 18:30 - 18:35
title: Closing Remarks
speakers:
- name: TBA
- time: 18:30 - 20:00
title: Networking & Drinks
- time: 20:00 - 4:00
title: "#Lunarpunk party"
desc: |
Enjoy our afterparty in Lunarpunk style with quality Prague rave DJs, which will take place in the same venue until the morning (4am).
`);
export default CONFIG;

View file

@ -9,7 +9,6 @@
{ title: 'Sponsors', url: '#sponsors' }, { title: 'Sponsors', url: '#sponsors' },
{ title: 'Ticket', url: '#ticket', class: 'button' } { title: 'Ticket', url: '#ticket', class: 'button' }
] ]
</script> </script>
@ -37,7 +36,7 @@
<div class="text-8xl font-bold uppercase mb-8">{data.config.shortname}</div> <div class="text-8xl font-bold uppercase mb-8">{data.config.shortname}</div>
<div class="text-5xl mb-4">{data.config.date}</div> <div class="text-5xl mb-4">{data.config.date}</div>
<div class="text-5xl">{data.config.venue}</div> <div class="text-5xl">{data.config.venue}</div>
<div class="mt-8 text-lg text-white/50"> <div class="mt-8 text-lg text-mild">
<p>Diving into the culture of the Web3 privacy industry</p> <p>Diving into the culture of the Web3 privacy industry</p>
<p><a href="https://prgblockweek.com" class="underline hover:no-underline">Prague Blockchain Week 2023</a></p> <p><a href="https://prgblockweek.com" class="underline hover:no-underline">Prague Blockchain Week 2023</a></p>
</div> </div>
@ -57,14 +56,19 @@
</div> </div>
</div> </div>
<div class="text-right"> <div class="text-right">
<div class="inline-block"> <div class="">
<a href="https://twitter.com/web3privacy"> <a class="inline-block w-5 mr-1" href="https://twitter.com/web3privacy">
<svg width="29" height="26" viewBox="0 0 29 26" fill="none" xmlns="http://www.w3.org/2000/svg"> <svg viewBox="0 0 29 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<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"/> <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"/>
</svg> </svg>
</a> </a>
<a href="https://twitter.com/web3privacy" class="text-2xl no-underline hover:underline">
@web3privacy
</a>
</div>
<div class="mt-4 text-mild">
💛 Collaboration of <a href="https://web3privacy.info">Web3Privacy Now</a> & <a href="https://ethbrno.cz">ETHBrno</a> team
</div> </div>
<div class="mt-4">💛 Collaboration of <a href="https://web3privacy.info">Web3Privacy Now</a> & <a href="https://ethbrno.cz">ETHBrno</a> team</div>
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,4 +1,6 @@
<script> <script>
import SvelteMarkdown from 'svelte-markdown';
export let data; export let data;
</script> </script>
@ -14,7 +16,7 @@
<div class="section-header">Key themes</div> <div class="section-header">Key themes</div>
<div class="grid grid-cols-3 gap-10"> <div class="grid grid-cols-3 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 cursor-pointer"> <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"> <div class="mt-4 text-lg">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum tincidunt eros eu malesuada. Vivamus in urna at ex dictum pretium quis a erat.</div> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum tincidunt eros eu malesuada. Vivamus in urna at ex dictum pretium quis a erat.</div>
@ -31,25 +33,74 @@
</div> </div>
</div> </div>
<div class="" id="program"> <div class="bg-black" id="program">
<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 pb-32">
<div class="section-header">Program</div> <div class="section-header">Program</div>
<table class="table-auto table-custom w-full">
<thead>
<tr>
<th class="text-right">time</th>
<th class="text-left">topic</th>
</tr>
</thead>
<tbody>
{#each data.config.program as pi}
<tr class="">
<td class="text-right">{pi.time}</td>
<td class="text-left">
<div class="text-xl">{pi.title} {pi.speakers ? '― '+pi.speakers[0]?.name : ''}</div>
{#if pi.desc}
<div class="mt-2 text-base description text-mild">
<SvelteMarkdown source={pi.desc} />
</div>
{/if}
</td>
</tr>
{/each}
</tbody>
</table>
</div> </div>
</div> </div>
<div class="" id="sponsors"> <div class="" id="sponsors">
<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 pb-32">
<div class="section-header">Sponsors</div> <div class="section-header">Sponsors</div>
</div> </div>
</div> </div>
<div class="" id="ticket"> <div class="bg-black" id="ticket">
<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 pb-32">
<div class="section-header">Ticket</div> <div class="section-header">Ticket</div>
<div class="grid grid-cols-2 mb-48 gap-10 w-2/3 mx-auto"> <div class="grid grid-cols-2 gap-10 w-2/3 mx-auto">
{#each data.config.tickets as tt} {#each data.config.tickets as tt}
<div class="border px-3 py-10"> <div class="bg-[#0d1117] hover:border-0 px-3 py-10 hover:text-black hover:bg-white px-10 cursor-pointer">
<div class="text-2xl">{tt.title}</div> <div class="text-3xl">{tt.title}</div>
<div class="text-xl mt-6">{tt.price}</div>
<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>
</div-->
{#if tt.note}
<div class="mt-10 text-base">{tt.note}</div>
{/if}
</div>
{/each}
</div>
</div>
</div>
<div class="mb-36" id="faq">
<div class="middle-pane-medium pt-20 text-xl text-center mx-auto">
<div class="section-header">FAQ</div>
<div class="grid grid-cols-2 gap-10">
{#each data.config.faq as fi}
<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-lg markdown"><SvelteMarkdown source={fi.text} /></div>
</div> </div>
{/each} {/each}
</div> </div>