Fix 'ontdek verenigingen' pagina.
Voeg thema's preprocessor toe Zorg voor opsplitsing tussen projecten en verenigingen
This commit is contained in:
parent
a8190433f0
commit
733054f9ae
13 changed files with 136 additions and 63 deletions
23
Rules
23
Rules
|
@ -1,6 +1,21 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
compile '/verenigingen/*.md' do
|
||||
preprocess do
|
||||
# Fetch a list of theme names from all items and construct items from them
|
||||
themas = @items.map { |i| i[:themas] }.flatten.uniq.compact
|
||||
themas.each do |thema|
|
||||
content = ''
|
||||
attributes = {
|
||||
naam: thema,
|
||||
verenigingen: @items.filter{|i| i[:themas] and i[:themas].include?(thema)}.flatten.uniq.compact
|
||||
}
|
||||
identifier = "/themas/#{thema}"
|
||||
|
||||
@items.create(content, attributes, identifier)
|
||||
end
|
||||
end
|
||||
|
||||
compile '/{verenigingen,projecten}/*.md' do
|
||||
filter :kramdown
|
||||
layout '/vereniging.*'
|
||||
layout '/default.*'
|
||||
|
@ -21,6 +36,12 @@ compile '/konventen/*.md' do
|
|||
write ext: 'html'
|
||||
end
|
||||
|
||||
compile '/themas/*' do
|
||||
layout '/thema.*'
|
||||
layout '/default.*'
|
||||
write ext: 'html'
|
||||
end
|
||||
|
||||
compile '/homepage.md' do
|
||||
filter :kramdown
|
||||
layout '/homepage.*'
|
||||
|
|
5
content/events/massacantus.md
Normal file
5
content/events/massacantus.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
naam: Massacantus
|
||||
verkorte_naam: Massacantus
|
||||
konvent: massacantus
|
||||
---
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
naam: Verenigingen
|
||||
naam: Ontdek verenigingen
|
||||
navigable: true
|
||||
order: 2
|
||||
---
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
---
|
||||
naam: DSR
|
||||
verkorte_naam: DSR: Facultaire Studentenraad Dierengeneeskunde
|
||||
|
||||
naam: Facultaire Studentenraad Dierengeneeskunde
|
||||
verkorte_naam: DSR
|
||||
konvent: gsr
|
||||
---
|
||||
|
|
|
@ -1,27 +1,29 @@
|
|||
# Stappenplan om een vereniging toe te voegen
|
||||
1. maak een bestand met als naam `verenigingsnaam.md`
|
||||
2. vul dit bestand in met volgende template
|
||||
```
|
||||
---
|
||||
naam: <naam van de vereniging>
|
||||
verkorte_naam: <verkorte naam van de vereniging>
|
||||
konvent: <afkoring van het konvent waartoe de vereniging behoort>
|
||||
themas:
|
||||
<één of meer lijnen van het volgende formaat om te vermelden in welke thema's de vereniging hoort>
|
||||
- <themanaam>
|
||||
website: <link naar de website van de vereniging>
|
||||
contact: <mailadres van de vereniging>
|
||||
social:
|
||||
<één of meer keren 2 lijnen van het volgende formaat om de sociale media van de vereniging te vermelden
|
||||
- platform: <naam van het platform, bv. facebook, twitter, instagram...>
|
||||
link: <de link naar het sociaal medium van de vereniging op bovenstaand platform>
|
||||
---
|
||||
```
|
||||
---
|
||||
naam: <naam van de vereniging>
|
||||
verkorte_naam: <verkorte naam van de vereniging>
|
||||
konvent: <afkoring van het konvent waartoe de vereniging behoort>
|
||||
themas:
|
||||
<één of meer lijnen van het volgende formaat om te vermelden in welke thema's de vereniging hoort>
|
||||
- <themanaam>
|
||||
website: <link naar de website van de vereniging>
|
||||
contact: <mailadres van de vereniging>
|
||||
social:
|
||||
<één of meer keren 2 lijnen van het volgende formaat om de sociale media van de vereniging te vermelden
|
||||
- platform: <naam van het platform, bv. facebook, twitter, instagram...>
|
||||
link: <de link naar het sociaal medium van de vereniging op bovenstaand platform>
|
||||
---
|
||||
|
||||
<één of meer lijnen beschrijving van de vereniging>
|
||||
```
|
||||
<één of meer lijnen beschrijving van de vereniging>
|
||||
```
|
||||
3. sla dit bestand op
|
||||
4. surf naar https://github.ugent.be/GentseStudentenraad/durfdoen-2.0/tree/verenigingen/content/verenigingen
|
||||
4. surf naar https://github.ugent.be/ZeusWPI/durfdoen-2.0/tree/master/content/verenigingen
|
||||
5. klik rechtsboven op de knop "upload files"
|
||||
6. upload het bestand dat je in stap 1 gemaakt hebt
|
||||
7. zorg ervoor dat je onderaan de pagina gekozen hebt voor "Create a *new branch* for this commit and start a pull request ..."
|
||||
8. druk op de knop commit changes
|
||||
|
||||
Om een konvent toe te voegen volg je dezelfde stappen maar plaats je deze in de folder `konventen`.
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
---
|
||||
naam: tags uitleg enzo
|
||||
verkorte_naam: tags uitleg enzo
|
||||
---
|
||||
|
||||
Alle themas (op lijn beginnende met `themas:` )
|
||||
|
||||
## Alle themas
|
||||
(op lijn beginnende met `themas:` )
|
||||
- diversiteit
|
||||
- politiek-filosofisch
|
||||
- internationaal
|
||||
|
@ -19,7 +14,8 @@ Alle themas (op lijn beginnende met `themas:` )
|
|||
- events
|
||||
- studentenraden
|
||||
|
||||
Alle konventen (op lijn beginnende met `konvent:` )
|
||||
## Alle konventen
|
||||
(op lijn beginnende met `konvent:` )
|
||||
- WVK: Werkgroepen en Verenigingen
|
||||
- IK: Internationaal
|
||||
- KK: Kultuur
|
|
@ -31,15 +31,15 @@
|
|||
<% end %>
|
||||
<% end %>
|
||||
<div class="thema-container">
|
||||
<p><span class="thema-title">Thema's:</span>
|
||||
<% if item[:themas] %>
|
||||
<ul>
|
||||
<% for thema in item[:themas] %>
|
||||
<li><%= thema %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<p><span class="thema-title">Thema's:</span>
|
||||
<ul>
|
||||
<% for thema in item[:themas] %>
|
||||
<li><%= thema %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</p>
|
||||
<% end %>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<% if item[:verenigingen] %>
|
||||
|
@ -51,4 +51,4 @@
|
|||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
|
9
layouts/thema.erb
Normal file
9
layouts/thema.erb
Normal file
|
@ -0,0 +1,9 @@
|
|||
<div class="content-wrapper">
|
||||
<h1> <%= item[:naam] %> </h1>
|
||||
<div class="details-wrapper">
|
||||
<div class="details-container details-text">
|
||||
<%= yield %>
|
||||
</div>
|
||||
<%= render '/partials/detail.*' %>
|
||||
</div>
|
||||
</div>
|
|
@ -1,9 +1,9 @@
|
|||
<div class="content-wrapper">
|
||||
<h1> <%= item[:naam] %> </h1>
|
||||
<div class="details-wrapper">
|
||||
<h1> <%= item[:naam] %> </h1>
|
||||
<div class="details-wrapper">
|
||||
<div class="details-container details-text">
|
||||
<%= yield %>
|
||||
<%= yield %>
|
||||
</div>
|
||||
<%= render '/partials/detail.*' %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,15 +1,31 @@
|
|||
<h1> Themas </h1>
|
||||
<ul>
|
||||
<% for theme in themes %>
|
||||
<%= "<img src=/assets/konventen/" ++ theme.tr(" ", "_") ++ ".png alt=" ++ theme %>
|
||||
<li> <%= link_to(theme, "/thema/"++theme.tr(" ", "_")) %> </li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<div class="flex-horz">
|
||||
<div class="horz-child">
|
||||
<h1> Themas </h1>
|
||||
<ul>
|
||||
<% for thema in themas %>
|
||||
<img src="<%= image_url(thema) %>" alt="<%= thema[:naam] %>">
|
||||
<li> <%= link_to(thema[:naam], thema) %> </li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="horz-child">
|
||||
<h1> Konventen en projecten </h1>
|
||||
<ul>
|
||||
<% for item in konventen_and_projecten %>
|
||||
<img src="<%= image_url(item) %>" alt="<%= item[:naam] %>">
|
||||
<li> <%= link_to(item[:naam], item) %> </li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h1> Konventen en projecten </h1>
|
||||
<ul>
|
||||
<% for konvent in konvents %>
|
||||
<%= "<img src=/assets/konventen/" ++ konvent.tr(" ", "_") ++ ".png alt=" ++ konvent %>
|
||||
<li> <%= link_to(konvent, "/thema/"++konvent.tr(" ", "_")) %> </li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<style>
|
||||
.flex-horz {
|
||||
display: flex; /* or inline-flex */
|
||||
flex-direction: row;
|
||||
}
|
||||
.horz-child {
|
||||
flex-basis: auto;
|
||||
flex-grow: 1;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -1,22 +1,47 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# Helpers for navbar partial
|
||||
module VerenigingenLists
|
||||
# Helpers for navbar partial
|
||||
def current_child_of(item)
|
||||
child_of(item, @item)
|
||||
end
|
||||
|
||||
|
||||
def child_of(parent, child)
|
||||
children_of(parent).include?(child)
|
||||
end
|
||||
|
||||
|
||||
# Returns every navigable item
|
||||
# A navigable item contains the :navigable attribute
|
||||
# Optionally contains an order attribute, determining the order in the navbar
|
||||
def themes
|
||||
@items.find_all("**/verenigingen/*").map{|x| x[:themas]}.flatten.uniq.compact
|
||||
end
|
||||
def konvents
|
||||
@items.find_all("**/verenigingen/*").map{|x| x[:konvent]}.uniq.compact
|
||||
def konventen
|
||||
@items.find_all("**/konventen/*").to_a
|
||||
end
|
||||
end
|
||||
def projecten
|
||||
@items.find_all("**/projecten/*").to_a
|
||||
end
|
||||
def konventen_and_projecten
|
||||
konventen.union(projecten)
|
||||
end
|
||||
def verenigingen
|
||||
@items.find_all("**/verenigingen/*").map{|x| {
|
||||
"naam" => x[:naam],
|
||||
"verkorte_naam" => x[:verkorte_naam],
|
||||
"konvent" => x[:konvent],
|
||||
"themas" => x[:themas]
|
||||
}}.to_a
|
||||
end
|
||||
def abbreviation(item)
|
||||
item.identifier.without_ext.split('/').last
|
||||
end
|
||||
def image_url(item)
|
||||
"https://aniekwendt.nl/wp-content/upload_folders/aniekwendt.nl/mijn-puppy-komt-niet-als-ik-roep.jpg"
|
||||
end
|
||||
|
||||
def themas
|
||||
@items.find_all("**/themas/*")
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue