Hospedagem Estática

Compilando Single Page Applications (SPA)

Você também pode compilar os slides em uma aplicação SPA auto-hospedável:

$ slidev build

A aplicação gerada estará disponível na pasta dist/ e a partir daí você pode hospedá-la no GitHub Pages, Netlify, Vercel, ou em qualquer outra plataforma que preferir. Agora você pode compartilhar seus slides com o todo mundo com um único link.

Diretório Base

Para implantar seus slides em sub-rotas, você precisará passar a opção --base. Por exemplo:

$ slidev build --base /palestras/minha-palestra-legal/

Consulte a documentação do Vite para mais detalhes.

Disponibilize um PDF para download

Você pode disponibilizar um PDF para download aos visitantes da sua aplicação SPA com a seguinte configuração:

---
download: true
---

O Slidev vai gerar um arquivo PDF na compilação e um botão de download aparecerá na aplicação SPA.

Você também pode prover uma URL customizada para o PDF. Nesse caso, o processo de renderização do arquivo será pulado.

---
download: 'https://myside.com/my-talk.pdf'
---

Exemplos

Aqui estão alguns exemplos de aplicações SPA exportadas:

Para mais, veja a Galeria.

Hospedando

Nós recomendamos usar o comando npm init slidev@lastest para iniciar seu projeto, que já contém as configurações necessárias para serviços de hospedagem.

Netlify

Crie o arquivo netlify.toml na raiz do projeto com o seguinte conteúdo.

[build.environment]
  NODE_VERSION = "14"

[build]
  publish = "dist"
  command = "npm run build"

[[redirects]]
  from = "/*"
  to = "/index.html"
  status = 200

Depois vá para o seu painel de controle do Netlify e crie um novo site com o repositório.

Vercel

Crie o arquivo vercel.json na raiz do projeto com o seguinte conteúdo.

{
  "rewrites": [
    { "source": "/(.*)", "destination": "/index.html" }
  ]
}

Depois vá para o seu painel de controle da Vercel e crie um novo site com o repositório.

GitHub Pages

Crie o arquivo .github/workflows/deploy.yml com o seguinte conteúdo para implantar seus slides no Github Pages pelo Github Actions.

name: Deploy pages
on: push
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: '14'
      - name: Install dependencies
        run: npm install
      - name: Build
        run: npm run build
      - name: Deploy pages
        uses: crazy-max/ghaction-github-pages@v2
        with:
          build_dir: dist
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}