Instalación
Plantilla de inicio
Slidev requiere Node.js >=14.0
La mejor manera de empezar es utilizando nuestra plantilla oficial de inicio.
Con NPM:
$ npm init slidev@latest
Con Yarn:
$ yarn create slidev
Sigue las indicaciones y se abrirá la presentación en http://localhost:3030/ automáticamente para ti.
También contiene la configuración básica y una breve demostración con instrucciones sobre cómo empezar a utilizar Slidev.
Instalación manual
Si todavía prefieres instalar Slidev manualmente o quieres integrarlo en tus proyectos existentes, puedes hacer lo siguiente:
$ npm install @slidev/cli @slidev/theme-default
$ touch slides.md
$ npx slidev
Por favor, nótese que si usas pnpm, necesitarás activar la opción de 'shamefully-hoist' para que Slidev funcione correctamente:
echo 'shamefully-hoist=true' >> .npmrc
Instalación global
Available since v0.14
Puedes instalar Slidev globalmente con el siguiente comando:
$ npm i -g @slidev/cli
Y luego usar slidev donde desees sin que tengas que crear un proyecto cada vez.
$ slidev
Este comando también intentará utilizar el @slidev/cli local si se ha encontrado en node_modules.
Instalación en Docker
Si necesitas una forma rápida de ejecutar una presentación con contenedores, puedes utilizar la imagen de Docker preconstruida y mantenida por tangramor, o construir la tuya propia.
Simplemente ejecuta el siguiente comando en tu carpeta de trabajo:
docker run --name slidev --rm -it \
--user node \
-v ${PWD}:/slidev \
-p 3030:3030 \
tangramor/slidev:latest
Si tu carpeta de trabajo está vacía, generará una plantilla de slides.md y otros archivos relacionados en tu carpeta de trabajo, y lanzará el servidor en el puerto 3030.
Puedes acceder a tus diapositivas desde http://localhost:3030/
Construir una imagen desplegable
O puedes crear tu propio proyecto de Slidev en Docker con Dockerfile:
FROM tangramor/slidev:latest
ADD . /slidev
Crea la imagen de Docker: docker build -t mippt .
Y ejecuta el contenedor: docker run --name misdiapos --rm --user node -p 3030:3030 mippt
Puedes visitar tus diapositivas desde http://localhost:3030/
Constuir una SPA alojable (Single Page Application)
Ejecuta el comando docker exec -i slidev npx slidev build en el contenedor de slidev en ejcución. Generará archivos HTML estáticos en la carpeta dist.
Alojar en Github Pages
Puedes alojar dist en un sitio web estático como Github Pages o Gitlab Pages.
Debido a que en las páginas de Github la URL puede contener subcarpetas, tienes que modificar el index.html generado y cambiar href="/assets/xxx por href="./assets/xxx. O puedes utilizar la opción --base=/<subcarpeta>/ durante el proceso de construcción, como por ejemplo docker exec -i slidev npx slidev build --base=/slidev_docker/.
Y para evitar el proceso de construcción de Jekyll, es necesario añadir un archivo vacío denominado .nojekyll.
Alojamiento con Docker
También puedes alojarlo por tu cuenta con Docker:
docker run --name myslides --rm -p 80:80 -v ${PWD}/dist:/usr/share/nginx/html nginx:alpine
O crea una imagen estática con el siguiente Dockerfile:
FROM nginx:alpine
COPY dist /usr/share/nginx/html
Crea la imagen de Docker: docker build -t mystaticppt .
Y ejecuta el contendor: docker run --name myslides --rm -p 80:80 mystaticppt
Puedes acceder a tus diapositivas desde http://localhost/
Echa un vistazo a tangramor/slidev_docker para más detalles.
Interfaz de la línea de comandos (CLI)
@slidev/cli expone algunos comandos que puedes usar con npx slidev ... o añadiendo scripts en tu package.json:
{
"script": {
"dev": "slidev"
}
}
En ese caso podrás ejecutar npm run dev.
Puedes pasar opciones a cualquier comando:
- las opciones booleanas son
truesi están presentes,falseen caso contrario (ejemplo:slidev --open) - algunas opciones pueden tener valores que puedes añadir justo después de la opción o usando el carácter
=( por ejemplo:slidev --port 8080oslidev --port=8080)
Si usas scripts de npm, no olvides añadir -- después del comando de npm:
npm run slidev -- --open
slidev [entrada]
Inicia un servidor local para Slidev.
[entrada](string, por defecto:slides.md): ruta al Markdown de las diapositivas.
Opciones:
--port,-p(number, por defecto:3030): número del puerto.--open,-o(boolean, por defecto:false): abrir en el navegador.--remote [password](string): escucha al host público y habilita el control remoto, si se pasa un valor entonces el modo presentador es privado y sólo accesible pasando la contraseña dada en el parámetropassword.--log('error', 'warn', 'info', 'silent', por defecto:'warn'): Nivel de registro.--force,-f(boolean, por defectofalse): fuerza al optimizador a ignorar la caché.--theme,-t(string): reemplaza el tema.
slidev build [entrada]
Genera una SPA alojable.
[entrada](string, por defecto:slides.md): ruta al Markdown de las diapositivas.
Opciones:
--watch,-w(boolean, por defecto:false): observa cambios a las diapositivas.--out,-o(string, por defecto:dist): directorio de salida.--base(string, por defectopor defecto/): URL base (véase https://cli.vuejs.org/config/#publicpath)--download(boolean, por defecto:false): allow to download the slides as PDF inside the SPA.--theme,-t(string): override theme.
slidev export [entrada]
Exporta diapositivas a PDF (u otro formato).
[entrada](string, por defecto:slides.md): ruta al Markdown de las diapositivas.
Opciones:
--output(string, por defecto: usaexportFilename(véase https://sli.dev/custom/#frontmatter-configures) o usa[entrada]-export): ruta a la salida.--base('pdf', 'png', 'md', por defecto:'pdf'): formato de salida.--timeout(number, por defecto:30000): tiempo de espera para renderizar la impresión (véase https://playwright.dev/docs/api/class-page#page-goto).--range(string): page ranges to export (example:'1,4-5,6').--dark(boolean, por defecto:false): export as dark theme.--with-clicks,-c(boolean, por defecto:false): export pages for every clicks (see https://sli.dev/guide/animations.html#click-animations).--theme,-t(string): override theme.
slidev format [entrada]
Aplica formato al archivo de Markdown.
[entrada](string, por defecto:slides.md): ruta al Markdown de las diapositivas.
slidev theme [subcomando]
Operaciones relacionadas con el tema.
Subcomandos:
eject [entrada]: Eyecta el tema actual al sistema de archivos[entrada](string, por defecto:slides.md): ruta al Markdown de las diapositivas.- Opciones:
--dir(string, por defecto:theme): directorio de salida.--theme,-t(string): sustituir tema.