Lade till en fin README-fil
This commit is contained in:
138
README.md
138
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
|
||||||
|
|||||||
Reference in New Issue
Block a user