Skip to content

Commit 93c64a0

Browse files
authored
Merge pull request #333 from gonzalezlrjesus/article-construir-sitios-hugo
Spanish Article:Como construir sitios web con HUGO
2 parents d18631b + 99d5c8d commit 93c64a0

File tree

1 file changed

+276
-0
lines changed

1 file changed

+276
-0
lines changed
Lines changed: 276 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,276 @@
1+
+++
2+
author = ["Jesus R. Gonzalez L."]
3+
date = "2019-12-06T10:07:34+09:00"
4+
title = "Como construir sitios web con HUGO"
5+
series = ["Tutorial"]
6+
+++
7+
8+
Esta publicación tiene como objetivo enseñar a como construir sitios web utilizando HUGO y como subirlo a un hosting.
9+
10+
Hugo es un generador de sitios web estáticos construidos con el lenguaje GO, fue creado en el año 2013. Con él se pueden generar sitios web en poco tiempo, versátiles y muy rapidos de hecho su lema es: "The world’s fastest framework for building websites". Algunos casos notables en donde se construyeron sitios web con HUGO son:
11+
12+
- Kubernetes (<https://kubernetes.io/>)
13+
- Netlify (<https://www.netlify.com/>)
14+
- Smashingmagazine (<https://www.smashingmagazine.com/>)
15+
- Cloudflare (<https://developers.cloudflare.com/>)
16+
- Litecoin (<https://litecoin.org/>)
17+
18+
Para trabajar con Hugo necesitamos instalar los siguientes requerimientos:
19+
20+
1. __Git__ (Software para control de versiones)
21+
2. __GO__ (Lenguaje de Programación)
22+
3. __Chocolatey__ (Manejador de paquetes de Windows. Utilice Windows 7)
23+
24+
HUGO también tiene instrucciones para instalarse en otros sistemas operativos, para más información visite este link:
25+
<https://gohugo.io/getting-started/installing/#quick-install>
26+
27+
### 1. Instalación de Git
28+
29+
Primeramente hay que descargarlo en el siguiente link:
30+
31+
<https://git-scm.com/downloads>.
32+
33+
Después de haber sido instalado abrimos __Git Bash__, para comprobar que nuestra instalación fue exitosa y no tuvo errores, ingresamos el siguiente comando que muestra la versión de git instalada.
34+
35+
git --version
36+
37+
### 2. Instalación de GO (Golang)
38+
39+
Se descarga de la página oficial:
40+
41+
<https://golang.org/dl/>
42+
43+
Luego de haber sido descargado pasamos al proceso de instalación. Cuando finalice su instalación hay agregar una variable en __Enviroment Variables__ –> __User Variables__ con el nombre de __GOPATH__ y en la sección __value__ la dirección de la carpeta donde se instalo.
44+
Ya con eso se podrá desde la consola ingresar los comandos de GO. Ingresamos el siguiente comando que debería mostrar la versión instalada:
45+
46+
go version
47+
48+
### 3. Instalación de Chocolatey
49+
50+
Procedemos a abrir __powershell.exe__ como administrador, de lo contrario no se instalara.
51+
52+
Ahora toca ingresar el siguiente comando en la consola:
53+
54+
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
55+
56+
Luego de finalizar la instalación ingresamos el comando que nos mostrara la versión de Chocolatey:
57+
58+
choco /?
59+
60+
### Instalación de HUGO
61+
62+
Lo primero que debemos hacer es dirigirnos a la carpeta donde se va a instalar HUGO, abrimos la consola __Git Bash__ en modo administrador e ingresamos el siguiente comando:
63+
64+
choco install hugo
65+
66+
Finalizado el proceso, podremos ver la versión de HUGO que se instalo:
67+
68+
hugo version
69+
70+
### a. Crear un sitio web
71+
72+
Se crea con el comando:
73+
74+
hugo new site nombre_tu_preferencia
75+
76+
Ejemplo:
77+
78+
hugo new site gopherblog
79+
80+
Nos dirigimos a la carpeta del nuevo sitio web:
81+
82+
cd gopherblog
83+
84+
Iniciamos Git en el proyecto creado:
85+
86+
git init
87+
88+
### b. Añadir Tema
89+
90+
Utilice el tema: __hugo-sustain__, este es el link del repositorio del tema que elegi:
91+
92+
<https://github.com/nurlansu/hugo-sustain>
93+
94+
Nota: Hugo posee distintos temas para distintos usos. Elige el que se adapta a tus necesidades:
95+
<https://themes.gohugo.io/>
96+
97+
Ahora toca clonar su repositorio y guardarlo en la carpeta __themes__ de su proyecto.
98+
99+
git clone https://github.com/nurlansu/hugo-sustain.git themes/hugo-sustain
100+
101+
### c. Modificación del Tema
102+
103+
En el archivo __config.toml__ de su proyecto se puede modificar variables que son usadas en el tema.
104+
105+
Debemos empezar por agregar el nombre del tema que se eligió:
106+
107+
theme = 'hugo-sustain'
108+
109+
El formato de los permalink:
110+
111+
post = "/:year/:month/:day/:slug"
112+
113+
Las variables __params__ son donde podemos cambiar algunos aspectos de la página inicial del tema como el autor del proyecto, la descripción y el avatar. En la carpeta __static__, hay que crear una carpeta llamada __img__, se guardara una imagen que puede ser en formato png o jpg. El creador del tema que decidi utilizar recomienda que la imagen sea de una dimensión de 190 x 190 pixeles.
114+
115+
[params]
116+
avatar = "profile.jpg"
117+
author = "Jesus Gonzalez"
118+
description = "Describe your website"
119+
120+
Las variables __params.social__ son las encargadas de capturar el nombre de usuario de las distintas redes sociales.
121+
122+
[params.social]
123+
Github = "username"
124+
125+
Twitter = "username"
126+
LinkedIn = "username"
127+
Stackoverflow = "username"
128+
Medium = "username"
129+
Telegram = "username"
130+
131+
Con la variable __menu.main__ se puede agregar secciones a su tema. Ejemplo de como crear una sección:
132+
133+
## Main Menu
134+
[[menu.main]]
135+
name = "blog"
136+
weight = 100
137+
identifier = "blog"
138+
url = "/blog/"
139+
140+
El archivo final debería tener el siguiente formato:
141+
142+
baseURL = 'http://example.org/'
143+
languageCode = "en-us"
144+
title = "gopherblog"
145+
theme = "hugo-sustain"
146+
147+
[permalinks]
148+
post = "/:year/:month/:day/:slug"
149+
150+
[params]
151+
avatar = "profile.jpg"
152+
author = "Jesus Gonzalez"
153+
description = "tutorial como construir con HUGO"
154+
155+
[params.social]
156+
Github = "username"
157+
158+
Twitter = "username"
159+
LinkedIn = "username"
160+
Stackoverflow = "username"
161+
Medium = "username"
162+
Telegram = "username"
163+
164+
## Main Menu
165+
[[menu.main]]
166+
name = "blog"
167+
weight = 100
168+
identifier = "blog"
169+
url = "/blog/"
170+
171+
### d. Creación del primer Post
172+
173+
Aprovechando los beneficios de HUGO se pueden crear posts de forma automatica ingresando un comando que genera un archivo donde tu podras ingresar el contenido a publicar. El archivo es en formato __markdown__
174+
175+
hugo new blog/primer_post.md
176+
177+
### d. Inicio del servidor de HUGO
178+
179+
Para iniciar el servidor local se ingresa:
180+
181+
hugo server –D
182+
183+
Otro comando es:
184+
185+
hugo serve
186+
187+
Este comando va a funcionar, pero los post creados no se van a mostrar porque se encuentran en estado: DRAFT = true, para que se visualicen es necesario eliminar una línea de los posts.
188+
189+
draft: true
190+
191+
### e. Subir el proyecto a un Hosting
192+
193+
Para este tutorial se utilizo __Github Pages__.
194+
195+
#### Pasos para subir el proyecto
196+
197+
1. Un repositorio con el nombre de su proyecto. Ejemplo:
198+
199+
> hugo_blog
200+
201+
2. Un segundo repositorio con el nombre de usuario de su cuenta de github
202+
203+
> username.github.io
204+
205+
(Recomendación: Este repositorio debe ser creado con su Readme.md).
206+
207+
3. En la consola __git bash__ que se encuentra abierta en la carpeta de su proyecto agregamos el siguiente comando:
208+
209+
git remote add origin [email protected]:username/hugo_blog.git
210+
211+
4. Ahora debes agregar sus archivos al área staging de git eso se realiza con los comandos:
212+
213+
git add .
214+
git commit –m “first commit”
215+
216+
5. Luego debes subir al repositorio con el nombre del proyecto.
217+
218+
git push –u origin master
219+
220+
6. Hay que clonar el otro repositorio.
221+
222+
git submodule add -b master [email protected]:username/username.github.io.git public
223+
224+
7. Debes generar la carpeta __public__ donde se almacenaran los archivos que son necesarios para el hosting
225+
226+
hugo
227+
228+
8. Para finalizar es necesario crear un Shell script con el nombre de __deploy.sh__ que debe tener lo siguiente:
229+
230+
#!/bin/sh
231+
232+
# If a command fails then the deploy stops
233+
set -e
234+
235+
printf "\033[0;32mDeploying updates to GitHub...\033[0m\n"
236+
237+
# Build the project.
238+
hugo -t hugo-sustain # if using a theme, replace with `hugo -t <YOURTHEME>`
239+
240+
# Go To Public folder
241+
cd public
242+
243+
# Add changes to git.
244+
git add .
245+
246+
# Commit changes.
247+
msg="rebuilding site $(date)"
248+
if [ -n "$*" ]; then
249+
msg="$*"
250+
fi
251+
git commit -m "$msg"
252+
253+
# Push source and build repos.
254+
git push origin master
255+
256+
9. Antes de ejecutar el script debes cambiar en el archivo __config.toml__ el valor de la variable __baseURL__ con:
257+
258+
<https://username.github.io/>
259+
260+
10. Ya cambiada esa línea puedes poner en ejecución el script.
261+
262+
sh deploy.sh
263+
264+
Ahora su sitio debería estar disponible.
265+
266+
<https://username.github.io>
267+
268+
### Conclusión
269+
270+
El tutorial fue creado para que las personas que nuncan han trabajado __HUGO__ puedan desarrollar su sitio web en poco tiempo, sin tantas complicaciones y sepan como subirlo a un hosting.
271+
272+
Déjame saber que te pareció el artículo en mi twitter:
273+
274+
[Twitter](https://twitter.com/gonzalezlrjesus)
275+
276+
[Portafolio](https://gonzalezlrjesus.github.io/) (Mi Portafolio fue creado con __HUGO__ y con el tema __hugo-sustain__)

0 commit comments

Comments
 (0)