Tengo un problema para obtener datos de codeforces en mi perfil de github. No puedo agregar un código js al archivo readme.md para obtener datos de codeforces. Cuando intento escribir un código js como este, aparece como un texto.
<script> fetch('https://codeforces.com/api/user.status?handle=sadeen&from=1&count=10').then(response => response.json()).then(characters => showCharacters(characters.results)); showCharacters = characters => { const charactersDiv = document.querySelector('#rick-and-morty- characters'); characters.forEach(character => { const characterElement = document.createElement('p'); characterElement.innerText = `Character Name: ${character.name}`; charactersDiv.append(characterElement); }); } </script>No llamaría a un programa javascript directamente desde un perfil README.md .
Pero puede configurar una acción de GitHub para actualizar dicho README.md , y esa acción puede llamar cualquier cosa.
Véase, por ejemplo, " Autoactualización del perfil de GitHub README con JavaScript " de Dan Curtis .
GitHub lanzó recientemente una función que permite a los usuarios agregar rebajas a su perfil.
La gente ha hecho algunas cosas geniales, lo que me inspiró a crear un README que se actualiza dinámicamente con mis publicaciones de Dev.to.
GitHub Actions y NodeJS lo hacen fácil.
Creé un script para:
- Obtener mis artículos Dev.to
- Analizar mi
README- Actualizar el
READMEcon mis últimos artículosNecesitará 3 archivos: .github/workflows/build.yaml, updateReadme.js y README.md
Ejemplo de .github/workflows/build.yaml , ejecutándose automáticamente 3 veces por semana:
# Name of workflow name: Build README # Run workflow at 12:01 on Sunday, Wednesday, and Friday on: schedule: - cron: '1 12 * * 0,3,5' # Run workflow on pushes to main branch push: branches: - main # Steps to carry out jobs: build: # Create a ubuntu virtual machine runs-on: ubuntu-latest # Checkout repo code steps: - name: Checkout repo uses: actions/checkout@v2 # Install node - name: Use Node.js uses: actions/setup-node@v1 with: node-version: 10.16 - run: npm install - run: npm run build --if-present - run: npm test env: CI: true # Run script "updateReadme.js" - name: Update README run: |- node updateReadme.js cat README.md # Commit changes - name: Commit and push if changed run: |- git diff git config --global user.email "readme-bot@example.com" git config --global user.name "README-bot" git add -A git commit -m "Updated articles" || exit 0 git push