Most projects start as markdown that Dashtxtastic renders for you. An HTML project is the other kind: you already have a finished web page (an export from another tool, a page an AI assistant built for you, a hand-written one-pager) and you want it hosted behind the same share link, access code, and expiry that a rendered dashboard gets. Dashtxtastic stores the file exactly as you uploaded it and serves those exact bytes.
You need to be signed in.
The short version
- Open
/upload. - Drop one or more
.html(or.htm) files. Do not mix them with.mdfiles. - Confirm the project name and click "Upload as project".
- On the project page, open "Share" and copy the
/s/...link.
What is different from a markdown project
| Markdown project | HTML project | |
|---|---|---|
| What you upload | .md or .txt |
.html or .htm |
| What gets published | A page Dashtxtastic renders from your markdown | Your file, byte for byte |
| Render mode, brand kit | Yes | Not available; the look is whatever your file says |
| AI agent | Yes | Yes, on the page's HTML. Its edits publish immediately |
| In-app editor, Publish button, History | Yes | Not available; change the page by re-uploading or by asking the agent |
| Share links, access codes, expiry, view counts | Yes | Yes, identical |
| Reviewer comments on the shared page | Yes | Not available |
The project list and dashboard show HTML where a markdown project would show its render mode.
Step by step
Upload
On /upload, drop your .html files. As soon as the first one lands, the page switches into HTML mode: the render-mode pickers and the brand kit dropdown disappear, and a note confirms that each page will be published exactly as uploaded. If you then drop a .md file it is skipped with a message; start a separate project for markdown.
File names are tidied the same way as markdown uploads (lowercase, spaces to hyphens, .htm becomes .html). "Passkeys Proposal.html" is stored as passkeys-proposal.html.
If your page has a <title>, it is used as the project description so the dashboard tile has something to show. You can type your own description instead.
Several pages that link to each other
Upload them together. Relative links between them keep working on the shared site: a link to appendix.html inside index.html resolves to /s/{your-slug}/appendix.html. Mark the page visitors should land on as the main file (the radio button in the upload list, or the star in the file tree afterwards).
Update a page
Two ways.
Re-upload. Open the project, click "+ upload" in the file tree, and pick the new version of the file. Same name replaces the page; a new name adds a page. Each replacement is a new version, and the share link serves the latest one immediately.
Ask the AI agent. Click Ask AI in the bottom-right corner and describe the change ("make the tile grid stack on mobile", "fix the unclosed table row"). The agent reads the page's HTML and rewrites it.
One important difference from a markdown project: an HTML project has no draft, so the agent's edits go live the moment it writes. There is no preview-then-publish step. The previous version is kept, so ask the agent to put something back if a change is not what you wanted. On a big change, say what you want first and let it describe the plan before it writes.
The agent leaves your page's own scripts, fonts, and external references alone unless you ask it to change them, and it will not restyle the page to match a Dashtxtastic render mode.
Share
"Share" on the project page works exactly as for a rendered dashboard: a public /s/{slug} link, an optional access code, a 30-day expiry you can extend, and a view counter. See view-a-project.md for the sharing details.
What Dashtxtastic changes in your file
One thing. When the page is served, a single <base href="/s/{slug}/"> tag is inserted right after <head> so that relative links to sibling pages resolve under your share link. Nothing else is added or removed: no header chip, no favicon, no scripts.
Scripts, fonts, and safety
Your page may include scripts, external fonts, and external stylesheets; they run and load as written. To keep a shared page from reaching anything that belongs to Dashtxtastic (your session, other people's projects), every HTML project is served inside a browser sandbox. In practice this means the page runs as if it were on its own anonymous site: localStorage and cookies are not available to it, and it cannot call Dashtxtastic on your behalf. Pages that guard their storage calls with try/catch work normally.
Troubleshooting
- "files must all be markdown or all be html". You dropped a mix. A project is one type or the other.
- The page looks different from the file on my machine. Check the browser console for blocked resources. Fonts and stylesheets on other hosts must be reachable from the viewer's network.
- Links to my other pages 404. The target must be in the same project and the link must be relative (
appendix.html, not/appendix.htmlor a full URL to your own machine). - I want to edit the text. There is no in-app editor for HTML projects, but you have two options: ask the AI agent to make the change (its edits publish immediately), or edit the file where you built it and re-upload.