Pré-renderize sites estáticos com facilidade.
Antedate é uma API e CLI simples que usa o manipulador de marionetes do Chrome para pré-renderizar sites do lado do cliente. Ele ativa automaticamente um servidor local e renderiza cada rota fornecida.
$ npm install antedate
Você pode usar a API ou CLI.
$ antedate render -r /home -r /about
import antedate from 'antedate'
const routes = [ '/' , '/about' , '/contact' ] ;
const site = './site' ;
await antedate ( site , routes ) ;
// => [
// { html: '....', route: '/', path: '/index.html' },
// { html: '....', route: '/about', path: '/about.html' }
// ...
// ]
await antedate ( site , routes , { headless : false , dirs : true } ) ;
// => [
// { html: '....', route: '/', path: '/index.html' },
// { html: '....', route: '/about', path: '/about/index.html' }
// ...
// ]
O módulo também vem com uma CLI
Description
Pre-render the routes given
Usage
$ antedate render [options]
Options
-s, --selector Wait for the following selector before rendering
-w, --wait MS to wait before saving page. Happens after selector wait
-r, --route Prerender the route specified
-d, --dir Directory containing the static site (default .)
-o, --output Output directory (default ./static)
-h, --help Displays this message
Examples
$ antedate render -r /home -r /about
Retorna: Array
Retorna uma função de renderização que aceitará opcionalmente um valor date
como seu único argumento.
Tipo: String
Obrigatório: true
Caminho para o diretório que contém o site estático a ser pré-renderizado. O Antedate inicia automaticamente um servidor local.
Tipo: Array
Obrigatório: true
Matriz de rotas a serem renderizadas. A raiz /
é sempre renderizada por último. Por exemplo ['/about', '/contact', '/']
.
Tipo: Object
Obrigatório: false
Tipo: Boolean
Padrão: false
Quer executar o titereiro no modo sem cabeça.
Tipo: String
Padrão: ``
Aguarde selector
aparecer antes de renderizar o site. Por exemplo, body.prerender
.
Tipo: Number
Padrão: ``
Milissegundos antes de renderizar o site.
OBS: Isso acontece após a opção do seletor se ambos forem fornecidos.
Tipo: Function
Padrão: ``
Uma função de retorno de chamada a ser executada na página antes da renderização acontecer.
Tipo: Function
Padrão: ``
Uma função de decorador que permite manipular a string HTML renderizada.
await antedate ( site , routes , { decorator : html => html . toUpperCase ( ) } ) ;
A ideia e a lógica são baseadas no código do PWA de Luke Edwards. Veja a implementação original em build.js em @pwa/cli.
Licença MIT @ Terkel Gjervig