Підтримка агентів

Примітки щодо дизайну для полегшення споживання контенту вебсайту OpenTelemetry агентами.

Примітки щодо дизайну для розширеної функції доставки контенту, зручної для агентів.

Узгодження типу вмісту Markdown

Використовуйте функцію Netlify Edge Function для надання готового файлу index.md, створеного Hugo, коли у запиті явно вказано або вказано надання переваги типу text/markdown.

Обґрунтування

  • Не кожна HTML-сторінка повинна мати еквівалент у форматі Markdown.
  • HTTP-узгодження належить до рівня доставки.
  • Функція може повертати звичайний HTML, якщо артефакт Markdown відсутній.

Правила

  • Розглядаються лише GET та HEAD.
  • Запити до .md та інших ресурсів, що не є сторінками, обходять узгодження.
  • Запити, схожі на сторінки, включають:
    • шляхи з косою рискою
    • шляхи без розширення
    • шляхи .../index.html
  • Markdown надається, коли text/markdown приймається з q більше нуля і його q більше або дорівнює найвищому q для text/html / application/xhtml+xml (рівні ваги обирають Markdown).
  • Символи-замінники, такі як */*, зазвичай ігноруються: значення q надають лише явно вказані типи медіа Markdown/HTML. Це консервативний підхід, який може бути переглянуто пізніше.
  • У разі відсутності Markdown використовується звичайна HTML-відповідь.
  • У відповідях, що узгоджуються, встановлюється Vary: Accept.
  • /search/ видає лише HTML, тому завжди використовується HTML.

Примітка щодо відповідності шляхів:

  • Зручні URL-адреси, такі як /docs/, відповідають файлу /docs/index.md, створеному Hugo;
  • index.html відповідає файлу .md, що знаходиться в тій же теці (наприклад, /docs/index.html/docs/index.md).
  • Інші шляхи .html залишаються для звичайних перенаправлень та маршрутизації Netlify: наприклад, Netlify перенаправляє /docs.html на /docs/.
  • config/_default/hugo.yaml увімкне виведення у форматі Markdown для цього сайту.
  • content/en/search.md налаштовує сторінку пошуку за допомогою outputs: [HTML].
  • netlify.toml підключає функцію Edge Function перед обробкою інших маршрутів.
  • netlify/edge-functions/markdown-negotiation/index.ts реалізує переговори; netlify/edge-functions/markdown-negotiation.ts — це заглушка входу Netlify, яка його експортує повторно.
Востаннє змінено December 26, 2024: [uk] Ukrainian documentation for OpenTelemetry (091c99cf)