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