Text view

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 presentation is many fixed slides; a text is one long page that scrolls.

One page, not a filmstrip

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.

It reuses the same components

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.

Anatomy of a Text artifact

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>

Fluid width

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.

Authoring

  • Write content straight into this +page.svelte.
  • Import components from $lib/components/… as usual.
  • Colocate images/assets and import them.
  • Re-theme in the artifact’s own +layout.svelte.
  • To start another Text, copy this whole route folder.

Why two formats

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.