Escribir documentación es ahora más fácil gracias a VuePress
Wojciech Bak
Escribir documentación es una norma que en muchos proyectos se convierte en un lujo. Su elaboración pasa fácilmente a un segundo plano, sobre todo cuando en la fase de desarrollo de aplicaciones dinámicas se da prioridad a otras funcionalidades.
Siempre ha sido una cuestión importante hacer el esfuerzo necesario para diseñar, programar y aplicar algo que cumpla varios criterios:
permite acceder rápidamente a la estructura de una aplicación
le permite buscar libremente en el contenido
proporciona información técnica sobre las soluciones utilizadas
puede almacenarse en GitHub, preferiblemente con posibilidad de despliegue fácil.
No es de extrañar que la documentación vaya asociada a grandes gastos. Por otra parte, la equipo está creciendo, la incorporación genera muchos costes, y para ello el servicio de asistencia hace constantemente las mismas preguntas a los desarrolladores. En algún momento, todo el mundo echa de menos ... VuePress.
VuePress es un generador de páginas estáticas basado en la tecnología Vue.js, que es ideal para crear documentación. Un buen ejemplo puede ser la propia documentación de Vue.js.
VuePress te permite editar textos en formato Markdown con el uso de los componentes de Vue, que, por último, ofrecen un abanico de posibilidades realmente amplio. Basta con empezar con dos comandos:
npm install -g vuepress
vuepress dev
Por defecto, VuePress se ejecuta en el directorio docs / y crea su propia carpeta. vuepress en ella. Después de introducir los comandos anteriores, se inicia automáticamente el Nodo y muestra la documentación en localhost: 8080 /. He aquí un ejemplo de la estructura del archivo.
Con una configuración adecuada, VuePress generará una página completa y muy estética. Como se puede ver en la pantalla de arriba, nuestra documentación contiene dos componentes personalizados - CodeHeading y ColorSample.
Un ejemplo más sencillo para empezar será CodeHeading.
Se trata de una sintaxis estándar de un componente Vue.js, fácilmente disponible en archivos Markdown. Aquí tienes un ejemplo de implementación (/docs/Code/javacript.md):
De este modo, hemos obtenido una solución totalmente legible para presentar ejemplos de trabajo con un código.
Probablemente todos los desarrolladores frontend se han encontrado alguna vez en una situación en la que les faltaba la representación HEX de algún color del diseño gráfico. ¿Y si pudieras tener siempre a mano el color y fijar de antemano una determinada paleta? Así es: la documentación nos obliga de algún modo a ceñirnos al estándar. El resultado puede parecerse al siguiente:
En este ejemplo se ha utilizado el componente ColorPicker.vue. Sirve no sólo para la presentación de un color dado - haciendo clic en un círculo, copiaremos automáticamente el código HEX en el portapapeles.
Plantilla:
<template>
<div class="color-sample">
<div class="color-sample__container">
<div
class="color-sample__circle"
@click="copyToClipboard"
:style="`background-color: ${ color }`"
title="Haga clic para copiar el código HEX"
>
<div class="color-sample__input-wrapper">
<input type="text" class="color-sample__input" :id="hexId" :value="color">
<div class="color-sample__input-overlay" :style="`background-color: ${ color }`"></div>
</div>
</div>
<p>
<strong>(( nombre ))</strong><br/>
(( color ))
</p>
</div>
</div>
</template>
Un ejemplo de implementación (/docs/Design/colors.md):
Merece la pena prestar atención al motor de búsqueda incorporado en VuePress:
Basándose en las cabeceras de los archivos Markdown, funciona automáticamente. La configuración de la documentación hecha de esta manera viene como sigue:
Con la vuepressconstruya podemos generar al instante archivos HTML estáticos listos para su rápida publicación con total compatibilidad de activos.
Vale la pena mencionar que VuePress permite un despliegue automático en varias plataformas, incluyendo GitHub Pages. Además, la posibilidad de crear tus propios temas hace de VuePress una solución de blog bastante buena.
Si los ejemplos anteriores han despertado tu curiosidad, para más información te recomiendo que te familiarices con la documentación oficial del VuePress proyecto.