@kurohyou/k-scaffold
v2.6.3
Published
This framework simplifies the task of writing code for Roll20 character sheets. It aims to provide an easier interface between the html and sheetworkers with some minor css templates.
Downloads
224
Maintainers
Readme
A PUG, JS, and SCSS framework for building custom Roll20 character sheet templates.
View Documentation · Report Bug · Request Feature
About The Project
This framework simplifies the task of writing code for Roll20 character sheets. It aims to provide an easier interface between the html and sheetworkers with some minor css templates.
Built With
- PUG
- JS
- SCSS
Getting Started
K-scaffold PUG
To use the K-scaffold to write the html of your sheet, you will write normal PUG, but using a comprehensive library of components that are frequently used on character sheets. These range from simple mixin versions of standard html elements inputs, textareas, and selects to more complex constructions that generate Roll20 elements or workarounds for limitations of Roll20 character sheets. For full information on the scaffold, read the pug library documentation.
K-scaffold Javascript
To use the K-scaffold to write your sheetworkers, you will write normal sheetworkers, but using a library of utility functions and sheetworker aliases to supercharge the standard sheetworkers. For full information on the scaffold, read the sheetworker library documentation.
Prerequisites
Creating and using a custom character sheet requires a Roll20 pro subscription. If you want to utilize the included testing framework, you will also need to install vitest;
Installation
Install the scaffold via NPM:
npm i @kurohyou/k-scaffold
Usage
The scaffold simplifies many of the common tasks of creating a Roll20 character sheet and provides constructs to easily create everything from fill to left radio groups to textareas that grow based on the content of their associated Roll20 attribute. To generate a K-scaffold sheet, you will need a pug file, and an scss file.
Pug
Your main pug file should start with:
include k-scaffold
//- Your code starts here
This will give your pug file(s) access to the K-scaffold mixins and local variables.
SCSS
Any scss file that you want to use the K-scaffold's mixins in needs to start with:
@use "k-scaffold" as k;
Build your sheet
To build your sheet, simply run the following command:
> k-build
Alternatively, you can build in watch mode so that the sheet is updated as you make code changes.
> k-build --watch
OR
> k-build --w
This is useful when using the Roll20 Autocode chrome extension to automatically update the Roll20 sandbox.
Roadmap
See the open issues for a full list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Tests
The K-scaffold and sheets written with it use the Vitest testing framework.
Unit tests are currently written for the following:
- The html, testFramework, and translation generation code
- Parts of the CSS generation generation code
- The K-scaffold's pug helper functions
- All sheetworker utility functions except for the repeating section ordering functions.
Tests for the uncovered sections of code will be written as work progresses. If you wish to contribute, please ensure that no changes break these tests.
License
Distributed under the mit License. See LICENSE.txt for more information.
Changelog
Contact
Scott Casey - @Kurohyoustudios
Project Link: https://github.com/Kurohyou-Studios/k-scaffold
Acknowledgments
- Riernar has supercharged the efforts to properly organize and pacakage the K-scaffold.
- Thank you to Keith Curtis for the excellent logo assets.
This readme template adapted from the Best-README-Template by Othneil Drew. Readme generated by Genme! by Scott Casey.