Verkefnið felst í því að smíða prótótýpu af fyrirlestravef fyrir vefforritun. Gefin eru gögn sem unnin eru uppúr námsefni vetrarins.
Gefnar eru fyrirmyndir í 500px
og 1500px
án grindar ásamt 1500px
með grind. Allt efni skal skalast snyrtilega á milli.
Gögn eru gefin í lectures.json
sem sækja skal með ajax virkni. Keyra verður verkefnið með browser-sync
til að það virki.
Efni síðu skal ekki vera breiðara en 1200px
. Litir og myndir í haus skulu fylla út í allt lárétt pláss. Yfir myndum er 60% gegnsær hvítur litur. Myndir fyrir hvern fyrirlestur eru skilgreindir í json
skrá.
Grunn leturstærð er 16px og fylgja allar aðrar leturgerðir eftirfarandi skala: 16 24 32 48
.
Litapalletta fyrir vef er #000
, #999
, #aaa
, #ccc
, #2d2
, #1a1
, #fcffd2
og #cc9694
.
Letur fyrir meginmál er Lora, Times New Roman eða serif letur. Letur fyrir fyrirsagnir er Roboto Mono, Courier New eða monospace.
Flest allt er sett upp í 12 dálka grind með 20px
gutter.
Öll bil eru hálft, heilt, tvöfalt eða þrefalt margfeldi af gutter. Hægt er að nota reglustiku tól (t.d. http://www.arulerforwindows.com/ eða http://www.pascal.com/software/freeruler/) til að finna nákvæmar stærðir en mestu skiptir að lausn svipi til en sé ekki nákvæmlega eins og fyrirmynd.
Allar hreyfingar gerast á 300ms
með ease-in-out
hröðunarfalli. Hreyfingar eru þegar svimað er yfir fyrirlestri í lista og síunar tökkum.
Forsíða inniheldur lista af öllum fyrirlestrum. Fram kemur hvort búið sé að klára fyrirlestur eða ekki. Nota skal ✓
til að tákna að fyrirlestri séð lokið, sjá að neðan hvernig virkni er.
Fyrir ofan lista skulu vera þrír takkar fyrir hvern af flokkunum: HTML
, CSS
og JavaScript
. Í byrjun er engin takki virkur en um leið og takki er virkur skal aðeins sýna fyrirlestra í þeim flokk og takki litaður með #2d2
. Ef fleiri takkar eru virkjaðir skal einnig sína þá fyrirlestra. Ef allir takkar eru virkir sést það sama og ef allir eru óvirkir—allir fyrirlestrar.
Þegar smellt er á fyrirlestur er farið yfir á fyrirlestur.html?slug=<slug>
þar sem <slug>
er slug fyrir fyrirlesturinn, t.d. fyrirlestur.html?slug=html-sagan
. Hægt er að nota URLSearchParams
og window.location.search
til að vita hvaða fyrirlestur átt er við á fyrirlestur.html
síðu.
Fyrir hvern fyrirlestur skal birta haus og allt efni fyrirlesturs á eftir honum. Í haus kemur fram flokkur og titill.
Efni fyrirlesturs er geymt í fylki og skal birta það í sömu röð og það er skilgreint. Útbúa þarf birtingu fyrir hverja einingu eftir útliti.
Neðst er takki til að merkja fyrirlestur kláraðann og hlekkur til að fara til baka.
Ef fyrirlestur er merktur kláraður skal sýna ✓ Fyrirlestur kláraður
í #2d2
. Annars Klára fyrirlestur
. Þegar fyrirlestur er kláraður skal vista upplýsingar um það í localStorage
og birta í lista og á fyrirlestra síðu.
Nota skal slug
sem auðkenni yfir kláraða fyrirlestra.
lectures.json
inniheldur fylki af fyrirlestrum sem birta skal. Hver fyrirlestur getur haft:
slug
, notað til að hlekkja á fyrirlesturtitle
, titill fyrirlesturscategory
, flokkur fyrirlestursimage
, mynd í hausi fyrirlesturs, má sleppa, þá skal birta gráan lit í staðinnthumbnail
, mynd á yfirliti fyrirlestra, má sleppa, þá skal birta gráan lit í staðinncontent
, fylki af efni fyrirlesturs
Fyrir efni fyrirlesturs er efni alltaf með:
type
, gerð efnisdata
, gögn efnis
þar sem type
getur verið:
youtube
,data
inniheldur hlekk á youtube myndband. Innifela skal mynband með<iframe src="<URL>" frameborder="0" allowfullscreen="0"></iframe>
text
,data
inniheldur gögn þar sem\n
merkir á milli málsgreina, þ.e.a.s. texta skal birta innan<p>
, skipt á\n
quote
,data
inniheldur tilvitnun, aukalega getur veriðattribute
með þeim sem vitnað er íimage
,data
inniheldur slóð á mynd, aukalega getur veriðcaption
með texta með myndheading
,data
inniheldur fyrirsögnlist
,data
inniheldur fylki af textum í listacode
,data
inniheldur kóða þar sem bil og nýjar línur skipta máli
Athugið að meira efni mun bætast við það sem gefið er í byrjun. Virkni ætti að ráða við hvaða efni sem er í hvaða formi sem er, svo lengi sem það fylgir reglum að ofan.
Verkefnið skal unnið í hóp með þremur einstaklingum. Hafið samband við kennara ef ekki er mögulegt að vinna í hóp.
Notast skal við Git og GitHub. Engar zip skrár með kóða ættu að ganga á milli í hópavinnu, heldur á að „committa“ allan kóða og vinna gegnum Git.
README.md
skrá skal vera í rót verkefnis og innihalda:
- Upplýsingar um hvernig keyra skuli verkefnið
- Lýsingu á uppsetningu verkefnis, hvernig því er skipt í möppur, hvernig CSS og JavaScript er skipulagt og fleira sem á við
- Upplýsingar um alla sem unnu verkefni
- Leyfilegt er að halda eftir þessari verkefnalýsingu en hún skal þá koma á eftir ykkar lýsingu
Eftirfarandi er sett upp í verkefni:
.stylelintrc
með upplýsingum um hvernig stylelint eigi að haga sér. Setja þarf uppstylelint-config-primer
pakkann.eslintrc
skrá sem segir til um hvernig lint fyrir JavaScript skrár skuli háttað.gitignore
sem hunsar algengar skrár, sjá nánar- Allt undir
./dist
hunsað sem þýðir að það verður ekki checkað inn. Það er gert vegna þess að þær skrár eru útbúnar af tólum þegar verkefni er keyrt.
- Allt undir
.gitattributes
sem kemur í veg fyrir ósamræmi sem geta komið upp þegar unnið er á milli stýrikerfa.editorconfig
sem samræmir notkun á tabs og spaces, bilum og fleiragrid.css
til að sjá grid sem fyrirmynd er unnin eftirsrc/
mappa meðstyles/
undirmöppu meðstyles.scss
grunnilib/
undirmappa sem gæti innihaldið JavaScript kóða auk tillögu að grunni fyrir virkni á forsíðuindex.js
skrá sem vísar ílib/
dist/
mappa sem ætti að innihalda þýddar sass og JavaScript skrárimg/
með öllum myndum sem þarf í verkefniðpackage.json
hefur uppsett script ásamt dependencieseslint
til að keyra eslintstylelint
til að keyra stylelinttest
til að keyra bæðieslint
ogstylelint
browser-sync
til að keyra verkefni, bæta þarf við skrám sem vaktaðar erusass
til að keyra fyrstu þýðingusass-watch
til að fylgjast með sass skrám og þýðadev
til að keyrasass
ogbrowser-sync
Setja þarf upp
rollup
til að pakka saman JavaScript kóðababel
til að transpila kóða
og bæta við í tól að ofan.
- 30% -
README
eftir forskrift, tæki og tól uppsett. Snyrtilegt, gilt (skv. eslint) JavaScript. Snyrtilegt, gilt (skv. stylelint) CSS/Sass, gilt og aðgengilegt HTML. Git notað - 30% – Yfirlitssíða með síu
- 30% – Fyrirlestrarsíða útfærð með efni
- 10% – Hægt að skrá að fyrirlestur sér kláraður
Verkefni sett fyrir á Uglu föstudaginn 9. nóvember 2018.
Einn aðili úr hóp skal skila fyrir hönd allra og skila skal undir „Verkefni og hlutaprófa“ á Uglu í seinasta lagi fyrir lok dags fimmtudaginn 29. nóvember 2018, seinustu dæmatímar eru þann fimmtudag.
Skil skulu innihalda:
- Nöfn allra í hóp ásamt notendanafni
- Slóð á GitHub repo fyrir verkefni, og dæmatímakennurum skal hafa verið boðið í repo (sjá leiðbeiningar). Notendanöfn þeirra eru
arnar44
,gorri4
,mimiqkz
,hinriksnaer
,gunkol
,freyrdanielsson
ogosk
- Slóð á verkefnið keyrandi á vefnum
Sett verða fyrir tíu minni verkefni þar sem átta bestu gilda 3,5% hvert, samtals 28% af lokaeinkunn.
Sett verða fyrir tvö stærri verkefni þar sem hvort um sig gildir 11%, samtals 22% af lokaeinkunn.
Myndir frá:
- https://unsplash.com/photos/xekxE_VR0Ec
- https://unsplash.com/photos/C4G18Paw0d4
- https://unsplash.com/photos/iar-afB0QQw
Útgáfa 0.2
Útgáfa | Lýsing |
---|---|
0.1 | Fyrsta útgáfa |
0.2 | Setja inn auka efni í lectures.json |