keep files private while you work on them. drafts are hidden from your public site, RSS feed, search results, and sitemap.

how to mark files as drafts

tinydot supports three ways to mark files as drafts:

1. frontmatter (recommended)

add draft: true to your file's frontmatter:

---
title: My Draft Post
draft: true
---

# Work in progress

This won't appear on the public site.

use this when: you want to explicitly mark a specific file as draft

2. underscore prefix

name your file starting with an underscore:

_my-draft-post.md
_work-in-progress.txt

use this when: you want a quick visual indicator in your file browser

note: only works for markdown and text files (.md, .markdown, .txt)

3. drafts folder

create a folder named drafts and put files inside:

/drafts/
  my-draft-post.md
  another-draft.md

use this when: you want to keep all drafts organized in one place

note: all files inside a drafts folder are hidden, regardless of their name or frontmatter

where drafts are hidden

draft files will not appear in:

  • folder listings on your site
  • archive page
  • RSS feed
  • sitemap
  • search results
  • direct URL access (returns 404)

working with drafts

drafts are synced to tinydot just like regular files - they're stored in the database but filtered from public view. this means you can:

  • edit drafts in any app
  • see them in your local file browser
  • sync them across devices
  • convert them to public by removing the draft marker

converting drafts to public

to publish a draft:

frontmatter method: remove or change draft: true to draft: false

underscore method: rename the file to remove the leading underscore

drafts folder method: move the file out of the drafts folder

tinydot will automatically update the file's status on the next sync.

tips

  • combine methods: use a drafts folder AND frontmatter for extra clarity
  • drafts folder appears in sitemap but shows 0 entries (this is normal)
  • you can have nested folders inside drafts - all files are hidden
  • draft status is computed during sync - changes take effect after sync completes