diff --git a/.github/workflows/markdown-lint.yml b/.github/workflows/markdown-lint.yml new file mode 100644 index 0000000..9177212 --- /dev/null +++ b/.github/workflows/markdown-lint.yml @@ -0,0 +1,54 @@ +name: Lint Markdown files # Nombre del workflow que aparecerá en GitHub Actions + +on: + pull_request: + paths: + - "**/*.md" # El workflow solo se ejecuta si en el PR hay cambios en archivos .md + +jobs: + markdown-lint: + runs-on: ubuntu-latest # El job se ejecuta en una máquina virtual Ubuntu + steps: + - name: Checkout repository + uses: actions/checkout@v4 + # Descarga el código fuente del repositorio en la máquina virtual para poder analizarlo + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: "20" # Especifica la versión de Node.js a instalar + # Node.js es necesario porque markdownlint-cli está hecho para Node.js + + - name: Install markdownlint-cli + run: npm install -g markdownlint-cli + # Instala la herramienta markdownlint-cli de forma global (disponible en toda la VM) + + - name: Run markdownlint and save log + run: | + # Ejecuta markdownlint desde la raíz del repositorio, usando el archivo de configuración .markdownlint.yml + # Analiza todos los archivos .md en todas las carpetas y subcarpetas + # El resultado (errores y advertencias) se guarda en el archivo markdownlint-log.txt + # El '2>&1' redirige también los errores (stderr) al archivo de log + # El '|| true' asegura que el workflow continúe aunque se encuentren errores + markdownlint . --config .markdownlint.yml > markdownlint-log.txt 2>&1 || true + + - name: Show markdownlint log (debug) + run: | + echo "Contenido de markdownlint-log.txt:" + cat markdownlint-log.txt + # Muestra el contenido del log generado por markdownlint para depuración + + - name: Upload markdownlint log + uses: actions/upload-artifact@v4 + with: + name: markdownlint-log # Nombre del artefacto que se podrá descargar desde la interfaz de GitHub Actions + path: markdownlint-log.txt # Ruta al archivo de log generado + # Sube el archivo de log como artefacto descargable para que puedas ver los detalles de los errores + + - name: Check for lint errors and fail if needed + run: | + # Si el archivo markdownlint-log.txt NO está vacío, muestra un mensaje y termina el job con error (exit 1) + if [ -s markdownlint-log.txt ]; then + echo "Se encontraron errores de formato en los archivos Markdown. Revisa el artefacto markdownlint-log.txt para más detalles." + exit 1 + fi diff --git a/.markdownlint.yml b/.markdownlint.yml new file mode 100644 index 0000000..a9d9191 --- /dev/null +++ b/.markdownlint.yml @@ -0,0 +1,17 @@ +# Configuración estricta para markdownlint +# Puedes modificar o agregar reglas según tus necesidades + +MD012: true +MD013: false +MD022: true # No permitir múltiples líneas en blanco consecutivas +MD024: true # No permitir encabezados duplicados +MD025: true # Solo un encabezado H1 por archivo +MD029: true # Listas ordenadas deben incrementarse en 1 +MD030: true # Listas sin líneas en blanco entre ítems +MD031: true # Listas y encabezados sin líneas en blanco extra +MD032: true # No permitir líneas en blanco al principio del archivo +MD034: true # No permitir enlaces sin formato +MD036: true # No permitir encabezados con asteriscos +MD038: true # No permitir tildes en bloques de código +MD041: true # El archivo debe comenzar con un encabezado +MD047: true # No permitir espacios al final de línea diff --git a/README.md b/README.md index 6a9ef16..38a62a8 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,12 @@ # Comunicaciones de Datos -Este repositorio contiene todos los trabajos prácticos y laboratorios de la materia **Comunicaciones de Datos**. +Este repositorio contiene todos los trabajos +prácticos y laboratorios de la materia **Comunicaciones de Datos**. ## Grupo: Puerto1337 ### Integrantes + - Krede Julian - Piñera Nicolas - Noelia @@ -17,9 +19,11 @@ Este repositorio contiene todos los trabajos prácticos y laboratorios de la mat ## Cómo usar este repositorio 1. Clona el repositorio: + ```bash git clone ``` + 2. Accede a la carpeta del trabajo que deseas consultar. 3. Sigue las instrucciones específicas de cada trabajo (si las hay). diff --git a/TP-03/README.md b/TP-03/README.md index e6cb9cb..3a9ffc4 100644 --- a/TP-03/README.md +++ b/TP-03/README.md @@ -53,13 +53,3 @@ --- ## Referencias - -[5] []() - -[5] []() - -[5] []() - -[5] []() - -[5] []() diff --git a/git.md b/git.md index 6ed51f9..c97aac3 100644 --- a/git.md +++ b/git.md @@ -1,86 +1,112 @@ -# Comandos de git +# Comandos Utiles + +## Cómo instalar y ejecutar markdownlint + +Para asegurarte de que tus archivos Markdown cumplen con las reglas de formato del repositorio, puedes usar markdownlint: + +1. Instala markdownlint-cli de forma global: + + ```bash + npm install -g markdownlint-cli + ``` + +2. Para corregir automáticamente los errores básicos de formato en todos los archivos `.md`: + + ```bash + markdownlint --fix "**/*.md" + ``` + +3. Para solo ver los errores sin corregir: + + ```bash + markdownlint "**/*.md" + ``` + +Esto te ayudará a mantener el formato consistente y evitar errores en los workflows de CI. + +## Comandos de git A continuacion se listaran los comandos mas utiles y comunes para trabajar con git y github 1. Agregar elementos o archivos creados. El punto significa que sea agregaran todos los elementos creados, si se desea agregar uno solo se cambia el punto por el nombre del archivo -```bash -git add . -``` + ```bash + git add . + ``` 2. Realizar un commit: sirve para agregar tu contenido con un mensaje descriptivo de la tarea realizada -```bash -git commit -m "Actualizacion TP1" -``` + ```bash + git commit -m "Actualizacion TP1" + ``` 3. Ver el estado de los archivos en el repositorio: muestra los cambios realizados y los archivos que están listos para ser añadidos o confirmados -```bash -git status -``` + ```bash + git status + ``` 4. Ver el historial de commits: muestra una lista de los commits realizados en el repositorio -```bash -git log -``` + ```bash + git log + ``` 5. Clonar un repositorio: copia un repositorio remoto a tu máquina local -```bash -git clone -``` + ```bash + git clone + ``` 6. Actualizar el repositorio local con los cambios del repositorio remoto -```bash -git pull -``` + ```bash + git pull + ``` 7. Subir los cambios locales al repositorio remoto -```bash -git push -``` + ```bash + git push + ``` ## Comandos para trabajar con ramas 1. Crear una nueva rama -```bash -git branch -``` + ```bash + git branch + ``` 2. Cambiar a una rama existente -```bash -git checkout -``` + ```bash + git checkout + ``` 3. Crear y cambiar a una nueva rama en un solo paso -```bash -git checkout -b -``` + ```bash + git checkout -b + ``` 4. Listar todas las ramas -```bash -git branch -``` + ```bash + git branch + ``` 5. Fusionar una rama con la rama actual -```bash -git merge -``` + ```bash + git merge + ``` 6. Eliminar una rama -```bash -git branch -d -``` + ```bash + git branch -d + ``` ## ¿Qué pasa cuando realizamos un push desde una rama? @@ -115,6 +141,7 @@ Cuando una pull request se fusiona y la rama asociada se elimina en GitHub, es i ``` 3. Actualizar las referencias remotas para eliminar las ramas que ya no existen en el remoto: + ```bash git fetch --prune ``` @@ -142,6 +169,7 @@ Cuando dos ramas tienen cambios en las mismas líneas de un archivo, Git genera ``` 5. Finaliza el merge con un commit: + ```bash git commit ``` @@ -187,6 +215,7 @@ Las etiquetas se utilizan para marcar puntos específicos en el historial de com ``` 7. Eliminar una etiqueta en el remoto: + ```bash git push origin --delete ```