nereare_grimoire 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +7 -0
  2. data/404.html +10 -0
  3. data/LICENSE.md +24 -0
  4. data/README.md +38 -0
  5. data/_layouts/adventure.html +26 -0
  6. data/_layouts/chapter.html +21 -0
  7. data/_layouts/default.html +63 -0
  8. data/_layouts/index.html +89 -0
  9. data/_layouts/monster.html +191 -0
  10. data/_layouts/post.html +26 -0
  11. data/_layouts/settlement.html +304 -0
  12. data/_layouts/spell.html +44 -0
  13. data/_plugins/abbr-align.rb +28 -0
  14. data/_plugins/ability.rb +10 -0
  15. data/_plugins/add-sign.rb +9 -0
  16. data/_plugins/articulate.rb +11 -0
  17. data/_plugins/number.rb +9 -0
  18. data/_plugins/ordinal.rb +21 -0
  19. data/_plugins/pluralize.rb +9 -0
  20. data/assets/404.png +0 -0
  21. data/assets/background.jpg +0 -0
  22. data/assets/desc-border.png +0 -0
  23. data/assets/favicon/android-chrome-192x192.png +0 -0
  24. data/assets/favicon/android-chrome-512x512.png +0 -0
  25. data/assets/favicon/apple-touch-icon.png +0 -0
  26. data/assets/favicon/browserconfig.xml +12 -0
  27. data/assets/favicon/favicon-16x16.png +0 -0
  28. data/assets/favicon/favicon-32x32.png +0 -0
  29. data/assets/favicon/favicon.ico +0 -0
  30. data/assets/favicon/mstile-144x144.png +0 -0
  31. data/assets/favicon/mstile-150x150.png +0 -0
  32. data/assets/favicon/mstile-310x150.png +0 -0
  33. data/assets/favicon/mstile-310x310.png +0 -0
  34. data/assets/favicon/mstile-70x70.png +0 -0
  35. data/assets/favicon/safari-pinned-tab.svg +133 -0
  36. data/assets/favicon/site.webmanifest +18 -0
  37. data/assets/favicon.png +0 -0
  38. data/assets/header.png +0 -0
  39. data/assets/note-border.png +0 -0
  40. data/css/boxes.scss +66 -0
  41. data/css/stats-block.scss +159 -0
  42. data/css/style.scss +230 -0
  43. metadata +212 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 0c3c3607d9e610dedfa98b6bf5fbeaffa09b1284bd233d2864ec93db203d84e1
4
+ data.tar.gz: '0861be80b757c6c2fa4d36d8cadd58fc57b53391bfb5c799c65048dbe5a46a60'
5
+ SHA512:
6
+ metadata.gz: fb43ab2b16152364f0c4315becbd5f397e19a8f3ad1c9b68501cea5f8bbe9f1f671091b97f7ad3953a35ef564e21eae9700e64ed609ae2cc07d49a0318937559
7
+ data.tar.gz: c5726ca2690f1f6794fb5b7745e657c45136bf889fe0d84581453b14404e4c5cccb9233910308c4c1a414b72b4e2cae1008724a75d6b8c6654ed05ebe3e131cb
data/404.html ADDED
@@ -0,0 +1,10 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="page-404">
6
+ <img alt="d20 with a natural one" src="{{ 'assets/404.png' | absolute_url }}" />
7
+
8
+ <h2>Page not Found</h2>
9
+ <p>Oops, this page doesn't seem to be on this site. :no_mouth:</p>
10
+ </div>
data/LICENSE.md ADDED
@@ -0,0 +1,24 @@
1
+ # The MIT License (MIT)
2
+
3
+ Copyright © `2019` `Igor Padoim`
4
+
5
+ Permission is hereby granted, free of charge, to any person
6
+ obtaining a copy of this software and associated documentation
7
+ files (the “Software”), to deal in the Software without
8
+ restriction, including without limitation the rights to use,
9
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the
11
+ Software is furnished to do so, subject to the following
12
+ conditions:
13
+
14
+ The above copyright notice and this permission notice shall be
15
+ included in all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
18
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
19
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
21
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
22
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24
+ OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,38 @@
1
+ # Grimoire
2
+
3
+ [![GitHub package.json version](https://img.shields.io/github/package-json/v/Nereare/Grimoire)](https://github.com/Nereare/Grimoire)
4
+ [![Gem](https://img.shields.io/gem/v/nereare_grimoire)]()
5
+ [![GitHub](https://img.shields.io/github/license/Nereare/Grimoire)](LICENSE.md)
6
+ [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v1.4%20adopted-ff69b4.svg)](CODE-OF-CONDUCT.md)
7
+ [![Travis (.org)](https://img.shields.io/travis/Nereare/Grimoire)](https://travis-ci.org/Nereare/Grimoire)
8
+ [![Libraries.io dependency status for GitHub repo](https://img.shields.io/librariesio/github/Nereare/Grimoire)](https://libraries.io/github/Nereare/Grimoire)
9
+
10
+ A jekyll quasi-wiki for RPG-oriented worldbuilding.
11
+
12
+ ## Contributing
13
+
14
+ Please, also read our [Contributing Guidelines](CONTRIBUTING.md).
15
+
16
+ Also, note that this project is released with a [Contributor Code of Conduct](CODE-OF-CONDUCT.md). By participating in this project you agree to abide by its terms.
17
+
18
+ ## History & Versioning
19
+
20
+ This project uses [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/Nereare/Grimoire/tags). See the [Change Log](CHANGELOG.md) for history.
21
+
22
+ ## Legal Stuff
23
+
24
+ [![MIT License](http://i.imgur.com/Ze3dFob.png "MIT License")](https://opensource.org/licenses/MIT)
25
+
26
+ ### System Reference Document
27
+
28
+ ![d20 Logo](https://i.imgur.com/8CG0VEv.png)
29
+
30
+ Some of the contents of this site may fall under the [Open Game License](https://www.wizards.com/default.asp?x=d20/srdfaq/20040123b).
31
+
32
+ `d20 System` and the `d20 System` logo are trademarks of Wizards of the Coast, Inc. and are used according to the terms of the d20 System License. A copy of this License can be found at [www.wizards.com](http://www.wizards.com/default.asp?x=d20/article/srdarchive).
33
+
34
+ ### Acknowledgements
35
+
36
+ * [MIT License Logo](http://excaliburzero.deviantart.com/art/MIT-License-Logo-595847140) by [ExcaliburZero](http://excaliburzero.deviantart.com/), available under a [Creative Commons Attribution 3.0 License](https://creativecommons.org/licenses/by/3.0/)
37
+ * Favicon adapted from [D20](https://thenounproject.com/term/d20/1279708/) by Rafaël Massé from the Noun Project (available under a [Creative Commons Attribution License 3.0](https://creativecommons.org/licenses/by/3.0/us/legalcode)).
38
+ * 404 image adapted from [D20](https://thenounproject.com/term/d20/1315314/) by HeadsOfBirds from the Noun Project (available under a [Creative Commons Attribution License 3.0](https://creativecommons.org/licenses/by/3.0/us/legalcode)).
@@ -0,0 +1,26 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="eight columns">
6
+ <div class="metadata">
7
+ <h1>{{ page.title | default: 'Adventure' }}</h1>
8
+ <p class="meta">{{ page.author | default: 'Unknown' }} &bull; {{ page.date | default: '1938-07-27' | date: '%A, %B %e, %Y' }}</p>
9
+ </div>
10
+
11
+ {{ content }}
12
+ </div>
13
+
14
+ <div class="four columns">
15
+ <blockquote class="meta">
16
+ <h5>{{ page.adventure.name | default: 'Adventure Name' }}</h5>
17
+ <p class="subtitle">An adventure for {{ page.adventure.char-num | default: 4 | pluralize: 'player character', 'player characters' }} of {% if page.adventure.lvl.range %}levels {{ page.adventure.lvl.min | ordinal }} through {{ page.adventure.lvl.max | ordinal }}{% else %}{{ page.adventure.lvl.lvl | ordinal }} level{% endif %}.</p>
18
+ <p><strong>Max XP:</strong> {{ page.adventure.max-xp | pretty_number }} xp</p>
19
+ <p><strong>Max Gold:</strong> {{ page.adventure.max-gp | pretty_number }} gp</p>
20
+ <p><strong>&#35; Encounters:</strong> {{ page.adventure.max-xp }} xp</p>
21
+ <p><strong>Type:</strong> {{ page.adventure.type }}</p>
22
+ {% if page.adventure.questline %}
23
+ <p><strong>Questline:</strong> <em>{{ page.adventure.questline.name }}</em>{% if page.adventure.questline.chapter %}, Chapter {{ page.adventure.questline.chapter }}{% endif %}</p>
24
+ {% endif %}
25
+ </blockquote>
26
+ </div>
@@ -0,0 +1,21 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="metadata">
6
+ <h1>{{ page.title | default: 'Post' }}</h1>
7
+ <p class="meta">{{ page.author | default: 'Unknown' }} &bull; {{ page.date | default: '1938-07-27' | date: '%A, %B %e, %Y' }}</p>
8
+ <p class="chapter">{{ page.chapter.book }} &bull; Chapter {{ page.chapter.number }}</p>
9
+ <!-- -->
10
+ </div>
11
+
12
+ {{ content }}
13
+
14
+ <div class="chapter links">
15
+ {% if page.chapter.previous != false %}
16
+ <a class="prev" href="{{ page.chapter.previous | prepend: 'chapters/' | append: '.html' | absolute_url }}">Previous Chapter</a>
17
+ {% endif %}
18
+ {% if page.chapter.next != false %}
19
+ <a class="next" href="{{ page.chapter.next | prepend: 'chapters/' | append: '.html' | absolute_url }}">Next Chapter</a>
20
+ {% endif %}
21
+ </div>
@@ -0,0 +1,63 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ site.lang | default: 'en-US' }}">
3
+ <head>
4
+ {% if site.google_analytics %}
5
+ <script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
6
+ <script>
7
+ window.dataLayer = window.dataLayer || [];
8
+ function gtag(){dataLayer.push(arguments);}
9
+ gtag('js', new Date());
10
+ gtag('config', '{{ site.google_analytics }}');
11
+ </script>
12
+ {% endif %}
13
+
14
+ {% seo %}
15
+
16
+ <meta charset="UTF-8">
17
+ <meta name="viewport" content="width=device-width, initial-scale=1">
18
+
19
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ 'assets/favicon/apple-touch-icon.png' | absolute_url }}">
20
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ 'assets/favicon/favicon-32x32.png' | absolute_url }}">
21
+ <link rel="icon" type="image/png" sizes="16x16" href="{{ 'assets/favicon/favicon-16x16.png' | absolute_url }}">
22
+ <link rel="manifest" href="{{ 'assets/favicon/site.webmanifest' | absolute_url }}">
23
+ <link rel="mask-icon" href="{{ 'assets/favicon/safari-pinned-tab.svg' | absolute_url }}" color="#5bbad5">
24
+ <link rel="shortcut icon" href="{{ 'assets/favicon/favicon.ico' | absolute_url }}">
25
+ <meta name="msapplication-TileColor" content="#922610">
26
+ <meta name="msapplication-TileImage" content="{{ 'assets/favicon/mstile-144x144.png' | absolute_url }}">
27
+ <meta name="msapplication-config" content="{{ 'assets/favicon/browserconfig.xml' | absolute_url }}">
28
+ <meta name="theme-color" content="#922610">
29
+
30
+ <title>{{ site.title }}</title>
31
+
32
+ <link rel="stylesheet" href="{{ 'node_modules/normalize.css/normalize.css' | absolute_url }}" />
33
+ <link rel="stylesheet" href="{{ 'node_modules/getskeleton/lib/css/skeleton.css' | absolute_url }}" />
34
+ <link rel="stylesheet" href="{{ 'node_modules/@mdi/font/css/materialdesignicons.min.css' | absolute_url }}" />
35
+ <link rel="stylesheet" href="{{ 'node_modules/typeface-montserrat/index.css' | absolute_url }}" />
36
+ <link rel="stylesheet" href="{{ 'node_modules/typeface-libre-baskerville/index.css' | absolute_url }}" />
37
+ <link rel="stylesheet" href="{{ 'node_modules/typeface-noto-sans/index.css' | absolute_url }}" />
38
+ <link rel="stylesheet" href="{{ 'node_modules/typeface-unifrakturcook/index.css' | absolute_url }}" />
39
+ <link rel="stylesheet" href="{{ 'css/style.css' | absolute_url }}" />
40
+ <link rel="stylesheet" href="{{ 'css/stats-block.css' | absolute_url }}" />
41
+ <link rel="stylesheet" href="{{ 'css/boxes.css' | absolute_url }}" />
42
+
43
+ {% feed_meta %}
44
+ </head>
45
+
46
+ <body>
47
+ <header>
48
+ <div class="container">
49
+ <div class="row">
50
+ <h1><a href="{{ '/' | absolute_url }}">{{ site.title }}</a></h1>
51
+ <p class="subtitle">{{ site.description }}</p>
52
+ </div>
53
+ </div>
54
+ </header>
55
+
56
+ <main class="container">
57
+ <div class="row">
58
+ <!-- CONTENTS -->
59
+ {{ content }}
60
+ </div>
61
+ </main>
62
+ </body>
63
+ </html>
@@ -0,0 +1,89 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {{ content }}
6
+
7
+ <!-- Collections Title -->
8
+ {% assign: adventures = site.adventures | join: '' %}
9
+ {% assign: chapters = site.chapters | join: '' %}
10
+ {% assign: monsters = site.monsters | join: '' %}
11
+ {% assign: posts = site.posts | join: '' %}
12
+ {% assign: settlements = site.settlements | join: '' %}
13
+ {% assign: spells = site.spells | join: '' %}
14
+
15
+ {% if adventures != '' or chapters != '' or monsters != '' or posts != '' or settlements != '' or spells != '' %}
16
+ <h2 class="collections">Collections</h2>
17
+ {% endif %}
18
+
19
+ <!-- Adventure List -->
20
+ {% if adventures != '' %}
21
+ <div class="collection">
22
+ <h5>Adventures</h5>
23
+ <ul>
24
+ {% for adventure in site.adventures %}
25
+ <li><strong><a href="{{ adventure.url }}">{{ adventure.adventure.name }}</a>:</strong> {{ adventure.adventure.type | articulate: true }} for {{ adventure.adventure.char-num | default: 4 | pluralize: 'player character', 'player characters' }} of {% if adventure.adventure.lvl.range %}levels {{ adventure.adventure.lvl.min | ordinal }} through {{ adventure.adventure.lvl.max | ordinal }}{% else %}{{ adventure.adventure.lvl.lvl | ordinal }} level{% endif %}.</li>
26
+ {% endfor %}
27
+ </ul>
28
+ </div>
29
+ {% endif %}
30
+
31
+ <!-- Chapter List -->
32
+ {% if chapters != '' %}
33
+ <div class="collection">
34
+ <h5>Chapters</h5>
35
+ <ul>
36
+ {% for chapter in site.chapters %}
37
+ <li><strong><a href="{{ chapter.url }}">{{ chapter.title }}</a>:</strong> Chapter {{ chapter.chapter.number }} from {{ chapter.chapter.book }}.</li>
38
+ {% endfor %}
39
+ </ul>
40
+ </div>
41
+ {% endif %}
42
+
43
+ <!-- Monster List -->
44
+ {% if monsters != '' %}
45
+ <div class="collection">
46
+ <h5>Monsters</h5>
47
+ <ul>
48
+ {% for monster in site.monsters %}
49
+ <li><strong><a href="{{ monster.url }}">{{ monster.monster.name }}</a>:</strong> {{ monster.monster.size | articulate: true }} {{ monster.monster.type }}, CR {{ monster.monster.cr }}.</li>
50
+ {% endfor %}
51
+ </ul>
52
+ </div>
53
+ {% endif %}
54
+
55
+ <!-- Post List -->
56
+ {% if posts != '' %}
57
+ <div class="collection">
58
+ <h5>Posts</h5>
59
+ <ul>
60
+ {% for post in site.posts %}
61
+ <li><strong><a href="{{ post.url }}">{{ post.title }}</a>:</strong> {{ post.excerpt | strip_html | truncatewords: 50 }}(...)</li>
62
+ {% endfor %}
63
+ </ul>
64
+ </div>
65
+ {% endif %}
66
+
67
+ <!-- Settlement List -->
68
+ {% if settlements != '' %}
69
+ <div class="collection">
70
+ <h5>Settlements</h5>
71
+ <ul>
72
+ {% for settlement in site.settlements %}
73
+ <li><strong><a href="{{ settlement.url }}">{{ settlement.settlement.name }}</a>:</strong> {{ settlement.settlement.type | articulate: true }}.</li>
74
+ {% endfor %}
75
+ </ul>
76
+ </div>
77
+ {% endif %}
78
+
79
+ <!-- Spell List -->
80
+ {% if spells != '' %}
81
+ <div class="collection">
82
+ <h5>Spells</h5>
83
+ <ul>
84
+ {% for spell in site.spells %}
85
+ <li><strong><a href="{{ spell.url }}">{{ spell.spell.name }}</a>:</strong> {{ spell.spell.school | articulate: true }}{% if spell.spell.subschool %} ({{ spell.spell.subschool }}){% endif %}{% assign: descs = spell.spell.descriptor | join: '' %}{% if descs != '' %} [{{ spell.spell.descriptor | join: ', ' }}]{% endif %} for {{ spell.spell.level | join: ', ' }}.</li>
86
+ {% endfor %}
87
+ </ul>
88
+ </div>
89
+ {% endif %}
@@ -0,0 +1,191 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="eight columns">
6
+ <div class="metadata">
7
+ <h1>{{ page.title | default: 'Monster' }}</h1>
8
+ <p class="meta">{{ page.author | default: 'Unknown' }} &bull; {{ page.date | default: '1938-07-27' | date: '%A, %B %e, %Y' }}</p>
9
+ </div>
10
+
11
+ {{ content }}
12
+ </div>
13
+
14
+ <div class="four columns">
15
+ <div class="stat-block-container">
16
+ <div class="stat-block">
17
+ <hr class="orange-border" />
18
+ <div class="section-left">
19
+ <div class="creature-heading">
20
+ <h1>{{ page.monster.name | default: 'Terrasque' }}</h1>
21
+ <h2>{{ page.monster.size | default: 'Colossal' }} {{ page.monster.type | default: 'magical beast' }}, {{ page.monster.align | default: 'always neutral' }}</h2>
22
+ </div>
23
+ <!-- creature heading -->
24
+ <svg height="5" width="100%" class="tapered-rule">
25
+ <polyline points="0,0 400,2.5 0,5"></polyline>
26
+ </svg>
27
+ <div class="top-stats">
28
+ <div class="property-line first">
29
+ <h4>Armor Class</h4>
30
+ <p>{{ page.monster.ac.base | default: '35' }}{% if page.monster.ac.desc != '' %} ({{ page.monster.ac.desc }}){% endif %}, touch {{ page.monster.ac.touch | default: '5' }}, flat-footed {{ page.monster.ac.flat | default: '32' }}</p>
31
+ </div>
32
+ <!-- property line -->
33
+ <div class="property-line">
34
+ <h4>Hit Points</h4>
35
+ <p>{{ page.monster.hp.hp | default: '858' | pretty_number }}hp ({{ page.monster.hp.hd | default: '48d10 + 594' }})</p>
36
+ </div>
37
+ <!-- property line -->
38
+ <div class="property-line">
39
+ <h4>Speed</h4>
40
+ <p>{{ page.monster.speed | default: '20ft' }}</p>
41
+ </div>
42
+ <!-- property line -->
43
+ <div class="property-line">
44
+ <h4>Initiative</h4>
45
+ <p>{{ page.monster.initiative | default: 7 | add_sign }}</p>
46
+ </div>
47
+ <!-- property line -->
48
+ <div class="property-line">
49
+ <h4>Space/Reach</h4>
50
+ <p>{{ page.monster.space | default: '30ft' }}/{{ page.monster.reach | default: '20ft' }}</p>
51
+ </div>
52
+ <!-- property line -->
53
+ <div class="property-line">
54
+ <h4>BA/Grapple</h4>
55
+ <p>{{ page.monster.ba | default: '+48' }}/{{ page.monster.grapple | default: '+81' }}</p>
56
+ </div>
57
+ <!-- property line -->
58
+ <div class="property-line last">
59
+ <h4>Saves</h4>
60
+ <p>Fort {{ page.monster.saves.fort | default: 38 | add_sign }}, Ref {{ page.monster.saves.ref | default: 29 | add_sign }}, Will {{ page.monster.saves.will | default: 20 | add_sign }}</p>
61
+ </div>
62
+ <!-- property line -->
63
+ <svg height="5" width="100%" class="tapered-rule">
64
+ <polyline points="0,0 400,2.5 0,5"></polyline>
65
+ </svg>
66
+ <div class="abilities">
67
+ <div class="ability-strength">
68
+ <h4>STR</h4>
69
+ <p>{{ page.monster.abilities.str | default: 45 | ability }}</p>
70
+ </div>
71
+ <!-- ability strength -->
72
+ <div class="ability-dexterity">
73
+ <h4>DEX</h4>
74
+ <p>{{ page.monster.abilities.dex | default: 16 | ability }}</p>
75
+ </div>
76
+ <!-- ability dexterity -->
77
+ <div class="ability-constitution">
78
+ <h4>CON</h4>
79
+ <p>{{ page.monster.abilities.con | default: 35 | ability }}</p>
80
+ </div>
81
+ <!-- ability constitution -->
82
+ <div class="ability-intelligence">
83
+ <h4>INT</h4>
84
+ <p>{{ page.monster.abilities.int | default: 3 | ability }}</p>
85
+ </div>
86
+ <!-- ability intelligence -->
87
+ <div class="ability-wisdom">
88
+ <h4>WIS</h4>
89
+ <p>{{ page.monster.abilities.wis | default: 14 | ability }}</p>
90
+ </div>
91
+ <!-- ability wisdom -->
92
+ <div class="ability-charisma">
93
+ <h4>CHA</h4>
94
+ <p>{{ page.monster.abilities.cha | default: 14 | ability }}</p>
95
+ </div>
96
+ <!-- ability charisma -->
97
+ </div>
98
+ <!-- abilities -->
99
+ <svg height="5" width="100%" class="tapered-rule">
100
+ <polyline points="0,0 400,2.5 0,5"></polyline>
101
+ </svg>
102
+ <div class="property-line first">
103
+ <h4>Skills</h4>
104
+ <p>{{ page.monster.skills | default: 'none' }}</p>
105
+ </div>
106
+ <!-- property line -->
107
+ <div class="property-line">
108
+ <h4>Feats</h4>
109
+ <p>{{ page.monster.feats | default: 'none' }}</p>
110
+ </div>
111
+ <!-- property line -->
112
+ <div class="property-line">
113
+ <h4>Challenge Rating</h4>
114
+ <p>{{ page.monster.cr | default: 20 }}</p>
115
+ </div>
116
+ <!-- property line -->
117
+ <div class="property-line">
118
+ <h4>Treasure</h4>
119
+ <p>{{ page.monster.treasure | default: 'None' }}</p>
120
+ </div>
121
+ <!-- property line -->
122
+ <div class="property-line">
123
+ <h4>Advancement</h4>
124
+ <p>{{ page.monster.advancement | default: '49+ HD (Colossal)' }}</p>
125
+ </div>
126
+ <!-- property line -->
127
+ <div class="property-line">
128
+ <h4>Level Adjustment</h4>
129
+ <p>{{ page.monster.lvl_adj | default: 'N/A' }}</p>
130
+ </div>
131
+ <!-- property line -->
132
+ <div class="property-line">
133
+ <h4>Environment</h4>
134
+ <p>{{ page.monster.env | default: 'Any' }}</p>
135
+ </div>
136
+ <!-- property line -->
137
+ <div class="property-line last">
138
+ <h4>Organization</h4>
139
+ <p>{{ page.monster.org | default: 'Solitary' }}</p>
140
+ </div>
141
+ <!-- property line -->
142
+ </div>
143
+ <!-- top stats -->
144
+ <svg height="5" width="100%" class="tapered-rule">
145
+ <polyline points="0,0 400,2.5 0,5"></polyline>
146
+ </svg>
147
+ <div class="property-block">
148
+ <h4>Special Qualities</h4>
149
+ <p>{{ page.monster.qualities | default: 'none'}}</p>
150
+ </div>
151
+ <!-- property block -->
152
+ <div class="property-block">
153
+ <h4>Special Attacks</h4>
154
+ <p>{{ page.monster.sp_attacks | default: 'none' }}</p>
155
+ </div>
156
+ <!-- property block -->
157
+ </div>
158
+ <!-- section left -->
159
+ <div class="section-right">
160
+ <div class="actions">
161
+ <h3>Actions</h3>
162
+ {% for attack in page.monster.attacks %}
163
+ <div class="property-block">
164
+ <h4>{{ attack.name }}</h4>
165
+ <p>{{ attack.desc | default: '+57 melee (4d8 + 17 / 18-20 / x3)' }}</p>
166
+ </div>
167
+ <!-- property block -->
168
+ {% endfor %}
169
+ </div>
170
+ {% assign: items = page.monster.possessions | join: '' %}
171
+ {% if items != '' %}
172
+ <!-- actions -->
173
+ <div class="actions">
174
+ <h3>Possessions</h3>
175
+ {% for item in page.monster.possessions %}
176
+ <div class="property-block">
177
+ <h4>{{ item.name }}</h4>
178
+ <p>{{ item.desc }}</p>
179
+ </div>
180
+ <!-- property block -->
181
+ {% endfor %}
182
+ </div>
183
+ <!-- actions -->
184
+ {% endif %}
185
+ </div>
186
+ <!-- section right -->
187
+ <hr class="orange-border bottom" />
188
+ </div>
189
+ <!-- stat block -->
190
+ </div>
191
+ </div>
@@ -0,0 +1,26 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="metadata">
6
+ <h1>{{ page.title | default: 'Post' }}</h1>
7
+ <p class="meta">{{ page.author | default: 'Unknown' }} &bull; {{ page.date | default: '1938-07-27' | date: '%A, %B %e, %Y' }}</p>
8
+ {% assign: tagg = page.tags | join: '' %}
9
+ {% if tagg != '' %}
10
+ <p>
11
+ {% for tag in page.tags %}
12
+ <span class="mdi mdi-tag-outline tag"> {{ tag }}</span>
13
+ {% endfor %}
14
+ </p>
15
+ {% endif %}
16
+ {% assign: catt = page.categories | join: '' %}
17
+ {% if catt != '' %}
18
+ <p>
19
+ {% for category in page.categories %}
20
+ <span class="mdi mdi-folder-outline category"> {{ category }}</span>
21
+ {% endfor %}
22
+ </p>
23
+ {% endif %}
24
+ </div>
25
+
26
+ {{ content }}