RPG Desk: creating sheets and reference. The Creating sheets and Reference sections of the RPG Desk documentation: everything used to write sheets and room tables in HTML, CSS and JavaScript with rpgdesk.js. # Creating sheets > Room sheets and tables made with HTML, CSS and JavaScript, by hand or with help from an AI. Page: https://docs.rpgdesk.com/en/fichas/ In RPG Desk, a sheet is a web page: **HTML** for the fields, **CSS** for the looks and, if needed, **JavaScript** for the math. **rpgdesk.js**, RPG Desk’s library, connects the page to the room: - what the player writes is kept in the room and shows up right away for the game master; - roll buttons roll in the chat, with the 3D dice, for everyone; - only the sheet’s owner and the game masters write; others only read, and rpgdesk.js locks the fields by itself; - parts of the sheet can be for the game master only, and they never even reach the players. The sheet below is working. Type in the fields and click **Roll Strength**: *Working example:* [Minimal sheet](https://docs.rpgdesk.com/exemplos/en/minimal-sheet.html) It does not have a single line of JavaScript: each field has a `data-field` attribute, and each roll button, a `data-roll`. ## Three ways to make one **With an AI** Copy RPG Desk’s guide to the AI (ChatGPT, Claude, Gemini…), describe the sheet and install the file it gives back. See [Create with an AI](https://docs.rpgdesk.com/en/fichas/com-ia/). **By hand, in one file** One `.html` file, with the manifest inside and the two rpgdesk.js lines. Start with the [tutorial](https://docs.rpgdesk.com/en/fichas/primeira-ficha/). **In a package** Several files (HTML, CSS, JavaScript, images, fonts) in a `.zip`, with more than one sheet or table. See [Packages with several files](https://docs.rpgdesk.com/en/fichas/pacotes/). ## From file to room 1. **Test it in the browser:** open the sheet’s file (double-click it). Outside RPG Desk, rpgdesk.js enters **test mode**, with the data in the browser and a band in the corner to switch roles. 2. **Install it in the room:** as game master, in **Room settings → Plugins → Install plugin…**, choose the `.html` (or the `.zip`). RPG Desk checks the file and tells you what to fix, if anything. 3. **Use it:** the sheet shows up in **New sheet…**, in the library. > **Tip** > > Sheets and tables are the same thing inside. A **room table** (an NPC list, a calendar) is the same kind of page, which sits below the library for the whole room. See [Room tables](https://docs.rpgdesk.com/en/fichas/tabelas/). ## In this section [Your first sheet](https://docs.rpgdesk.com/en/fichas/primeira-ficha/): The tutorial: from an empty file to the sheet installed in the room. [Create with an AI](https://docs.rpgdesk.com/en/fichas/com-ia/): The guide for the AI, the request and how to fix what comes back wrong. [Fields, lists and tabs](https://docs.rpgdesk.com/en/fichas/campos/): Everything you do with HTML attributes alone. [JavaScript on the sheet](https://docs.rpgdesk.com/en/fichas/javascript/): The document, computed fields and lists from code. [Rolls, chat and card](https://docs.rpgdesk.com/en/fichas/rolagens-e-chat/): Rolling, talking in the chat and filling in the player's bars. [Private parts](https://docs.rpgdesk.com/en/fichas/partes-privadas/): What only the game master or only the owner sees. [Room tables](https://docs.rpgdesk.com/en/fichas/tabelas/): Pages for the whole room: NPCs, initiative, travel maps. [Looks](https://docs.rpgdesk.com/en/fichas/visual/): rpgdesk.css, the theme colors and narrow screens. [Packages with several files](https://docs.rpgdesk.com/en/fichas/pacotes/): The .zip with manifest.json, images and fonts. [Test and develop](https://docs.rpgdesk.com/en/fichas/desenvolvimento/): Test mode, development mode and page errors. [Webhooks on the sheet](https://docs.rpgdesk.com/en/fichas/webhooks/): Sending data to Zapier, Make or IFTTT. [New versions](https://docs.rpgdesk.com/en/fichas/versoes/): Updating the sheet without losing the players' data. [Examples](https://docs.rpgdesk.com/en/fichas/exemplos/): Ready-made sheets and a table, to use and study. For details, the [Reference](https://docs.rpgdesk.com/en/referencia/) has the manifest, the attributes, the rpgdesk.js API, the verifier and the limits. # Your first sheet > The tutorial: from an empty file to a sheet with fields, rolls, a list and a computed field, tested in the browser and installed in the room. Page: https://docs.rpgdesk.com/en/fichas/primeira-ficha/ In this tutorial you make a simple sheet, for the game “Quick Adventure”: name, level, two attributes with a computed modifier, a roll button for each and a gear list. All you need is a text editor (Notepad will do; VS Code is better) and the browser. ## 1. The skeleton Create a file called `my-sheet.html` with this: `my-sheet.html` ```html

Hero

``` Three parts: - **The manifest**, the ` ``` `doc.compute` saves `str_mod` whenever `strength` changes. It is the right way to keep computed values: see [JavaScript on the sheet](https://docs.rpgdesk.com/en/fichas/javascript/#computed-fields). ## 6. A list For the gear, a list where each item has its own fields: ```html

Gear

``` The `