What happens when you press Publish.
Kiln is two small pieces of software that work with three things you already have, or can have for free: your site’s pages, a GitHub account that keeps them, and a host that puts them on the web. Each step below says what you see, and what happens underneath.
-
What you see
You open your site and sign in.
You go to your own site’s address with
/kilnon the end and sign in: with GitHub if the site is yours, with Google if someone invited you. You are back on your site, with one round button in the corner.UnderneathEvery visitor’s browser loads one small Kiln file, about 3 KB, that does nothing unless someone is signing in. Only after you sign in does it load the editor itself. Sign-in goes through Kiln’s sign-in service, a small program on Cloudflare.
-
What you see
You click the words and type.
Parts that can be changed show a dashed outline. You click one, type, swap a picture, or move an item in a list. Nothing changes for visitors yet.
UnderneathOnly the parts the site’s builder marked can be changed. On a plain HTML site that is an attribute on the element, such as
data-cms="hero_headline". On an Astro site it is one line per field that names the content file the value comes from. -
What you see
You press Publish.
A sheet lists each change, before and after. You press Publish again and the line beside the button says it was saved.
UnderneathThe page’s file is saved to GitHub as one commit with your name on it. An invited editor’s changes go through the sign-in service, which checks that they may change those parts and that no script was slipped in. The site’s owner saves straight to GitHub with their own sign-in.
-
What you see
About a minute later, the site shows it.
The line beside the Kiln button says Live ✓ when visitors can see your change, or Build failed if the host could not build the site with it. Then the old page stays up.
UnderneathYour host notices the new commit and rebuilds the site. Kiln reads the live page until it shows your change, and reads the host’s build report on GitHub to catch a build that failed.
-
What you see
You can go back.
For ten seconds after publishing, Undo takes it back. Later, History lists every publish, and you can bring any page back to how it was.
UnderneathGoing back is one more commit. Nothing is deleted from the record: the version you left and the one you went back to are both still there.
The words, explained
You do not need to know any of these to edit a site. Whoever sets Kiln up needs the first four.
- GitHub
- A free service that keeps the files a website is made of, and every earlier version of them. Most web developers already use it. On every Kiln plan your site’s files live in a GitHub account that you, or your client, own.
- Repository
- One project’s folder on GitHub: here, your site’s files. Often shortened to “repo”.
- Commit
- One saved version of the files, with a note saying what changed, who changed it and when. A Kiln publish is a commit; on a site a generator builds, one commit for each content file it changed.
- Host
- The service that puts the files on the web at your address. Kiln works with any host that rebuilds the site when the repository changes: Cloudflare Pages, Netlify, Vercel or GitHub Pages. Cloudflare Pages has a free plan that allows business sites; Vercel’s free plan does not.
- The sign-in service
- Kiln’s small program on Cloudflare, also called the worker. It signs people in and saves their edits to GitHub. On Kiln Cloud and Fully managed, Kiln runs it. If you run Kiln yourself, it runs on your own free Cloudflare account.
- The GitHub App
- How GitHub lets the sign-in service save to one repository and no other. You install it on your site’s repository and choose which repositories it may touch.
- Plain HTML site
- A site whose pages are stored as finished web pages, one file each. Most hand-made sites, and many sites written by an AI, are like this.
- Generator (Astro, Eleventy, Hugo, Jekyll)
- A tool that builds the finished pages from content files and templates each time the site is published. On these sites Kiln has to edit the content files, not the pages: Kiln calls that source mode.
Who runs which piece
The editor is the same on all three plans. They differ in who sets up and runs the pieces around it.
| Piece | Run it yourself | Kiln Cloud | Fully managed |
|---|---|---|---|
| The site’s files on GitHub | You | You | You |
| The host | You | You | Kiln |
| The sign-in service | You, with the setup tool | Kiln | Kiln |
| The GitHub App | Yours, the setup tool makes it | Kiln’s, on your repository | Kiln’s, on your repository |
| Marking what can be edited | You, or your AI | You, or your AI | Kiln |
| Google sign-in for editors | Your own Google client | Included | Included |
| Cost | $0 | $4.99 a month per site | $14.99 a month per site |
On all three, leaving Kiln means deleting two script tags from your pages. The site is already plain files in your repository. Pricing has the trial and billing.
What Kiln edits on which kind of site
- A plain HTML site in a GitHub repository
- Everything the editor does: words, formatting, pictures, links, lists, galleries, events, new pages and posts, the site menu, History. Kiln changes the page’s own file and leaves the rest of it byte for byte as it was.
- An Astro site
- Kiln edits the content files the pages are built from (Markdown and MDX, with front matter in YAML or TOML), and the host rebuilds the site. Today that covers an entry’s text with the same toolbar as a plain HTML site (bold, italic, links, lists, headings, quotes), written back as Markdown in the file’s own style with only the edited part changed, titles, dates, times, numbers and yes/no values, pictures (replaced and described, the new one put where the site keeps its pictures) and link addresses. Tables, code and MDX components stay exactly as written. Entries are added from the site’s own schema, copied, removed, made drafts, scheduled and put in order, and History and Page settings work on the entry’s file. The site’s developer adds one line per field. Source mode in the docs.
- A site on Squarespace, Wix or WordPress.com
- Kiln does not edit it where it is.
npx github:kilncms/kiln#release rescue <address>copies the live site, up to 50 pages unless you ask for more, into plain HTML files with the pictures and styles, removes the builder’s scripts and marks the text and pictures as editable. From then on it is a plain HTML site. How the copy works. - A site made with Lovable, v0 or Bolt
- Usually an app whose words are drawn by JavaScript, so there is nothing for Kiln to edit until it is frozen once into plain HTML with the same command and
--render. The look, words, pictures, links and phone menu come across; forms, sign-in, search and anything else that needed the app running stop, and the report lists each. What the freeze keeps and drops. - Eleventy, Hugo and Jekyll
- Not yet. The setup tool recognises them and says so.
- Not at all
- A React, Next.js, Vue or Svelte app edited in place. A site whose pages are behind a sign-in. A site whose words come from a database when the page loads.
What Kiln does not do
- Move things around the page. Editors change words, pictures, links and list items. The layout stays as it was built.
- Edit the site’s code. Kiln changes the marked parts of pages and content files. It does not change scripts or the site’s settings, nor an Astro site’s templates, and an invited editor’s save is checked on the server for added scripts.
- Keep your content. There is no Kiln database of your pages. Your pages are in your repository.
- Host your site, except on Fully managed.
What keeps it safe
- The GitHub App can reach only the repositories you choose, and on those only the files.
- Invited editors sign in with Google and never hold a GitHub key. Their saves go through the sign-in service, which applies your rules on the server. You choose which pages, which sections and which tools each one gets, and removing someone ends their access at once.
- Editors save content, not code: pages, stylesheets and a short list of file types (pictures, PDFs, Office documents, fonts, audio and video), each up to 15 MB and checked by its first bytes. SVG files are refused, because a browser can run script from them.
- On Kiln Cloud, Kiln holds the access that GitHub gives the App for your repository, as any hosted editor must. Run it yourself and only you hold it.
Which way is yours?
Comfortable in a terminal and want it free: run it yourself. Can run one command and would rather not run a server: Kiln Cloud. Want to touch none of it: Fully managed. Or first try the demo, no account needed.