diff --git a/Gemfile b/Gemfile index feb18d3..df22901 100644 --- a/Gemfile +++ b/Gemfile @@ -19,6 +19,9 @@ gem 'therubyracer' # for reading time gem 'words_counted' +# Compiling reports from .md to .pdf +gem 'pandoc-ruby' + group :development do gem 'adsf' gem 'highline' diff --git a/Gemfile.lock b/Gemfile.lock index db36c53..157a130 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -21,11 +21,11 @@ GEM csspool-st (= 3.1.2) json csspool-st (3.1.2) - ddmemoize (1.0.0a3) - ddtelemetry (= 1.0.0a2) + ddmemoize (1.0.0) + ddmetrics (~> 1.0) ref (~> 2.0) + ddmetrics (1.0.0) ddplugin (1.0.1) - ddtelemetry (1.0.0a2) execjs (2.7.0) ffi (1.9.18) formatador (0.2.5) @@ -66,13 +66,14 @@ GEM css_press multi_js (0.1.0) uglifier (~> 2) - nanoc (4.8.19) + nanoc (4.9.1) addressable (~> 2.5) cri (~> 2.8) - ddmemoize (= 1.0.0a3) + ddmemoize (~> 1.0) + ddmetrics (~> 1.0) ddplugin (~> 1.0) - ddtelemetry (= 1.0.0a2) hamster (~> 3.0) + parallel (~> 1.12) ref (~> 2.0) slow_enumerator_tools (~> 1.0) nenv (0.3.0) @@ -81,10 +82,12 @@ GEM notiffany (0.1.1) nenv (~> 0.1) shellany (~> 0.0) + pandoc-ruby (2.0.2) + parallel (1.12.1) pry (0.11.3) coderay (~> 1.1.0) method_source (~> 0.9.0) - public_suffix (3.0.1) + public_suffix (3.0.2) rack (2.0.3) rb-fsevent (0.10.2) rb-inotify (0.9.10) @@ -126,6 +129,7 @@ DEPENDENCIES icalendar kramdown nanoc + pandoc-ruby sass terminal-notifier terminal-notifier-guard diff --git a/Rules b/Rules index 13f885b..9b74250 100644 --- a/Rules +++ b/Rules @@ -19,6 +19,7 @@ preprocess do create_yearly_items('Blog') create_yearly_items('Events') convert_event_time_to_timestamps + add_report_metadata end # @@ -99,11 +100,11 @@ end # compile '/projects/*' do filter :kramdown + + # Don't write out the projects themselves for now + write nil end -# Don't create specific project pages for now -route '/projects/*' do; end - compile '/*_search.json' do filter :erb end @@ -112,6 +113,16 @@ compile '/**/*.ics' do filter :erb end +# +# REPORTS +# + +compile '/about/verslagen/*/*.md', rep: :pdf do + filter :pandoc_pdf, args: { f: :markdown } + + write ext: 'pdf' +end + # # GENERIC ERB PAGES # diff --git a/content/about/verslagen.erb b/content/about/verslagen.erb index d1a9b10..c765ea1 100644 --- a/content/about/verslagen.erb +++ b/content/about/verslagen.erb @@ -1,3 +1,9 @@
-

Verslagen

+

Reports

+ <% reports.group_by {|r| r[:academic_year]}.each do |year, y_reports| %> +

<%= year %>

+ <% y_reports.each do |report| %> + Report <%= report[:date].strftime('%d %B %Y') %>
+ <% end %> + <% end %>
diff --git a/content/about/verslagen/17-18/2018-02-12.md b/content/about/verslagen/17-18/2018-02-12.md new file mode 100644 index 0000000..82a93e7 --- /dev/null +++ b/content/about/verslagen/17-18/2018-02-12.md @@ -0,0 +1,103 @@ +% Bestuursvergadering 3 +% Isaura Claeys +% 21/02/2018 - 17:25 + +# Verslag vorige vergadering + Check + +# Financiën +* WVK Subsidies + * Goedgekeurd: +50 euro extra tov AJ 2016-2017 (1100 in totaal) +* Overzicht + * 650 op de bank + * 220 in de kassa + * Hydra: 1029 terugkrijgen voor Hydra + * Stuw moeten we ook terugkrijgen + * 1800 hebben we atm in totaal + * 839 tab schulden atm +* TV + * Mailen als subsidies bij DSA verwerkt zijn +* Partnerships + * Aparte mailinglijst waar leden zich op kunnen uitschrijven als nodig + * Pakketten aanbieden + 1. Evenement (50) + 2. Vacature mailinglijst/site + 3. Logo op poster/site (enkel bij sponsoring event) + 4. Codenights sponsoren + 5. Prijzen sponsoren + 6. 1 pakket met combinatie van alles + * Wie? Timo + * Ocean Garden en Ocean Garden codenight? + * Timo organiseert aparte vergadering hiervoor +* Lorin is een tomaat, want hij heeft voor de eerste keer in 10 jaar 100 meter gefietst. +* Ereleden + * Kandidaten: pietervdv + * Minimum 50 euro: poster + site (optioneel) + * Dino doet dingen + +# Sysadmin +* Deployen MOZAIC + * Met Wout afspreken +* Dingen mogen gebeuren + * Asana + +# Activiteiten +* Hashcode + * Delhaizerun vrijdag + * Extra locatie + * 300 euro aan pizza’s: Lorin en Rien +* VPW + * We zijn ervoorbij + * In orde! + * Bus zit vol! + * Je bent goed bezig! + * Behalve Lorin en zijn potentieel team van Wout zijn lief +* Ceneka Talks + * 18 april + * Delaware komt + * Maar wie weet waar het over gaat + * Camera bij DICT regelen + * Eten regelen avond zelf + * Barmensen regelen +* Lightning talks + * Komt in orde +* 12Urenloop + * Jeroen wordt teamlead IT + * Volgende vrijdag 12UL codenight + * Tent: Feliciaan vragen hoe subsidieren? +* HTTPizza + * Momenteel afgelast + +# Projecten updates + * MOZAIC + * Intel AI ding van maken if need be + * Meer bestuur rond krijgen nu + 1. Organiseren + inplannen + promo + * Inplannen introductie (presentatie etc.) + * Rien gaat helpen! + * Volgende donderdagmiddag: 11.30u + * Hydra + * Dingen gaan vooruit + * Feli gaat traag + * Lekker + * G2 + * Verschil met gamification: stats zijn een bijzaak, doel is participatie verhogen + +# Discussiepunten +* Rien zegt iets: Ik stel voor dat we eventueel toekomstige bestuursleden bij het bestuur beginnen betrekken. + - Niet bij vergaderingen betrekken + +# Trivia +* Cegeka antwoorden + * Timo + die andere partnership mail +* VEK antwoorden + * wout +* Wina Antwoorden + * Infodinges voor de master informatica + * Rien + +# Vrij moment +Ilion doet een bekentenis: Ik lees mijn mails nooit. + + +# Todo's: diff --git a/lib/filters/pandoc_pdf.rb b/lib/filters/pandoc_pdf.rb new file mode 100644 index 0000000..f66613e --- /dev/null +++ b/lib/filters/pandoc_pdf.rb @@ -0,0 +1,18 @@ +require 'pandoc-ruby' +require 'fileutils' + +class PandocPDF < Nanoc::Filter + identifier :pandoc_pdf + type text: :binary + + def run(content, params = {}) + # https://github.com/nanoc/nanoc/blob/master/nanoc/lib/nanoc/filters/pandoc.rb + args = params.key?(:args) ? params[:args] : params + + args[:o] = output_filename + '.pdf' + + PandocRuby.convert(content, *args) + + FileUtils.mv(output_filename + '.pdf', output_filename) + end +end diff --git a/lib/helpers/preprocess.rb b/lib/helpers/preprocess.rb index a8e5c96..7e4bd46 100644 --- a/lib/helpers/preprocess.rb +++ b/lib/helpers/preprocess.rb @@ -50,4 +50,11 @@ module PreprocessHelper event[:end] = DateTime.parse(event[:end]) if event[:end] end end + + def add_report_metadata + @items.find_all('/about/verslagen/*/*').each do |report| + report[:academic_year] = report.identifier.to_s.split('/')[-2] + report[:date] = Date.strptime(report.identifier.without_ext.split('/').last) + end + end end diff --git a/lib/helpers/reports.rb b/lib/helpers/reports.rb new file mode 100644 index 0000000..3e952af --- /dev/null +++ b/lib/helpers/reports.rb @@ -0,0 +1,5 @@ +module ReportsHelper + def reports + @items.find_all('/about/verslagen/*/*').sort_by(&:identifier).reverse + end +end diff --git a/lib/helpers_.rb b/lib/helpers_.rb index 180a4c1..065cccd 100644 --- a/lib/helpers_.rb +++ b/lib/helpers_.rb @@ -21,3 +21,4 @@ include PreprocessHelper include TimeHelper include TileHelper include AboutHelper +include ReportsHelper