From d3bad9aff24f1c1145cdbf14d03636d53e275618 Mon Sep 17 00:00:00 2001 From: Bram van der Veen <96aa48@gmail.com> Date: Mon, 24 Aug 2015 13:06:42 +0200 Subject: [PATCH] Heb wat kleine aanpassingen gemaakt aan de artikelen en code. --- app.js | 2 +- articles/index.md | 6 +++--- articles/inleiding/makkelijk - inleiding.md | 4 ++-- .../moeilijkheidsgraad/makkelijk - eli5.md | 4 ++-- .../moeilijkheidsgraad/normaal - moeilijker.md | 18 ++++++++++++++---- hoewerkt.js | 13 ++++++------- 6 files changed, 28 insertions(+), 19 deletions(-) diff --git a/app.js b/app.js index dcb4bf6..233889e 100644 --- a/app.js +++ b/app.js @@ -19,7 +19,7 @@ app.use('/other', express.static(__dirname + '/resources/other')); app.get('/', hoewerkt); app.get('/:article', hoewerkt); - +app.get('/:article/:difficulty', hoewerkt); function start(port) { app.listen(port); diff --git a/articles/index.md b/articles/index.md index a12b2e7..2d0787f 100644 --- a/articles/index.md +++ b/articles/index.md @@ -3,7 +3,7 @@ Welkom op de index van mijn profielwerkstuk. Vanuit hier kun je alle verschillende hoofdstukken en deelvragen bekijken en nalezen. Ik zou echt wel voorstellen om de artikelen te lezen op chronologische volgorde, want op die manier zou het het makkelijkste te lezen zijn. --- - + -[Naar de inleiding >>](/inleiding.md) +[Naar de inleiding >>](/Inleiding) diff --git a/articles/inleiding/makkelijk - inleiding.md b/articles/inleiding/makkelijk - inleiding.md index 111c2c6..be831b3 100644 --- a/articles/inleiding/makkelijk - inleiding.md +++ b/articles/inleiding/makkelijk - inleiding.md @@ -1,7 +1,7 @@ -##Inleiding +#### Inleiding --- Heel veel mensen op het Werkmancollege locatie Stadslyceum gebruiken een alternatieve manier van hun rooster bekijken. Dit doen ze via Werkmanrooster, een door leerlingen opgerichte website voor het bekijken van je eigen rooster. [Het eerste initiatief](http://web.archive.org/web/20101216064457/http://werkmanrooster.nl/) van [Moet opzoek naar eerste oprichters] toen [overgenomen](http://web.archive.org/web/20140103031959/http://werkmanrooster.nl/) door Daniël Koster & Friso Wobben. Sinds December 2014 was het mijn beurt om het domein in bezit te nemen. Er zijn in die tijd al verschillende versies van Werkmanrooster langsgekomen, dit profielwerkstuk zou echter gaan over mijn tweede versie van Werkmanrooster, genaamd [rooster.io](http://git.werkmanrooster.nl/werkmanrooster/rooster-io). Dit is de versie van werkmanrooster die iedereen heeft gebruikt voor de twee jaar en waar laatst een nieuwe versie van is uitgekomen. Ik ga in mijn profielwerkstuk uitleggen hoe Werkmanrooster in elkaar zit en wat er allemaal gebeurd tijdens en voordat je jouw rooster opvraagd. Ook ga ik antwoorden geven op veel gestelde vragen en nog een ander voorbeeld geven van soort gelijke webapplicatie. -[Volgende (ELI5) >>](/eli5.md) +[Volgende (ELI5) >>](/Moeilijkheidsgraad) diff --git a/articles/moeilijkheidsgraad/makkelijk - eli5.md b/articles/moeilijkheidsgraad/makkelijk - eli5.md index f7e13b7..00eecef 100644 --- a/articles/moeilijkheidsgraad/makkelijk - eli5.md +++ b/articles/moeilijkheidsgraad/makkelijk - eli5.md @@ -1,4 +1,4 @@ -#### ELI5 +#### ELI5 - Explain Like I'm Five --- Als je naar de titel van deze pagina kijkt dan denk je zeker, wat is dit nou weer voor een rare term. Vast voor iets gerelateerd aan programeren of zo iets moeilijks. Gelukkig voor jou, de lezer, is dat het omgekeerde. ELI5 staat voor "Explain Like I'm 5", dat wil zeggen, leg me dit uit alsof ik vijf jaar oud ben. Dit is om ervoor te zorgen dat mijn uitleg voor iedereen begrijpbaar zou moeten zijn. Ik geef van dezelfde hoofdstukken ook nog uitleg op een gemiddeld en een wat hoger niveau, dus mocht je geintereseerd zijn dan is er meer en wat diepgaandere informatie beschikbaar. Aan het begin en aan het eind van elke pagina zijn er dus meerdere knoppen aanwezig voor het verwisselen van moeilijkheid. [Momenteel nog niet beschikbaar/word later toegevoegd]. @@ -10,4 +10,4 @@ Good programmers write code that humans can understand." -Martin Fowler Dit allemaal bij elkaar is een poging om alles zo duidelijk mogelijk uit te leggen. -[Volgende (De broodjeszaak) >>](/broodjeszaak.md) +[Volgende (De broodjeszaak) >>](/Inhetkort) diff --git a/articles/moeilijkheidsgraad/normaal - moeilijker.md b/articles/moeilijkheidsgraad/normaal - moeilijker.md index 2100a67..657926c 100644 --- a/articles/moeilijkheidsgraad/normaal - moeilijker.md +++ b/articles/moeilijkheidsgraad/normaal - moeilijker.md @@ -1,15 +1,25 @@ -#### Moeilijker +#### Rooster.io en code --- -Hoewel veel van het process is uitgelegd in [de broodjeszaak](/broodjeszaak.md) is er meer aan de hand dan alleen het vragen van informatie en het krijgen hier van. Werkmanrooster of hoe ik het noem [rooster.io](http://git.werkmanrooster.nl/werkmanrooster/rooster-io), bestaat uit iets genaamd '`code`'. Deze code beschrijft wat een computer moet doen en wanneer. Deze code zorgd ervoor dat een computer bepaalde afwegingen maakt, bijvoorbeeld dat hij een [lijst geeft van meerdere leerlingen als er meerdere zijn gevonden](http://werkmanrooster.nl/rooster/bram) in plaats van het weergeven van [een rooster](http://werkmanrooster.nl/rooster/Bram van der Veen). Deze afwegingen komen veel voor in de `code` van rooster.io. +Als wij het hebben over Werkmanrooster dan hebben we het eigenlijk over een website waarop leerlingen hun roosters kunnen bekijken. Ik kan je ook uitleggen hoe het werkt in [grote lijnen](/Inhetkort) maar er komt veel meer bij kijken dan alleen een voorbeeld met een broodjeszaak. Werkmanrooster heeft namelijk een tweede naam: [rooster.io](http://git.werkmanrooster.nl/werkmanrooster/rooster-io.git). +Dit is de naam voor het project, een project wat 100% bestaat uit code. Om een wat dieper begrip van Werkmanrooster en rooster.io te krijgen is het dus belangrijk dat je ook deze kant kent. Ik zou verschillende begrippen gebruiken en uiteraard uitleggen. + +Om te beginnen ga ik je wat leren over `code`. `Code` is eigenlijk gewoon een manier waarop je een computer verteld wat hij moet doen. Dit kan door te vertellen welke handelingen hij moet doen, maar ook vooral afwegingen maken tussen verschillende soorten informatie. Sommige dingen zou je wel herkennen van wiskunde bijvoorbeeld de `<`, `>` en `=` tekens. Ook word er in `code` gebruik gemaakt van variabelen (`var`). Zo'n afweging ziet er als volgende uit in `code`. ```javascript -//found_students.length wil zeggen hoeveel leerlingen er zijn. -if (found_students.length > 1) { //Afweging: als er meer dan een leerlingen is gevonden +//Defineer het variabele fount_students en geef het een waarde van 10. +var found_students = 10; + +//We weten dat found_students 10 is. 10 is groter dan 1, dus deze afweging klopt. +if (found_students > 1) { //Afweging: als er meer dan één leerling is gevonden //Maak dan een lijst. } else { //Als de eerste afweging niet klopt, dan gaat hij naar de volgende //Laat een rooster zien } ``` + +Bij de andere hoofdstukken zou ik uiteraard nieuwe dingen uitleggen, dus wees bereidt om wat nieuws te leren! + +[Volgende >>](/Inhetkort/normaal) diff --git a/hoewerkt.js b/hoewerkt.js index 0a22602..373c649 100644 --- a/hoewerkt.js +++ b/hoewerkt.js @@ -8,17 +8,15 @@ var articles = [ ] module.exports = function (req, res, next) { - console.log('Got a hit'); if (req.url == '/') { res.render('article', render('index')); } else { var sub = req.url.split('/')[1]; var othersub = req.url.split('/')[2] || 'makkelijk'; - for (article of articles) { if (sub == article.split(':')[0]) { - res.render('article', render(sub, othersub)) + res.render('article', render(sub, othersub, res)) return; } } @@ -26,13 +24,14 @@ module.exports = function (req, res, next) { } } -function render(file, difficulty) { +function render(file, difficulty, res) { if (file == 'index') var content = fs.readFileSync(__dirname + '/articles/index.md').toString(); else { - console.log('files', file); + var files = fs.readdirSync(__dirname + '/articles/' + file.toLowerCase()).join('\n'); - var selected = files.match(new RegExp(difficulty + '.*'))[0]; - var content = fs.readFileSync(__dirname + '/articles/' + file + '/' + selected).toString(); + var selected = files.match(new RegExp(difficulty + '.*')); + if (!selected) res.render('404'); + var content = fs.readFileSync(__dirname + '/articles/' + file + '/' + selected[0]).toString(); } return {'markdown': marked(content), 'articles': articles}