From d8b8197c5a413adce5df4bb00d5358c55030c22c Mon Sep 17 00:00:00 2001 From: crille Date: Thu, 2 Apr 2026 12:09:59 +0200 Subject: [PATCH] Lade till en fin README-fil --- README.md | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) diff --git a/README.md b/README.md index e69de29..3027207 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,138 @@ +# Crille Schema Viewer + +Crille Schema Viewer är ett WordPress‑plugin som hämtar och visar kommande schemahändelser från Högskolan Västs KronoX‑system. Pluginet hämtar schemat server-side via ICS‑formatet och exponerar det genom ett eget REST‑API i WordPress. Datan renderas sedan i frontend genom ett Gutenberg‑block. + +Pluginet innehåller även en inställningssida som gör det möjligt att välja vilken signatur (resurskod) som schemat ska hämtas för samt hur många kommande schemaposter som ska visas. + +--- + +## Funktioner + +- Hämtar schema från Högskolan Västs KronoX‑system via server‑side ICS. +- Visar kommande schemaposter via ett Gutenberg‑block. +- Ingen CORS‑problematik eftersom all hämtning sker i PHP. +- Datum konverteras korrekt från UTC till svensk tid (CET/CEST). +- Svensk datumformatering (exempel: "2 april 2026"). +- Automatisk datatvättning av ICS‑innehåll. +- Inställningssida i WordPress: + - Välj signatur/resurskod (exempel: s.COH). + - Välj antal schemaposter som ska visas. +- Frontend‑rendering via JavaScript. +- Gutenberg‑block: "HV Schema". + +--- + +## Installation + +1. Ladda upp plugin‑mappen till: + +``` +wp-content/plugins/crille-schema-plugin +``` + +2. Alternativt: Installera plugin‑ZIP via WordPress: + +``` +WordPress Admin → Plugins → Lägg till nytt → Ladda upp plugin +``` + +3. Aktivera pluginet. + +--- + +## Inställningar + +Efter aktivering får du en ny sida i WordPress: + +**WordPress Admin → Inställningar → HV Schema** + +Här kan du ange: + +### Signatur / Resurskod + +Den kod som används i KronoX för att hämta schema för en specifik person, exempelvis: + +``` +s.COH +s.SRM +s.CHRH +``` + +Detta styr vilket schema som visas. + +### Antal poster + +Anger hur många kommande schemaposter som ska visas. Exempel: + +``` +7 (standard) +10 +3 +``` + +Pluginet hämtar mer data från ICS, men visar endast det antal du valt. + +--- + +## Användning i Gutenberg + +1. Öppna en sida eller skapa en ny. +2. Klicka på knappen för att lägga till block. +3. Sök efter: + +``` +HV Schema +``` + +4. Placera blocket där schemat ska visas. +5. Publicera eller uppdatera sidan. + +Vid frontend‑visning hämtas schemat automatiskt och visas utan ytterligare inställningar. + +--- + +## Teknik och arkitektur + +- Schema hämtas via `wp_remote_get()` direkt från KronoX (server-side). +- Pluginet exponerar ett REST‑endpoint: + +``` +/wp-json/hv/v1/schema +``` + +- Frontend hämtar datan via `wp.apiFetch()`. +- ICS‑data parsas i JavaScript. +- Datum omvandlas från UTC till Europe/Stockholm. +- Gutenberg‑block renderas via `render_callback`. +- Styling sker via `css/style.css`. + +--- + +## Filstruktur + +``` +crille-schema-plugin/ +│ +├── hv-schema.php (huvudfil: block, REST, settings, proxyhämtning) +├── block.json (Gutenberg block-definition) +│ +├── css/ +│ └── style.css (frontend-styling) +│ +└── src/ + ├── block.js (Gutenberg editor-vy) + └── frontend.js (hämtar och renderar schema i frontend) +``` + +--- + +## Version + +**1.1 – Lagt till inställningssida för signatur och antal visade poster.** + +--- + +## Author + +Christian Ohlsson +Högskolan Väst