This is the Github repository for a collection of tools, all developed for an unofficial third-party Warcraft supplement for Dungeons & Dragons 5th Edition. Everything in the supplement is provided for free, and everything in this toolset is open source for making pull requests to modify or expand on it.
The project uses Gatsby.js as its JS framework, built from reusable components and served as a static website. Other packages include:
The project uses the following folder structure:
.
/parser
/src
/applications
/components
/data
/utils
/views
/components
/css
/images
/markdown-pages
/pages
/stores
/templates
-
/parser
: This directory contains a Node app for transpiling the data in the original project books to markdown pages that can be used in this project. -
/applications
: Each app project that is part of this toolkit sits in its own folder in this directory.-
/components
: Reusable components that are unique for an application are contained here. -
/data
: Static Graphql queries for data that is used by the component is stored here. Static arrays and objects, retrieved as getters, can also be stored here. -
/utils
: This directory contains functions important to the app, that are self-contained enough to extract to their own files. Separate from components, as they export functions -- not JSX elements. -
/views
: This directory contains all components inside an application that are composed views, rather than reusable components. Two different views of the same Bestiary app page, for example.
-
-
/components
: This directory contains all components that can be reused across the whole website. -
/css
: This directory contains all static boilerplate CSS files. -
/images
: This directory contains all static images. -
/markdown-pages
: This directory contains all static markdown pages, that are converted to Gatsby pages via remark. -
/pages
: This directory contains all app pages, that aren't built from a markdown page. Each app will have its own page here, rendering the views of that app. -
/stores
: Data stores are kept globally and used per-context in different apps. Contexts are provided to the app globally throughgatsby-browser.js
andgatsby-ssr.js
. -
/templates
: This directory contains all templates used to convert markdown pages.
Permission to copy, modify and distribute the files collectively known as the System Reference Document 5.1 ("SRD5") is granted solely through the use of the Open Gaming License, Version 1.0a.
This material is being released using the Open Gaming License Version 1.0a and you should read and understand the terms of that license before using this material.
©2004 Blizzard Entertainment, Inc. All rights reserved. World of Warcraft, Warcraft and Blizzard Entertainment are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries.