lightrender — page.yml kao ulaz

Strana se više ne gradi iz ručno pisanog .lt izvora nego iz page.yml, kroz toLpc(). Komponente ne nose nijedan data-lpc-* u svom kodu — svi markeri se izvode iz flagova u YAML-u.

rezultat

iz page.ymlreferenca
komponenti u redosledu5151isti niz
komponenti sa markerima282828/28 identično
viška markera0
manjka markera0
CSS blokova na poziciji33 / 36

izlazi

fajl
yml-render.htmlrender iz page.yml
render.htmlrender iz kompajlovanog page modula
c.htmlmonolit
j.htmlbez JS-a, online
0.htmlbez JS-a, offline
ref-render.htmlreferentni izlaz faze 1
page.ymlulaz

šta toLpc radi

load: async  on: click  prefetch: true
   ↓
data-lpc="story" data-lpc-async="true" data-lpc-on="click" data-lpc-prefetch="true"

Pravilo koje nije bilo očigledno: bez režima učitavanja nema nijednog markera. LiteThemeModal i LpBadge u page.yml nemaju load: i u referenci ne nose nijedan data-lpc* — marker postoji da kaže boot-u kako da učita, a bez toga nema šta da kaže.

plugin komponente

page.yml ih namerno ne nabraja i to izričito piše: „plugin-owned defaults are IMPLIED, not listed here — lightrise prepends BootPreload (head) + appends Boot (body end); lightsession appends SessionGlobal (body end)." Referentni redosled to potvrđuje do slova:

<head>  BootPreload · ScrollRestore · HeadOptimization · HeadMeta · …
</body> … Footer · Boot · NojsOverlay · OfflineProbe · SessionGlobal

šta ostaje

Tri CSS bloka: id="0" i id="s3" razlikuju se zbog optimizerskog cache-busta i preimenovanih id-jeva, a s="s1" umesto s="s2" na SkinPanel-u traži registar lpc komponenti — SkinPanel se poziva iz StickyActions, pa ga page.yml ne vidi.