Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

K-scaffold v1.x - Character sheets made fun!

1676676592

Edited 1676677534
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Hi my fellow sheet authors! I've spent the last year fine tuning the K-scaffold to make it as useful as possible for building character sheets. Today, with excellent help from Riernar, I'd like to present v1.X of the K-scaffold. This updated version provides support for just about every sheet building task including: Built in navigation handling for tabbed sheets. You can even nest the navigation! An SCSS library that provides out of the box functionality for complex sheet constructs like fill-to left radio buttons, and textareas that grow with their contents. There's even CSS variables provided that allow you to customize how things work to your heart's content. A build api to make assembling your final html, css, and translation files a breeze. Translation.json files are now automatically generated from your sheet. No more need to manually write every translation entry for your entire sheet. And finally, the K-scaffold can now be installed from NPM to make it extra easy to use in your next project! You can read a copy of the readme.md file below, or jump on over to the&nbsp; slick new documentation site . I'll be adding a full tutorial/guide over the next several weeks, but in the mean time the documentation provides in depth information about all the functions, mixins, and variables that each library provides along with what arguments everything takes. Looking forward to see what the community makes, Scott Casey &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; K-Scaffold A PUG, JS, and SCSS framework for building custom Roll20 character sheet templates. View Documentation &nbsp;·&nbsp; Report Bug &nbsp;·&nbsp; 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&nbsp; 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&nbsp; 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&nbsp; 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: &gt; k-build Alternatively, you can build in watch mode so that the sheet is updated as you make code changes. &gt; k-build --watch OR &gt; k-build --w This is useful when using the&nbsp; Roll20 Autocode chrome extension &nbsp;to automatically update the Roll20 sandbox. Roadmap See the&nbsp; open issues &nbsp;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&nbsp; 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&nbsp; 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&nbsp; LICENSE.txt &nbsp;for more information. Changelog v1.1.0 Added module mixin to Pug Library v1.0.0 Soft Launch Contact Scott Casey &nbsp;-&nbsp; @Kurohyoustudios Project Link:&nbsp; <a href="https://github.com/Kurohyou-Studios/k-scaffold" rel="nofollow">https://github.com/Kurohyou-Studios/k-scaffold</a> Acknowledgments Riernar &nbsp;has supercharged the efforts to properly organize and pacakage the K-scaffold. Thank you to&nbsp; Keith Curtis &nbsp;for the excellent logo assets.
1676694806
GiGs
Pro
Sheet Author
API Scripter
Hadn't you released a tutorial before?
1676695237
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Yes, but that was for the beta. A few things have changed.
1676695751
GiGs
Pro
Sheet Author
API Scripter
That makes sense, if it's not too much trouble I'd consider udating that. Nice work :)
1676702672
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Yep, that's the plan for the tutorial for this. Update the old one, and finish it off.
1676812275
Peter B.
Plus
Sheet Author
I am so impressed by your work. I am sure this will revolutionise sheetwork building. I would very much like to dip my feet into it myself, but my sheet is so filled with legacy that I doubt it would even be feasible to convert it. If I ever make a new sheet / redo the current one, then I will for sure try out your scaffolding. You have done an awesome job for the Roll20 community When are Roll20 going to hire you? :D