Skip to content

Käyttäjien tekemien teemojen jakaminen erillisen hakemiston kautta

Teemakehittäjille oma hakemisto, jonne tallennetuista dokuista tulee teemaX.scss tiedostoja TIM-johonkin scss-hakemistoon ja sitten ne näkyvät omana listanaan Customize TIM valinnan alla.

Näin uusia teemoja haluavat voivat käyttää suoraan scss:ää ja ei tarvitse jokaiselle komponentille erikseen kertoa mm värejä / fonttien kokoja. Listan kohdalle varoitus että teemat ovat kehitteillä ja niiden käyttö omalla vastuulla.

Aluksi teemojen teko-oikeus jokaiselle kirjaantuneelle, jos tästä tulee häiriköintiä, niin katsotaan oikeuksia uudelleen.

Jotta teemoja olisi helpompi hallita, voisi olla niin, että teematiedostoon saa kirjoittaa mitä vaan markdown, mutta vain koodilohkot kootaan yhdeksi scss:ksi (tai tarvittaessa useammaksi jos teemoittelu sitä vaatii). Näin teematiedostoja voi kommentoida ja otsikoida asioiden helpommaksi löytämiseksi. Jokin tietty osa teemtiedostosta menee teeman selitykseksi.

Seuraavassa vaiheessa teemoille voisi olla äänestyssysteemi (voisi riittää ihan TIM-doku jossa äänestys) joilla voisi ehdottaa jotakin teemaa oletusteemaksi.

Teemat voivat olla jopa hyvin pieniä, esim biggerNoteFont.

Teemakeskustelua TIMissä: https://tim.jyu.fi/view/tim/keskustelut/darktheme

TIMin Customize TIM-sivulla voisi olla malliksi vähän tyypillistä TIM-tekstiä, niin näkisi miten muutokset vaikuttavat.

Tehtävät:

  • Yksinkertaisin toteutus, jossa esim. tim/styles kansiossa olevat plaintext-dokumentit listataan käyttäjäasetuksissa ja annetaan mahdollisuus ottaa ne käyttöön
    • Käyttäjäasetuksissa epäviralliset tyylit omaan osioon
  • Tyylidokumenttiin voi laittaa markdownia -> koodilohkot liitetään yhteen ja tulkitaan SCSSnä
  • TIMin viralliset tyylit voi siirtää GitLab-reposta suoraan TIMiin omiksi dokumenteiksi
  • Äänestysjärjestelmä => käyttäjät voivat äänestää hyviä tyylejä
  • Teemoistusta helpottamaan mm csPluginiin aina myös plugin type css:ään.
  • Teema voi valita laitekohtaisesti
  • Teemoja voi myös valita dokumenttikohtaisesti
Edited by Denis Zhidkikh