Giter Club home page Giter Club logo

blog's Introduction

🚀 Sysarmy Blog

En nuestro blog publicamos novedades y artículos relacionados a nuestra comunidad y tecnología en general.

El blog de Sysarmy está hecho con Go Hugo.

¿Cómo contribuir?

¡Las contribuciones siempre son bienvenidas! La idea es que, cuanto más contenido afín tengamos en el blog, mayor será el beneficio para la comunidad. El único requisito es que el contenido esté en español.

La forma más directa y fácil de contribuir es escribiendo tu post en un Documento de Google y compartiéndolo con la comunidad para que alguien lo pueda revisar y publicar por vos.

Si querés darle el formato vos, en este artículo podés ver una guía paso a paso para realizar tu primera contribución a un repositorio en GitHub, y acá te dejamos una lista cortita y al pie para mandar tu contribución:

  1. Forkear el repo. 911 que es git?
  2. Clonar el fork a tu PC con git clone.
  3. Crear una nueva rama, por ejemplo new-post usando git checkout -b new-post.
  4. En el directorio content/posts/ vas a encontrar el archivo template-post.md, que es una plantilla. Copiarlo, y ponerle el nombre del post.
  5. Editar los valores por defecto (description, tags, etc) y escribir el post per se. El post se formatea por defecto usando Markdown, así que te dejamos una guía rápida para poder darle formato a tu post. Todas las imágenes que uses en tu post las tenés que dejar en el directorio static/assets/, y las podés insertar en el cuerpo del post usando Markdown, por ejemplo ![](assets/mi-imagen.png).
  6. ❗ Hacer el commit y push a tu fork/new-post. Este paso es importante, siempre hacer el push a tu fork.
  7. ❗ Hacer pull request a blog/master.
  8. Algún admin del blog va a revisar el pull request, quizás iterar con comentarios.
  9. Finalmente el pull request se acepta.
  10. Probablemente se hagan ajustes finales.
  11. Se mergea a master y se publica en ✨Internet✨.

Instalación y configuración de Go Hugo

En este link podés encontrar la documentación oficial para instalar Go Hugo (en inglés). De todas maneras te dejamos algunas alternativas de instalación:

En Windows

Si estás en una PC con Windows y usas Chocolatey como gestor de paquetes, podés instalar Hugo con el siguiente comando:
choco install hugo -confirm

Y después iniciarlo es tan simple como ejecutar:

hugo server -D
Por defecto vas a poder acceder al blog entrando a http://localhost:1313/blog/.

En MacOS

Utilizando brew se debe correr el siguiente comando:

brew install hugo

Verificar la versión instalada

hugo version

En el archivo config.toml se encuentra atributo publishDir, este se utiliza para determinar el directorio destino cuando se buildea. Una vez clonado el repositorio y desde el directorio blog, iniciar Go Hugo en modo Develop (no genera los archivos estáticos):

hugo server -D
Por defecto vas a poder acceder al blog entrando a http://localhost:1313/blog/.

En Linux

  • Paquete de Snap

  • Para las distribuciones que soporten Snap, se puede instalar con:
    snap install hugo
  • Debian y Ubuntu

  • sudo apt-get install hugo
    La documentación de Hugo recomienda utilizar el paquete de Snap sobre esta opción ya que el .deb suele estar algunas versiones atrasado.
  • Armaste el OS con tus propias manos, así que no debería ser necesario aclararlo, pero:
    sudo pacman -Syu hugo
  • Fedora

  • sudo dnf install hugo

Una vez instalado Hugo, independientemente de tu distribución, y desde el directorio clonado del repositorio, podés iniciar Hugo con el siguiente comando:

hugo server -D
Por defecto vas a poder acceder al blog entrando a http://localhost:1313/blog/.

Con Docker

El equipo de Hugo no ofrece imágenes oficiales de Docker, pero recomienda la siguiente: https://hub.docker.com/r/klakegg/hugo/

Para utilizarla, desde el directorio del repositorio clonado, solo hay que ejecutar:

docker run --rm -it \
      -v $(pwd):/src \
      -p 1313:1313 \
      klakegg/hugo \
      server

O también se puede usar con docker-compose:

server:
    image: klakegg/hugo
    command: server
    volumes:
      - ".:/src"
    ports:
      - "1313:1313"
Por defecto vas a poder acceder al blog entrando a http://localhost:1313/blog/.

Información importante sobre los posts

Además de hacer una copia del template, también se puede utilizar el siguiente comando para generar un post nuevo. El archivo se encontrará dentro del directorio content/posts/:

hugo new posts/nombre-del-post.md

La metadata que se está cargando en todos los posts es:

  • Title: el título del post.
  • Description: descripción del contenido del post.
  • Keywords: palabras clave relacionadas con el contenido del post.
  • Tags: similar a keywords, etiquetas que permitan filtrar el post.
  • Thumbnail/socialImage/featuredImage (los 3 tienen el mismo valor): imagen principal del artículo.
  • Topics: similar a tags, temas que aborda el post.
  • markup: markdown o html según corresponda.
  • date: fecha de publicación.

Ejemplo:

---
Description: "10 proyectos de portfolio para aspirantes a automation engineer"
Keywords:
- devops 
- engineer
- ...
Section: 
Tags:
- sysarmy
- devops
- ...
Thumbnail: assets/202103-iniciarse-en-devops.png
socialImage: assets/202103-iniciarse-en-devops.png
featuredImage: assets/202103-iniciarse-en-devops.png
Title: "Como entrar a DevOps, un hilo robado"
Topics:
- devops 
- engineer
- ...
markup: markdown
date: 2021-03-02
draft: false
---

Una vez finalizado el post, localmente se puede validar buildeando.

hugo

❗ Atención: En este repo solo se debe subir el post porque se buildea automágicamente y luego se podrá ver en https://sysarmy.com/blog

Ayuda de la comunidad

¿Dudas, consultas o inquietudes? Podés sumarte a Discord o Slack , en ambos hay un canal #disneyland (que esta bridgeado entre ambas plataformas). Si dejas un mensaje 🛎️ ahí alguien te va a responder (aunque pueda tardar un poco).

Links de utilidad

blog's People

Contributors

ajolo2ky avatar alexiarstein avatar arieljolo avatar axelvf avatar daniel-dz avatar dependabot[bot] avatar diegodaf avatar edux avatar efsbl avatar gacanepa avatar godlike64 avatar ipf0rw4rd avatar jcasarini avatar maragunde avatar marcorichetta avatar nachichuri avatar peorth80 avatar profmatiasgarcia avatar reginaloustau avatar rhapsodygirl avatar sgoico avatar vmariano avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blog's Issues

doble tag manager.

Screen Shot 2021-04-20 at 23 05 52

mi duda es si el que esta con help viene de help o esta en el template del blog? porque yo lo agregue bien al layout para que se vea en la home tambien, pero no encuentro donde esta para que salga en el div de /help

Migración a nuevo theme

Estoy viendo que el theme actual tiene muchos parches y se ve bastante mal en mobile.
Hay uno que estuve chusmeando y es bastante simple para lo que necesitamos: https://github.com/panr/hugo-theme-hello-friend

Lo importé al proyecto actual para evaluar factibilidad y ver que tenemos que fixear. En primera medida lo dejé lo mas parecido en cuanto a funcionalidades con el actual. Post, imagen, tags, tiempo de lectura, etc.

Algunos temas que detecté son:

Layouts:

  • Veeam

  • Analytics: Esta el codigo pero el tag esta comentado desde config.

  • Comentarios: Migrar script de comentarios de FB.

Lo que fui probando quedó en una nueva branch llamada new-theme para que puedan revisarlo.

social preview

algo que hay que mirar es el social preview si se le puede meter una imagen para que haga el preview en twitter por ejemplo, porque ahora no sale, quizas es un tag o algo que falta.

Actualizar versiones en general

Actualizar Hugo a la ultima version: 0.97.3 --> 0.110.0
Estandarizar version de actions (checkout) a V2
Validar si es compatible con V3

Arreglar el widget de spotify.

Tire el widget ahi porque prefiero usar markdown para publicar mas rapido y meter el subscribe en todo el blog, pero ofcourse se ve like shit. le falta magia de padding y borders and that shit.

<iframe src="https://open.spotify.com/embed-podcast/show/4aSX6qCCbNLmOUX4fftc5M" width="100%" height="232" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>

Paginación

No estaría encontrando la paginación para ir a blogs anteriores

sirve tener esto como submodulo?

porque hay que actualizarlo manualmente en sysarmy.github.io en cada update del blog, quizas conviene cambiarlo a que sea un rsync, add y push adentro del action?

Deploy del blog roto

@axelvf @edux para cuando tengan 5min, está roto el workflow que hace el deploy del blog, entiendo porque la branch gh-pages está protegida.

Por lo que veo acá en el log del job, no está pudiendo hacer el push a la branch:

Switched to a new branch 'gh-pages'
Files to Commit:11
remote: error: GH006: Protected branch update failed for refs/heads/gh-pages.        
remote: error: Cannot force-push to this branch        
To github.com:sysarmy/blog.git
 ! [remote rejected] gh-pages -> gh-pages (protected branch hook declined)
error: failed to push some refs to 'github.com:sysarmy/blog.git'
=================== Done  ===================

Entonces después el job de Push rompe porque no ve cambios para hacer el deploy.

Creo que vendría por ahí el problema, no sé si se cambió la config de protected branches, no tengo acceso a las configs del repo, me resulta raro porque el post con los resultados de la encuesta buildeó bien.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.