Glossary
This page lists the words these docs use, each with its plain meaning and a link to the page that explains it fully. The docs use these words consistently, so if a sentence confuses you, the confusing word is probably defined here.
argument: An extra value a button or link carries to its route, filling a parameter by name. In wider Python, "argument" also means any value passed to a function; Drafter's Argument component applies the same idea to pages.
component: Anything you can put in a page's content list besides a plain string: buttons, text boxes, images, tables. The full list.
dataclass: A Python class defined with @dataclass, used as a labeled bundle
of values. Your State is one; so is each record in a list like
the pet registry's pets.
debug panel: The tool strip Drafter shows under your app while you develop. It includes the current state, page history, tests, and more. Tour; in depth.
deploy: To turn your project into a public website with a real address, by having GitHub Pages build and host it. The arc.
event: Something the visitor does that a component can react to by calling a route: typing, choosing, hovering, clicking. Live updates.
fragment: A return value that replaces one part of the page instead of all of it. Fragment.
page: What a route returns: the state to carry forward plus the list of content to show. Also, loosely, the thing the visitor sees. Page.
parameter: A name in a function's def line that receives a value. Route
parameters are filled by state, form fields, and arguments, by
name. Forms and input.
production: The finished, public version of your app: titled, styled, debug panel hidden. The opposite of "while you are developing". Prepare for release.
regression test: A test that protects something that already works from being broken by later changes. Freeze finished pages.
render: To turn your page description into the actual pixels-and-HTML the browser shows. Drafter renders the page a route returns.
route: A function marked with @route that builds and returns a page.
Routes are not pages; they are the recipes that produce them, and
their names become addresses.
Routes and pages.
server: The program that answers a browser's requests. During development, that role is played by a program on your computer; once a deployed Drafter app has loaded, your own program plays that role from inside the browser tab. How Drafter works.
state: Your app's memory: one value, almost always a dataclass, passed to every route and carried by every page. State is lost on reload, by design. State.
theme: A ready-made look for the whole site, applied by name with one line. Catalog.
URL: A web address: which server to ask and what to ask for. Route names become the path part of your app's URLs. How the web works.
Words these docs avoid
You will meet a few terms elsewhere that these docs replace with their own vocabulary: a view or handler is a route; a model is your State; the front end is the whole app, since Drafter has no back end; widgets or elements are components.