Content initialized. GenesysRef is ready to use!
Homebrew Helper
?

There are multiple different types of containers, each with the same properties and the same nesting functionality. The only difference is how they are displayed. The basic container is the "text" container. When using the text container, you do not need to specify the type as "text" (but you may). The "sidebar" container centers the title and renders the content inside of a sidebar colored box. The "example" container renders the content in an example colored box.

{
      "title": "Header 1",
      "entries": [
            {
                  "type": "quote",
                  "entries": [
                        "Nothing in the world is perfect. But this whole nesting thing... It's pretty great."
                  ],
                  "by": "Dev"
            },
            "This is the first level of header. These should be used to create chapter titles.",
            "Every text container is recursive! You can nest more layers of text, add in tables, etc. You can also just add numbers if you'd like.",
            "123456789",
            {
                  "title": "Header 2",
                  "entries": [
                        "Header 2 denotes major sections of the chapter. Whenever you need a header inside of a chapter, this should be your go to!",
                        "If you are just displaying an entries array, you don't need to specify the type.",
                        {
                              "type": "sidebar",
                              "title": "This is a sidebar",
                              "entries": [
                                    "You can add sidebars to your content too! Sidebars are great for drawing attention to specific rules or ideas."
                              ]
                        },
                        {
                              "title": "Forcing Header Levels!",
                              "forceTitleLevel": 5,
                              "entries": [
                                    "You can force the title level rather than nesting multiple text objects to get the desired title level."
                              ]
                        },
                        {
                              "title": "Header 3",
                              "entries": [
                                    "Header 3 is simply a second layer of denotation you can use. Any time you need to separate out different ideas underneath a header 2, use this.",
                                    {
                                          "type": "example",
                                          "title": "Examples!",
                                          "entries": [
                                                "You can create example containers too! Just like sidebars, you can continue nesting more and more data to get the perfect display."
                                          ]
                                    },
                                    {
                                          "title": "Header 4",
                                          "entries": [
                                                "This is big, bold, orange header. The core rulebook uses these sometimes.",
                                                {
                                                      "title": "Read Aloud",
                                                      "type": "read-aloud",
                                                      "entries": [
                                                            "When creating adventure modules, you may have small paragraphs for the GM to read verbatim to the players. Use these blocks to highlight read-aloud paragraphs."
                                                      ]
                                                },
                                                {
                                                      "title": "Header 5",
                                                      "entries": [
                                                            "Header 5 is yet another layer of denotation you can use. Any time you need to separate out different ideas underneath a header 3, use this. Note that this is usually the deepest level of denotation you should use. If you are doing a considerable list, consider using header 6 instead.",
                                                            {
                                                                  "title": "Header 6",
                                                                  "entries": [
                                                                        "Header 6 is used to create lists that require significant detail. It is most notably used to list talents. This is a bottom tier header, meaning there should never be any headers nested inside. All titles nested will default to header 6.",
                                                                        {
                                                                              "type": "notice",
                                                                              "variant": "warn",
                                                                              "title": "The End",
                                                                              "entries": [
                                                                                    "This is the deepest you should nest stuff."
                                                                              ]
                                                                        }
                                                                  ]
                                                            }
                                                      ]
                                                }
                                          ]
                                    }
                              ]
                        }
                  ]
            }
      ]
}
Property
Data Type
Description
type
string
One of text, sidebar, example, or read-aloud. When using text, this property is optional.
title
string
The title of the container.
forceTitleLevel
integer
Only applicable to text containers. Forces the title to appear as the given number. Nested containers will also have their title levels increased.
page
integer
The page number on which the information can be found.
entries*
The content. Can be lots of stuff, including more text containers.
_ref
Reference to pre-existing sidebar. Note: this requires the sidebar type to behave properly.

We used a quote in the above example too, so you can see how they interact with other text containers.

{
      "type": "quote",
      "entries": [
            "One fish, two fish, red fish, blue fish."
      ],
      "by": "Dr. Seuss"
}
Property
Data Type
Description
type*
string
Must be quote.
entries*
string
The quote itself. Does not support nesting.
by
string
Who the quote is by.

We used a notice in the above example too, so you can see how they interact with other text containers.

Due to the way these codeblocks work, all of the example notices below have been grouped into a container so they will all be displayed in the same codeblock.

{
      "entries": [
            {
                  "type": "notice",
                  "entries": [
                        "There are fish in the ocean."
                  ]
            },
            {
                  "type": "notice",
                  "variant": "success",
                  "entries": [
                        "Fish can be really pretty!"
                  ]
            },
            {
                  "type": "notice",
                  "variant": "warn",
                  "entries": [
                        "Fish the ocean get eaten by bigger fish."
                  ]
            },
            {
                  "type": "notice",
                  "variant": "error",
                  "entries": [
                        "Some fish eat people. Watch out!"
                  ]
            }
      ]
}
Property
Data Type
Description
type*
string
Must be notice.
variant
string
The type of notice. Options are info, success, warn, error. When using info, this property is optional.
entries*
array
Content to display. Can be strings and numbers.