Join the 5etools Discord here!
There are several options for running a local/offline copy of 5etools, including:
Beginner: Use Firefox to open the files.
Intermediate: When using Chrome (or similar), a command-line switch is required to load some pages locally. On Windows, this can be accomplished by creating a Chrome shortcut and editing the properties of the shortcut to add --allow-file-access-from-files
to the shortcut Target
:
Be sure to close any running Chrome instances (and kill any remaining Chrome processes as required) before opening the shortcut. A summary of the security implications can be found here.
Advanced: Host the project locally on a dev webserver, perhaps using this.
-
Get Greasemonkey (Firefox) or Tampermonkey (Chrome).
-
Click here and install the script.
-
Open the Roll20 game where you want the stuff imported.
-
Go to the gear icon and click on the things you want imported.
-
Let it run. The journal will start fill up with the stuff you selected. It's not too laggy but can take a long time depending on the amount of stuff you selected.
-
Bam. Done. If you are using the Shaped sheet, be sure to open up the NPC sheets and let them convert before using it.
You can convert stat blocks to JSON for importing via this converter.
- Use tabs over spaces.
To remove trailing commas in JSON:
Find: (.?)(,)(:?\s]|\s*})
Replace: $1$3
- ’ should be replaced with '
- “ and ” should be replaced with "
- — (em dash) should be replaced with \u2014 (Unicode for em dash)
- – and \u2013 (en dash) should be replaced with \u2014
- • should be not be used unless the JSON in question is not yet covered by the entryRenderer, i.e. should be encoded as a list
- the only Unicode escape sequence allowed is \u2014; all other characters (unless noted above) should be stored as-is
-
- (hyphen) should only be used to hyphenate words, e.g. 60-foot and 18th-level
- any whitespace on any side of a \u2014 should be removed
- Adjectives: a hyphen and the full name of the unit of measure should be used, e.g. dragon exhales acid in a 60-foot line
- Nouns: a space and the short name of the unit of measure (including the trailing period) should be used, e.g. blindsight 60 ft., darkvision 120 ft.
- Time: a slash, /, with no spaces on either side followed by the capitalised unit of time, e.g. 2/Turn, 3/Day
Do npm run dev-server
to launch a local dev server that serves the project files on http://localhost:8080/5etools.html
.
The server automatically refreshes the page for you whenever one of the project files (html, css, js, images) changes.
Do npm run version-bump -- [OPTION]
, where [OPTION]
is one of the following:
major
to increment the major version (1.2.3
will become2.0.0
)minor
to increment the minor version (1.2.3
will become1.3.0
)patch
to increment the patch version (1.2.3
will become1.2.4
)- a version number (like
1.2.3
)
It will first run the tests and fail to increase the version if the tests fail.
It will then automatically replace the version in the files where it needs to be replaced, create a commit with the message chore(version): bump
and create a tag (in the form v1.2.3
) at the commit.
This feature can be easily disabled by doing npm config set git-tag-version false
.
This project is licensed under the terms of the MIT license.