Проверьте все наши действия GitHub: https://actions.cicirello.org/
| Действия GitHub | |
|---|---|
| Статус сборки | |
| Источник информации | |
| Поддерживать |
Действие GENERATE-SITEMAP GITHUB генерирует карту сайта для веб-сайта, размещенного на страницах GitHub, и имеет следующие функции:
<lastmod> в записи SiteMap. Если файл был создан во время этого запуска рабочего процесса, но еще не преданный, то он вместо этого использует текущую дату (однако, мы рекомендуем, если это сначала совершить вновь созданные файлы).<meta name="robots" content="noindex"> , исключая все, что делает с карты сайта.Disallow: Правила для User-agent: * .index.html предпочтительный URL -адрес страницы заканчивается в каталоге округа, оставляя index.html . Например, вместо https://WEBSITE/PATH/index.html , карта сайта будет содержать https://WEBSITE/PATH/ в таком случае..html из URL -адресов, перечисленных в SiteMap.Действие Gethip-Sitemap GitHub предназначено для использования в сочетании с другими действиями GitHub. Например, он не совершает и не подталкивает сгенерированную карту сайта. Смотрите примеры примеров объединения с другими действиями в вашем рабочем процессе.
Действие Generate-Sitemap предназначено для сайтов GitHub Pages, так что репозиторий содержит HTML и т. Д. Самого сайта, независимо от того, был ли HTML генератор статического сайта или написан вручную. Например, я использую его для нескольких сайтов документации Java Project, где большая часть сайта генерируется Javadoc. Я также использую его с моим личным веб -сайтом, который генерируется с помощью пользовательского статического генератора сайтов. Пока репозиторий для сайта GitHub содержит сайт, который обслуживает (например, файлы HTML, файлы PDF и т. Д.), Применимо действие Generate Sitemap.
Действие Generate-Sitemap предназначено не для GitHub Pages Jekyll Sites (если вы не генерируете сайт локально и не нажимаете вывод HTML вместо отметки, но зачем вам это делать?). В случае сайта Github Pages Jekyll, репозиторий содержит уценку, а не HTML, который генерируется из отметки. Действие Generate-Sitemap не поддерживает этот вариант использования. Если вы хотите создать карту сайта для веб -сайта Jekyll, для этого есть плагин Jekyll.
Остальная часть документации организована в следующие разделы:
Это действие зависит от actions/checkout@v2 с помощью fetch-depth: 0 . Установка fetch-depth на 0 для проверки действия гарантирует, что действие generate-sitemap будет иметь доступ к истории коммита, которая используется для генерации тегов <lastmod> в файле sitemap.xml . Если вы вместо этого используете по умолчанию при применении действия оформления заказа, теги <lastmod> будут неверными. Так что обязательно включите следующее в качестве шага в свой рабочий процесс:
steps :
- name : Checkout the repo
uses : actions/checkout@v4
with :
fetch-depth : 0 path-to-root Путь к корню веб -сайта относительно корня хранилища. По умолчанию . в большинстве случаев уместно, например, всякий раз, когда корень вашего сайта является корнем самого репозитория. Если вы используете это для сайта GitHub Pages в каталоге docs , например, для веб -сайта документации, то просто передайте docs для этого ввода.
base-url-path Это URL на ваш сайт. Вы должны указать это, чтобы ваша карта сайта была значимой. По умолчанию по умолчанию https://web.address.of.your.nifty.website/ для демонстрационных целей.
include-html Этот флаг определяет, включены ли HTML -файлы в вашу карту сайта (файлы с расширением .html или .htm ). По умолчанию: true .
include-pdf Этот флаг определяет, включены ли PDF -файлы в вашу карту сайта. По умолчанию: true .
additional-extensions Если вы хотите включить URL-адреса в другие типы документов, вы можете использовать ввод additional-extensions для указания списка (разделенного пространствами) расширений файлов. Например, Google (и другие поисковые системы) индексируют множество других типов файлов, включая docx , doc , исходный код для различных общих языков программирования и т. Д. Вот пример:
- name : Generate the sitemap
uses : cicirello/generate-sitemap@v1
with :
additional-extensions : doc docx ppt pptxexclude-paths Действие автоматически исключит любые файлы или каталоги на основе файла robots.txt, если они присутствуют. Но если у вас есть дополнительные каталоги или отдельные файлы, которые вы хотите исключить из карты сайта, которые не заблокированы в противном случае, вы можете использовать ввод exclude-paths для указания их списка, разделенного любыми маточными символами. Например, если вы хотите исключить каталог /exclude-these а также отдельный файл /nositemap.html , вы можете использовать следующее:
- name : Generate the sitemap
uses : cicirello/generate-sitemap@v1
with :
exclude-paths : /exclude-these /nositemap.htmlЕсли у вас есть много таких случаев, чтобы исключить, ваш рабочий процесс может быть проще читать, если вы используете многострочную строку YAML, со следующим:
- name : Generate the sitemap
uses : cicirello/generate-sitemap@v1
with :
exclude-paths : >
/exclude-these
/nositemap.htmlsitemap-format Используйте это, чтобы указать формат карты сайта. По умолчанию: xml . sitemap.xml , сгенерированный по умолчанию, будет содержать даты LastMod, которые генерируются с использованием последних дат каждого файла. Установка этого ввода на что -либо, кроме xml будет генерировать простой текстовый sitemap.txt .
drop-html-extension Вход drop-html-extension предоставляет возможность исключить расширение .html из URL-адресов, перечисленных в карте сайта. По умолчанию- drop-html-extension: false . Если вы хотите использовать эту опцию, просто передайте drop-html-extension: true в действие в вашем рабочем процессе. GitHub Pages автоматически обслуживает соответствующий HTML -файл, если URL не имеет расширения файлов. Например, если пользователь вашего сайта просматривает URL, https://WEBSITE/PATH/filename (без расширения), страницы Github автоматически обслуживают https://WEBSITE/PATH/filename.html если он существует. Поведение по умолчанию действия generate-sitemap включает расширение .html для страниц, где имя файла имеет расширение .html . Если вы предпочитаете исключить расширение .html из URL-адресов в вашей карте сайта, то пройдите drop-html-extension: true действию в вашем рабочем процессе. Обратите внимание, что вы также должны убедиться, что любые канонические ссылки, которые вы перечисляете в файлах HTML, соответствуют вашему выбору здесь.
date-only date-only управляет тем, включают ли XML Site-карты, включают в себя полную дату и время в LastMod или только дату. По умолчанию date-only: false , который включает в себя полную дату и время в полях Lastmod. Если вы хотите только дату в LastMod, то используйте date-only: true .
sitemap-path Сгенерированная карта сайта помещается в корень веб -сайта. Этот выход является путем к сгенерированному файлу SiteMap относительно корня репозитория. Если вы не использовали ввод path-to-root , то этот вывод должен быть просто именем файла Sitemap ( sitemap.xml или sitemap.txt ).
url-countЭтот выход предоставляет количество URL -адресов в карте сайта.
excluded-count Этот вывод предоставляет количество URL -адресов, исключенных из карты сайта из -за либо <meta name="robots" content="noindex"> в файлах HTML, либо из -за исключения из директив в файле robots.txt .
Вы можете запустить действие с шагом в своем рабочем процессе, как это:
- name : Generate the sitemap
uses : cicirello/generate-sitemap@v1
with :
base-url-path : https://THE.URL.TO.YOUR.PAGE/В приведенном выше примере использовалась основная версия выпуска, которая гарантирует, что вы будете использовать последнюю выпуск уровня патчей, включая любые исправления ошибок и т. Д. Если вы предпочитаете, вы также можете использовать конкретную версию, такую как с: с:
- name : Generate the sitemap
uses : cicirello/[email protected]
with :
base-url-path : https://THE.URL.TO.YOUR.PAGE/ В этом примере рабочего процесса мы используем все входы по умолчанию, за исключением ввода base-url-path . Результатом будет файл sitemap.xml в корне репозитория. После завершения он просто повторяет выходы.
name : Generate xml sitemap
on :
push :
branches : [ main ]
jobs :
sitemap_job :
runs-on : ubuntu-latest
name : Generate a sitemap
steps :
- name : Checkout the repo
uses : actions/checkout@v4
with :
fetch-depth : 0
- name : Generate the sitemap
id : sitemap
uses : cicirello/generate-sitemap@v1
with :
base-url-path : https://THE.URL.TO.YOUR.PAGE/
- name : Output stats
run : |
echo "sitemap-path = ${{ steps.sitemap.outputs.sitemap-path }}"
echo "url-count = ${{ steps.sitemap.outputs.url-count }}"
echo "excluded-count = ${{ steps.sitemap.outputs.excluded-count }}" Этот пример рабочий процесс иллюстрирует, как вы можете использовать его для создания карты сайта для сайта страниц в каталоге docs репозитория. Он также демонстрирует исключение файлов pdf и настройку простой карты сайта.
name : Generate API sitemap
on :
push :
branches : [ main ]
jobs :
sitemap_job :
runs-on : ubuntu-latest
name : Generate a sitemap
steps :
- name : Checkout the repo
uses : actions/checkout@v4
with :
fetch-depth : 0
- name : Generate the sitemap
id : sitemap
uses : cicirello/generate-sitemap@v1
with :
base-url-path : https://THE.URL.TO.YOUR.PAGE/
path-to-root : docs
include-pdf : false
sitemap-format : txt
- name : Output stats
run : |
echo "sitemap-path = ${{ steps.sitemap.outputs.sitemap-path }}"
echo "url-count = ${{ steps.sitemap.outputs.url-count }}"
echo "excluded-count = ${{ steps.sitemap.outputs.excluded-count }}" В этом примере рабочего процесса мы добавляем различные дополнительные типы в карту сайта, используя вход additional-extensions . Обратите внимание, что это также включает в себя HTML-файлы и файлы PDF, так как рабочий процесс использует значения по умолчанию для include-html и include-pdf , которые оба по умолчанию в true .
name : Generate xml sitemap
on :
push :
branches : [ main ]
jobs :
sitemap_job :
runs-on : ubuntu-latest
name : Generate a sitemap
steps :
- name : Checkout the repo
uses : actions/checkout@v4
with :
fetch-depth : 0
- name : Generate the sitemap
id : sitemap
uses : cicirello/generate-sitemap@v1
with :
base-url-path : https://THE.URL.TO.YOUR.PAGE/
additional-extensions : doc docx ppt pptx xls xlsx
- name : Output stats
run : |
echo "sitemap-path = ${{ steps.sitemap.outputs.sitemap-path }}"
echo "url-count = ${{ steps.sitemap.outputs.url-count }}"
echo "excluded-count = ${{ steps.sitemap.outputs.excluded-count }}" Предположительно, вы хотите что -то сделать со своей картой Sitemap после ее создания. В этом примере рабочего процесса мы объединяем его с действием Peter-Evans/Create-Pull-request. Во-первых, действие cicirello/generate-sitemap генерирует карту сайта. И затем peter-evans/create-pull-request следят за изменениями, и если изменяющаяся карта сайта создаст запрос на притяжение.
name : Generate xml sitemap
on :
push :
branches : [ main ]
jobs :
sitemap_job :
runs-on : ubuntu-latest
name : Generate a sitemap
steps :
- name : Checkout the repo
uses : actions/checkout@v4
with :
fetch-depth : 0
- name : Generate the sitemap
id : sitemap
uses : cicirello/generate-sitemap@v1
with :
base-url-path : https://THE.URL.TO.YOUR.PAGE/
- name : Create Pull Request
uses : peter-evans/create-pull-request@v3
with :
title : " Automated sitemap update "
body : >
Sitemap updated by the [generate-sitemap](https://github.com/cicirello/generate-sitemap)
GitHub action. Automated pull-request generated by the
[create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action. Этот первый реальный пример от личного веб -сайта разработчика. Один из рабочих процессов, Generation Sitemap.yml, строго для создания карты сайта. Он работает на толчках либо *.html , либо *.pdf файлов в постановку этого репозитория. После генерации карты сайта он использует Peter-Evans/Create-Pull-Pull-Request для генерации запроса на вытяжение. Вы также можете заменить этот шаг на коммит и вместо этого натолкнуть. Вы можете найти полученную карту сайта здесь: sitemap.xml.
Следующий пример предназначен для веб-сайта документации библиотеки Chips-N-Salsa. Рабочий процесс Docs.yml работает на толкании и проводках любого *.java files. Он использует Maven для запуска Javadoc (например, с mvn javadoc:javadoc ). Затем он копирует сгенерированную документацию Javadoc в каталог docs , из которой обслуживается веб -сайт API. За этим следует еще одно действие Github, Cicirello/Javadoc-Cleanup, который делает несколько изменений на веб-сайт, созданный Javadoc для улучшения мобильного просмотра.
Затем он совершает любые изменения (без толкания), произведенных Javadoc и/или Javadoc-Cleanup. После выполнения этих коммитов, теперь он запускает действие Generate-Sitemap, чтобы сгенерировать карту сайта. Это происходит после совершения изменений сайта, чтобы даты Lastmod были точными. Наконец, он использует Peter-Evans/Create-Pull-Pull-Request, чтобы генерировать запрос на тягу. Вы также можете заменить этот шаг на коммит и вместо этого натолкнуть.
Вы можете найти полученную карту сайта здесь: sitemap.xml.
Действие generate-sitemap использует следующее:
Вот выбор сообщений в блоге о Generate-Sitemap на dev.to:
Вы можете поддержать проект несколькими способами:
generate-sitemap , рассмотрите возможность в главной роли в репозитории.Сценарии и документация для этого действия GitHub выпускаются по лицензии MIT.