Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server-side rendering #71

Open
exyi opened this issue Mar 9, 2021 · 0 comments
Open

Server-side rendering #71

exyi opened this issue Mar 9, 2021 · 0 comments

Comments

@exyi
Copy link
Member

exyi commented Mar 9, 2021

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant