Diferencia entre revisiones de «Usuario:ManuelRomero/DesarrolloWeb/Estatico»

De WikiEducator
Saltar a: navegación, buscar
(Desarrollo de páginas estáticas)
 
(3 revisiones intermedias por el mismo usuario no mostrado)
Línea 208: Línea 208:
 
---
 
---
  
 +
</source>}}
 +
 +
 +
 +
{{MRM_Actividad|Title=Emojin|
 +
*fichero de configuración
 +
<source lang=bash>
 +
enableEmoji=true /*false default*/
 
</source>
 
</source>
  
 +
*Ahora simplemente añadirmos emojin  ver emoin cheat sheet (https://www.webfx.com/tools/emoji-cheat-sheet/)
 +
[[Archivo:emoji_heart.png]]
 +
<br />
 +
 +
 +
 +
}}
 +
{{
 +
MRM_Actividad|Title=Modificando el layout o tema|
 +
*Analizando la estructura de carpetas observamos que tenemos una carpeta llamada '''''layout''''', la misma que existe dentro de la carpeta '''''theme''''' que hayamos descargado.
 +
*Si  queremos modificar un fichero del theme, no deberíamos hacerlo ahí, ya que esa carpeta no la hemos realizado nosotros y si quisiéramos posteriormente actualizarla, se perderían todos los cambios.
 +
*La organización de '''''hugo''''' está muy bien pensada y estructurada. Cualquier fichero que exista en la carpeta de layout con igual nombre (y estrcutura) sobreescribirá el fichero correspondiente de la carpeta del theme.
 +
*Por lo tanto para cambiar el logo, deberíamos crear el fichero correspondiente en la carpeta layout raíz de nuestro proyecto
 +
 +
[[Archivo:rewrite_theme_files1.png]]
 +
<br />
 +
[[Archivo:rewrite_theme_files2.png]]
 +
 +
 +
 +
 +
 +
}}
 +
{{MRM_Actividad|Title=Modificando el css del tema|
 +
*No debemos acceder al propio css del thema y cambiarlo, aunque funcione no es una buena práctica de desarrollo
 +
*MEjor poner nosotros nuestra propias declaraciones y hacer que éstas sean las que se visualicen (modifiquen las de por defecto)
 +
*Esta práctica ya la hemos realizado en el ejemplo anterior
 +
*En el caso de css, crearemos nuestro propio css que queramos añadir y lo colocaremos debajo del css que esté declarado, de forma que éste sea el que prevalezca.
 +
*La mayoría de las plantillas, en su fichero html partials de '''''header.html''''', realiza una carga de todos los ficheros '''''css'''''.
 +
<source lang=html5>
 +
{{ range .Site.Params.custom_css -}}
 +
    <link href="{{(printf "%s" .) | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
 +
    {{- end }}
 +
</source>
 +
*Ahora deberemos establecer esos ficheros bajo la varialbe custom_css en el fichero de configuración
 +
 +
<source lang=bash>
 +
[params]
 +
custom_css=['/css/estilo.css']
 +
</source>
 +
*Aqui vemos un array con todos los ficheros de estilos que queramos cargar
 
}}
 
}}

Última revisión de 08:49 4 oct 2021

Desarrollo de páginas estáticas

  • Está desarrollado en lenguaje Go
  • MRM_PENDIENTE Comentarios sobre la diferencia entre un sistio estático y uno dinámico ....




Icon inter.gif
Aplicaciones para desarrollar sitios estáticos
https://jamstack.org/generators/
https://gohugo.io/


Este tema lo voy a explicar sobre una plantilla hecha con hugo



Icon activity.jpg
Instalación


sudo apt-get install hugo







Icon activity.jpg
Instalación
sudo apt-get install hugo






Icon activity.jpg
Crear un nuevo proyecto
hugo new site probando_hugo
  • Esto nos creará una carpeta con dicho nombre, dentro de la cual tendremos una estructura de ficheros como mostramos en el siguiente apartado
  • Después de crear el proyecto nos muestra un mensaje de cómo podemos proceder para poder ver nuestro sitio en el navegador
Creando nuevo sitio hugo 1.png





Icon activity.jpg
Estructura de ficheros creados
  • Vemos la siguiente estructura de ficheros
Ficheros proyecto hugo 1.png
  • Posteriormente iremos viendo el significado y utilidad de cada carpeta y ficheros.





Icon activity.jpg
Selecconar un tema
  • Por tema vamos a entender el formato o estilo de nuestra página
  • Por supuesto podemos crear uno nuestro o modificar uno que esté disponible
  • Los temas disponibles, los podemos ver en
https://themes.gohugo.io/
  • Para instalar un tema procedemos de la siguiente manera:

Lo podemos descargar la web (opción download de la página del tema) Lo podemos instalar directamente con git en la carpeta correspondiente o especificándolo en la descarga

 git init #Inicializamos git en el directorio actual
 git submodule init  #Inicializamos git para instalar submódulos en el directorio actual
 git submodule add https://git.okkur.org/syna themes/syna #Instala este tema en la carpeta thems
  • Una vez realizada esta acción, ya tendremos el tema instalado (ver contenido del directorio themes
  • Podríamos instalar todos los temas y luego ir seleccionando uno u otro
 git clone --depth 1 --recursive https://github.com/gohugoio/hugoThemes.git themes
  • Una vez instalado el tema, hay que especificar en el fichero de configuración qué tema vamos a usar
  • La configuración del sitio se establece en el fichero config.toml

Lo abrimos y añadimos el tema en este caso syna o el que queramos establecer

theme="syna"





Icon activity.jpg
Theme learn
  • Vamos añadir el tema learn y a trabajar con el
git submodule add https://github.com/matcornic/hugo-theme-learn.git ./themes/learn
  • Ahora seguimos el manual de este tema y vamos modificando ficheros según nos indica y a nuestra conveniencia.
https://learn.netlify.app/en/
  • Primero modificamos el fichero de configuración
# Change the default theme to be use when building the site with Hugo
theme = "hugo-theme-learn"
 
# For search functionality
[outputs]
home = [ "HTML", "RSS", "JSON"]
  • La plantilla de learn se carga a partir de partes que se ubican en la subcarpeta de partials
  • Cambiamos el logo de la imagen (modificamos ./partials/logo.html





Icon activity.jpg
Theme docsy
  • Otro tema que voy s usar yo
https://www.docsy.dev/docs/
git submodule add https://github.com/google/docsy.git ./themes/docsy
  • Tiene que estar instalado postCss para transpilar ficheros sass
sudo npm install -D autoprefixer
sudo npm install -D postcss-cli
 
sudo npm install -D postcss


  • Una vez descagado el tema debemos actualizarlo, ya qsudo npm install -D autoprefixer
 git clone --recurse-submodules --depth 1






Icon activity.jpg
Configurando nuestro sitio
  • Una vez creado, tendremos unos ficheros de configuración que hay que conoce
  • Observaremos que hay ficheros de configuración en diferentes niveles de las carpetas, digamos que podríamos modificar en una ubicación concreta una configuración más general.
  • El fichero de configuración es config.toml
  • La configuración de propia de hugo, pero cada plantilla la puede particularizar (añadir variables de configuración). También podríamos añadir nosotros nuestras propias variables.
https://learn.netlify.app/en/basics/configuration/
  • Vamos a modificar las básicas según nos interese en nuestro sitio





Icon activity.jpg
Viendo los estilos
  • Los estilos son algo propio de la vista, del tema
  • Los temas vienen con un estilo que puede ser configurable o podemos incluso modificarlo.
  • Dentro del tema tendremos la carpeta 'static/css'. Ahí podemos ver los estilos
  • Podemos ver cómo learn viene con tres estilo que podemos establecer en el fichero de configuración con la variable 'themeVariant dentro de sección de parámetros param
  • Lear viene con tres estilos green, red, blue
  • Podemos crear uno propio
[params]
  # Change default color scheme with a variant one. Can be "red", "blue", "green".
  themeVariant = "red"
  • También podríamos cambiar el logo y el favicon copiando la imagen en la carpeta static/images y modificando los partiasl favico.html y logo.html






Icon activity.jpg
Añadiendo contenido a nuestro sitio
  • Ahora vamos a escribir el contenido de nuestras páginas de nuestro sitio web
  • Es muy importante organizar bien nuestro sitio web antes de empezar a añadir contenido
  • El contenido será normalmente facilitado en ficheros de texto con extensión md.
  • hugo tiene la gran potencia de recorrer estas carpetas de contenido y visualizarlas en las plantillas.
  • Aquí tenemos un gran ejemplo de separar plantillas y contenido en armoniosa organización



Icon activity.jpg
Estableciendo la estructura
https://gohugo.io/content-management/organization/
https://learn.netlify.app/en/cont/pages/
  • Crearemos carpetas para cada contenido principal
  • Cada carpeta debería de tener un fichero llamado _index.md que constituya el capítulo de esos contendios.
  • Después tendremos ficheros y mas carpetas que serán el contenido de este tema concreto.
  • Lear organiza las páginas en dos tipos:
  1. Chapter
 hugo new --kinD chapter temario/_index.md
  1. defaul
 hugo new  temario/tema1.md





  • Para ellos escribiremos en texto plano en ficheros md (con sintaxis Markdonw https://markdown.es/sintaxis-markdown/)
  • Podremos añadir tantos ficheros como contenido queremos crear y cada fichero de la extensión que necesitemos.
  • Es importante organizar bien los contenidos, de momento vamos a crear un fichero
  • Se puede hacer directamente en el editor o usar comandos de hugo
 hugo new index.md
  • Esto nos creará un fichero index.md en la carpeta de content

Creando contenido hugo 1.png

  • El contenido del fichero es mínimo

Contendio fichero md base.png





Icon activity.jpg
Escribiendo contenido
  • Ahora podemos escribir contenido en el fichero y observar el resultado
  • Vamos a escribier en un fichero lo que quisiéramos publicar, por ejemplo escribimos
# Creación de sitios Web con Hugo
 
****Hugo**** es un sotfware que nos va a permitir crear sitios web con contenido estático.
Podemos considerarlo un CSM pero sin posibilidad de agregar bases de datos ni formularios para interactuar con el usuario
Su cometido es visualizar de forma agradable y fácil el contenido de fihceros de texto como éste.
El formato del texto escrito es formato markdown.
Así si queremos ver un listado de viñetas
 
* Este es un item
* Este es otro ite
* Etc etc
 
También podemos visualizar código fuente
````html
<h1>Esto es texto de primera línea</h1>
````
---





Icon activity.jpg
Emojin
  • fichero de configuración
 enableEmoji=true /*false default*/

Emoji heart.png






Icon activity.jpg
Modificando el layout o tema
  • Analizando la estructura de carpetas observamos que tenemos una carpeta llamada layout, la misma que existe dentro de la carpeta theme que hayamos descargado.
  • Si queremos modificar un fichero del theme, no deberíamos hacerlo ahí, ya que esa carpeta no la hemos realizado nosotros y si quisiéramos posteriormente actualizarla, se perderían todos los cambios.
  • La organización de hugo está muy bien pensada y estructurada. Cualquier fichero que exista en la carpeta de layout con igual nombre (y estrcutura) sobreescribirá el fichero correspondiente de la carpeta del theme.
  • Por lo tanto para cambiar el logo, deberíamos crear el fichero correspondiente en la carpeta layout raíz de nuestro proyecto

Rewrite theme files1.png
Rewrite theme files2.png







Icon activity.jpg
Modificando el css del tema
  • No debemos acceder al propio css del thema y cambiarlo, aunque funcione no es una buena práctica de desarrollo
  • MEjor poner nosotros nuestra propias declaraciones y hacer que éstas sean las que se visualicen (modifiquen las de por defecto)
  • Esta práctica ya la hemos realizado en el ejemplo anterior
  • En el caso de css, crearemos nuestro propio css que queramos añadir y lo colocaremos debajo del css que esté declarado, de forma que éste sea el que prevalezca.
  • La mayoría de las plantillas, en su fichero html partials de header.html, realiza una carga de todos los ficheros css.
{{ range .Site.Params.custom_css -}}
    <link href="{{(printf "%s" .) | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
    {{- end }}
  • Ahora deberemos establecer esos ficheros bajo la varialbe custom_css en el fichero de configuración
[params]
custom_css=['/css/estilo.css']
  • Aqui vemos un array con todos los ficheros de estilos que queramos cargar