llms.txt для Eleventy (11ty)
Система шаблонов Eleventy упрощает создание llms.txt: используйте обычный текстовый файл с ключом permalink во front matter или перебирайте коллекции, чтобы автоматически создавать ссылки из своего контента.
Последнее обновление:
Вариант 1: шаблон простого текста
Создайте файл по адресу src/llms.txt (или откуда-либо в каталоге входных данных). Добавьте
permalink ключ в YAML front matter, чтобы управлять путём вывода. Eleventy обработает
файл и запишет его в _site/llms.txt.
---
permalink: /llms.txt
eleventyExcludeFromCollections: true
---
# Your Site
> One-sentence description of what your site or product does.
## Documentation
- [Getting Started](https://yoursite.com/docs/start): Install and configure in minutes.
- [API Reference](https://yoursite.com/docs/api): Full endpoint catalog with examples.
## Product
- [Overview](https://yoursite.com/product): Core features and capabilities.
- [Pricing](https://yoursite.com/pricing): Plans and billing details.
## Optional
- [Changelog](https://yoursite.com/changelog): Release history.
- [GitHub](https://github.com/your-org/your-repo): Source code.
// eleventy.config.js
module.exports = function (eleventyConfig) {
// Add passthrough copy for any assets you want served verbatim
// llms.txt is handled via permalink in the template, no passthrough needed
// Optional: add a collection for docs
eleventyConfig.addCollection('docs', function (collectionApi) {
return collectionApi.getFilteredByGlob('src/docs/**/*.md');
});
// Ensure .txt files are processed as templates
return {
templateFormats: ['md', 'njk', 'html', 'txt'],
dir: {
input: 'src',
output: '_site',
},
};
};
Вариант 2: генерировать из коллекций
Если ваша документация организована как коллекции Eleventy (файлы Markdown с frontmatter), вы
можете перебрать коллекцию внутри шаблона и автоматически создать список ссылок. Используйте эту ---js синтаксис метаданных для конфигурации на основе JavaScript или синтаксис шаблонов Nunjucks/Liquid
для основного содержимого.
---js
{
permalink: "/llms.txt",
eleventyExcludeFromCollections: true
}
---
# Your Site
> {{ site.description }}
## Documentation
{% for doc in collections.docs | sort(attribute='data.order') -%}
- [{{ doc.data.title }}]({{ site.url }}{{ doc.url }}): {{ doc.data.description }}
{% endfor %}
site.url глобальная переменная данных должна быть установлена в вашем _data/site.js или _data/site.json файл. Убедитесь, что все ссылки используют
абсолютные URL: относительные пути не будут корректно разрешаться при загрузке сканерами ИИ.
Настройка постоянных ссылок
Основные параметры frontmatter для вашего llms.txt шаблон:
-
permalink: /llms.txt, выведите файл в корневой каталог своего сайта. -
eleventyExcludeFromCollections: true, файл не появляется в коллекциях вашего сайта (навигации, лентах, картах сайта). -
layout: false, гарантирует отсутствие оболочки макета (она не нужна, поскольку.txtфайлы по умолчанию не используют HTML-макеты).
Проверить
Запустите сборку Eleventy и проверьте результат:
# Build
npx @11ty/eleventy
# Check that the file was generated
cat _site/llms.txt | head -5
# After deploying, verify the live URL
curl -I https://yoursite.com/llms.txt
# Expected: content-type: text/plain; charset=utf-8 Связанные руководства
- Как создать llms.txt, шаблоны и контрольный список.
- Справочник формата llms.txt, подробности спецификации.
- Руководство по Hugo, аналогичный подходу статического генератора сайтов.
- Руководство по Gatsby, статическая генерация на React.
- Валидатор · Генератор.