Instalando las herramientas para gestión de contenidos.
Asistencia
- Offray Luna.
- Sara del Mar Castiblanco
- Caos Ludd
- Víctor Hugo
- ruidajo
- choff
- constanza
- Adri
- viviana
- M00
Agenda
- Recuento.
- mdBook: Grafoscopedia extendida y escritura asíncrona
Recuento
Al final de la sesión anterior cada un@ quedó con una copia de la Grafoscopedia en su propio disco duro, clonada a partir de un repositorio central:
https://mutabit.com/repos.fossil/grafoscopedia/dir?ci=tip&type=tree

Captura de pantalla del repositorio de la Grafoscopedia
Vamos a extender esta manera de presencia en línea usando una herramienta para publicación de libros desde Markdown,
que nos permita recopilar, indexar y organizar nuestra historia comunitaria,
de manera que sea más fácil de navegar (pasado) y extender (futuro).
mdBook
en →
mdBook is a command line tool to create books with Markdown. It is ideal for creating product or API documentation, tutorials, course materials or anything that requires a clean, easily navigable and customizable presentation.
es →
mdBook es una herramienta de línea de comandos para crear libros con Markdown. Es ideal para crear documentación de productos o API, tutoriales, materiales para cursos o cualquier cosa que requiera una presentación limpia, fácilmente navegable y personalizable.
https://rust-lang.github.io/mdBook/
Otra documentación en el siguiente enlace → mdBook
Instalación de mdbook
Para Instalar o compilar usando Rust,
podemos instalar en principio rustup
para gestionar la instalación de rust
.
https://www.rust-lang.org/tools/install
para instalar en un sistema operativo Unix-like ejecutamos
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Seleccionamos la instalación por defecto o default
.
Debemos reiniciar la terminal o la shell actual y tendremos instalado
rustup
, rustc
y cargo
.
Con la utilidad cargo
podemos instalar mdbook
cargo install mdbook
Iniciar un libro
-
Nos ubicamos en la carpeta que contiene a la carpeta donde queremos alojar el libro.
Desde la consola hacemos:
-
Inicializamos el libro en la carpeta Grafoscopedia/
:
mdbook init Grafoscopedia
El resultado debería ser algo de este estilo:
Do you want a .gitignore to be created? (y/n)
n
What title would you like to give the book?
Grafoscopedia
2025-02-27 19:37:34 [INFO] (mdbook::book::init): Creating a new book with stub content
All done, no errors...
De las líneas anteriores nos enfocaremos en esta:
2025-02-27 19:37:34 [INFO] (mdbook::book::init): Creating a new book with stub content
que se llama un log o registro de bitácora.
2025-02-27 19:37:34
cuando se dio el mensaje.
[INFO]
: naturaleza del mensaje (habitualmente son info, warning, error).
(mdbook::book::init):
detalle del mensaje: un mensaje de mdbook (mdbook
) sobre un libro (book
) sobre el proceso de inicialización (init
).
Creating a new book with stub content
Detalle en humano. Creado un libro nuevo con un trozo de contenido.
Se han creado nuevas subcarpetas y archivos en la carpeta Grafoscopedia/
:
Grafoscopedia/
|_ book/
|_ src/
|_ book.toml
Vamos a abrir el archivo book.toml
y para ello previamente vamos a instalar lite-xl
Desde la consola de comandos nos reubicamos en la carpeta Grafoscopedia y escribimos:
Editamos desde lite-xl el archivo book.toml
para que nos quede de esta manera:
[book]
authors = ["La comunidad de Grafoscopio"]
language = "es"
multilingual = true
src = "src"
title = "Grafoscopedia"
Lanzamos el servidor de mdbook:
mdbook serve --open
.
Si funciona deberíamos ver algo de este estilo:
2025-02-27 20:31:44 [INFO] (mdbook::book): Book building has started
2025-02-27 20:31:44 [INFO] (mdbook::book): Running the html backend
2025-02-27 20:31:44 [INFO] (mdbook::cmd::serve): Serving on: http://localhost:3000
2025-02-27 20:31:44 [INFO] (mdbook): Opening web browser
2025-02-27 20:31:44 [INFO] (mdbook::cmd::watch::poller): Watching for changes...
2025-02-27 20:31:44 [INFO] (warp::server): Server::run; addr=[::1]:3000
2025-02-27 20:31:44 [INFO] (warp::server): listening on http://[::1]:3000
Y en el navegador web veremos algo como esto:

Captura de pantalla de la interfaz del servidor de mdbook
En la barra de navegación aparece algo que dice http://localhost:3000
Regresemos a lite-xl y en la subcarpeta src/
cliqueamos el archivo chapter_1.md
Vamos a crear un error intencional para ejemplificar
las convenciones de uso de mdbook.
Vamos al editor y cambiamos el archivo book.toml
cambiamos la linea 5:
src = "wiki"
ejecutamos de nuevo mdbook serve --open
se produce el siguiente error

Captura de pantalla del error de mdbook en la terminal
Para corregir este error renombramos la carpeta src
a wiki
:
Y ahora sí podemos relanzar el servidor:
Instalaciones
Los gestores de paquetes usan metáforas distintas para diferentes cosas,
por ejemplo para los listados de paquetes para scoop es buckets
para brew son casks
.
Scoop (gestor de paquetes Scoop)
Scoop es un gestor de paquetes para windows
https://scoop.sh
Más información en Documentación Scoop
Brew (gestor de paquetes Mac/Linux)
Brew es un gestor de paquetes para Mac y Linux
https://brew.sh/
después de instalar brew siguiendo las instrucciones de la página oficial
ejecutamos el siguiente comando para instalar fossil
brew install fossil
Arch linux
Yay es una sigla de Yet another Yogurt - An AUR Helper written in Go
https://github.com/Jguer/yay un gestor de paquetes del repositorio AUR para Arch y
yay -S fossil
tree
tree
es una utilidad de la linea de comandos que escribe gráficamente y de manera arborea en la linea de comandos.
Para MacOS con el gestor de paquetes Brew
brew install tree
Comandos Unix
En la interfaz de comandos o terminal
ls
→ Listar
ls ./directorio
lista los contenidos del directorio ./directorio
cd
→ Cambiar de directorio
cd ~/Documentos
cambia de directorio al directorio Documentos
en el home ~
mkdir
→ Crear un directorio
mkdir nueva-carpeta
en donde estamos ubicados crea un directorio llamado nueva-carpeta
Preguntas
En esta sección se pueden consignar preguntas para responder eventualmente
que no han sido posible hacer de manera sincronica o para que no se olviden hacerlas
Ejemplo:
Para que la pregunta tenga el checkbox o caja para chulear al inicio
es necesario que una nueva linea inicie con - [ ]
al resolver la pregunta excribiremos dentro del corchete una equis - [x]
lo cual marcara como respondida la pregunta y se espera que las lines
siguientes a la pregunta o en otro apartado se haya respondido la inquietud.
Notas varias
En esta sección tomamos notas de datos, chismes y chistes
que vamos mencionando a lo largo del taller.
En el principio fue la línea de comandos
de Neal Stephenson
Por aquí el enlace del libro de Neal Stephenson
SPA (single page application).
Tecnicamente tiddlywiki es una página estática con funciones dínamicas
en el navegador aunque puede ser dinámica conectando a un servidor Node.js
https://github.com/TiddlyWiki/TiddlyWiki5
Static Website |
Dynamic Website |
Content of Web pages can not be change at runtime. |
Content of Web pages can be changed. |
No interaction with database possible. |
Interaction with database is possible |
It is faster to load as compared to dynamic website. |
It is slower than static website. |
Cheaper Development costs. |
More Development costs. |
No feature of Content Management. |
Feature of Content Management System. |
HTML, CSS, Javascript is used for developing the website. |
Server side languages such as PHP, Node.js are used. |
Same content is delivered everytime the page is loaded. |
Content may change everytime the page is loaded. |
https://www.geeksforgeeks.org/static-vs-dynamic-website/