- Introduction
- GitHub profile
- Markdown
- Your profile
- Good practices
- Repositories
- Organizations
- PixelHub
- Resources
- Honorable mentions
A través del siguiente contenido y materiales trataremos de dar respuesta a la siguiente pregunta: ¿cómo potenciar mi perfil en GitHub?
Como desarrolladores y desarrolladoras, a menudo tendremos que afrontar momentos o pruebas durante nuestra vida laboral que supondrán, entre otras cosas, el acceso a puestos, colaboraciones, formaciones e incluso tecnologías que nos ayudarán a progresar como profesionales del sector.
No sólo el esfuerzo y la paciencia serán nuestras aliadas, sino que además deberemos saber compartir e incluso promocionar nuestro trabajo a través de repositorios y perfil en la red de GitHub de manera atractiva, dinámica y profesional.
En las siguientes páginas veremos diseños, proyectos, tips, consejos y toda clase de información relevante que nos ayudarán a llevar nuestros repositorios al siguiente nivel.
Tip
Te recomendamos que también visites la documentación acerca de git-github y la terminal.
Lo primero que debemos hacer es crear nuestro propio perfil en GitHub. Para ello, habilitaremos un nuevo repositorio cuyo nombre empate con nuestro nombre de usuario en GitHub. Por ejemplo, si tu nombre de usuario es "amargopastor", el nombre debe ser "amargopastor".
Detalles que debes tener en cuenta:
- Has creado un repositorio con un nombre que empate con tu nombre de usuario de GitHub.
- Este repositorio es público.
- Este repositorio contiene un archivo de nombre README.md en su raíz.
- El archivo README.md contiene cualquier tipo de contenido.
Este README.md pasará a estar activo por defecto en nuestro perfil de GitHub y será tu nueva carta de presentación para todas las personas que visiten tu perfil. ¡Imagina la importancia de preparar bien este nuevo documento!
Pero, ¿exíste alguna manera de editar mis README.md para evitar un aburrido texto plano? Bienvenid@ al formato Markdown.
Markdown es un lenguaje fácil de leer y escribir para aplicar formato a todos nuestros textos. Podemos usar sintaxis Markdown, junto con algunas etiquetas HTML adicionales, para aplicar formato a la escritura en GitHub en lugares como los archivos README.md o los comentarios en las solicitudes de cambios y Pull Request.
Las posibilidades que nos ofrece este lenguaje de marcado son múltiples para poder crear formatos sofisticados en nuestra prosa.
No olvidemos que, como desarrolladores, crear y compartir código será nuestro día a día por lo que es importante sacar el máximo partido a las etiquetas de lenguaje:
html
<!DOCTYPE html>
<html>
<head>
<title>HTML CSS JS</title>
</head>
<body>
<h1 id="welcome">HTML CSS JS</h1>
<p>Hello world</p>
</body>
</html>
css
/* CSS styles */
h1 {
font-family: Impact, sans-serif;
color: #ce5937;
}
js
// JavaScript
document.getElementById('welcome').innerText += ' Editors';
Puede que también te interese alguna de las funcionalidades más destacadas:
Alertas
Las alertas son extensiones del formato Markdown que podemos usar para enfatizar información crítica en nuestros documentos. GitHub pintará automáticamente cada una de las siguientes alertas con colores e iconos distintivos para subrayar la importancia de su contenido.
[!NOTE]
Highlights information that users should take into account, even when skimming.
[!TIP] Optional information to help a user be more successful.
[!IMPORTANT]
Crucial information necessary for users to succeed.
[!WARNING]
Critical content demanding immediate user attention due to potential risks.
[!CAUTION] Negative potential consequences of an action.
Tablas
Command | Description |
---|---|
git status |
List all new or modified files |
git diff |
Show file differences that haven't been staged |
Emojis
Una de las mejores funcionalidades que nos facilita el formato Markdown es la posiblidad de incluir emojis 🤖
Colapsar información
You just did it! 🎉
No dejes de explorar todas las posibilidades. Aquí tienes algunos conceptos avanzados para poner a prueba tus ficheros markdown:
Caution
Crea tus propios diagramas y mapas y hecha un vistazo a la documentación oficial de GitHub Flavored Markdown Spec
Ahora que sabemos como crear nuestro propio perfil en GitHub y estamos familiarizados con el formato Markdown, vamos a poner en práctica nuestros nuevos conocimientos creando una página de presentación que sea atractiva, moderna y dinámica.
Esta página será una mezcla entre CV, portfolio y landing profesional. Ajusta tu README.md al tipo de perfil que quieras proyectar. Este sector busca todo tipo de personas: sé creativ@ pero ten siempre en mente a que tipo de trabajo/sector/tecnología a la que quieres acceder.
Las tags permiten crear marcadores visualmente claros a cerca de las tecnologías que trabajamos o las herramientas que utilizamos y los links te permitirán enlazar tus páginas de interés de manera rápida y accesible: linkeding, gmail, artículos y vídeos, entre otros.
Crea las tuyas propias con awesome-badges.
README.md
<div align="center">
![](https://github-readme-streak-stats.herokuapp.com/?user=amargopastor&theme=tokyonight&hide_border=false)<br />
![](https://github-readme-stats.vercel.app/api/top-langs/?username=amargopastor&theme=tokyonight&hide_border=false&include_all_commits=true&count_private=false&layout=compact)<br />
![](https://github-readme-activity-graph.vercel.app/graph?username=amargopastor&theme=tokyo-night)
</div>
[![Linkedin: amargopastor](https://img.shields.io/badge/-amargopastor-blue?style=flat-square&logo=Linkedin&logoColor=white&link=https://www.linkedin.com/in/amargopastor/)](https://www.linkedin.com/in/amargopastor/)
[![Gmail Badge](https://img.shields.io/badge/[email protected]?style=flat-square&logo=Gmail&logoColor=white&link=mailto:[email protected])](mailto:[email protected])
[![codealong](https://img.shields.io/badge/-%F0%9F%90%99%20codealong-blue)](https://github.com/amargopastor-codealong)
[![GitHub: amargopastor](https://img.shields.io/github/followers/amargopastor?label=follow&style=social)](https://github.com/amargopastor)
'Pinea' tus repositorios destacados: Puedes destacar aquellos proyectos que hayas creado o colaborado y de los que te sientas particularmente orgullos@, o simplemente porqué quieres postular a puestos cuyas tecnologías seguro conoces gracias a haberlas trabajado en estos mismos 'repos'.
Recuerda la norma: si todo es especial nada realmente lo es, o lo que es lo mismo, destaca pocos repositorios y sólo aquellos que consideres realmente especiales. Ten en cuenta que, muy probablemente, los visitantes a tu perfil centren su atención en aquellos 'repos' que tu recomiendes, no en los 400 que tengas creados en la pestaña correspondiente 😉
Los proyectos de código abierto tienen un profundo impacto en el mundo del desarrollo de software. Fomentan un ecosistema colaborativo con el intercambio de códigos, el aprendizaje mutuo y los avances tecnológicos.
Como desarrolladores, contribuir a proyectos de código abierto en GitHub puede mejorar nuestras habilidades, ampliar nuestra red y mejorar nuestro currículum. A pesar de todas estas ventajas, contribuir a una comunidad de código abierto por primera vez puede resultar algo intimidante.
Para nuestra primera aproximación a la colaboración de proyectos 'open source', podemos seguir los siguientes pasos:
-
Busca un proyecto adecuado: uno que se alinee con tus habilidades, intereses y la tecnología con la que está sfamiliarizado o deseas aprender. Puedes emplear alguna de las siguientes herramientas:
-
Contributing Guidelines: Un paso esencial antes de realizar cualquier contribución es revisar las pautas de contribución del proyecto. Estas pautas generalmente se encuentran en un archivo llamado CONTRIBUTING.md, CONTRIBUTE.md o HOW_TO_CONTRIBUTE.md en el repositorio del proyecto. En algunos casos, también puede ser parte del archivo README.md.
En estos documentos podremos encontrar:
- Códigos de conducta
- Que contribuciones se esperan
- Proceso de Pull Request
- Estándar de código
Observa este ejemplo de repositorio para crear líneas de contribución.
Nuestro perfil de GitHUb ha alcanzado la excelencia. Ahora es atractivo, dinámico y profesional. Vamos un paso más allá:
Para cualquier proyecto que decidamos almacenar de manera profesional en GitHub todo README.md debe estar centrado siempre en comunicar la información más importante:
- Qué hace el proyecto
- Por qué el proyecto es útil
- Cómo pueden inicializar los usuarios el proyecto
- Dónde pueden recibir ayuda los usuarios
- Quién mantiene y contribuye
- Deployments 🤖
Si colocas tu archivo README en el directorio .github, raíz o docs oculto de tu repositorio, GitHub lo reconocerá y automáticamente expondrá tu archivo README a los visitantes del repositorio.
Hecha un vistazo al README de los siguientes proyectos:
Procura ser ordenado/a con tus repositorios. Establece tu propio 'naming convention' que te permita orientarte rápidamente en tu página de 'repos'. Piensa no solo en ti, sino en cualquier visitante a nuestro perfil: queremos que la gente vea siempre todo nuestro trabajo de la mejor manera posible. Algunos consejos:
- Nombres claros y concisos
- Si el nombre puede orientarnos acerca del tipo de proyecto, mejor
- Usa las descripciones, topics y emojis para una mejor visualización
- Enlaza los deploys de tus proyectos! 🤖
- Implemente automatizaciones para trabajar de manera más efectiva. Por ejemplo, los flujos de trabajo de CI/CD pueden implementar versiones basadas en convenciones de nomenclatura.
- Todos los consejos vistos hasta ahora son perfectamente válidos para el README.md de tus proyectos
Necesitamos tratar todos nuestros proyectos con el mismo nivel de profesionalismo que lo haríamos con cualquier trabajo basado en un cliente. Esto puede resultar difícil ya que todas las metodologías y restricciones deberán ser auto-impuestas.
Ten en mente que no tiene sentido mostrar proyectos de los que no estés orgulloso: plantea siempre realizar un seguimiento de tus proyectos como lo haría con cualquier cliente.
Esta idea podemos aplicarla a cualquier punto de nuestro proyecto: desde READMEs profesionales, nuestro propio sistema de despliegue hasta el tratamiento de issues, labels y proyectos al más puro estilo SCRUM master:
Tip
There's No Such Thing as a Side Project.
Un historial de commits limpio es crucial para una colaboración y una gestión de código eficaz. Nos proporcionará un registro claro de los cambios que se han realizado en el código base y ayuda a mantener este mismo código limpio y estable.
-
Mensajes descriptivos: mensajes que expliquen el propósito y el contexto de los cambios que se han realizado.
-
Cambios atómicas: cambios pequeños y enfocados que contengan una sola modificación lógica.
-
Formato coherente: nuestros mensajes serán siempre imperativos y mantendrán una primera línea de 50 caracteres o menos.
Tip
Siempre que sea posible, realiza tus commits en inglés.
❌ Malas prácticas
git commit -m "Fixed stuff"
✅ Buenas prácticas
git commit -m "Add user authentication mechanism to the inventory management system"
El archivo .gitignore es una forma sencilla y eficaz de gestionar los archivos y directorios que desea excluir del control de versiones.
- Ignorar ficheros de compilación
- Ignorar información confidencial
- Ignorar archivos específicos del usuario
- Ignorar archivos grandes
- Ignorar registros y cachés
- Ignorar archivos de prueba
Puedes emplear es este generador on-line para tus ficheros .gitignore
GitHub Actions es una de las característica de GitHub más útil, la cual nos permite automatizar tareas a través de flujos de trabajo. Proporciona una forma flexible y escalable de crear, probar e implementar código y nos ayuda a mantener una base de código limpia y estable.
GitHub Actions es una herramienta compleja y escalable (de la cual podríamos escribir largos artículos), pero nosotros vamos a centrarnos en describir alguno de sus valores más básicos:
- Automatización en procesos de compilación
- Automatización de pruebas
- Automatización en los procesos de despliegue
- Automatización de releases
- Automatización de la documentación
- Automatización IaC (tareas de infraestructura como código (IaC), aprovisionamiento, configuración e implementació)
- Automatice los controles de seguridad
Echa un vistazo a algunos de los 'repos' más interesantes de la comunidad en GitHub:
- ParthJohri
- anmol098
- Zhenye-Na
- guilyx
- codestackr
- timburgan
- zumrudu-anka
- iampavangandhi
- rahul-jha98
- trinib
- holic-x
Puedes ver la lista completa en este enlace 🤓
Las organizaciones son cuentas compartidas en las que las empresas y los proyectos de código abierto pueden colaborar en muchos repositorios a la vez, con características personalizadas de seguridad y administrativas.
Si has llegado hasta aquí 😉 quizás te interese un pequeño script que nos ayuda a generar instantáneamente un completo gráfico de contribuciones durante el último año.
Las instrucciones son sencillas:
- Crea un nuevo repositorio vacío en GitHUb. ¡Es importante que no lo inicialices!
- Descarga la carpeta github-activity-generator
- Ejecuta el fichero 'contribute.py' (modifica user y repo por tu nombre de github y nombre del repo vacío, respectivamente):
python python contribute.py [email protected]:user/repo.git
Puedes editar las contribuciones con algunos comandos especiales:
Sin código los fines de semana:
python contribute.py --no_weekends [email protected]:user/repo.git
Especifica los días anteriores y posteriores desde el 'current date':
python contribute.py --days_before=10 --days_after=15 [email protected]:user/repo.git
😒 Antes:
😎 Después:
Note
DISCLAIMER: Ten en cuenta que un vistazo rápido es suficiente para comprobar que el gráfico generado proviene de commits vacuos. No se trata de engañar a nadie sino de explorar alternativas, herramientas y reflexionar sobre las apariencias y la auténtica dedicación.
-
Cómo administrar el README de tu perfil según la documentación del propio GitHub
-
Obtén información sobre las características de formato avanzadas mediante la creación de un archivo README.md para el perfil de GitHub
-
Crear formatos sofisticados en nuestra prosa
-
Enfatiza y distingue tu contenido con esta emoji-cheat-sheet o visita webfx.com
-
Puedes colapsar información en tus README.md
-
No te olvides de organizar la información en tablas para una mejor comprensión de los conceptos
-
Lee atentamente las recomendaciones del propio GitHub en materia de README.md
-
Aquí tienes 5 consejos para hacer tu perfil de GitHUb más accesible
-
Look! Markdown Cheatsheet
-
Crea tus propios diagramas y mapas
-
Watch out! Awesome-readme
-
Las mejorasprácticas para los repositorios de GitHub
- Tu listado de awesome-badges
- Recuerda siempre que there's no such Thing as a side project.
- Observa esta lista de originales perfiles de GitHub y toma ideas para el tuyo propio 🤓
-
Generador de stats
-
A place where you click on black boxes
-
Prueba el GitHub Activity Generator
-
O personaliza tus mensajes con PixelHub
- 🍍