Team Rose
VASTE AFSPRAAK OP MA 13u30
SEMI-VASTE AFSPRAAK OP DO 13u30
Planning HamlIt
DEGENE MET DE MEESTE FOUTEN PRESENTEERT
Fouten:
- Emiel: 4
- Xenia: 4
- Faber: 3
Spelfouten
- Emiel: 20.001
- Xenia: 0
- Faber: 0
Plan van aanpak
- Lezen van files?
- Hoe implementeren we dit:
- java -jar HamlIt.jar [output.html]
Methode inputReader
- wat staat er achter %, steek in var tag
- bij spatie en text achter tag, steek in var text
- bij niks achter de tag kijk naar volgende lijn die is ingedent
- bij text, steek in var text
- bij %, herhaal deze methode, onthouden vorige tag
- waar stoppen met zoeken?
- bij niks achter %, var tag = div
Special cases
- id method
- moet zoeken naar een # na de tag
- wat er na komt is de naam van de id
- wordt in html id=“naam”
- rekening houden bij welke tag het hoort
- id moet uniek
- class method
- moet zoeken naar een . na de tag
- wat er na komt is de naam van de klasse
- wordt in html class=“naam”
- rekening houden bij welke tag het hoort
- attributes method
- moet zoeken naar een “attributes” na de tag
- kijken naar welke soort attribute
- wat er na komt is de naam van de attribute
- wordt in html attribute=“naam”
- rekening houden bij welke tag het hoort
- escaping method
- direct na \ geen tags identifiers lezen
- empty void tags
- een uitzonderlijke tag heeft geen closing tag en sluit zichzelf
- uitzonderlijke tags extra info hebben, tussen haakjes na de tag
- vb: %img(src=“blabla.jpg”) wordt <img src=“blabla.jpg”
- als er een / na een uitzonderlijke tag staat, sluit de tag zonder enige text erna
- html comment method
- alles na / (slash + spatie) wordt een comment in html
- haml comment method
- zoeken voor -#, alle indentingenniveaus die er achter staan die worden haml comments
- begin terug te lezen vanaf zelfde of hogere indenting
- whitespace removal?
- ask Xenia
- bij kleiner dan neemt hij eerstvolgende ding en plakt hij dat aan de vorige ding
- bij groter dan neem je alles achter de groter dan en plak je het direct na wat er voor de groterdan staat
- wip
Output
- Methode outputText
- Methode voor omzetten naar HTML
- < + tag + > + text + </ + tag + >
- aparte methodes voor opening en closing tag?
(bijv. ‘createOpeningTag’ en ‘createClosingTag’)
- ! Rekening houden met special cases tijdens generaten van output
Nog blabla van Xenia hieronder:
==> Zijn methode om indenting dan bij te houden en juist te
gebruiken bij de endtag is een soort “parent”/root element dat vaststaat
op indenting 0?? en de child elements daarvan komen telkens op een indenting verder,
zodat er een soort van positie van parentElement++, en achteraf currentElement-- komt
om correct te displayen welke tag op welke indenting moet komen tov de parent