En especial se debe poner en el front matter:
- el menú ya sea main ó secundario
Sin embargo el tema en sí, es un subtree apararte
En el menu aparece la opción de traducido si la hay. En general se establece definiendo la sección para ambos o para cada uno.
Y se documenta en sub encabezados los dos archivos poniendo para el de español
:PROPERTIES:
:EXPORT_FILE_NAME: voice-recording.en.md
:END:
En caso de querer poner nombre diferente o sección diferente
:PROPERTIES:
:EXPORT_FILE_NAME: grabacion-de-voz
:EXPORT_HUGO_SECTION: post
:EXPORT_HUGO_CUSTOM_FRONT_MATTER: :translationKey voice
:END:
Igual se pone el translationKey en inglés así se identifica que son uno pa’l otro.
Toma del custom filed del frontmatter o del site una lista de widgets que desplegar en la página Widgets revisados:
- Recent
Están predefinidos dos tipos de menu. El primario (llamado main) que es para la página principal y el secundario para las otras.
Las páginas que queremos incluir en el menú, lo ponemos en el frontmatter así:
:PROPERTIES:
:EXPORT_HUGO_MENU: :menu main
:END:
Adicionalmente se puede poner datos extras programando en config.toml así:
[menu]
[[languajes.es.menu.main]]
identifier = "post"
title = "notas"
name = "Notas en General"
url = "/post/"
weight = -110
Validar que en root del proyecto está el archivo ejecutable build-elm.sh
Y que el packaje.json hace referencia a este archivo para compilar elm en dado caso.
Se compila y se incluye automaticamente con los comandos/scripts de package.json
En el frontmatter de la hoja correspondiente, donde va la aplicación de JS ó Elm, se debe poner elm = “NombreEntryJS”
Poniendo solo el nombre de la aplicación sin la extensión (el “.js”)
O bien, si es en orgmode con:
#+hugo_custom_front_matter: :elm AlpineConElm
ó para cada arbol, dentro de las propiedades, así:
:EXPORT_HUGO_CUSTOM_FRONT_MATTER: :key1 SpecialElmApp
Para esto la aplicación en JS se pone assets/js/NombreEntryJS.js
Por ahora solo es una aplicación por app compilada, en un futuro SDM hay que modificar los archivos compiladores para poder que en un solo archivo de ELM se compilen dos apps para una página.
con un <div id="myapp"></div>
o el id que sea, para definir el área que toma el la aplicación. El id es el que se establece en el sig. punto.
De ahí se importan las aplicación(es) de js.
var app = Elm.NameApp.init({
node: document.getElementById('myapp')
});
app.ports.deElmAlJS.subscribe(function(message) {
console.log(message);
});
elemento.addEventListener("tipEvento", function(event) {
app.ports.messageReceiver.send(event.data);
});
Donde NameApp es el nombre de la app en: assets/elm/nombreEntryJS/src/NameApp.elm
También se puede agregar Javascript cualquier programas.
Después de inicializar con $elm init
en assets/elm/nombreEntryJS/
Poner dentro de ahí la app en src/NameApp.elm
NameApp
es diferente del nombre que se puso en el front Matter.
Y es el mismo nombre que tendrá la aplicación compilada en assets/elm/nombreEntryJS.js y que se importará en el header.
Definir clases que inicien con “elm-” para las cosas dentro de la aplicación de elm.
Poner la definición de las clases en ./assets/css/especial.css
usando si quieres la opción @apply
dentro de la definición de cada clase.
En assets/js/NombreDelParam.js
se va a poner las integradoras de elm
En la app integradora de elm se ahce referencia a un nodo del DOM con id que debe ser igual en la página de internet.
Se crea un folder en assets/elm/NombreDelParam/
y ahí se inicializa la app de Eln con $elm init
Luego en src/NombreApp.elm
se ponen las apps en lenguaje Elm
Dentro de la app en elm se escribe:
port module NombreApp exposing (..)
Las apps compiladas a JS se pondrán en assets/elm
El plan es usar módulos para desplegar en diferentes páginas lo que se haga en base2 según lo queramos meter. Para esto, base2 debe ser un módulo go. Lo cual ya va a estar realizado.
Luego:
En la páginas en cuestión: que carpetas vamos a jalar y donde ponerla así:
[module]
[[module.imports]]
disable = false
ignoreConfig = false
path = "github.com/rolojf/b1"
[[module.mounts]]
source = "layouts"
target = "layouts"
[[module.mounts]]
source = "static"
target = "static"
module github.com/rolojf/p1 replace github.com/rolojf/b1 => /home/rolo/Documents/webRepos/probandoMods/base go 1.15 require github.com/rolojf/b1 v0.0.0-20200913212916-911e3ab31779 // indirect
Ojo, no se copian las cosas (al parecer) pero en el entregable (public) si aparecen.
Primero se requiere tener instalado go en la compu. Luego, el repositorio debe ser inicializado como un módulo de go con:
$hugo mod init github.com/me-me-me/my-hugo-project
Y con esto se crean los go.mod y go.sum.
Solo con:
$ hugo mod get -u github.com/twbs/bootstrap
O si queremos una versión en particular.
$ hugo mod get github.com/twbs/bootstrap@v3.4.0
Actualmente, hasta no encontrar una mejor manera de importar los fonts,
Copiar los font files así:
./node_module/fontsource-inter/files/ -> static/fonts/
Copiar los css que hacen refrencia a los fonts así:
./node_module/fontsource-inter/latin.css + ./node_module/fontsource-inter/latin-ext.css -> assets/css/inter.css
Modifico la direcciones a que apunten a el folder, por ejemplo así: url('/fonts/inter-latin-100-normal.woff2')