From 1944320a50b060957b9b65a5a9aff7f2d2edf974 Mon Sep 17 00:00:00 2001 From: xoy Date: Sat, 6 May 2023 16:34:12 +0200 Subject: [PATCH] Blog und Events sind jetzt getrennt, Blog ist soweit funktionell und README wurde aktualisiert. --- README.MD | 26 ++++----- css/event.css | 4 ++ css/events.css | 16 ++++- css/main.css | 2 +- events/2023-12-24.md | 6 -- ...nebenan_Banner-fuer-Anmeldende-768x154.png | Bin 0 -> 50079 bytes index.php | 40 ++++++++++--- pages/blog.html.twig | 2 + pages/events.html.twig | 2 +- pages/index.html.twig | 4 +- php/util.php | 55 +++++++++++------- posts/0.md | 14 +++++ posts/1.md | 14 +++++ tester.php | 2 +- 14 files changed, 131 insertions(+), 56 deletions(-) create mode 100644 css/event.css delete mode 100644 events/2023-12-24.md create mode 100644 images/posts/DORTBUNT.nebenan_Banner-fuer-Anmeldende-768x154.png create mode 100644 pages/blog.html.twig create mode 100644 posts/0.md create mode 100644 posts/1.md diff --git a/README.MD b/README.MD index dfe7709..5545ce2 100644 --- a/README.MD +++ b/README.MD @@ -22,20 +22,22 @@ Datei im Eventverzeichnis Anlegen: *YYYY-MM-DD.html* ``` -title: Event Titel -date: Event Datum -desc: Event Beschreibung +Blogpost Titel +Blogpost Beschreibung +Blogpost Datum +Blogpost Autor ------------------------ -#Content below here! +# Content below here! ``` Strukturierung: - Header ``` -title: Event Titel -date: Event Datum -desc: Event Beschreibung +Blogpost Titel +Blogpost Beschreibung +Blogpost Datum +Blogpost Autor ``` - Trenner zwischen Header und Content @@ -43,15 +45,13 @@ desc: Event Beschreibung ------------------------ ``` -- Kommentar +- Content ``` -#Content below here! +# Content below here! ``` -Unter dem Trenner kann HTML verwendet werden. +Unter dem Trenner kann Markdown verwendet werden. -Eigenes CSS kann in der Datei *events_custom.css* hinzugefügt werden. - -Neue Bilder kommen in das Verzeichnis */images/* +Bilder für Posts kommen in das Verzeichnis */images/posts/* [Event Dokumentation](https://git.ctdo.de/xoy/ctdo.de/src/branch/master/EVENT.MD) \ No newline at end of file diff --git a/css/event.css b/css/event.css new file mode 100644 index 0000000..27452e9 --- /dev/null +++ b/css/event.css @@ -0,0 +1,4 @@ +img { + display: block; + margin: auto; +} \ No newline at end of file diff --git a/css/events.css b/css/events.css index 78fe957..852d59f 100644 --- a/css/events.css +++ b/css/events.css @@ -16,7 +16,17 @@ div.eventblock a:hover { } div.eventblock h3 { - right: 10px; - top: 0; - position: absolute; + margin: 0; +} + +div.eventblock h3.a { + text-align: left; + width: 50%; + display: inline-block; +} + +div.eventblock h3.b { + text-align: right; + width: 50%; + display: inline-block; } \ No newline at end of file diff --git a/css/main.css b/css/main.css index 8751df7..b82cad1 100644 --- a/css/main.css +++ b/css/main.css @@ -183,7 +183,7 @@ a.green-text { nav ul li { display: block; font-size: 200%; - padding: 20px 20px 20px 0; + padding: 30px 100px 30px 0; text-align: right; } diff --git a/events/2023-12-24.md b/events/2023-12-24.md deleted file mode 100644 index 69034c7..0000000 --- a/events/2023-12-24.md +++ /dev/null @@ -1,6 +0,0 @@ -Weihnachten -Weihnachten halt. ------------------------- -# Weihnachten - -Ist halt Weihnachten. \ No newline at end of file diff --git a/images/posts/DORTBUNT.nebenan_Banner-fuer-Anmeldende-768x154.png b/images/posts/DORTBUNT.nebenan_Banner-fuer-Anmeldende-768x154.png new file mode 100644 index 0000000000000000000000000000000000000000..cbeb6041a465e8d45674385e14de337b1b678ebd GIT binary patch literal 50079 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 t{rmZk*Z+SF?O$T|zwQ6`pY&*render('nextevents.html.twig'); $raumstatus_b = $util->raumstatus(); $raumstatus = 'unbekannt'; -$pages = array('index', 'about', 'treff', 'events', 'kontakt', 'support', 'verein'); -$page_names = array('index', 'über uns', 'zeiten & location', 'events', 'kontakt', 'support', 'verein'); +$pages = array('index', 'about', 'treff', 'blog', 'events', 'kontakt', 'support', 'verein'); +$page_names = array('index', 'über uns', 'zeiten & location', 'blog', 'events', 'kontakt', 'support', 'verein'); $active_page = ''; @@ -42,13 +42,26 @@ if(gettype($raumstatus_b) == "boolean") { $raumstatus = $util->html_link('https://status.ctdo.de/', 'red-text', 'geschlossen', TRUE); } +$topic = $util->get_next_topic(); +switch ($topic->days) { + case 0: + $topic_output = '

Der nächste Topictreff findet heute statt!

'; + break; + case 1: + $topic_output = '

Der nächste Topictreff findet morgen statt!

'; + break; + default: + $topic_output = '

Der nächste Topictreff findet in '.$topic->days.' Tagen ['.$topic->date.'] statt.

'; + break; +} + if(isset($_GET['page'])) { $page = $_GET['page']; $active_page = $util->str_mass_replace(array('adresse', 'irc', 'mail'), array('kontakt', 'kontakt', 'kontakt'), $page); $title = $page_names[array_search($active_page, $pages)]; switch ($page) { case 'index': - $content = $twig_pages->render('index.html.twig'); + $content = $twig_pages->render('index.html.twig', [ 'topic' => $topic_output, 'posts' => $util->generate_post_list(4) ]); $head = $util->css_link('css/main.css').$util->css_link('css/home.css').$util->css_link('css/events.css'); break; case 'about': @@ -59,13 +72,22 @@ if(isset($_GET['page'])) { $content = $twig_pages->render('treff.html.twig'); $head = $util->css_link('css/main.css'); break; - case 'events': - if(!isset($_GET['e'])) { - $content = $twig_pages->render('events.html.twig', [ 'events' => $util->generate_event_list() ]); + case 'blog': + if(!isset($_GET['id'])) { + $content = $twig_pages->render('blog.html.twig', [ 'posts' => $util->generate_post_list() ]); $head = $util->css_link('css/main.css').$util->css_link('css/events.css'); } else { - $content = $converter->convert($util->get_event_content($_GET['e'])); - $head = $util->css_link('css/main.css'); + $content = $converter->convert($util->get_post_content($_GET['id'])); + $head = $util->css_link('css/main.css').$util->css_link('css/event.css'); + } + break; + case 'events': + if(!isset($_GET['e'])) { + $content = $twig_pages->render('events.html.twig', [ 'topic' => $topic_output, 'events' => $util->generate_post_list() ]); + $head = $util->css_link('css/main.css').$util->css_link('css/events.css'); + } else { + $content = $converter->convert($util->get_post_content($_GET['e'])); + $head = $util->css_link('css/main.css').$util->css_link('css/event.css'); } break; case 'kontakt': @@ -113,7 +135,7 @@ if(isset($_GET['page'])) { } else { $active_page = 'index'; $title = $active_page; - $content = $twig_pages->render('index.html.twig'); + $content = $twig_pages->render('index.html.twig', [ 'topic' => $topic_output, 'posts' => $util->generate_post_list(4) ]); $head = $util->css_link('css/main.css').$util->css_link('css/home.css').$util->css_link('css/events.css'); } diff --git a/pages/blog.html.twig b/pages/blog.html.twig new file mode 100644 index 0000000..72d5716 --- /dev/null +++ b/pages/blog.html.twig @@ -0,0 +1,2 @@ +

Blog

+ {{ posts | raw }} \ No newline at end of file diff --git a/pages/events.html.twig b/pages/events.html.twig index a55f40e..c0a3f2c 100644 --- a/pages/events.html.twig +++ b/pages/events.html.twig @@ -1,3 +1,3 @@

Events

- !TOPICTREFF + {{ topic | raw }} {{ events | raw }} \ No newline at end of file diff --git a/pages/index.html.twig b/pages/index.html.twig index eb0a1a9..c26b6cb 100644 --- a/pages/index.html.twig +++ b/pages/index.html.twig @@ -12,4 +12,6 @@ Wenn du mehr über uns wissen möchtest, schau hier: über uns

-

Die nächsten Events

\ No newline at end of file +

Die nächsten Events

+ {{ topic | raw }} + {{ posts | raw }} \ No newline at end of file diff --git a/php/util.php b/php/util.php index 94a3c55..26ec256 100644 --- a/php/util.php +++ b/php/util.php @@ -38,33 +38,47 @@ class Util { return $string; } - function scan_for_events() { - $s = scandir('events/'); + function scan_for_posts() { + $s = scandir(__DIR__ . '/../posts/', SCANDIR_SORT_DESCENDING); $output = array(); foreach ($s as $f) { - if(count(str_split($f)) == 13) + if(count(str_split($f)) >= 4) $output[] = $f; } return $output; } - function generate_event_list() { - $events = $this->scan_for_events(); + function generate_post_list($limit = -1) { + $events = $this->scan_for_posts(); $output = ""; - foreach ($events as $event) { - $date = str_replace('.md', '', $event); - $lines = file(__DIR__ . '/../events/' . $event); - $title = $lines[0]; - $desc = $lines[1]; - $output .= ''; + if ($limit == -1) { + foreach ($events as $event) { + $lines = file(__DIR__ . '/../posts/' . $event); + $title = $lines[0]; + $desc = $lines[1]; + $date = $lines[2]; + $signatur = $lines[3]; + $output .= '

'.$signatur.'
'.$date.'

'.$title.'

'.$desc.'

'; + } + } else { + if($limit > count($events)) + $limit = count($events); + for ($i = 0; $i < $limit; $i++) { + $lines = file(__DIR__ . '/../posts/' . $events[$i]); + $title = $lines[0]; + $desc = $lines[1]; + $date = $lines[2]; + $signatur = $lines[3]; + $output .= '

'.$signatur.'

'.$date.'

'.$title.'

'.$desc.'

'; + } } return $output; } - function get_event_content($date) { - $lines = file(__DIR__ . '/../events/' . $date . '.md'); + function get_post_content($id) { + $lines = file(__DIR__ . '/../posts/' . str_replace('.', '', $id) . '.md'); $output = ""; - for ($i = 3; $i < count($lines); $i++) + for ($i = 5; $i < count($lines); $i++) $output .= $lines[$i] . "\n"; return $output; } @@ -73,15 +87,14 @@ class Util { $output = new stdClass(); $currentDate = new DateTime(); - // Find the next fourth Tuesday - $nextFourthTuesday = clone $currentDate; - $nextFourthTuesday->modify('next Tuesday')->modify('next Tuesday')->modify('next Tuesday'); - while ($nextFourthTuesday->format('N') !== '2') { - $nextFourthTuesday->add(new DateInterval('P1D')); + $next_topic = clone $currentDate; + $next_topic->modify('second Tuesday of this month +1 week'); + while ($next_topic->format('N') !== '2') { + $next_topic->add(new DateInterval('P1D')); } - $output->days = $currentDate->diff($nextFourthTuesday)->days+1; - $output->date = $nextFourthTuesday->format('Y-m-d'); + $output->days = $currentDate->diff($next_topic)->days+1; + $output->date = $next_topic->format('Y-m-d'); return $output; } diff --git a/posts/0.md b/posts/0.md new file mode 100644 index 0000000..d651a33 --- /dev/null +++ b/posts/0.md @@ -0,0 +1,14 @@ +ChaosBrunch am Sonntag, 02.04.2023 +Alle zwei Wochen an einem Sonntag lädt der CTDO zum Mitbring-Brunch in seinen Räume im Kulturzentrum „Langer August“ ein! +2023-05-01 +starcalc +------------------------ +# ChaosBrunch am Sonntag, 02.04.2023 + +Alle zwei Wochen an einem Sonntag lädt der CTDO zum **Mitbring-Brunch** in seinen Räume im Kulturzentrum „[Langer August](/?page=treff)“ ein! + +Um **ca. 11 Uhr** geht es los, das Ende ist wie immer offen. Die Details dazu gibt es im [ctdo wiki](https://wiki.ctdo.de/events/hackerbrunch)! + +Schaut einfach vorab im (MitbringPad)[https://md.ctdo.de/brunch] rein und kündigt an was ihr auf den Tisch werft, alles kann, nichts muss! + +Es sind sowohl alte als auch neue Menschen gerne gesehen! Bringt was zu futtern, euer aktuelles Projekt, beides oder einfach nur Neugierde mit! \ No newline at end of file diff --git a/posts/1.md b/posts/1.md new file mode 100644 index 0000000..bd3aa63 --- /dev/null +++ b/posts/1.md @@ -0,0 +1,14 @@ +Bunt, Bunter, Chaostreff Dortmund +Wir öffnen unsere Türen und laden Euch herzlich in unseren Chaostreff im Langen August ein. +2023-05-02 +Fisch +------------------------ +# Bunt, Bunter, Chaostreff Dortmundchten + +![DORTBUND](/images/events/DORTBUNT.nebenan_Banner-fuer-Anmeldende-768x154.png) + +Wir öffnen unsere Türen und laden Euch herzlich in unseren Chaostreff im [Langen August](/?page=treff) ein. + +Am 5. und 6. Mai zwischen 14 und 20 Uhr könnt ihr einfach vorbeikommen und erhaltet einen Einblick in unseren Space, unsere Vereinsräume mitsamt allen Werkstätten. Um das ganze netter zu gestalten, gibt es kalte Getränke, Waffeln und auch der Grill wird angemacht. + +Wir freuen uns auf Euch, egal ob jung, alt, groß, klein, laut oder leise. Hauptsache bunt! \ No newline at end of file diff --git a/tester.php b/tester.php index 44b5567..70aa55f 100644 --- a/tester.php +++ b/tester.php @@ -4,4 +4,4 @@ require __DIR__ . '/php/util.php'; $u = new Util(); -echo var_dump($u->get_next_topic()); \ No newline at end of file +echo var_dump($u->scan_for_posts()); \ No newline at end of file