Confira todas as nossas ações do github: https://actions.cicirello.org/
| Ações do GitHub | |
|---|---|
| Construir status | |
| Informações da fonte | |
| Apoiar |
A ação Gerate-Sitemap Github gera um sitemap para um site hospedado nas páginas do GitHub e possui os seguintes recursos:
<lastmod> na entrada do Sitemap. Se o arquivo foi criado durante esse fluxo de trabalho, mas ainda não está comprometido, ele usará a data atual (no entanto, recomendamos, se possível, cometer os arquivos recém -criados primeiro).<meta name="robots" content="noindex"> diretivos, excluindo qualquer um que faça no sitemap.Disallow: regras para User-agent: * .index.html , o URL preferido para a página termina com o diretório de anexo, deixando de fora o index.html . Por exemplo, em vez de https://WEBSITE/PATH/index.html , o sitemap conterá https://WEBSITE/PATH/ nesse caso..html dos URLs listados no sitemap.A ação Gerate-Sitemap Github foi projetada para ser usada em combinação com outras ações do GitHub. Por exemplo, ele não compromete e empurra o mapa do site gerado. Veja os exemplos para obter exemplos de combinação com outras ações em seu fluxo de trabalho.
A ação Gerate-Sitemap é para sites de páginas do GitHub, de modo que o repositório contenha o HTML, etc. do próprio site, independentemente de o HTML ser ou não ser gerado por um gerador de local estático ou escrito à mão. Por exemplo, eu o uso para vários sites de documentação do projeto Java, onde a maior parte do site é gerada pelo Javadoc. Eu também o uso com meu site pessoal, que é gerado com um gerador de site estático personalizado. Enquanto o repositório do site do Github Pages contiver o site como servido (por exemplo, arquivos HTML, arquivos PDF, etc.), a ação Gerate-Sitemap é aplicável.
A ação Gerate-Sitemap não é para as páginas do Github Sites Jekyll (a menos que você gere o site localmente e pressione a saída HTML em vez da marcação, mas por que você faria isso?). No caso de um site Jekyll Pages Github, o repositório contém o Markdown, e não o HTML gerado a partir do Markdown. A ação Gerate-Sitemap não suporta esse caso de uso. Se você deseja gerar um sitemap para um site da Jekyll, há um plug -in Jekyll para isso.
O restante da documentação está organizado nas seções a seguir:
Esta ação depende de actions/checkout@v2 com fetch-depth: 0 . Definir a fetch-depth para 0 para a ação de check-out garante que a ação generate-sitemap tenha acesso ao histórico de commit, que é usado para gerar as tags <lastmod> no arquivo sitemap.xml . Se você usar o padrão ao aplicar a ação de check -out, as tags <lastmod> estarão incorretas. Portanto, não se esqueça de incluir o seguinte como uma etapa no seu fluxo de trabalho:
steps :
- name : Checkout the repo
uses : actions/checkout@v4
with :
fetch-depth : 0 path-to-root O caminho para a raiz do site em relação à raiz do repositório. Padrão . é apropriado na maioria dos casos, como sempre que a raiz do seu site de páginas é a raiz do próprio repositório. Se você estiver usando isso para um site de páginas do Github no diretório docs , como para um site de documentação, basta passar docs para essa entrada.
base-url-path Este é o URL do seu site. Você deve especificar isso para que seu sitemap seja significativo. Padrão para https://web.address.of.your.nifty.website/ para fins de demonstração.
include-html Esse sinalizador determina se os arquivos HTML estão incluídos no seu sitemap (arquivos com uma extensão de .html ou .htm ). Padrão: true .
include-pdf Esse sinalizador determina se os arquivos PDF estão incluídos no seu sitemap. Padrão: true .
additional-extensions Se você deseja incluir URLs em outros tipos de documentos, pode usar a entrada additional-extensions para especificar uma lista (separada por espaços) das extensões de arquivo. Por exemplo, o Google (e outros mecanismos de pesquisa) indexam uma variedade de outros tipos de arquivos, incluindo docx , doc , código -fonte para várias linguagens de programação comuns, etc. Aqui está um exemplo:
- name : Generate the sitemap
uses : cicirello/generate-sitemap@v1
with :
additional-extensions : doc docx ppt pptxexclude-paths A ação excluirá automaticamente quaisquer arquivos ou diretórios com base em um arquivo robots.txt, se presente. Mas se você possui diretórios adicionais ou arquivos individuais que deseja excluir do sitemap que não estão bloqueados, poderá usar a entrada exclude-paths para especificar uma lista deles, separados por quaisquer caracteres de espaço em branco. Por exemplo, se você deseja excluir o diretório /exclude-these bem como o arquivo individual /nositemap.html , você pode usar o seguinte:
- name : Generate the sitemap
uses : cicirello/generate-sitemap@v1
with :
exclude-paths : /exclude-these /nositemap.htmlSe você tiver muitos desses casos para excluir, seu fluxo de trabalho pode ser mais fácil de ler se você usar uma string multi-line YAML, com o seguinte:
- name : Generate the sitemap
uses : cicirello/generate-sitemap@v1
with :
exclude-paths : >
/exclude-these
/nositemap.htmlsitemap-format Use isso para especificar o formato Sitemap. Padrão: xml . O sitemap.xml gerado pelo padrão conterá datas do último mod que são geradas usando as últimas datas de confirmação de cada arquivo. Definir essa entrada para qualquer coisa que não seja xml gerará um sitemap.txt de texto sem formatação.txt simplesmente listando os URLs.
drop-html-extension A entrada drop-html-extension fornece a opção para excluir a extensão .html dos URLs listados no sitemap. O padrão é drop-html-extension: false . Se você deseja usar esta opção, basta passar drop-html-extension: true à ação no seu fluxo de trabalho. As páginas do GitHub servem automaticamente o arquivo HTML correspondente se a URL não tiver extensão de arquivo. Por exemplo, se um usuário do seu site navega para o URL, https://WEBSITE/PATH/filename (sem extensão), as páginas do GitHub servem automaticamente https://WEBSITE/PATH/filename.html se houver. O comportamento padrão da ação generate-sitemap inclui a extensão .html para páginas em que o nome do arquivo tem a extensão .html . Se você preferir excluir a extensão .html dos URLs em seu sitemap, passe drop-html-extension: true à ação no seu fluxo de trabalho. Observe que você também deve garantir que todos os links canônicos listem dentro dos arquivos HTML correspondam à sua escolha aqui.
date-only A entrada date-only controla se os sitemaps XML incluem a data e a hora completas no LastMod, ou apenas a data. O padrão é date-only: false , que inclui a data e a hora completas nos campos do LastMod. Se você deseja apenas a data no LastMod, use date-only: true .
sitemap-path O mapa do site gerado é colocado na raiz do site. Esta saída é o caminho para o arquivo Sitemap gerado em relação à raiz do repositório. Se você não usou a entrada path-to-root , essa saída deve ser simplesmente o nome do arquivo sitemap ( sitemap.xml ou sitemap.txt ).
url-countEsta saída fornece o número de URLs no mapa do site.
excluded-count Esta saída fornece o número de URLs excluídos do sitemap devido a <meta name="robots" content="noindex"> dentro de arquivos html ou devido à exclusão das diretivas em um arquivo robots.txt .
Você pode executar a ação com uma etapa no seu fluxo de trabalho assim:
- name : Generate the sitemap
uses : cicirello/generate-sitemap@v1
with :
base-url-path : https://THE.URL.TO.YOUR.PAGE/No exemplo acima, a versão de liberação principal foi usada, o que garante que você use a versão mais recente do nível do patch, incluindo correções de bugs, etc. Se preferir, também pode usar uma versão específica, como:
- name : Generate the sitemap
uses : cicirello/[email protected]
with :
base-url-path : https://THE.URL.TO.YOUR.PAGE/ Neste exemplo de fluxo de trabalho, usamos todas as entradas padrão, exceto a entrada base-url-path . O resultado será um arquivo sitemap.xml na raiz do repositório. Após a conclusão, simplesmente ecloda as saídas.
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 }}" Este exemplo de fluxo de trabalho ilustra como você pode usá -lo para gerar um sitemap para um site de páginas no diretório docs do repositório. Também demonstra excluindo arquivos pdf e configurando um sitemap de texto simples.
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 }}" Neste exemplo de fluxo de trabalho, adicionamos vários tipos adicionais ao sitemap usando a entrada additional-extensions . Observe que isso também inclui arquivos HTML e arquivos PDF, pois o fluxo de trabalho está usando os valores padrão para include-html e include-pdf , que ambos são padrão para 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 }}" Presumivelmente, você deseja fazer algo com seu sitemap depois de gerado. Neste exemplo de fluxo de trabalho, combinamos-o com a ação Peter-Evans/Create-Pull-Request. Primeiro, a ação cicirello/generate-sitemap gera o mapa do site. E então os monitores peter-evans/create-pull-request para alterações e se o sitemap alterado criará uma solicitação de tração.
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. Este primeiro exemplo real é do site pessoal do desenvolvedor. Um dos fluxos de trabalho, o sitemap geração.yml, é estritamente para gerar o mapa do site. Ele é executado em pressões de arquivos *.html ou *.pdf para a ramificação de estadiamento deste repositório. Depois de gerar o mapa do site, ele usa Peter-Evans/Create-Pull-Request para gerar uma solicitação de tração. Você também pode substituir essa etapa por uma confirmação e pressionar. Você pode encontrar o sitemap resultante aqui: sitemap.xml.
Este próximo exemplo é para o site de documentação da biblioteca Chips-N-Salsa. O fluxo de trabalho do docs.yml é executado nas solicitações de push e pull de ambos os arquivos *.java . Ele usa o Maven para executar o Javadoc (por exemplo, com mvn javadoc:javadoc ). Em seguida, ele copia a documentação Javadoc gerada para o diretório docs , a partir do qual o site da API é servido. Isto é seguido por outra ação do Github, Cicirello/Javadoc-C-C-C-C-CLEANS, que faz algumas edições no site gerado por Javadoc para melhorar a navegação móvel.
Em seguida, ele comete quaisquer alterações (sem empurrar ainda) produzidas por Javadoc e/ou Javadoc-C-C-C-C-CLEAN. Depois de executar esses compromissos, agora ele executa a ação Gerate-Sitemap para gerar o sitemap. Faz isso depois de cometer o Site Altera para que as datas do LastMod sejam precisas. Finalmente, ele usa Peter-Evans/Create-Pull-Request para gerar uma solicitação de tração. Você também pode substituir essa etapa por uma confirmação e pressionar.
Você pode encontrar o sitemap resultante aqui: sitemap.xml.
A ação generate-sitemap usa o seguinte:
Aqui está uma seleção de postagens no blog sobre Gereate-Sitemap no dev.to:
Você pode apoiar o projeto de várias maneiras:
generate-sitemap , considere estrelar o repositório.Os scripts e a documentação para esta ação do GitHub são divulgados sob a licença do MIT.