„VIKWiki:Kvíz” változatai közötti eltérés

A VIK Wikiből
Palotasb (vitalap | szerkesztései)
→‎Technikai megvalósítás: forráskód szűkszavú leírása és linkelése két helyen
→‎Amit a Javascript-kód csinál: Halott linkek eltávolítása
 
15. sor: 15. sor:
Az első szakaszcímtől (<code><nowiki><h2></nowiki></code> címke, <code><nowiki>== ... ==</nowiki></code> wikikód) kezdve minden szakasz egy kvízkérdésnek minősül. Először ezek kerülnek feldolgozásra, majd ezeken belül a válaszcsoportok, válaszlehetőségek. Ez utóbbi abból áll, hogy a program minden kérdésen belül megkeresi, az összes olyan helyet, ahol egy rendezett HTML-listát (<code><nowiki><ol><li></li>...</ol></nowiki></code> címke, <code><nowiki># ... # ...</nowiki></code> wikikód) egy olyan elem előz meg, ami a <code><nowiki>{{kvízkérdés ...}}</nowiki></code> sablont tartalmazza. Utóbbi esetben a rendezett listát kattintható interaktív opciókká alakítja át a kód.
Az első szakaszcímtől (<code><nowiki><h2></nowiki></code> címke, <code><nowiki>== ... ==</nowiki></code> wikikód) kezdve minden szakasz egy kvízkérdésnek minősül. Először ezek kerülnek feldolgozásra, majd ezeken belül a válaszcsoportok, válaszlehetőségek. Ez utóbbi abból áll, hogy a program minden kérdésen belül megkeresi, az összes olyan helyet, ahol egy rendezett HTML-listát (<code><nowiki><ol><li></li>...</ol></nowiki></code> címke, <code><nowiki># ... # ...</nowiki></code> wikikód) egy olyan elem előz meg, ami a <code><nowiki>{{kvízkérdés ...}}</nowiki></code> sablont tartalmazza. Utóbbi esetben a rendezett listát kattintható interaktív opciókká alakítja át a kód.


* '''Forráskód:'''
Forráskód: [[MediaWiki:Common.js]]
** Fejlesztői legfrissebb verzió: https://bitbucket.org/palotasb/vikwikiquiz
** Éles verzió a wikin: [[MediaWiki:Common.js]]
* Issue/Bug tracking: https://bitbucket.org/palotasb/vikwikiquiz/issues?status=new&status=open


== Műhely ==
== Műhely ==

A lap jelenlegi, 2024. június 3., 18:00-kori változata

Ez a Kvízprogram fejlesztői oldala, technikai leírása. Véleményezni, hozzászólni a vitalapon vagy a levlistán lehet.

Célok

A cél egy olyan modul létrehozása, amivel könnyen lehet kvízeket létrehozni olyan módon, hogy azok könnyen szerkeszthetőek legyenek, és a böngészőben interaktív módon ki lehessen őket tölteni egy-egy tetszőleges téma gyakorlásához.

Technikai megvalósítás

A kérdések egy wikioldalon vannak, wikioldalként szerkeszthetők a válaszokkal és a hozzájuk tartozó metaadatokkal együtt (milyen típusú a kérdés, melyik a jó válasz). Minden témakörhöz, kérdéscsoporthoz egy oldal tartozik, ezen van felsorolva az összes kérdés.

A wikihez linkelve van egy JavaScript program, ami minden betöltődés után ellenőrzi, hogy az oldalon vannak-e a kvízkérdések, és ha igen, akkor azokat átformázza a megfelelő interaktív formára, hogy azt ki lehessen tölteni.

Amit a Javascript-kód csinál

Az első szakaszcímtől (<h2> címke, == ... == wikikód) kezdve minden szakasz egy kvízkérdésnek minősül. Először ezek kerülnek feldolgozásra, majd ezeken belül a válaszcsoportok, válaszlehetőségek. Ez utóbbi abból áll, hogy a program minden kérdésen belül megkeresi, az összes olyan helyet, ahol egy rendezett HTML-listát (<ol><li></li>...</ol> címke, # ... # ... wikikód) egy olyan elem előz meg, ami a {{kvízkérdés ...}} sablont tartalmazza. Utóbbi esetben a rendezett listát kattintható interaktív opciókká alakítja át a kód.

Forráskód: MediaWiki:Common.js

Műhely

  • Segítség:Példakvíz – egy példakvíz, amivel lehet kísérletezni, szerkesztgetni
  • Sablon:Kvízoldal – a kvízoldal sablon, amit be kell szúrni egy oldalra, hogy abból az oldalból egy kvíz legyen
  • Sablon:Kvízkérdés – a kvízkérdés sablon, amit minden kvízkérdés minden válaszcsoportjában a válaszlehetőségek elé be kell szúrni, hogy tudni lehessen, melyik a jó válasz
  • Kategória:Kvíz – ebbe a kategóriába kerülnek bele automatikusan a kvízek