{
 "site": "https://txtfirst.com",
 "generated": "2026-09-07",
 "pages": [
  {
   "slug": "index",
   "title": "txtfirst",
   "description": "A proposal for websites where the markdown file is the page and the HTML is only a rendering of it. Readable by agents by default, readable by people as a consequence.",
   "html": "https://txtfirst.com/#index",
   "markdown": "https://txtfirst.com/index.md",
   "json": "https://txtfirst.com/api/index.json",
   "bytes": 4446,
   "sha256": "bd94f3c64155d679799d16616a528a2d4fae4875e3f70a3159eb50179890a5dc",
   "updated": "2026-09-07"
  },
  {
   "slug": "spec",
   "title": "txtfirst spec 0.1",
   "description": "Four requirements that make a site txtfirst compliant. Source of truth in markdown, content negotiation, discovery, and machine-legible figures.",
   "html": "https://txtfirst.com/#spec",
   "markdown": "https://txtfirst.com/spec.md",
   "json": "https://txtfirst.com/api/spec.json",
   "bytes": 3683,
   "sha256": "92b4fbaa91c30c027274f5d056a4d80962ab9dfa5df07d6e0e6f0d9b3926582b",
   "updated": "2026-09-04"
  },
  {
   "slug": "dialect",
   "title": "The Fact Block dialect",
   "description": "Eight fields in a fixed order inside ordinary markdown. Not a new syntax, a rigid shape, so a model copies it instead of interpreting it.",
   "html": "https://txtfirst.com/#dialect",
   "markdown": "https://txtfirst.com/dialect.md",
   "json": "https://txtfirst.com/api/dialect.json",
   "bytes": 6284,
   "sha256": "7fe5505aa908cbefeacf5ed43a879d422820dba4bb298987ab476eaecadcd68f",
   "updated": "2026-09-04"
  },
  {
   "slug": "why",
   "title": "Why txtfirst",
   "description": "The case for markdown as the source of truth, the three arguments that hold, and the two common ones that do not.",
   "html": "https://txtfirst.com/#why",
   "markdown": "https://txtfirst.com/why.md",
   "json": "https://txtfirst.com/api/why.json",
   "bytes": 4868,
   "sha256": "fea38d4ff6ccd3390c6185db9eafefd096e1a0c4b26c6b2cdf7cac33d4299823",
   "updated": "2026-09-06"
  },
  {
   "slug": "measure",
   "title": "The September 2026 readability study",
   "description": "Twenty five hospitality homepages asked for their front page by an honestly identified HTTP client. Eight answered. Method, per-site results and limitations.",
   "html": "https://txtfirst.com/#measure",
   "markdown": "https://txtfirst.com/measure.md",
   "json": "https://txtfirst.com/api/measure.json",
   "bytes": 8189,
   "sha256": "f74e56f3b1402e0c922494a44f492bc507de94fb26184252557ccd0d3299ea8b",
   "updated": "2026-09-04"
  },
  {
   "slug": "implement",
   "title": "Implement txtfirst",
   "description": "Content negotiation for Cloudflare Workers and Pages, nginx, Apache, Vercel, Astro, WordPress and plain HTML, plus the build step and one system running it.",
   "html": "https://txtfirst.com/#implement",
   "markdown": "https://txtfirst.com/implement.md",
   "json": "https://txtfirst.com/api/implement.json",
   "bytes": 32779,
   "sha256": "98f449e5f7a6433d31edd18676516268165b25cb139d06b43c06a5f28980df9f",
   "updated": "2026-09-07"
  },
  {
   "slug": "probe",
   "title": "The txtfirst probe",
   "description": "What TxtFirstProbe is, what it requests, how to block it, and how to reach a human about it.",
   "html": "https://txtfirst.com/#probe",
   "markdown": "https://txtfirst.com/probe.md",
   "json": "https://txtfirst.com/api/probe.json",
   "bytes": 2468,
   "sha256": "6b1837492cd966121ee67c5dd8aff7e4dea2c13e40902eb65cba7822f558b10e",
   "updated": "2026-09-04"
  },
  {
   "slug": "agent",
   "title": "If you are an agent",
   "description": "Instructions in the second person for a program reading this site. What to fetch, how to check another site, how to poll for changes, and what not to do.",
   "html": "https://txtfirst.com/#agent",
   "markdown": "https://txtfirst.com/agent.md",
   "json": "https://txtfirst.com/api/agent.json",
   "bytes": 2492,
   "sha256": "0aa6d675ba47b102194824bf55d2cb6b12ec18c7a24e8e772516a44939f6a919",
   "updated": "2026-09-06"
  },
  {
   "slug": "about",
   "title": "About txtfirst",
   "description": "Who is behind the proposal, what it is not, and how it is funded.",
   "html": "https://txtfirst.com/#about",
   "markdown": "https://txtfirst.com/about.md",
   "json": "https://txtfirst.com/api/about.json",
   "bytes": 1535,
   "sha256": "fff15622f638ea46858945b36a4f7fb53c47fe176dcb8deb69a0fe3155f2d0d3",
   "updated": "2026-09-06"
  },
  {
   "slug": "contact",
   "title": "Contact",
   "description": "How to reach the author of txtfirst, and what kind of message gets a reply.",
   "html": "https://txtfirst.com/#contact",
   "markdown": "https://txtfirst.com/contact.md",
   "json": "https://txtfirst.com/api/contact.json",
   "bytes": 1457,
   "sha256": "0c9f7799b63d67ef1fad5fef8517f37d962ff7fe15a6edaac6edac38229f5f18",
   "updated": "2026-09-06"
  }
 ]
}