Skip to content

Docsify

Docsify es un magnífico sitio donde generar tu documentación y colgarla en un servidor web rapidamente, de manera muy sencilla y con una agradable presentación. docsify crea una web donde leera automáticamente tus archivos markdown y los mostrara con un menu lateral.

Página oficial Docsify


Iniciar docsify

Existen dos maneras de iniciar Docsify, mediante npm o insertando el archivo index.html en el inicio de una carpeta.

Se recomienda npm


Iniciar desde npm (recomendado)

Mediante esta opción tenemos que instalar docsify y luego iniciarlo.

# instalar  
sudo npm i docsify-cli -g  

# iniciar en el directorio docs
docsify init ./docs
- Esto crea dos archivos en el directorio docs, index.html y un README.md.

Previsualización del la web.

docsify serve docs

http://localhost:3000


Iniciar forma manual

Para iniciar de forma manual simplemente copiar el siguiente código en un archivo index.html e insertarlo en el directorio raiz de vuestra web.
Inmediatamente empezara a leer los archivos .md que esten en el mismo nivel de directorio.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <meta name="description" content="Description">
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css">
</head>
<body>
  <div id="app"></div>
  <script>
    window.$docsify = {
      name: '',
      repo: ''
    }
  </script>
  <script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
</body>
</html>


Funcionamiento

El funcionamiento consiste en un directorio donde tienes todos tus archivos .md y se muestran en la web en el menú lateral.
El problema es cuando empiezas a tener mucha información y necesitas organización. docsify a pensado en ello y el orden es el siguiente.
- En cada directorio abra un archivo _sidebar.md con el menú lateral y un README.md que iniciara ese directorio.

Ejemplo:

./docs
├── README.md
├── _sidebar.md
├── Sistemas
│   ├── README.md
│   └── _sidebar.md
└── Redes
    ├── README.md
    └── _sidebar.md

Despues en cada _sidebar.md te diriges a cada directorio mediante links.
Ejemplo:

- [inicio](/README.md)
  - [Redes](/Redes/README.md)
  - [Sistemas](/Sistemas/README.md)

Si se inicia docsify teniendo mucha información, moriras del aburrimiento creando menus.


Configurar presentación

Desde index.html hay reglas a configurar que son interesantes. Solo explicare las que me parecen mas interesantes y estoy utilizando en esta web actualmente.
Todas las opciones

name

Nombre que saldra en encima del menu y redirijira al inicio.

window.$docsify = {
    name: 'Jorge Pastor'
};

repo

Añade tu repositorio en la esquina superior derecha.

window.$docsify = {
    repo: 'https://github.com/Jorgepastorr/apuntes'
};

loadsidebar

Cargar los menús personalizados.

window.$docsify = {
  // load from _sidebar.md
  loadSidebar: true,

  // load from summary.md
  loadSidebar: 'summary.md'
};

subMaxLevel

Nivel de headers que quieres que muestre el menú.

window.$docsify = {
  subMaxLevel: 2
};

autoHeader

Muestra el encabezado del markdown (El titulo principal).

window.$docsify = {
  loadSidebar: true,
  autoHeader: true
};

themeColor

Color del tema, la variable se descrive a si misma.

window.$docsify = {
  themeColor: 'purple'
};


Plugins

Los plugins son funciones adicionales muy interesantes algunas de ellas.
Todos los plugins

Buscar texto

En la esquina superior izquieda inserta una barra de busqueda.

<script>
    window.$docsify = {
        search: {
            maxAge: 86400000,
            paths: 'auto',
            placeholder: 'Search',
            depht: 3,
            noData: 'No Results!' 
        }  
    }
</script>
<script src="//unpkg.com/docsify/lib/plugins/search.min.js"></script>

Copiado de código

En los cuadros de codigo añade un enlace de copiado rapido.

<script src="//unpkg.com/docsify-copy-code"></script>

Zoom en imágenes

Al clicar en una imágen hace zoom.

<script src="//unpkg.com/docsify/lib/plugins/zoom-image.min.js"></script>

Tabs

doc de tabs
Tabs es un plugin donde crea pestañas en un recuadro de código.

<!-- tabs:start -->

#### ** English **

Hello!

#### ** French **

Bonjour!

#### ** Italian **

Ciao!

<!-- tabs:end -->
Ejemplo:

English

Hello!

French

Bonjour!

Italian

Ciao!

<script>
    window.$docsify = {
        tabs: {
            persist    : true,      // default
            sync       : true,      // default
            theme      : 'classic', // default
            tabComments: true,      // default
            tabHeadings: true       // 
        }
    }
</script>
<script src="//unpkg.com/prismjs/components/prism-bash.min.js"></script>
<script src="//unpkg.com/prismjs/components/prism-php.min.js"></script>
<script src="https://unpkg.com/docsify-tabs@1"></script>