**Flujos documentales computacionales**
Esta narrativa de datos (es decir, esta combinación de prosa, código, datos y resultados enriquecidos)
da cuenta de los flujos y prácticas documentales en la comunidad de [Grafoscopio](https://mutabit.com/grafoscopio/), nacida en el hackerspace [HackBo](https://hackbo.org/), (donde continúan muchas de sus prácticas _in-situ_).
Dichos flujos y prácticas están en dialogo con espacios institucionales como el LabCI (Laboratorio de Ciencia de la Información)
del Departamento de Ciencia de la Información, de la Pontificia Universidad Javeriana, Bogotá.
Se constituyen así en un ejemplo de innovación abierta y comunitaria, donde bienes y saberes comunes circulan entre comunidades de base e instituciones, potenciándose mutuamente.
# Cómo leer este documento
El presente es un documeno hipertextual y computacional:
* Debido a su caracter hipertextual este documento
no sólo que cuenta con hipervínculos que apuntan a otros enlaces que extienden la información,
sino que también es posible hacer una lectura anotada hipertextual, compartiendo nuestras notas de lectura al margen con otres lectores del mismo.
Para aprovechar mejor esta naturaleza hipertextual, aconsejamos que saques una cuenta de Hypothesis, subrayes y anotes las distintas partes del documento,
incluyendo visitar enlaces, hacer búsquedas de términos y agregarlas a los márgenes.
* Debido a su caracter computacional, este documento soporta cálculos y realiza operaciones,
por ejemplo, trayendo información de la web, copiándola en nuestro disco duro y publicándola en un repositorio de código.
Para aprovechar mejor esta naturaleza computacional, lo aconsejable es que descargues este documento en la versión de Grafoscopio instalada en tu computador y que vayas ejecutando trozos de código (marcados por la tipografía en `versalitas`),
de manera que puedas ver cómo funciona el código y qué transformaciones produce.
También es importante tener en cuenta las siguientes convenciones de lectura:
* El texto en `versalitas` corresponde a trozos de código e instrucciones para el computador:
`fossil commit -m "Agregando configuración inicial`
* Las frases en _cursiva_ corresponden a énfasis o términos en inglés:
Hacemos _boostrapping_ del sistema.
* Existen, además distintos avisos (_admonitions_) que empleamos para indicar distintos tipos de actividades
!!! note
Este es un ejemplo de informacion relevante .
!!! tip
Este aviso lo usamos para ejercicios a realizar por el/la aprendiz.
!!! warning
Este indica advertencias.
Nuevas versiones del documento serán producidas con el tiempo.
Por ello es bueno visitar la versión en línea del mismo.
# Prerrequisitos
Esta narrativa de datos
está escrita desde [Lepiter](https://lepiter.io/feenk/introducing-lepiter--knowledge-management--e2p6apqsz5npq7m4xte0kkywn/), en el [Glamorous Toolkit](https://gtoolkit.com/).
Una familiaridad inicial con ambos entornos es necesaria para ejecutar dicha narrativa.
En caso de que no se tenga, recomendamos vincularse a la comunidad de [Grafoscopio](https://mutabit.com/grafoscopio/)
para aprender con ella y los distintos canales de comunicación y materiales educativos que han preparado,
en clave de alfabetismos críticos en datos y código usando estas plataformas.
Para leer hipertextualmente y ejecutar interactivamente este documento es necesario:
* [Hypothesis](https://web.hypothes.is/): la herramienta de lectura hipertextual y colectiva con la que hacemos anotaciones. Una cuenta en dicho sistema es necesaria para realizar, compartir y discutir nuestras anotaciones.
* [Glamorous Toolkit](https://gtoolkit.com/) (o GToolkit): El entorno interactivo de cómputo donde se escribió y ejecuta la narrativa.
* [MiniDocs](https://code.tupale.co/Offray/MiniDocs/): Herramientas de documentación minimalista, utilizadas para compartir y publicar esta narrativa, así como para interactuar con sistemas exteros de documentación ligera (HedgeDoc, Markdown, Markdeep).
* [Fossil SCM](https://fossil-scm.org/): Es el sistema donde almacenamos y publicamos nuestras narrativas de datos y sus historiales.
# Documentos computacionales
Debido a la ofimática, pensamos los documentos como aspectos separados y encerrados de nuestra experiencia de cómputo.
Si queremos escribir prosa, usamos un procesador de palabra (MS Word, LibreOffice Writer, Apple Pages, etc);
si queremos calcular algo, usamos una hoja de cálculo (MS Excel, LibreOffice Calc, Apple Numbers, etc)
y, si queremos presentar algo, usamos un programa de presentaciones (MS PowerPoint, LibreOffice Presenter o Apple Keynote).
Hay una idea menos popular pero más poderosa y es que, dadas las capacidades computacionales de estos documentos digitales, sería posible hacer prosa, código, presentaciones y visualizaciones dentro de un mismo documento y ver distintos aspectos del mismo,
dependiendo del público y la intensión comunicativa que se tenga.
A dichas combinaciones de prosa, código, datos y resultados enriquecidos, ya sea en la forma de visualizaciones, audios embebidos u otros elementos interactivos, se les conoce como narrativas de datos y la interfaz para crearlos, editarlos y extenderlos se les llama como [libretas computacionales](https://en.wikipedia.org/wiki/Notebook_interface).
Si bien las narrativas de datos y sus libretas computacionales tienen ya sus décadas,
últimamente ha tomado más fuerza.
Acá un listado cronológico de distintas herramientas de libretas computacionales, indicando su año de creación (con un enlace a la fuente del que tomamos dicho año) y su caracter de libre o privativas (consecuentes con las apuestas de Grafoscopio,
hemos enfatizado las tecnologías libres), así como los lenguajes y tecnologías desde y para los cuales fue hecho:
* [Mathematica](https://www.wolfram.com/mathematica/) ([1988](https://en.wikipedia.org/wiki/Wolfram_Mathematica), privativo): hecho en el [lenguaje Wolfram](https://en.wikipedia.org/wiki/Wolfram_Language).

* [TeXmacs](https://www.texmacs.org/) ([1998](https://www.texmacs.org/tmweb/help/articles.en.html#bib-TeXmacs:manual), libre) multilenguaje y hecho principalmente en [Guile Scheme](https://www.gnu.org/software/guile/).

* [Grafoscopio](https://mutabit.com/grafoscopio/) ([2014](http://smalltalkhub.com/Offray/Grafoscopio/), libre) hecho en y para [Pharo](https://pharo.org/) Smalltalk, migrado en 2020 a [Glamorous Toolkit](https://gtoolkit.com/) (o GToolkit).

* [Jupyter](https://jupyter.org/) ([2015](https://en.wikipedia.org/wiki/Project_Jupyter), libre) multilenguaje y hecho principalmente en [Python](https://www.python.org/).

* [Pluto](https://plutojl.org/) ([2020](https://github.com/fonsp/Pluto.jl/commit/f33ed48), libre): hecho en y para [Julia](https://julialang.org/).

* [Glamorous Toolkit](https://gtoolkit.com/) / Lepiter ([2021](https://lepiter.io/feenk/introducing-lepiter--knowledge-management--e2p6apqsz5npq7m4xte0kkywn/), libre) hecho en [Pharo](https://pharo.org/) Smalltalk, con soporte para Pharo, JavaScript y Python.

* [Clerk](https://clerk.vision/) ([2021](https://youtu.be/Gnrh7XOt_84), libre) hecho en y para [Clojure](https://clojure.org/).

* [Livebook](https://livebook.dev/) ([2021](https://github.com/livebook-dev/livebook/commit/7979277), libre) hecho en y para [Elixir](https://elixir-lang.org/).

# Un documento que se cambia a sí mismo
Una cosa interesante de los sistemas Smalltalk es que son autorreferenciales.
Por ejemplo, desde un trozo de código podemos invocar a la página que contiene dicho trozo de código:

Y podemos, entonces, hacer operaciones sobre la página desde trozos de código en la misma.
Por ejemplo, exportarla a formato [Markdeep]
Hay otras partes del vocabulario de Smalltalk, que se refieren a el sistema de archivos. Por ejemplo:
Combinemos estas dos partes del vocabulario, para guardar esta misma página en una subcarpeta dentro del repositorio de la Grafoscopedia.
Definamos las variables para ello:
Guardemos la página, exportada como un archivo Markdeep en la subcarpeta del wiki.
Miremos los contenidos de la subcarpeta donde almacenamos el archivo:

# Importando/exportando un documento desde HedgeDoc
Hay dos formas de importar documentos desde HedgeDoc.
* La ícono-enactiva (GUI: Graphical user Interface).
* La simbólica (CLI: Command Line Interface)
como ya hemos trabajado con la GUI, ahora lo haremos desde la interfaz simbóica (código).

Podemos ahora, almacenar ese archivo en nuestro repositorio, en la subcarpeta del wiki

Con lo cual, tendremos un documento que está listos para ser agregado al repositorio.
# Importando/exportando muchos documentos desde HedgeDoc