Pacotes com vários arquivos
Um arquivo .html só dá conta de uma ficha. Use um pacote (um .zip) quando o plugin tiver:
- mais de uma ficha, ou fichas e tabelas juntas;
- o CSS e o JavaScript em arquivos separados;
- imagens, fontes ou sons próprios.
O que vai no pacote
Seção intitulada “O que vai no pacote”A Ficha Básica do RPG Desk, por exemplo:
Directoryficha-basica.zip
- manifest.json o manifesto, na raiz
- ficha.html a ficha
- estilo.css
- ficha.js
- retrato.svg a silhueta do retrato
O manifest.json tem os mesmos campos do manifesto do arquivo único e, em cada ficha ou tabela, o
entry, o HTML dela:
{ "rpgdesk": 1, "id": "br.rpgdesk.ficha-basica", "name": { "pt": "Ficha Básica do RPG Desk", "en": "RPG Desk Basic Sheet" }, "version": "1.0.0", "author": "RPG Desk", "description": "Ficha para qualquer sistema: atributos, perícias, ataques, inventário e anotações.", "sdk": 1, "sheets": [ { "type": "br.rpgdesk.ficha-basica.personagem", "title": { "pt": "Personagem", "en": "Character" }, "entry": "ficha.html", "private": { "mestre": "gm" } } ]}- Cada HTML de entrada carrega o rpgdesk.js (e, se quiser, o
rpgdesk.css) no<head>, como no arquivo único. O manifesto não vai dentro do HTML. - Os outros arquivos entram por caminhos relativos:
<link rel="stylesheet" href="estilo.css">,<script src="ficha.js"></script>,<img src="img/rpgdesko.webp">. - O
"$schema"no manifesto (opcional) dá a ajuda do editor:“$schema”: “https://docs.rpgdesk.com/_sdk/1/manifest.schema.json”. - O
"icon"(opcional) é um.pngou.svgdo pacote.
Todos os campos estão em O manifesto.
Modo de teste: os dados ficam só neste navegador. A faixa no canto troca o papel (mestre, dono da ficha, outro jogador) e mostra o registro das rolagens.
Montar o .zip
Seção intitulada “Montar o .zip”- Ponha os arquivos numa pasta, com o
manifest.jsonna raiz dela. - Selecione o conteúdo da pasta (não a pasta) e compacte: no Windows, botão direito → Enviar para → Pasta compactada.
- Instale o
.zipem Configurações da mesa → Plugins → Instalar plugin….
Arquivos aceitos
Seção intitulada “Arquivos aceitos”.html .htm .css .js .mjs .json .txt .md .png .jpg .jpeg .webp .gif .svg
.woff2 .woff .ttf .otf .mp3 .ogg .wav
- O pacote tem até 10 MB e 500 arquivos.
- Os caminhos diferenciam maiúsculas e minúsculas:
Retrato.pngnão éretrato.png. - A página lê os arquivos do próprio pacote, até com
fetch('dados/magias.json'). A internet, não.
Bibliotecas
Seção intitulada “Bibliotecas”Bibliotecas como a Alpine.js e o jQuery funcionam, desde que o arquivo delas
vá dentro do pacote. Um <script src> de um CDN é erro, porque a ficha não tem internet.
- Baixe a versão
.min.jsda biblioteca (da Alpine, por exemplo, ocdn.min.jsdo pacotealpinejsno npm). - Salve numa pasta
vendor/do pacote, comovendor/alpine.min.js. - Carregue pelo caminho relativo, depois do rpgdesk.js:
<script defer src="vendor/alpine.min.js"></script>.
- O verificador não dá avisos para o código de uma biblioteca: um arquivo em
vendor/, ou um código que começa com o comentário de licença/*!. Veja O verificador. - Com a Alpine, use
x-data,x-showex-forpara a tela (abas, mostrar e esconder) edata-fieldpara os dados. Não ponhax-modeledata-fieldno mesmo campo: os dois escreveriam no mesmo valor. - O
$.ajaxe o$.getJSONdo jQuery leem os arquivos do pacote ($.getJSON('dados/magias.json')), mas não a internet.