Skip to content

Server-side rendering #71

@exyi

Description

@exyi

Aby dávalo smysl do kurzu dávat originální obsah, měl by být dohledatelný googlem + prohlížitelnost bez JS by taky nebyla na škodu. Máme s @vakabus 2 nápady jak to řešit:

  1. Sapper nebo něco jako Sapper - prostě necháme Svelte server-side vyrenderovat to co se renderuje na klientovi. Zní to jednodušejí, ale asi to nebude technicky taková legrace - rendering často závisí na vyparsování úloh z ksp webu, a běží to v JS, což může být politický problém spustit na Gimlim. Routování bychom museli změnit z kurz#task/X na něco s history API - jako kurz/task/X - aby se to dalo přečíst už na serveru.

  2. Při buildu předgenerovat jednoduché html stránky, které budou obsahovat to samé jako úlohy + na titulní stranu dát seznam všech nodů (dá se z toho udělat nějakým způsoben odrážkový strom, třeba)

    • Titulní stránka bude obsahovat seznam všech viditelných úloh a bude odkazovat buď přímo do dané série, nebo na vygenerovanou HTML stránku z textového vrcholu. Když se na stránku přistoupí se zapnutým JS, tak se nahradí tím interaktivním grafem.
    • Linkované úlohy asi bude lepší negenerovat a prostě odkazovat do dané série
    • Originální (nebo vykopírované) texty a úlohy předgenerujeme s pomocí komponenty TaskDisplay na serveru a nějak dáme do KSP template. Přidáme kousek Javascriptu, který bude redirectovat do kurzu.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions