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
|
#!/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
|
filter :kramdown
|
||||||
layout '/vereniging.*'
|
layout '/vereniging.*'
|
||||||
layout '/default.*'
|
layout '/default.*'
|
||||||
|
@ -21,6 +36,12 @@ compile '/konventen/*.md' do
|
||||||
write ext: 'html'
|
write ext: 'html'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
compile '/themas/*' do
|
||||||
|
layout '/thema.*'
|
||||||
|
layout '/default.*'
|
||||||
|
write ext: 'html'
|
||||||
|
end
|
||||||
|
|
||||||
compile '/homepage.md' do
|
compile '/homepage.md' do
|
||||||
filter :kramdown
|
filter :kramdown
|
||||||
layout '/homepage.*'
|
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
|
navigable: true
|
||||||
order: 2
|
order: 2
|
||||||
---
|
---
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
naam: DSR
|
naam: Facultaire Studentenraad Dierengeneeskunde
|
||||||
verkorte_naam: DSR: Facultaire Studentenraad Dierengeneeskunde
|
verkorte_naam: DSR
|
||||||
|
|
||||||
konvent: gsr
|
konvent: gsr
|
||||||
---
|
---
|
||||||
|
|
|
@ -1,27 +1,29 @@
|
||||||
# Stappenplan om een vereniging toe te voegen
|
# Stappenplan om een vereniging toe te voegen
|
||||||
1. maak een bestand met als naam `verenigingsnaam.md`
|
1. maak een bestand met als naam `verenigingsnaam.md`
|
||||||
2. vul dit bestand in met volgende template
|
2. vul dit bestand in met volgende template
|
||||||
```
|
```
|
||||||
---
|
---
|
||||||
naam: <naam van de vereniging>
|
naam: <naam van de vereniging>
|
||||||
verkorte_naam: <verkorte naam van de vereniging>
|
verkorte_naam: <verkorte naam van de vereniging>
|
||||||
konvent: <afkoring van het konvent waartoe de vereniging behoort>
|
konvent: <afkoring van het konvent waartoe de vereniging behoort>
|
||||||
themas:
|
themas:
|
||||||
<één of meer lijnen van het volgende formaat om te vermelden in welke thema's de vereniging hoort>
|
<één of meer lijnen van het volgende formaat om te vermelden in welke thema's de vereniging hoort>
|
||||||
- <themanaam>
|
- <themanaam>
|
||||||
website: <link naar de website van de vereniging>
|
website: <link naar de website van de vereniging>
|
||||||
contact: <mailadres van de vereniging>
|
contact: <mailadres van de vereniging>
|
||||||
social:
|
social:
|
||||||
<één of meer keren 2 lijnen van het volgende formaat om de sociale media van de vereniging te vermelden
|
<éé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...>
|
- platform: <naam van het platform, bv. facebook, twitter, instagram...>
|
||||||
link: <de link naar het sociaal medium van de vereniging op bovenstaand platform>
|
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
|
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"
|
5. klik rechtsboven op de knop "upload files"
|
||||||
6. upload het bestand dat je in stap 1 gemaakt hebt
|
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 ..."
|
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
|
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 @@
|
||||||
---
|
## Alle themas
|
||||||
naam: tags uitleg enzo
|
(op lijn beginnende met `themas:` )
|
||||||
verkorte_naam: tags uitleg enzo
|
|
||||||
---
|
|
||||||
|
|
||||||
Alle themas (op lijn beginnende met `themas:` )
|
|
||||||
|
|
||||||
- diversiteit
|
- diversiteit
|
||||||
- politiek-filosofisch
|
- politiek-filosofisch
|
||||||
- internationaal
|
- internationaal
|
||||||
|
@ -19,7 +14,8 @@ Alle themas (op lijn beginnende met `themas:` )
|
||||||
- events
|
- events
|
||||||
- studentenraden
|
- studentenraden
|
||||||
|
|
||||||
Alle konventen (op lijn beginnende met `konvent:` )
|
## Alle konventen
|
||||||
|
(op lijn beginnende met `konvent:` )
|
||||||
- WVK: Werkgroepen en Verenigingen
|
- WVK: Werkgroepen en Verenigingen
|
||||||
- IK: Internationaal
|
- IK: Internationaal
|
||||||
- KK: Kultuur
|
- KK: Kultuur
|
|
@ -31,15 +31,15 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="thema-container">
|
<div class="thema-container">
|
||||||
<p><span class="thema-title">Thema's:</span>
|
|
||||||
<% if item[:themas] %>
|
<% if item[:themas] %>
|
||||||
<ul>
|
<p><span class="thema-title">Thema's:</span>
|
||||||
<% for thema in item[:themas] %>
|
<ul>
|
||||||
<li><%= thema %></li>
|
<% for thema in item[:themas] %>
|
||||||
<% end %>
|
<li><%= thema %></li>
|
||||||
</ul>
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
<% end %>
|
<% end %>
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% if item[:verenigingen] %>
|
<% if item[:verenigingen] %>
|
||||||
|
@ -51,4 +51,4 @@
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</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">
|
<div class="content-wrapper">
|
||||||
<h1> <%= item[:naam] %> </h1>
|
<h1> <%= item[:naam] %> </h1>
|
||||||
<div class="details-wrapper">
|
<div class="details-wrapper">
|
||||||
<div class="details-container details-text">
|
<div class="details-container details-text">
|
||||||
<%= yield %>
|
<%= yield %>
|
||||||
</div>
|
</div>
|
||||||
<%= render '/partials/detail.*' %>
|
<%= render '/partials/detail.*' %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,15 +1,31 @@
|
||||||
<h1> Themas </h1>
|
<div class="flex-horz">
|
||||||
<ul>
|
<div class="horz-child">
|
||||||
<% for theme in themes %>
|
<h1> Themas </h1>
|
||||||
<%= "<img src=/assets/konventen/" ++ theme.tr(" ", "_") ++ ".png alt=" ++ theme %>
|
<ul>
|
||||||
<li> <%= link_to(theme, "/thema/"++theme.tr(" ", "_")) %> </li>
|
<% for thema in themas %>
|
||||||
<% end %>
|
<img src="<%= image_url(thema) %>" alt="<%= thema[:naam] %>">
|
||||||
</ul>
|
<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>
|
<style>
|
||||||
<ul>
|
.flex-horz {
|
||||||
<% for konvent in konvents %>
|
display: flex; /* or inline-flex */
|
||||||
<%= "<img src=/assets/konventen/" ++ konvent.tr(" ", "_") ++ ".png alt=" ++ konvent %>
|
flex-direction: row;
|
||||||
<li> <%= link_to(konvent, "/thema/"++konvent.tr(" ", "_")) %> </li>
|
}
|
||||||
<% end %>
|
.horz-child {
|
||||||
</ul>
|
flex-basis: auto;
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
@ -1,22 +1,47 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# Helpers for navbar partial
|
|
||||||
module VerenigingenLists
|
module VerenigingenLists
|
||||||
|
# Helpers for navbar partial
|
||||||
def current_child_of(item)
|
def current_child_of(item)
|
||||||
child_of(item, @item)
|
child_of(item, @item)
|
||||||
end
|
end
|
||||||
|
|
||||||
def child_of(parent, child)
|
def child_of(parent, child)
|
||||||
children_of(parent).include?(child)
|
children_of(parent).include?(child)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns every navigable item
|
# Returns every navigable item
|
||||||
# A navigable item contains the :navigable attribute
|
# A navigable item contains the :navigable attribute
|
||||||
# Optionally contains an order attribute, determining the order in the navbar
|
# Optionally contains an order attribute, determining the order in the navbar
|
||||||
def themes
|
def themes
|
||||||
@items.find_all("**/verenigingen/*").map{|x| x[:themas]}.flatten.uniq.compact
|
@items.find_all("**/verenigingen/*").map{|x| x[:themas]}.flatten.uniq.compact
|
||||||
end
|
end
|
||||||
def konvents
|
def konventen
|
||||||
@items.find_all("**/verenigingen/*").map{|x| x[:konvent]}.uniq.compact
|
@items.find_all("**/konventen/*").to_a
|
||||||
end
|
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