This commit is contained in:
Adam Sobotka 2022-10-27 22:54:38 +02:00
rodič 7d4b6dff01
revize cf0ac38771
7 změnil soubory, kde provedl 129 přidání a 170 odebrání

63
package-lock.json vygenerováno
Zobrazit soubor

@ -8,6 +8,9 @@
"name": "eb2-website", "name": "eb2-website",
"version": "v2022-10-16", "version": "v2022-10-16",
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": {
"marked": "^4.1.1"
},
"devDependencies": { "devDependencies": {
"@playwright/test": "^1.25.0", "@playwright/test": "^1.25.0",
"@sveltejs/adapter-auto": "next", "@sveltejs/adapter-auto": "next",
@ -25,7 +28,7 @@
"prettier-plugin-svelte": "^2.7.0", "prettier-plugin-svelte": "^2.7.0",
"svelte": "^3.44.0", "svelte": "^3.44.0",
"svelte-preprocess": "^4.10.7", "svelte-preprocess": "^4.10.7",
"tailwindcss": "^3.1.8", "tailwindcss": "^3.2.1",
"vite": "^3.1.0" "vite": "^3.1.0"
} }
}, },
@ -2712,6 +2715,17 @@
"semver": "bin/semver.js" "semver": "bin/semver.js"
} }
}, },
"node_modules/marked": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/marked/-/marked-4.1.1.tgz",
"integrity": "sha512-0cNMnTcUJPxbA6uWmCmjWz4NJRe/0Xfk2NhXCUHjew9qJzFN20krFnsUe7QynwqOwa5m1fZ4UDg0ycKFVC0ccw==",
"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",
@ -3257,12 +3271,12 @@
} }
}, },
"node_modules/postcss-nested": { "node_modules/postcss-nested": {
"version": "5.0.6", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
"integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"postcss-selector-parser": "^6.0.6" "postcss-selector-parser": "^6.0.10"
}, },
"engines": { "engines": {
"node": ">=12.0" "node": ">=12.0"
@ -3972,9 +3986,9 @@
} }
}, },
"node_modules/tailwindcss": { "node_modules/tailwindcss": {
"version": "3.1.8", "version": "3.2.1",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.1.tgz",
"integrity": "sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==", "integrity": "sha512-Uw+GVSxp5CM48krnjHObqoOwlCt5Qo6nw1jlCRwfGy68dSYb/LwS9ZFidYGRiM+w6rMawkZiu1mEMAsHYAfoLg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"arg": "^5.0.2", "arg": "^5.0.2",
@ -3983,18 +3997,19 @@
"detective": "^5.2.1", "detective": "^5.2.1",
"didyoumean": "^1.2.2", "didyoumean": "^1.2.2",
"dlv": "^1.1.3", "dlv": "^1.1.3",
"fast-glob": "^3.2.11", "fast-glob": "^3.2.12",
"glob-parent": "^6.0.2", "glob-parent": "^6.0.2",
"is-glob": "^4.0.3", "is-glob": "^4.0.3",
"lilconfig": "^2.0.6", "lilconfig": "^2.0.6",
"micromatch": "^4.0.5",
"normalize-path": "^3.0.0", "normalize-path": "^3.0.0",
"object-hash": "^3.0.0", "object-hash": "^3.0.0",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
"postcss": "^8.4.14", "postcss": "^8.4.17",
"postcss-import": "^14.1.0", "postcss-import": "^14.1.0",
"postcss-js": "^4.0.0", "postcss-js": "^4.0.0",
"postcss-load-config": "^3.1.4", "postcss-load-config": "^3.1.4",
"postcss-nested": "5.0.6", "postcss-nested": "6.0.0",
"postcss-selector-parser": "^6.0.10", "postcss-selector-parser": "^6.0.10",
"postcss-value-parser": "^4.2.0", "postcss-value-parser": "^4.2.0",
"quick-lru": "^5.1.1", "quick-lru": "^5.1.1",
@ -6224,6 +6239,11 @@
} }
} }
}, },
"marked": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/marked/-/marked-4.1.1.tgz",
"integrity": "sha512-0cNMnTcUJPxbA6uWmCmjWz4NJRe/0Xfk2NhXCUHjew9qJzFN20krFnsUe7QynwqOwa5m1fZ4UDg0ycKFVC0ccw=="
},
"merge2": { "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",
@ -6579,12 +6599,12 @@
} }
}, },
"postcss-nested": { "postcss-nested": {
"version": "5.0.6", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
"integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
"dev": true, "dev": true,
"requires": { "requires": {
"postcss-selector-parser": "^6.0.6" "postcss-selector-parser": "^6.0.10"
} }
}, },
"postcss-selector-parser": { "postcss-selector-parser": {
@ -7043,9 +7063,9 @@
} }
}, },
"tailwindcss": { "tailwindcss": {
"version": "3.1.8", "version": "3.2.1",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.1.tgz",
"integrity": "sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==", "integrity": "sha512-Uw+GVSxp5CM48krnjHObqoOwlCt5Qo6nw1jlCRwfGy68dSYb/LwS9ZFidYGRiM+w6rMawkZiu1mEMAsHYAfoLg==",
"dev": true, "dev": true,
"requires": { "requires": {
"arg": "^5.0.2", "arg": "^5.0.2",
@ -7054,18 +7074,19 @@
"detective": "^5.2.1", "detective": "^5.2.1",
"didyoumean": "^1.2.2", "didyoumean": "^1.2.2",
"dlv": "^1.1.3", "dlv": "^1.1.3",
"fast-glob": "^3.2.11", "fast-glob": "^3.2.12",
"glob-parent": "^6.0.2", "glob-parent": "^6.0.2",
"is-glob": "^4.0.3", "is-glob": "^4.0.3",
"lilconfig": "^2.0.6", "lilconfig": "^2.0.6",
"micromatch": "^4.0.5",
"normalize-path": "^3.0.0", "normalize-path": "^3.0.0",
"object-hash": "^3.0.0", "object-hash": "^3.0.0",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
"postcss": "^8.4.14", "postcss": "^8.4.17",
"postcss-import": "^14.1.0", "postcss-import": "^14.1.0",
"postcss-js": "^4.0.0", "postcss-js": "^4.0.0",
"postcss-load-config": "^3.1.4", "postcss-load-config": "^3.1.4",
"postcss-nested": "5.0.6", "postcss-nested": "6.0.0",
"postcss-selector-parser": "^6.0.10", "postcss-selector-parser": "^6.0.10",
"postcss-value-parser": "^4.2.0", "postcss-value-parser": "^4.2.0",
"quick-lru": "^5.1.1", "quick-lru": "^5.1.1",

Zobrazit soubor

@ -31,8 +31,11 @@
"prettier-plugin-svelte": "^2.7.0", "prettier-plugin-svelte": "^2.7.0",
"svelte": "^3.44.0", "svelte": "^3.44.0",
"svelte-preprocess": "^4.10.7", "svelte-preprocess": "^4.10.7",
"tailwindcss": "^3.1.8", "tailwindcss": "^3.2.1",
"vite": "^3.1.0" "vite": "^3.1.0"
}, },
"type": "module" "type": "module",
"dependencies": {
"marked": "^4.1.1"
}
} }

Zobrazit soubor

@ -16,7 +16,7 @@
} }
.head4 { .head4 {
@apply text-xl mt-12 mb-8; @apply text-lg mt-12 mb-8 font-bold;
} }
.head5 { .head5 {
@ -24,7 +24,11 @@
} }
.list { .list {
@apply my-4 leading-relaxed hover:text-white list-disc; @apply my-4 leading-relaxed hover:text-white list-disc list-inside;
}
.sublist {
@apply my-4 leading-relaxed hover:text-white ml-8 list-[circle];
} }
.active { .active {
@ -35,6 +39,13 @@
{ {
@apply underline; @apply underline;
} }
.md-separator {
width: 100%;
height: 1px;
border-top: 1px solid white;
margin: 4em 0 4em 0;
opacity: 0.5;
}
} }
@font-face { @font-face {
@ -137,10 +148,3 @@ body {
.icon.coffee { .icon.coffee {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-coffee'%3E%3Cpath d='M18 8h1a4 4 0 0 1 0 8h-1'%3E%3C/path%3E%3Cpath d='M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z'%3E%3C/path%3E%3Cline x1='6' y1='1' x2='6' y2='4'%3E%3C/line%3E%3Cline x1='10' y1='1' x2='10' y2='4'%3E%3C/line%3E%3Cline x1='14' y1='1' x2='14' y2='4'%3E%3C/line%3E%3C/svg%3E"); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-coffee'%3E%3Cpath d='M18 8h1a4 4 0 0 1 0 8h-1'%3E%3C/path%3E%3Cpath d='M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z'%3E%3C/path%3E%3Cline x1='6' y1='1' x2='6' y2='4'%3E%3C/line%3E%3Cline x1='10' y1='1' x2='10' y2='4'%3E%3C/line%3E%3Cline x1='14' y1='1' x2='14' y2='4'%3E%3C/line%3E%3C/svg%3E");
} }
.md-separator {
width: 100%;
height: 1px;
border-top: 1px solid white;
margin: 4em 0 4em 0;
opacity: 0.5;
}

Zobrazit soubor

@ -1,12 +1,11 @@
/** @type {import('./$types').PageLoad} */ /** @type {import('./$types').PageLoad} */
//import snarkdown from 'snarkdown';
import parse from "$lib/vsnarkdown"
import { base } from '$app/paths'; import { base } from '$app/paths';
import { marked } from 'marked';
marked.setOptions({ gfm: true });
export async function load({ fetch }) { export async function load({ fetch }) {
const response = await fetch(`${base}/hacker-manual.md`).then((r) => r.text()); const response = await fetch(`${base}/hacker-manual.md`).then((r) => r.text());
const compiledResponse = await parse(response); const compiledResponse = await marked.parse(response);
return { content: compiledResponse }; return { content: compiledResponse };
} }

Zobrazit soubor

@ -1,134 +1,26 @@
<script> <script>
import { onMount } from 'svelte'; import { onMount } from 'svelte';
import { graphdata } from '$lib/graphdata'; import { graphdata } from '$lib/graphdata';
import parse from '$lib/vsnarkdown';
import { browser, dev, prerendering } from '$app/environment'; import { browser, dev, prerendering } from '$app/environment';
export let data; export let data = {
onMount(async () => { content: ''
};
//abandoning this, not going to send 500kb on client just to render markdown
/* onMount(async () => {
if (dev) return; if (dev) return;
const result = await graphdata('markdown'); const result = await graphdata('markdown');
if (result) data.content = await parse(result); if (result) data.content = await compile(result);
//console.log(data.content); //console.log(data.content);
}); }); */
</script> </script>
<section class="text-white bg-black body-font"> <section class="text-white bg-black body-font">
<div class="container mx-auto flex flex-col xl:max-w-screen-xl px-3"> <div class="container mx-auto flex flex-col xl:max-w-screen-xl px-3">
<!--div class="md:flex flex-row py-8 gap-8 hidden">
<div class="flex flex-col mb-10 items-center">
<div
class="w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-100 text-gray-500 mb-5"
>
<svg
fill="none"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
class="w-6 h-6"
viewBox="0 0 24 24"
><polygon points="1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6" /><line
x1="8"
y1="2"
x2="8"
y2="18"
/><line x1="16" y1="6" x2="16" y2="22" /></svg
>
</div>
<div class="flex-grow">
<h2 class="text-white text-lg title-font font-medium mb-3">Before the Hackathon</h2>
<p class="leading-relaxed text-base">
Useful information before you arrive, like venue locations, accomodation and public
transport.
</p>
<a class="mt-3 text-gray-500 inline-flex items-center" href="#before-the-hackathon"
>Learn more<svg
fill="none"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
class="w-4 h-4 ml-2"
viewBox="0 0 24 24"><path d="M5 12h14M12 5l7 7-7 7" /></svg
></a
>
</div>
</div>
<div class="flex flex-col mb-10 items-center">
<div
class="w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-100 text-gray-500 mb-5"
>
<svg
fill="none"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
class="w-6 h-6"
viewBox="0 0 24 24"
><circle cx="18" cy="18" r="3" /><circle cx="6" cy="6" r="3" /><path
d="M13 6h3a2 2 0 0 1 2 2v7"
/><line x1="6" y1="9" x2="6" y2="21" /></svg
>
</div>
<div class="flex-grow">
<h2 class="text-white text-lg title-font font-medium mb-3">While Hacking</h2>
<p class="leading-relaxed text-base">
Rules, Prizes and Bounties, Mentors and other information relevant during hackathon.
</p>
<a class="mt-3 text-gray-500 inline-flex items-center" href="#hacking"
>Coming soon...<svg
fill="none"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
class="w-4 h-4 ml-2"
viewBox="0 0 24 24"><path d="M5 12h14M12 5l7 7-7 7" /></svg
></a
>
</div>
</div>
<div class="flex flex-col mb-10 items-center">
<div
class="w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-100 text-gray-500 mb-5"
>
<svg
fill="none"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
class="w-6 h-6"
viewBox="0 0 24 24"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" /></svg
>
</div>
<div class="flex-grow">
<h2 class="text-white text-lg title-font font-medium mb-3">After!</h2>
<p class="leading-relaxed text-base">
Yes, we mean party. Find the details here and join us on Moon Party.
</p>
<a class="mt-3 text-gray-500 inline-flex items-center" href="#after"
>Coming soon...<svg
fill="none"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
class="w-4 h-4 ml-2"
viewBox="0 0 24 24"><path d="M5 12h14M12 5l7 7-7 7" /></svg
></a
>
</div>
</div>
</div--->
<h1 class="pt-12 pb-6 xl:pt-20 xl:pb-10 text-4xl">Hacker Manual</h1> <h1 class="pt-12 pb-6 xl:pt-20 xl:pb-10 text-4xl">Hacker Manual</h1>
<article <article class="mb-12">
class="mb-12"
>
<div <div
class="[&_a]:href [&_h1]:header [&_h2]:head2 [&_li]:list [&_h3]:head3 [&_h4]:head4 [&_h5]:head5 [&_img[src*='#left']]:hidden md:[&_img[src*='#left']]:flex md:[&_img[src*='#left']]:float-left [&_img[src*='#left']]:mt-12 [&_img[src*='#left']]:mr-5" class="[&_hr]:md-separator [&_p]:leading-relaxed [&_a]:href [&_h1]:header [&_h2]:head2 [&_ul]:list [&_li]:sublist [&_h3]:head3 [&_h4]:head4 [&_h5]:head5 [&_img[src*='#left']]:hidden md:[&_img[src*='#left']]:flex md:[&_img[src*='#left']]:float-left [&_img[src*='#left']]:mt-12 [&_img[src*='#left']]:mr-5"
> >
{@html data.content} {@html data.content}
</div> </div>

Zobrazit soubor

@ -5,15 +5,15 @@
# Overview # Overview
* Travel and Accommodation * Travel and Accommodation
* Travelling to Brno * [Travelling to Brno](#travelling-to-brno)
* Brno Public transport * [Brno Public transport](#brno-public-transport)
* Accomodation * [Accomodation](#accomodation)
* Hackathon * Hackathon
* Mentoring * [Mentoring](#mentoring)
* Finding a Team / Project Idea * [Finding a Team / Project Idea](#finding-a-team--project-idea)
* Catering * [Catering](#catering)
<div class='md-separator'></div> ---
## <i class='icon map'></i> Travel and Accommodation ## <i class='icon map'></i> Travel and Accommodation
@ -30,17 +30,56 @@ It is safe to use public transport in Brno even in the night. Public transport i
### Accomodation ### Accomodation
We do not provide or subsidize accomodation. Main venue is 24/7 though, so feel free to enjoy the hackathon in its purest form. If you don't feel like it, we do have following recommended facilities: We do not provide or subsidize accomodation. Main venue is 24/7 though, so feel free to enjoy the hackathon in its purest form. If you don't feel like it, we do have following recommended facilities:
* First one, comfy #### Budget - Most Unique Hostel in Brno – 10-Z Bunker Hostel.
* $2000 per night
* 200m from main venue
* Second one, hostel
* $800 per night
* 300m from second venue
* Third, comfy
* $1000 per night
* 800m from main venue
<div class='md-separator'></div> Address: Husova 12, Brno, Czech Republic
[Book](https://www.booking.com/hotel/cz/10-z-nuclear-fallout-shelter-under-spilberk-castle.cs.html?aid=910275&label=gog235jc-1FCAsoOkIyMTAtei1udWNsZWFyLWZhbGxvdXQtc2hlbHRlci11bmRlci1zcGlsYmVyay1jYXN0bGVICVgDaDqIAQGYAQm4AQfIAQzYAQHoAQH4AQaIAgGoAgO4AsGI6poGwAIB0gIkZWI2ZmY5ZmEtMTEzNi00YWI4LWIxN2ItNDlkY2E3MTAyZWRh2AIF4AIB&sid=456cddd34fabe31e28baf019d5e20a72&all_sr_blocks=177983219_224237506_0_1_0;checkin=2022-11-11;checkout=2022-11-13;dest_id=-542184;dest_type=city;dist=0;group_adults=1;group_children=0;hapos=1;highlighted_blocks=177983219_224237506_0_1_0;hpos=1;matching_block_id=177983219_224237506_0_1_0;no_rooms=1;req_adults=1;req_children=0;room1=A;sb_price_type=total;sr_order=popularity;sr_pri_blocks=177983219_224237506_0_1_0__5000;srepoch=1666876502;srpvid=db945d2a46ee02b1;type=total;ucfs=1&#hotelTmpl)
price: 25eur incl. breakfast
If youre looking for a fairly unique accommodation site which youll surely remember forever, then the 10-Z Bunker Hostel is the way to go. Housed in an actual nuclear shelter from the Cold War era, this hostel is not for the faint-hearted, but can provide a quirky and memorable experience to those up to it.
The dorm rooms are decorated in period style and once you arrive to the accommodation, youll also get a complimentary tour of the place, which is also home to a history museum. Breakfast is free for all guests.
#### Budget & 5mins from the venue - Schrott Bed&Beer (20eur)
Address: Křenová 10, Brno, 602 00, Czech Republic
[Book](https://www.booking.com/hotel/cz/schrott-bed-amp-beer.html?aid=910275&sid=456cddd34fabe31e28baf019d5e20a72&all_sr_blocks=630944704_246076413_1_0_0&checkin=2022-11-11&checkout=2022-11-13&dest_id=-542184&dest_type=city&group_adults=1&group_children=0&hapos=3&highlighted_blocks=630944704_246076413_1_0_0&hpos=3&lang=en-us&matching_block_id=630944704_246076413_1_0_0&no_rooms=1&req_adults=1&req_children=0&room1=A&sb_price_type=total&soz=1&sr_order=price&sr_pri_blocks=630944704_246076413_1_0_0__4000&srepoch=1666876026&srpvid=cc935c34723c0061&type=total&ucfs=1&lang_click=other&cdl=cs&lang_changed=1)
price: 20eur
If youre looking for a clean, cheap accommodation that is very close to the venue, this is the option. As a bonus, it has a unique, steam-punk/retro bar with good selection of beers on site :)
#### Mid-range, 6mins from the venue, suitable for teams - Euro Apartments Krenova
Address: Krenova 75, Brno, 602 00, Czech Republic
[Book](https://www.booking.com/hotel/cz/euro-apartments-krenova-75-brno.html?aid=910275&sid=456cddd34fabe31e28baf019d5e20a72&all_sr_blocks=342399124_360281629_2_0_0&checkin=2022-11-11&checkout=2022-11-13&dest_id=-542184&dest_type=city&dist=0&group_adults=2&group_children=0&hapos=2&highlighted_blocks=342399124_360281629_2_0_0&hpos=2&lang=en-us&matching_block_id=342399124_360281629_2_0_0&no_rooms=1&req_adults=2&req_children=0&room1=A%2CA&sb_price_type=total&soz=1&sr_order=popularity&sr_pri_blocks=342399124_360281629_2_0_0__17850&srepoch=1666877159&srpvid=f7175e72048c0156&type=total&ucfs=1&lang_click=other&cdl=cs&lang_changed=1)
price: 45eur
#### Mid-range-business - Grandhotel Brno
Address: Benesova 18, Brno, 602 00, Czech Republic
[Book](https://www.booking.com/hotel/cz/grandhotelbrno.html?aid=910275&sid=456cddd34fabe31e28baf019d5e20a72&atlas_src=sr_iw_btn&checkin=2022-11-11&checkout=2022-11-13&dest_id=-542184&dest_type=city&dist=0&group_adults=2&group_children=0&highlighted_blocks=7707602_193926392_2_2_0&lang=en-us&no_rooms=1&room1=A%2CA&sb_price_type=total&soz=1&type=total&ucfs=1&lang_click=other&cdl=cs&lang_changed=1)
price: 54eur
Centrally located in the heart of Brno with 140 year-long tradition in hospitality is close to all major sights. It features the Garden Restaurant and a lobby bar. Cozy and stylish rooms, fully equipped with modern amenities including high-speed internet and air-con.
#### Business/Lux - Best Western International Hotel Brno
Address: Husova 16, Brno, 602 00, Czech Republic
[Book](https://www.booking.com/hotel/cz/schrott-bed-amp-beer.html?aid=910275&sid=456cddd34fabe31e28baf019d5e20a72&all_sr_blocks=630944704_246076413_1_0_0&checkin=2022-11-11&checkout=2022-11-13&dest_id=-542184&dest_type=city&group_adults=1&group_children=0&hapos=3&highlighted_blocks=630944704_246076413_1_0_0&hpos=3&lang=en-us&matching_block_id=630944704_246076413_1_0_0&no_rooms=1&req_adults=1&req_children=0&room1=A&sb_price_type=total&soz=1&sr_order=price&sr_pri_blocks=630944704_246076413_1_0_0__4000&srepoch=1666876026&srpvid=cc935c34723c0061&type=total&ucfs=1&lang_click=other&cdl=cs&lang_changed=1)
price: 70eur including excellent breakfast
Centrally located right below Spilberg Castle and 100m from the Main Square. Free access to the fitness centre, stable and strong wifi in the entire hotel.
#### Business/Lux - Grandezza Hotel Luxury Palace
Address: Zeleny trh 314/2, Brno, 602 00, Czech Republic
[Book](https://www.booking.com/hotel/cz/grandezza.html?aid=910275&sid=456cddd34fabe31e28baf019d5e20a72&atlas_src=hp_iw_title&checkin=2022-11-11&checkout=2022-11-13&dist=0&group_adults=2&group_children=0&lang=en-us&no_rooms=1&room1=A%2CA&sb_price_type=total&soz=1&srepoch=1666878418&srpvid=2e79609d94de021d&type=total&lang_click=other&cdl=cs&lang_changed=1)
price: 70eur
Spacious, air-conditioned rooms overlook the town square, the Cathedral of Saints Peter and Spilberk Castle, featuring a flat-screen satellite TV and a seating area. The bathrooms include bathrobes. It is 50 m to the nearest tram stop, and Brno Train Station is 400 m away. Airport shuttle service available.
---
## Hackathon ## Hackathon

Zobrazit soubor

@ -14,6 +14,7 @@ const config = {
}), }),
trailingSlash: 'always', trailingSlash: 'always',
}, },
extensions: ['.svelte'],
preprocess: [ preprocess: [
preprocess({ preprocess({
postcss: true, postcss: true,