English (en) | Deutsch (de) | Español (es) | Français (fr) | 日本語 (ja) | 한국어 (ko) | Português (pt-BR) | Português (pt) | Русский (ru) | 简体中文 (zh-CN) | 繁體中文 (zh-TW) |
O GitHub Action cria um calendário de contribuições do GitHub em uma imagem de perfil 3D.
O GitHub Action gera o seu calendário de contribuições 3D do GitHub e faz o commit no seu repositório. Depois de adicionar o GitHub Action, o workflow roda automaticamente uma vez ao dia. Você também pode executar o workflow manualmente.
Crie um repositório no GitHub com o mesmo nome do seu nome de usuário.
- Por exemplo, se o nome de usuário for
octocat, crie um repositório chamadooctocat/octocat. - Confira: Gerenciando seu README de perfil
Siga os passos abaixo nesse repositório.
Crie um arquivo de workflow como o exemplo abaixo:
.github/workflows/profile-3d.yml
name: GitHub-Profile-3D-Contrib
on:
schedule: # 03:00 JST == 18:00 UTC
- cron: "0 18 * * *"
workflow_dispatch:
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
name: generate-github-profile-3d-contrib
steps:
- uses: actions/checkout@v5
- uses: yoshi389111/github-profile-3d-contrib@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
USERNAME: ${{ github.repository_owner }}
- name: Commit & Push
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git add -A .
if git commit -m "generated"; then
git push
fiNote
Você pode alterar as configurações da sua conta no GitHub para incluir contribuições de repositórios privados. Para mudar essa opção, clique em Configurações de contribuição no canto superior direito do calendário padrão de contribuições, ou clique no seu ícone no canto superior direito da tela, vá em Configurações ⇒ Perfil público ⇒ Contribuições & Atividade, e marque Incluir contribuições privadas no meu perfil.
Se você quiser incluir atividades adicionais de repositórios privados, registre um token de acesso pessoal como segredo e defina ele na variável de ambiente GITHUB_TOKEN dentro do arquivo de workflow. Porém, na maioria dos casos, o secrets.GITHUB_TOKEN padrão já é suficiente.
O agendamento é definido para rodar uma vez por dia por padrão. Você pode mudar o horário como quiser.
Isso vai adicionar o workflow ao seu repositório.
No exemplo, apenas GITHUB_TOKEN e USERNAME sestão definidos como variáveis de ambiente, mas você pode usar as seguintes:
GITHUB_TOKEN: (obrigatório) token de acessoUSERNAME: (obrigatório) nome de usuário alvo (ou especifique como argumento).MAX_REPOS: (opcional) número máximo de repositórios, padrão é 100 — desde a versão 0.2.0SETTING_JSON: (opcional) caminho para o arquivo JSON de configurações. Vejasample-settings/*.jsonesrc/type.tsno repositórioyoshi389111/github-profile-3d-contribpara mais detalhes — desde a versão 0.6.0GITHUB_ENDPOINT: (opcional) endpoint GraphQL do GitHub. Por exemplo, se você quiser criar o calendário de contribuições baseado no GitHub Enterprise da sua empresa em vez do GitHub.com, defina essa variável. Exemplo:https://github.mycompany.com/api/graphql— desde a versão 0.8.0YEAR: (opcional) para gerar calendários de anos anteriores, especifique o ano. Essa opção é pensada principalmente para quando a ferramenta é executada via linha de comando — desde a versão 0.8.0
O secrets.GITHUB_TOKEN definido na variável de ambiente GITHUB_TOKEN no exemplo é um token de acesso especial criado automaticamente pelo GitHub.
Se você quiser gerar um calendário de contribuições apenas com repositórios públicos, use esse token mesmo. Não é necessário criar um segredo manualmente.
Se quiser incluir a atividade dos seus repositórios privados no calendário de contribuições, marque "Incluir contribuições privadas no meu perfil" na seção "Configurações de perfil", dentro de "Perfil público", nas configurações do seu perfil.
Além disso, se quiser incluir informações adicionais de atividade de repositórios privados, crie um token de acesso com as permissões apropriadas. Registre esse token como um segredo com qualquer nome que você preferir (por exemplo, MY_PERSONAL_ACCESS_TOKEN).
No entanto, observe que segredos criados pelo usuário não podem começar com GITHUB_.
- GitHub Docs: Segredos
Depois disso, defina esse segredo como valor da variável de ambiente GITHUB_TOKEN.
env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ GITHUB_TOKEN: ${{ secrets.MY_PERSONAL_ACCESS_TOKEN }}
USERNAME: ${{ github.repository_owner }}No exemplo, o início está definido para as 18:00 UTC. Isso porque esse horário corresponde à meia-noite no fuso horário JST, que é o fuso horário local do autor.
on:
schedule: # 03:00 JST == 18:00 UTC
- cron: "0 18 * * *"Você pode alterar para qualquer horário que quiser. Recomendamos agendar por volta da meia-noite (entre 0h e 3h) no seu horário local. No entanto, lembre-se de que o horário deve ser especificado em UTC.
Na primeira vez, execute esse workflow manualmente.
Actions->GitHub-Profile-3D-Contrib->Run workflow
As imagens de perfil são geradas nos seguintes caminhos:
profile-3d-contrib/profile-green-animate.svgprofile-3d-contrib/profile-green.svgprofile-3d-contrib/profile-season-animate.svgprofile-3d-contrib/profile-season.svgprofile-3d-contrib/profile-south-season-animate.svgprofile-3d-contrib/profile-south-season.svgprofile-3d-contrib/profile-night-view.svgprofile-3d-contrib/profile-night-green.svgprofile-3d-contrib/profile-night-rainbow.svgprofile-3d-contrib/profile-gitblock.svg
Se você definir a variável de ambiente SETTING_JSON sem a propriedade fileName no arquivo json, a seguinte imagem será gerada:
profile-3d-contrib/profile-customize.svg
Você pode usar essas imagens no seu README.md, como mostrado abaixo:
Exemplo: versão verde
Exemplo: versão de estação (Hemisfério Norte.)
Exemplo: versão de estação (Hemisfério Sul.)
Exemplo: versão visão noturna
Exemplo: versão verde noturna
Exemplo: versão arco-íris noturna
Exemplo: versão git block
Adicione o caminho da imagem gerada no seu arquivo README.md.
Exemplo:
Defina a variável de ambiente GITHUB_TOKEN com o seu token de acesso pessoal.
export GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXXXExecute o seguinte comando, substituindo USER_NAME pelo seu nome de usuário do GitHub ou o nome de usuário alvo:
node_modules/.bin/ts-node src/index.ts USER_NAMEou
npm run build
node . USER_NAME© 2021 SATO Yoshiyuki. Licenciado sob a Licença MIT.