Fix 'ontdek verenigingen' pagina.

Voeg thema's preprocessor toe
Zorg voor opsplitsing tussen projecten en verenigingen
This commit is contained in:
mcbloch 2020-08-29 00:09:04 +02:00
parent a8190433f0
commit 733054f9ae
13 changed files with 136 additions and 63 deletions

23
Rules
View file

@ -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.*'

View file

@ -0,0 +1,5 @@
---
naam: Massacantus
verkorte_naam: Massacantus
konvent: massacantus
---

View file

@ -1,5 +1,5 @@
--- ---
naam: Verenigingen naam: Ontdek verenigingen
navigable: true navigable: true
order: 2 order: 2
--- ---

View file

@ -1,6 +1,5 @@
--- ---
naam: DSR naam: Facultaire Studentenraad Dierengeneeskunde
verkorte_naam: DSR: Facultaire Studentenraad Dierengeneeskunde verkorte_naam: DSR
konvent: gsr konvent: gsr
--- ---

View file

@ -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`.

View file

@ -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

View file

@ -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
View 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>

View file

@ -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>

View file

@ -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>

View file

@ -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