diff --git a/package-lock.json b/package-lock.json
index c063780..47f1b4a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,6 +8,9 @@
"name": "eb2-website",
"version": "v2022-10-16",
"hasInstallScript": true,
+ "dependencies": {
+ "marked": "^4.1.1"
+ },
"devDependencies": {
"@playwright/test": "^1.25.0",
"@sveltejs/adapter-auto": "next",
@@ -25,7 +28,7 @@
"prettier-plugin-svelte": "^2.7.0",
"svelte": "^3.44.0",
"svelte-preprocess": "^4.10.7",
- "tailwindcss": "^3.1.8",
+ "tailwindcss": "^3.2.1",
"vite": "^3.1.0"
}
},
@@ -2712,6 +2715,17 @@
"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": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -3257,12 +3271,12 @@
}
},
"node_modules/postcss-nested": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz",
- "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
+ "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
"dev": true,
"dependencies": {
- "postcss-selector-parser": "^6.0.6"
+ "postcss-selector-parser": "^6.0.10"
},
"engines": {
"node": ">=12.0"
@@ -3972,9 +3986,9 @@
}
},
"node_modules/tailwindcss": {
- "version": "3.1.8",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz",
- "integrity": "sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.1.tgz",
+ "integrity": "sha512-Uw+GVSxp5CM48krnjHObqoOwlCt5Qo6nw1jlCRwfGy68dSYb/LwS9ZFidYGRiM+w6rMawkZiu1mEMAsHYAfoLg==",
"dev": true,
"dependencies": {
"arg": "^5.0.2",
@@ -3983,18 +3997,19 @@
"detective": "^5.2.1",
"didyoumean": "^1.2.2",
"dlv": "^1.1.3",
- "fast-glob": "^3.2.11",
+ "fast-glob": "^3.2.12",
"glob-parent": "^6.0.2",
"is-glob": "^4.0.3",
"lilconfig": "^2.0.6",
+ "micromatch": "^4.0.5",
"normalize-path": "^3.0.0",
"object-hash": "^3.0.0",
"picocolors": "^1.0.0",
- "postcss": "^8.4.14",
+ "postcss": "^8.4.17",
"postcss-import": "^14.1.0",
"postcss-js": "^4.0.0",
"postcss-load-config": "^3.1.4",
- "postcss-nested": "5.0.6",
+ "postcss-nested": "6.0.0",
"postcss-selector-parser": "^6.0.10",
"postcss-value-parser": "^4.2.0",
"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": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -6579,12 +6599,12 @@
}
},
"postcss-nested": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz",
- "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
+ "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
"dev": true,
"requires": {
- "postcss-selector-parser": "^6.0.6"
+ "postcss-selector-parser": "^6.0.10"
}
},
"postcss-selector-parser": {
@@ -7043,9 +7063,9 @@
}
},
"tailwindcss": {
- "version": "3.1.8",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz",
- "integrity": "sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.1.tgz",
+ "integrity": "sha512-Uw+GVSxp5CM48krnjHObqoOwlCt5Qo6nw1jlCRwfGy68dSYb/LwS9ZFidYGRiM+w6rMawkZiu1mEMAsHYAfoLg==",
"dev": true,
"requires": {
"arg": "^5.0.2",
@@ -7054,18 +7074,19 @@
"detective": "^5.2.1",
"didyoumean": "^1.2.2",
"dlv": "^1.1.3",
- "fast-glob": "^3.2.11",
+ "fast-glob": "^3.2.12",
"glob-parent": "^6.0.2",
"is-glob": "^4.0.3",
"lilconfig": "^2.0.6",
+ "micromatch": "^4.0.5",
"normalize-path": "^3.0.0",
"object-hash": "^3.0.0",
"picocolors": "^1.0.0",
- "postcss": "^8.4.14",
+ "postcss": "^8.4.17",
"postcss-import": "^14.1.0",
"postcss-js": "^4.0.0",
"postcss-load-config": "^3.1.4",
- "postcss-nested": "5.0.6",
+ "postcss-nested": "6.0.0",
"postcss-selector-parser": "^6.0.10",
"postcss-value-parser": "^4.2.0",
"quick-lru": "^5.1.1",
diff --git a/package.json b/package.json
index 028075c..2b38487 100644
--- a/package.json
+++ b/package.json
@@ -31,8 +31,11 @@
"prettier-plugin-svelte": "^2.7.0",
"svelte": "^3.44.0",
"svelte-preprocess": "^4.10.7",
- "tailwindcss": "^3.1.8",
+ "tailwindcss": "^3.2.1",
"vite": "^3.1.0"
},
- "type": "module"
+ "type": "module",
+ "dependencies": {
+ "marked": "^4.1.1"
+ }
}
diff --git a/src/app.css b/src/app.css
index 43aac63..0e69d47 100644
--- a/src/app.css
+++ b/src/app.css
@@ -16,7 +16,7 @@
}
.head4 {
- @apply text-xl mt-12 mb-8;
+ @apply text-lg mt-12 mb-8 font-bold;
}
.head5 {
@@ -24,7 +24,11 @@
}
.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 {
@@ -35,6 +39,13 @@
{
@apply underline;
}
+ .md-separator {
+ width: 100%;
+ height: 1px;
+ border-top: 1px solid white;
+ margin: 4em 0 4em 0;
+ opacity: 0.5;
+ }
}
@font-face {
@@ -137,10 +148,3 @@ body {
.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");
}
-.md-separator {
- width: 100%;
- height: 1px;
- border-top: 1px solid white;
- margin: 4em 0 4em 0;
- opacity: 0.5;
-}
\ No newline at end of file
diff --git a/src/routes/manual/+page.js b/src/routes/manual/+page.js
index dd83888..faf360d 100644
--- a/src/routes/manual/+page.js
+++ b/src/routes/manual/+page.js
@@ -1,12 +1,11 @@
/** @type {import('./$types').PageLoad} */
-
-//import snarkdown from 'snarkdown';
-import parse from "$lib/vsnarkdown"
import { base } from '$app/paths';
+import { marked } from 'marked';
+marked.setOptions({ gfm: true });
export async function load({ fetch }) {
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 };
}
diff --git a/src/routes/manual/+page.svelte b/src/routes/manual/+page.svelte
index 73ba823..3160a13 100644
--- a/src/routes/manual/+page.svelte
+++ b/src/routes/manual/+page.svelte
@@ -1,134 +1,26 @@
-
Hacker Manual
-
+
diff --git a/static/hacker-manual.md b/static/hacker-manual.md
index 3652b45..6aaf989 100644
--- a/static/hacker-manual.md
+++ b/static/hacker-manual.md
@@ -5,15 +5,15 @@
# Overview
* Travel and Accommodation
- * Travelling to Brno
- * Brno Public transport
- * Accomodation
+ * [Travelling to Brno](#travelling-to-brno)
+ * [Brno Public transport](#brno-public-transport)
+ * [Accomodation](#accomodation)
* Hackathon
- * Mentoring
- * Finding a Team / Project Idea
- * Catering
+ * [Mentoring](#mentoring)
+ * [Finding a Team / Project Idea](#finding-a-team--project-idea)
+ * [Catering](#catering)
-
+---
## Travel and Accommodation
@@ -30,17 +30,56 @@ It is safe to use public transport in Brno even in the night. Public transport i
### 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:
-* First one, comfy
- * $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
+#### Budget - Most Unique Hostel in Brno – 10-Z Bunker Hostel.
-
+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=1hotelTmpl)
+price: 25eur incl. breakfast
+
+If you’re looking for a fairly unique accommodation site which you’ll 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, you’ll 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 you’re 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
diff --git a/svelte.config.js b/svelte.config.js
index d3cc993..6a44b20 100644
--- a/svelte.config.js
+++ b/svelte.config.js
@@ -14,6 +14,7 @@ const config = {
}),
trailingSlash: 'always',
},
+ extensions: ['.svelte'],
preprocess: [
preprocess({
postcss: true,