This page is a Text artifact — the second kind of thing GeekPresent builds. A presentation is many discrete slides, each a fixed 1920×1080 canvas. A Text is one single page: a fluid column that follows the window (up to 1080px), with a flexible height that grows as you add content. You author it by hand and it scrolls.
A Text is not a stack of slides glued together — it is a document. Write as much as you like and the page keeps growing downward; the window scrolls. The page below runs well past one screen on purpose, so the continuous flow is easy to see. Notice the TOP button pinned in the corner — that is the navigation bar, which in a Text becomes a single jump-to-top control.
A Text draws from the very same $lib component toolbox as the
slides — the words “Text artifact” up top are a real
Label component, hover them. Some components assume they live on
a slide (the navigation bar, slide-anchored hints, pop-up overlays) and will
be adapted for flowing documents one at a time; for now, prose, headings,
lists, links, images and inline components work as you would expect.
A Text is its own route folder, just like a presentation — only it holds a single page instead of many slides:
src/routes/text.html/
+layout.js prerender = true; trailingSlash = "never"
+layout.svelte wraps the content in the shared <TextPage> shell
+page.svelte this content
presentation-vs-text.svg a colocated image, imported below Content is plain markup plus imported components. Assets live next to the page
and are pulled in with import, so Vite bundles and hashes them:
<script>
import Label from '$lib/components/Label.svelte';
import diagram from './presentation-vs-text.svg';
</script>
<img src={diagram} alt="..." />
<p>Text with an inline <Label>highlight</Label>.</p> The column follows the window rather than staying a fixed size: it grows and shrinks with the browser, keeping equal margins on each side, and caps at 1080px so lines never run too long on a wide monitor (past that it simply centers). On a narrow window the text reflows to fit instead of scrolling sideways. Unlike a slide — which is a fixed 1920×1080 canvas scaled to fit — a Text is a real document that lays itself out to the reader’s screen.
+page.svelte.$lib/components/… as usual.import them.+layout.svelte.The same material often wants two shapes. A talk is a sequence of slides you advance through, one idea per frame. An article is a continuous read you scroll at your own pace. Rather than force one into the other, GeekPresent lets you author both from the same toolbox — a presentation when you are on stage, a Text when someone wants to read it later.
Keep going and you will notice there is no “next page.” That is the point: a Text is as long as it needs to be. When you reach the end, the TOP button takes you back up in one click.
Prefer slides? Head to the presentation, or back to the home page.