{
 "name": "hrlm.blog, machineleesbare index",
 "url": "https://hrlm.blog",
 "generated": "2026-08-28T05:18:32Z",
 "content_changed": "2026-08-28T04:14:03Z",
 "timestamps": {
  "generated": "Wanneer deze build draaide. De site wordt bij elke inhoudswijziging opnieuw gebouwd, vaak meerdere keren per dag.",
  "content_changed": "De laatste echte wijziging in de Lemmid Manager achter de site; vergelijk deze om te beslissen of je moet herlezen.",
  "per_record": "Elk record draagt created en updated (Manager) en, voor verzamelde feiten, seen_at: de datum waarop HRLM het feit las bij de bron.",
  "sitemap_lastmod": "Uit de inhoud, nooit uit de bouwklok."
 },
 "about": "HRLM is de Haarlemse stadsglossy; hrlm.blog is de digitale editie: de verhalen uit het blad plus een dagelijks verzamelde agenda, een eigen restaurantcollectie met gelezen menukaarten, vacatures van Haarlemse werkgevers en gedateerde antwoorden op vragen over Haarlem. Alles Nederlands, sleutels Engels.",
 "language": "nl",
 "licence": "Citeer vrij, met bronvermelding en een link naar hrlm.blog (de url van het record).",
 "licence_en": "Quote freely with attribution and a link to hrlm.blog (the record's url).",
 "publisher": "Stichting HRLM",
 "counts": {
  "articles": 75,
  "guides": 5,
  "events": 1273,
  "restaurants": 356,
  "restaurants_with_menu": 149,
  "dishes": 8914,
  "dish_words": 127,
  "jobs": 317,
  "places": 23,
  "sponsors": 39,
  "questions": 335,
  "images": 275
 },
 "conventions": {
  "url": "Elk record draagt url: de menselijke pagina op hrlm.blog. Citeer die.",
  "source_url": "Externe herkomst van een verzameld feit (werkgever, podium, restaurant). Kaarten, tijden en tickets: altijd bij de bron.",
  "seen_at": "Verzamelde feiten dragen seen_at / menu_seen_at: de datum waarop HRLM ze las. Ouder dan een maand: controleer bij de bron.",
  "dates": "Datums Europe/Amsterdam, YYYY-MM-DD; tijdstempels ISO 8601 UTC.",
  "images": "Alleen afbeeldingen die hrlm.blog zelf publiceert."
 },
 "endpoints": [
  {
   "url": "https://hrlm.blog/agents/",
   "type": "text/html",
   "description": "Voordeur: wat dit is, licentie, alle surfaces"
  },
  {
   "url": "https://hrlm.blog/agents/index.json",
   "type": "application/json",
   "description": "Dit manifest"
  },
  {
   "url": "https://hrlm.blog/agents/openapi.json",
   "type": "application/json",
   "description": "Dezelfde surface als OpenAPI 3.1"
  },
  {
   "url": "https://hrlm.blog/llms.txt",
   "type": "text/plain",
   "description": "Gids voor taalmodellen"
  },
  {
   "url": "https://hrlm.blog/llms-full.txt",
   "type": "text/plain",
   "description": "Het hele corpus in één bestand (artikelen, gidsen, restaurants met kaarten, agenda 90 dagen, vacatures)"
  },
  {
   "url": "https://hrlm.blog/agents/changes.json",
   "type": "application/json",
   "description": "Alle wijzigingen van de laatste 30 dagen (ook als Atom: /agents/changes.atom)"
  },
  {
   "url": "https://hrlm.blog/sitemap.xml",
   "type": "application/xml",
   "description": "Alle pagina's met lastmod uit de inhoud"
  },
  {
   "url": "https://hrlm.blog/agents/sitemap-agents.xml",
   "type": "application/xml",
   "description": "Alle machinebestanden"
  },
  {
   "url": "https://hrlm.blog/agents/articles.json",
   "type": "application/json",
   "description": "Artikelen, metadata"
  },
  {
   "url": "https://hrlm.blog/agents/corpus.json",
   "type": "application/json",
   "description": "Artikelen, volledige tekst (markdown)"
  },
  {
   "url": "https://hrlm.blog/agents/corpus.md",
   "type": "text/markdown",
   "description": "Artikelen als één markdown-document"
  },
  {
   "url": "https://hrlm.blog/agents/topics.json",
   "type": "application/json",
   "description": "Rubrieken met hun artikelen"
  },
  {
   "url": "https://hrlm.blog/agents/feed.rss",
   "type": "application/rss+xml",
   "description": "Artikelen, RSS met volledige tekst"
  },
  {
   "url": "https://hrlm.blog/agents/feed.atom",
   "type": "application/atom+xml",
   "description": "Artikelen, Atom"
  },
  {
   "url": "https://hrlm.blog/agents/events.json",
   "type": "application/json",
   "description": "Agenda: alle komende evenementen met alle dagen"
  },
  {
   "url": "https://hrlm.blog/agents/events.ics",
   "type": "text/calendar",
   "description": "Agenda als iCalendar"
  },
  {
   "url": "https://hrlm.blog/agents/events.md",
   "type": "text/markdown",
   "description": "Agenda komende 90 dagen als lijst"
  },
  {
   "url": "https://hrlm.blog/agents/restaurants.json",
   "type": "application/json",
   "description": "Alle restaurants met adres, tijden, telefoon, reserveerlink en gelezen menukaart"
  },
  {
   "url": "https://hrlm.blog/agents/restaurants.md",
   "type": "text/markdown",
   "description": "Idem als markdown"
  },
  {
   "url": "https://hrlm.blog/agents/menus.json",
   "type": "application/json",
   "description": "Alle gerechten, één regel per gerecht, met menu_seen_at"
  },
  {
   "url": "https://hrlm.blog/agents/dishes.json",
   "type": "application/json",
   "description": "Gerecht -> restaurants (de 'waar eet ik'-index)"
  },
  {
   "url": "https://hrlm.blog/agents/jobs.json",
   "type": "application/json",
   "description": "Vacatures in Haarlem"
  },
  {
   "url": "https://hrlm.blog/agents/jobs.md",
   "type": "text/markdown",
   "description": "Vacatures als lijst"
  },
  {
   "url": "https://hrlm.blog/agents/places.json",
   "type": "application/json",
   "description": "Adressen uit het magazine"
  },
  {
   "url": "https://hrlm.blog/agents/sponsors.json",
   "type": "application/json",
   "description": "Samen HRLM: adverteerders"
  },
  {
   "url": "https://hrlm.blog/agents/organization.json",
   "type": "application/json",
   "description": "Wie HRLM is"
  },
  {
   "url": "https://hrlm.blog/agents/questions.json",
   "type": "application/json",
   "description": "Vragen met gedateerde, gesourcete antwoorden (ook als pagina's onder /vragen/)"
  },
  {
   "url": "https://hrlm.blog/agents/images.json",
   "type": "application/json",
   "description": "Alle gepubliceerde afbeeldingen met context"
  },
  {
   "url": "https://hrlm.blog/eten/{slug}/index.json",
   "type": "application/json",
   "description": "Per restaurant, naast de pagina (ook index.md)"
  },
  {
   "url": "https://hrlm.blog/{yyyy}/{mm}/{dd}/{slug}/index.json",
   "type": "application/json",
   "description": "Per artikel, naast de pagina (ook index.md)"
  },
  {
   "url": "https://hrlm.blog/eten/gerecht/{word}/index.json",
   "type": "application/json",
   "description": "Per gerecht"
  },
  {
   "url": "https://hrlm.blog/vragen/{slug}/index.json",
   "type": "application/json",
   "description": "Per vraag"
  }
 ]
}