nereare_grimoire 1.4.3 → 1.13.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.md +23 -24
- data/README.md +5 -3
- data/_layouts/adventure.html +1 -1
- data/_layouts/age.html +21 -0
- data/_layouts/animal.html +17 -0
- data/_layouts/armor.html +36 -0
- data/_layouts/default.html +12 -0
- data/_layouts/index.html +40 -1
- data/_layouts/item.html +29 -0
- data/_layouts/plant.html +17 -0
- data/_layouts/settlement.html +1 -1
- data/_layouts/weapon.html +38 -0
- data/_plugins/animal-metadata.rb +98 -0
- data/_plugins/plant-metadata.rb +99 -0
- data/assets/css/style.scss +15 -0
- metadata +64 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3bd92c1d8653c08e106efc71c9ed0970a0f3cd9af85c9a4ef53b6ac37ad210a7
|
4
|
+
data.tar.gz: c998973bd916529d7c7f31f8119c70883d96691433dec3cb3576223b0e93fb60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1aa015ec2c44348c5c8b5a438df367d079ea35109e6ddaf99e949fd5af845d23e39730d6f8b5f36f2f28214308d54c7272d8e1881b6c918a0e0961c96a45709
|
7
|
+
data.tar.gz: 49ce64296491b22c9a7c89358c344c8f30d0b91915829db76378cc5d4ff84452464cf69f044b65ee0aaf19172afc1d1fc52c3d220f4d73cce1c4803086991abe
|
data/LICENSE.md
CHANGED
@@ -1,24 +1,23 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
Copyright
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
22
|
-
|
23
|
-
|
24
|
-
OTHER DEALINGS IN THE SOFTWARE.
|
1
|
+
# Hippocratic License Version 2.0
|
2
|
+
|
3
|
+
Copyright `2019-2020` `Igor Padoim`
|
4
|
+
|
5
|
+
Licensor hereby grants permission by this license ("License"), free of charge, to any person or entity (the "Licensee") obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
6
|
+
|
7
|
+
|
8
|
+
* The above copyright notice and this License or a subsequent version published on the Hippocratic License Website (https://firstdonoharm.dev/) shall be included in all copies or substantial portions of the Software. Licensee has the option of following the terms and conditions either of the above numbered version of this License or of any subsequent version published on the Hippocratic License Website.
|
9
|
+
|
10
|
+
* **Compliance with Human Rights Laws and Human Rights Principles:**
|
11
|
+
|
12
|
+
1. **Human Rights Laws.** The Software shall not be used by any person or entity for any systems, activities, or other uses that violate any applicable laws, regulations, or rules that protect human, civil, labor, privacy, political, environmental, security, economic, due process, or similar rights (the "Human Rights Laws"). Where the Human Rights Laws of more than one jurisdiction are applicable to the use of the Software, the Human Rights Laws that are most protective of the individuals or groups harmed shall apply.
|
13
|
+
|
14
|
+
2. **Human Rights Principles.** Licensee is advised to consult the articles of the United Nations Universal Declaration of Human Rights (https://www.un.org/en/universal-declaration-human-rights/) and the United Nations Global Compact (https://www.unglobalcompact.org/what-is-gc/mission/principles) that define recognized principles of international human rights (the "Human Rights Principles"). It is Licensor's express intent that all use of the Software be consistent with Human Rights Principles. If Licensor receives notification or otherwise learns of an alleged violation of any Human Rights Principles relating to Licensee's use of the Software, Licensor may in its discretion and without obligation (i) (a) notify Licensee of such allegation and (b) allow Licensee 90 days from notification under (i)(a) to investigate and respond to Licensor regarding the allegation and (ii) (a) after the earlier of 90 days from notification under (i)(a), or Licensee's response under (i)(b), notify Licensee of License termination and (b) allow Licensee an additional 90 days from notification under (ii)(a) to cease use of the Software.
|
15
|
+
|
16
|
+
3. **Indemnity.** Licensee shall hold harmless and indemnify Licensor against all losses, damages, liabilities, deficiencies, claims, actions, judgments, settlements, interest, awards, penalties, fines, costs, or expenses of whatever kind, including Licensor's reasonable attorneys' fees, arising out of or relating to Licensee's non-compliance with this License or use of the Software in violation of Human Rights Laws or Human Rights Principles.
|
17
|
+
|
18
|
+
* **Enforceability:** If any portion or provision of this License is determined to be invalid, illegal, or unenforceable by a court of competent jurisdiction, then such invalidity, illegality, or unenforceability shall not affect any other term or provision of this License or invalidate or render unenforceable such term or provision in any other jurisdiction. Upon a determination that any term or provision is invalid, illegal, or unenforceable, to the extent permitted by applicable law, the court may modify this License to affect the original intent of the parties as closely as possible. The section headings are for convenience only and are not intended to affect the construction or interpretation of this License. Any rule of construction to the effect that ambiguities are to be resolved against the drafting party shall not apply in interpreting this License. The language in this License shall be interpreted as to its fair meaning and not strictly for or against any party.
|
19
|
+
|
20
|
+
|
21
|
+
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
|
23
|
+
This Hippocratic License is an Ethical Source license (https://ethicalsource.dev).
|
data/README.md
CHANGED
@@ -2,8 +2,9 @@
|
|
2
2
|
|
3
3
|
[![GitHub package.json version](https://img.shields.io/github/package-json/v/Nereare/Grimoire)](https://github.com/Nereare/Grimoire)
|
4
4
|
[![Gem](https://img.shields.io/gem/v/nereare_grimoire)](https://rubygems.org/gems/nereare_grimoire)
|
5
|
-
[![
|
5
|
+
[![License](https://img.shields.io/badge/license-Hippocratic%20License-red)](LICENSE.md)
|
6
6
|
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v1.4%20adopted-ff69b4.svg)](CODE-OF-CONDUCT.md)
|
7
|
+
|
7
8
|
[![Travis (.org)](https://img.shields.io/travis/Nereare/Grimoire)](https://travis-ci.org/Nereare/Grimoire)
|
8
9
|
[![Libraries.io dependency status for GitHub repo](https://img.shields.io/librariesio/github/Nereare/Grimoire)](https://libraries.io/github/Nereare/Grimoire)
|
9
10
|
|
@@ -23,7 +24,9 @@ This project uses [SemVer](http://semver.org/) for versioning. For the versions
|
|
23
24
|
|
24
25
|
## Legal Stuff
|
25
26
|
|
26
|
-
[![
|
27
|
+
[![Hippocratic License](https://i.imgur.com/DEKS3nm.png)](LICENSE.md)
|
28
|
+
|
29
|
+
This project is available under the [Hippocratic License](https://firstdonoharm.dev/).
|
27
30
|
|
28
31
|
### System Reference Document
|
29
32
|
|
@@ -35,6 +38,5 @@ Some of the contents of this site may fall under the [Open Game License](https:/
|
|
35
38
|
|
36
39
|
### Acknowledgements
|
37
40
|
|
38
|
-
* [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/)
|
39
41
|
* 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)).
|
40
42
|
* 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)).
|
data/_layouts/adventure.html
CHANGED
@@ -17,7 +17,7 @@ layout: default
|
|
17
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
18
|
<p><strong>Max XP:</strong> {{ page.adventure.max-xp | pretty_number }} xp</p>
|
19
19
|
<p><strong>Max Gold:</strong> {{ page.adventure.max-gp | pretty_number }} gp</p>
|
20
|
-
<p><strong># Encounters:</strong> {{ page.adventure.
|
20
|
+
<p><strong># Encounters:</strong> {{ page.adventure.encounters }}</p>
|
21
21
|
<p><strong>Type:</strong> {{ page.adventure.type }}</p>
|
22
22
|
{% if page.adventure.questline %}
|
23
23
|
<p><strong>Questline:</strong> <em>{{ page.adventure.questline.name }}</em>{% if page.adventure.questline.chapter %}, Chapter {{ page.adventure.questline.chapter }}{% endif %}</p>
|
data/_layouts/age.html
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<div class="metadata">
|
6
|
+
<h1>{{ page.title | default: 'Age' }} ({{ page.age.abbr }})</h1>
|
7
|
+
<p class="meta">{{ page.author | default: 'Unknown' }} • {{ page.date | default: '1938-07-27' | date: '%A, %B %e, %Y' }}</p>
|
8
|
+
<p class="chapter">{% if page.age.start %}Began {{ page.age.start | pretty_number }} {{ page.age.abbr }}{% else %}Unknown{% endif %} • {% if page.age.end %}Ended {{ page.age.end | pretty_number }} {{ page.age.abbr }}{% else %}Current day{% endif %}</p>
|
9
|
+
<!-- -->
|
10
|
+
</div>
|
11
|
+
|
12
|
+
{{ content }}
|
13
|
+
|
14
|
+
<div class="chapter links">
|
15
|
+
{% if page.age.previous != false %}
|
16
|
+
<a class="prev" href="{{ page.age.previous | prepend: 'ages/' | append: '.html' | absolute_url }}">Previous Age</a>
|
17
|
+
{% endif %}
|
18
|
+
{% if page.age.next != false %}
|
19
|
+
<a class="next" href="{{ page.age.next | prepend: 'ages/' | append: '.html' | absolute_url }}">Next Age</a>
|
20
|
+
{% endif %}
|
21
|
+
</div>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<div class="metadata">
|
6
|
+
<h1>{{ page.title | default: 'Animal' }}</h1>
|
7
|
+
<p class="meta">{{ page.author | default: 'Unknown' }} • {{ page.date | default: '1938-07-27' | date: '%A, %B %e, %Y' }}</p>
|
8
|
+
<p class="species">{{ page.animal.species | default: 'Ignotum animalis' }}</p>
|
9
|
+
{% if page.animal.linnaean %}<p class="chapter">{{ page.animal.linnaean | join: ' » ' }}</p>{% endif %}
|
10
|
+
|
11
|
+
{% if page.animal.feeding or page.animal.sizes or page.animal.weight or page.animal.habitat or page.animal.iucn or page.animal.domestic or page.animal.note %}
|
12
|
+
<p class="chapter">{{ page.animal | animal_metadata | join: ' • ' }}</p>
|
13
|
+
{% endif %}
|
14
|
+
<!-- -->
|
15
|
+
</div>
|
16
|
+
|
17
|
+
{{ content }}
|
data/_layouts/armor.html
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<div class="eight columns">
|
6
|
+
<div class="metadata">
|
7
|
+
<h1>{{ page.title | default: 'Armor' }}</h1>
|
8
|
+
<p class="meta">{{ page.author | default: 'Unknown' }} • {{ 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
|
+
<h2>{{ page.item.name | default: 'Armor' }}</h2>
|
16
|
+
<p>{{ page.item.type | default: 'Light' }} Armor{% if page.item.rarity %}, {{ page.item.rarity }}{% endif %}{% if page.item.attunement %} (Requires attunement by {{ page.item.attunement }}){% endif %}</p>
|
17
|
+
<p><strong>Weight:</strong> {{ page.item.weight }}</p>
|
18
|
+
<p><strong>Base Value:</strong> {{ page.item.value }}gp</p>
|
19
|
+
<p><strong>Armor Class:</strong> {{ page.item.ac.base }}{% if page.item.ac.dex > 0 %} + Dex Mod. (Max {{ page.item.ac.dex }}){% endif %}</p>
|
20
|
+
{% if page.item.str %}
|
21
|
+
<p><strong>Min Strength</strong> {{ page.item.str }}</p>
|
22
|
+
{% endif %}
|
23
|
+
{% if page.item.stealth %}
|
24
|
+
<p><strong>Disadvantage on Stealth rolls</strong></p>
|
25
|
+
{% endif %}
|
26
|
+
{% if page.item.charges %}
|
27
|
+
<p><strong>Charges:</strong> {{ page.item.charges.number }} (Regains {{ page.item.charges.regain }} {{ page.item.charges.reset }})</p>
|
28
|
+
{% endif %}
|
29
|
+
{% if page.item.attributes %}
|
30
|
+
<ul>
|
31
|
+
{% for attr in page.item.attributes %}
|
32
|
+
<li>{{ attr }}</li>
|
33
|
+
{% endfor %}
|
34
|
+
</ul>
|
35
|
+
{% endif %}
|
36
|
+
</div>
|
data/_layouts/default.html
CHANGED
@@ -48,6 +48,18 @@
|
|
48
48
|
<div class="row">
|
49
49
|
<h1><a href="{{ '/' | absolute_url }}">{{ site.title }}</a></h1>
|
50
50
|
<p class="subtitle">{{ site.description }}</p>
|
51
|
+
{% if site.version or copy or site.license %}
|
52
|
+
<p class="version">
|
53
|
+
{% if site.version %}{{ site.version.text | default: 'Version' }} {{ site.version.version }}.{% endif %}
|
54
|
+
{% if site.version and site.copyright %} {% endif %}
|
55
|
+
{% if site.copyright %}{{ site.copyright.text | default: '©' }} {{ site.copyright.year }} {{ site.copyright.name }}.{% endif %}
|
56
|
+
{% if site.version or site.copyright %}
|
57
|
+
{% assign: version-or-copy = true %}
|
58
|
+
{% endif %}
|
59
|
+
{% if version-or-copy and site.license %} {% endif %}
|
60
|
+
{% if site.license %}{{ site.license.text | default: 'Distributed under the' }} {% if site.license.link %}<a href="{{ site.license.link }}">{% endif %}{{ site.license.name }}{% if site.license.link %}</a>{% endif %}.{% endif %}
|
61
|
+
</p>
|
62
|
+
{% endif %}
|
51
63
|
</div>
|
52
64
|
</div>
|
53
65
|
</header>
|
data/_layouts/index.html
CHANGED
@@ -11,8 +11,11 @@ layout: default
|
|
11
11
|
{% assign: posts = site.posts | join: '' %}
|
12
12
|
{% assign: settlements = site.settlements | join: '' %}
|
13
13
|
{% assign: spells = site.spells | join: '' %}
|
14
|
+
{% assign: ages = site.ages | join: '' %}
|
15
|
+
{% assign: animals = site.animals | join: '' %}
|
16
|
+
{% assign: plants = site.plants | join: '' %}
|
14
17
|
|
15
|
-
{% if adventures != '' or chapters != '' or monsters != '' or posts != '' or settlements != '' or spells != '' %}
|
18
|
+
{% if adventures != '' or chapters != '' or monsters != '' or posts != '' or settlements != '' or spells != '' or ages != '' or animals != '' or plants != '' %}
|
16
19
|
<h2 class="collections">Collections</h2>
|
17
20
|
{% endif %}
|
18
21
|
|
@@ -87,3 +90,39 @@ layout: default
|
|
87
90
|
</ul>
|
88
91
|
</div>
|
89
92
|
{% endif %}
|
93
|
+
|
94
|
+
<!-- Age List -->
|
95
|
+
{% if ages != '' %}
|
96
|
+
<div class="collection">
|
97
|
+
<h5>Ages</h5>
|
98
|
+
<ul>
|
99
|
+
{% for age in site.ages %}
|
100
|
+
<li><strong><a href="{{ age.url }}">{{ age.title }}</a> ({{ age.age.abbr }})</li>
|
101
|
+
{% endfor %}
|
102
|
+
</ul>
|
103
|
+
</div>
|
104
|
+
{% endif %}
|
105
|
+
|
106
|
+
<!-- Animals List -->
|
107
|
+
{% if animals != '' %}
|
108
|
+
<div class="collection">
|
109
|
+
<h5>Animals</h5>
|
110
|
+
<ul>
|
111
|
+
{% for animal in site.animals %}
|
112
|
+
<li><strong><a href="{{ animal.url }}">{{ animal.title }}</a> (<em>{{ animal.animal.species }}</em>)</li>
|
113
|
+
{% endfor %}
|
114
|
+
</ul>
|
115
|
+
</div>
|
116
|
+
{% endif %}
|
117
|
+
|
118
|
+
<!-- Plants List -->
|
119
|
+
{% if plants != '' %}
|
120
|
+
<div class="collection">
|
121
|
+
<h5>Plants</h5>
|
122
|
+
<ul>
|
123
|
+
{% for plant in site.plants %}
|
124
|
+
<li><strong><a href="{{ plant.url }}">{{ plant.title }}</a> (<em>{{ plant.plant.species }}</em>)</li>
|
125
|
+
{% endfor %}
|
126
|
+
</ul>
|
127
|
+
</div>
|
128
|
+
{% endif %}
|
data/_layouts/item.html
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<div class="eight columns">
|
6
|
+
<div class="metadata">
|
7
|
+
<h1>{{ page.title | default: 'Item' }}</h1>
|
8
|
+
<p class="meta">{{ page.author | default: 'Unknown' }} • {{ 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
|
+
<h2>{{ page.item.name | default: 'Item' }}</h2>
|
16
|
+
<p>{{ page.item.type | default: 'Gadget' }}{% if page.item.rarity %}, {{ page.item.rarity }}{% endif %}{% if page.item.attunement %} (Requires attunement by {{ page.item.attunement }}){% endif %}</p>
|
17
|
+
<p><strong>Weight:</strong> {{ page.item.weight }}</p>
|
18
|
+
<p><strong>Base Value:</strong> {{ page.item.value }}gp</p>
|
19
|
+
{% if page.item.charges %}
|
20
|
+
<p><strong>Charges:</strong> {{ page.item.charges.number }} (Regains {{ page.item.charges.regain }} {{ page.item.charges.reset }})</p>
|
21
|
+
{% endif %}
|
22
|
+
{% if page.item.attributes %}
|
23
|
+
<ul>
|
24
|
+
{% for attr in page.item.attributes %}
|
25
|
+
<li>{{ attr }}</li>
|
26
|
+
{% endfor %}
|
27
|
+
</ul>
|
28
|
+
{% endif %}
|
29
|
+
</div>
|
data/_layouts/plant.html
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<div class="metadata">
|
6
|
+
<h1>{{ page.title | default: 'Plant' }}</h1>
|
7
|
+
<p class="meta">{{ page.author | default: 'Unknown' }} • {{ page.date | default: '1938-07-27' | date: '%A, %B %e, %Y' }}</p>
|
8
|
+
<p class="species">{{ page.plant.species | default: 'Ignotum planta' }}</p>
|
9
|
+
{% if page.plant.linnaean %}<p class="chapter">{{ page.plant.linnaean | join: ' » ' }}</p>{% endif %}
|
10
|
+
|
11
|
+
{% if page.plant.feeding or page.plant.sizes or page.plant.habitat or page.plant.iucn or page.plant.domestic or page.plant.fruit or page.plant.seed or page.plant.note %}
|
12
|
+
<p class="chapter">{{ page.plant | plant_metadata | join: ' • ' }}</p>
|
13
|
+
{% endif %}
|
14
|
+
<!-- -->
|
15
|
+
</div>
|
16
|
+
|
17
|
+
{{ content }}
|
data/_layouts/settlement.html
CHANGED
@@ -81,7 +81,7 @@ layout: default
|
|
81
81
|
<div class="five columns">
|
82
82
|
<blockquote class="meta">
|
83
83
|
<h5>{{ page.settlement.name | default: 'Settlement Name' }}</h5>
|
84
|
-
<p class="subtitle">{{ page.settlement.
|
84
|
+
<p class="subtitle">{{ page.settlement.type | default: 'Small City' }}</p>
|
85
85
|
|
86
86
|
<p><strong>Size:</strong> {{ page.settlement.size }}</p>
|
87
87
|
<p><strong>Demographics:</strong> {% for race in page.settlement.demographics %}{{ race.percent }}% {{ race.race }}{% unless forloop.last %}, {% endunless %}{% endfor %}</p>
|
@@ -0,0 +1,38 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<div class="eight columns">
|
6
|
+
<div class="metadata">
|
7
|
+
<h1>{{ page.title | default: 'Weapon' }}</h1>
|
8
|
+
<p class="meta">{{ page.author | default: 'Unknown' }} • {{ 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
|
+
<h2>{{ page.item.name | default: 'Weapon' }}</h2>
|
16
|
+
<p>{{ page.item.type | default: 'Melee' }}{% if page.item.rarity %}, {{ page.item.rarity }}{% endif %}{% if page.item.attunement %} (Requires attunement by {{ page.item.attunement }}){% endif %}</p>
|
17
|
+
<p><strong>Weight:</strong> {{ page.item.weight }}</p>
|
18
|
+
<p><strong>Base Value:</strong> {{ page.item.value }}gp</p>
|
19
|
+
{% assing: damages = page.item.damage | join: ' • ' %}
|
20
|
+
<p><strong>Damage:</strong> {{ damages }}</p>
|
21
|
+
{% if page.item.charges %}
|
22
|
+
<p><strong>Charges:</strong> {{ page.item.charges.number }} (Regains {{ page.item.charges.regain }} {{ page.item.charges.reset }})</p>
|
23
|
+
{% endif %}
|
24
|
+
{% if page.item.props %}
|
25
|
+
<ul>
|
26
|
+
{% for prop in page.item.props %}
|
27
|
+
<li>{{ prop }}</li>
|
28
|
+
{% endfor %}
|
29
|
+
</ul>
|
30
|
+
{% endif %}
|
31
|
+
{% if page.item.attributes %}
|
32
|
+
<ul>
|
33
|
+
{% for attr in page.item.attributes %}
|
34
|
+
<li>{{ attr }}</li>
|
35
|
+
{% endfor %}
|
36
|
+
</ul>
|
37
|
+
{% endif %}
|
38
|
+
</div>
|
@@ -0,0 +1,98 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module AnimalMetadata
|
3
|
+
def animal_metadata(input)
|
4
|
+
output = Array.new
|
5
|
+
|
6
|
+
# Feeding Parse
|
7
|
+
if input.key? "feeding"
|
8
|
+
feeding = input["feeding"].values.compact.reject(&:empty?)
|
9
|
+
if feeding.count == 2
|
10
|
+
feeding = feeding[0] + ' (' + feeding[1] + ')'
|
11
|
+
else
|
12
|
+
feeding = feeding[0]
|
13
|
+
end
|
14
|
+
output.push feeding
|
15
|
+
end
|
16
|
+
|
17
|
+
# Sizes Parse
|
18
|
+
if input.key? "sizes"
|
19
|
+
sizes = input["sizes"]
|
20
|
+
if sizes.class == Hash
|
21
|
+
sizes = sizes["min"].to_s + "-" + sizes["max"].to_s + sizes["unit"] + " (" + sizes["type"] + ")"
|
22
|
+
else
|
23
|
+
sizes = sizes.to_s
|
24
|
+
end
|
25
|
+
output.push sizes
|
26
|
+
end
|
27
|
+
|
28
|
+
# Weight Parse
|
29
|
+
if input.key? "weight"
|
30
|
+
weight = input["weight"]
|
31
|
+
if weight.class == Hash
|
32
|
+
weight = weight["min"].to_s + "-" + weight["max"].to_s + weight["unit"]
|
33
|
+
else
|
34
|
+
weight = weight.to_s
|
35
|
+
end
|
36
|
+
output.push weight
|
37
|
+
end
|
38
|
+
|
39
|
+
# Habitat Parse
|
40
|
+
if input.key? "habitat"
|
41
|
+
habitat = input["habitat"].values.compact.reject(&:empty?)
|
42
|
+
if habitat.count == 2
|
43
|
+
habitat = habitat[0] + ' (' + habitat[1] + ')'
|
44
|
+
else
|
45
|
+
habitat = habitat[0]
|
46
|
+
end
|
47
|
+
output.push habitat
|
48
|
+
end
|
49
|
+
|
50
|
+
# IUCN Parse
|
51
|
+
if input.key? "iucn"
|
52
|
+
iucn = iucn(input["iucn"])
|
53
|
+
output.push iucn
|
54
|
+
end
|
55
|
+
|
56
|
+
# Domestication Parse
|
57
|
+
if input.key? "domestic"
|
58
|
+
domestic = input["domestic"] ? "Domesticated" : "Wild species"
|
59
|
+
output.push domestic
|
60
|
+
end
|
61
|
+
|
62
|
+
# Note Parse
|
63
|
+
if input.key? "note"
|
64
|
+
note = input["note"].to_s
|
65
|
+
output.push note
|
66
|
+
end
|
67
|
+
|
68
|
+
return output
|
69
|
+
end
|
70
|
+
|
71
|
+
def iucn(input)
|
72
|
+
case input
|
73
|
+
when "EX"
|
74
|
+
return "Extinct"
|
75
|
+
when "EW"
|
76
|
+
return "Extinct in the wild"
|
77
|
+
when "CR"
|
78
|
+
return "Critically endangered"
|
79
|
+
when "EN"
|
80
|
+
return "Endangered"
|
81
|
+
when "VU"
|
82
|
+
return "Vulnerable"
|
83
|
+
when "NT"
|
84
|
+
return "Near threatened"
|
85
|
+
when "LC"
|
86
|
+
return "Least concern"
|
87
|
+
when "DD"
|
88
|
+
return "Data deficient"
|
89
|
+
when "NE"
|
90
|
+
return "Not evaluated"
|
91
|
+
else
|
92
|
+
return ""
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
Liquid::Template.register_filter(Jekyll::AnimalMetadata)
|
@@ -0,0 +1,99 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module PlantMetadata
|
3
|
+
def plant_metadata(input)
|
4
|
+
output = Array.new
|
5
|
+
|
6
|
+
# Feeding Parse
|
7
|
+
if input.key? "feeding"
|
8
|
+
feeding = input["feeding"].values.compact.reject(&:empty?)
|
9
|
+
if feeding.count == 2
|
10
|
+
feeding = feeding[0] + ' (' + feeding[1] + ')'
|
11
|
+
else
|
12
|
+
feeding = feeding[0]
|
13
|
+
end
|
14
|
+
output.push feeding
|
15
|
+
end
|
16
|
+
|
17
|
+
# Sizes Parse
|
18
|
+
if input.key? "sizes"
|
19
|
+
sizes = input["sizes"]
|
20
|
+
if sizes.class == Hash
|
21
|
+
sizes = sizes["min"].to_s + "-" + sizes["max"].to_s + sizes["unit"] + " (" + sizes["type"] + ")"
|
22
|
+
else
|
23
|
+
sizes = sizes.to_s
|
24
|
+
end
|
25
|
+
output.push sizes
|
26
|
+
end
|
27
|
+
|
28
|
+
# Habitat Parse
|
29
|
+
if input.key? "habitat"
|
30
|
+
habitat = input["habitat"].values.compact.reject(&:empty?)
|
31
|
+
if habitat.count == 2
|
32
|
+
habitat = habitat[0] + ' (' + habitat[1] + ')'
|
33
|
+
else
|
34
|
+
habitat = habitat[0]
|
35
|
+
end
|
36
|
+
output.push habitat
|
37
|
+
end
|
38
|
+
|
39
|
+
# IUCN Parse
|
40
|
+
if input.key? "iucn"
|
41
|
+
iucn = iucn(input["iucn"])
|
42
|
+
output.push iucn
|
43
|
+
end
|
44
|
+
|
45
|
+
# Domestication Parse
|
46
|
+
if input.key? "domestic"
|
47
|
+
domestic = input["domestic"] ? "Domesticated" : "Wild species"
|
48
|
+
output.push domestic
|
49
|
+
end
|
50
|
+
|
51
|
+
# Fruit Parse
|
52
|
+
if input.key? "fruit"
|
53
|
+
fruit = input["fruit"].to_s
|
54
|
+
output.push fruit
|
55
|
+
end
|
56
|
+
|
57
|
+
# Seed Parse
|
58
|
+
if input.key? "seed"
|
59
|
+
seed = input["seed"].to_s
|
60
|
+
output.push seed
|
61
|
+
end
|
62
|
+
|
63
|
+
# Note Parse
|
64
|
+
if input.key? "note"
|
65
|
+
note = input["note"].to_s
|
66
|
+
output.push note
|
67
|
+
end
|
68
|
+
|
69
|
+
return output
|
70
|
+
end
|
71
|
+
|
72
|
+
def iucn(input)
|
73
|
+
case input
|
74
|
+
when "EX"
|
75
|
+
return "Extinct"
|
76
|
+
when "EW"
|
77
|
+
return "Extinct in the wild"
|
78
|
+
when "CR"
|
79
|
+
return "Critically endangered"
|
80
|
+
when "EN"
|
81
|
+
return "Endangered"
|
82
|
+
when "VU"
|
83
|
+
return "Vulnerable"
|
84
|
+
when "NT"
|
85
|
+
return "Near threatened"
|
86
|
+
when "LC"
|
87
|
+
return "Least concern"
|
88
|
+
when "DD"
|
89
|
+
return "Data deficient"
|
90
|
+
when "NE"
|
91
|
+
return "Not evaluated"
|
92
|
+
else
|
93
|
+
return ""
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
Liquid::Template.register_filter(Jekyll::PlantMetadata)
|
data/assets/css/style.scss
CHANGED
@@ -87,6 +87,14 @@ header {
|
|
87
87
|
background-position: bottom;
|
88
88
|
background-size: auto 125%;
|
89
89
|
margin-bottom: 3em;
|
90
|
+
|
91
|
+
p.version {
|
92
|
+
margin-top: -3.5em;
|
93
|
+
margin-bottom: 4em;
|
94
|
+
|
95
|
+
font-family: 'Noto Sans', sans-serif;
|
96
|
+
font-size: .75em;
|
97
|
+
}
|
90
98
|
}
|
91
99
|
|
92
100
|
div.metadata {
|
@@ -97,6 +105,13 @@ div.metadata {
|
|
97
105
|
font-weight: 700;
|
98
106
|
overflow: auto;
|
99
107
|
}
|
108
|
+
p.species {
|
109
|
+
margin-top: -1.5em;
|
110
|
+
font-family: 'Montserrat', sans-serif;
|
111
|
+
font-style: italic;
|
112
|
+
font-weight: 700;
|
113
|
+
overflow: auto;
|
114
|
+
}
|
100
115
|
span {
|
101
116
|
display: inline-block;
|
102
117
|
float: left;
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nereare_grimoire
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.13.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Padoim
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: html-proofer
|
@@ -16,70 +16,88 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.
|
19
|
+
version: 3.15.1
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 3.
|
26
|
+
version: 3.15.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: nokogiri
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.10.
|
33
|
+
version: 1.10.8
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.10.
|
40
|
+
version: 1.10.8
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: jekyll
|
42
|
+
name: jekyll-feed
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 0.12.1
|
48
|
+
- - "<"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 0.16.0
|
48
51
|
type: :runtime
|
49
52
|
prerelease: false
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
51
54
|
requirements:
|
52
|
-
- - "
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: 0.12.1
|
58
|
+
- - "<"
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
60
|
+
version: 0.16.0
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
|
-
name: jekyll
|
62
|
+
name: jekyll
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
58
64
|
requirements:
|
59
|
-
- - "
|
65
|
+
- - ">="
|
60
66
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0
|
67
|
+
version: '4.0'
|
68
|
+
- - "<"
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '4.2'
|
62
71
|
type: :runtime
|
63
72
|
prerelease: false
|
64
73
|
version_requirements: !ruby/object:Gem::Requirement
|
65
74
|
requirements:
|
66
|
-
- - "
|
75
|
+
- - ">="
|
67
76
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0
|
77
|
+
version: '4.0'
|
78
|
+
- - "<"
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '4.2'
|
69
81
|
- !ruby/object:Gem::Dependency
|
70
82
|
name: jekyll-redirect-from
|
71
83
|
requirement: !ruby/object:Gem::Requirement
|
72
84
|
requirements:
|
73
|
-
- - "
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0.15'
|
88
|
+
- - "<"
|
74
89
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
90
|
+
version: '0.17'
|
76
91
|
type: :runtime
|
77
92
|
prerelease: false
|
78
93
|
version_requirements: !ruby/object:Gem::Requirement
|
79
94
|
requirements:
|
80
|
-
- - "
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0.15'
|
98
|
+
- - "<"
|
81
99
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
100
|
+
version: '0.17'
|
83
101
|
- !ruby/object:Gem::Dependency
|
84
102
|
name: jekyll-seo-tag
|
85
103
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,30 +116,42 @@ dependencies:
|
|
98
116
|
name: jekyll-sitemap
|
99
117
|
requirement: !ruby/object:Gem::Requirement
|
100
118
|
requirements:
|
101
|
-
- - "
|
119
|
+
- - ">="
|
102
120
|
- !ruby/object:Gem::Version
|
103
121
|
version: 1.3.1
|
122
|
+
- - "<"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 1.5.0
|
104
125
|
type: :runtime
|
105
126
|
prerelease: false
|
106
127
|
version_requirements: !ruby/object:Gem::Requirement
|
107
128
|
requirements:
|
108
|
-
- - "
|
129
|
+
- - ">="
|
109
130
|
- !ruby/object:Gem::Version
|
110
131
|
version: 1.3.1
|
132
|
+
- - "<"
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 1.5.0
|
111
135
|
- !ruby/object:Gem::Dependency
|
112
136
|
name: jemoji
|
113
137
|
requirement: !ruby/object:Gem::Requirement
|
114
138
|
requirements:
|
115
|
-
- - "
|
139
|
+
- - ">="
|
116
140
|
- !ruby/object:Gem::Version
|
117
141
|
version: 0.11.1
|
142
|
+
- - "<"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: 0.13.0
|
118
145
|
type: :runtime
|
119
146
|
prerelease: false
|
120
147
|
version_requirements: !ruby/object:Gem::Requirement
|
121
148
|
requirements:
|
122
|
-
- - "
|
149
|
+
- - ">="
|
123
150
|
- !ruby/object:Gem::Version
|
124
151
|
version: 0.11.1
|
152
|
+
- - "<"
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: 0.13.0
|
125
155
|
description:
|
126
156
|
email:
|
127
157
|
- igorpadoim@gmail.com
|
@@ -133,19 +163,27 @@ files:
|
|
133
163
|
- LICENSE.md
|
134
164
|
- README.md
|
135
165
|
- _layouts/adventure.html
|
166
|
+
- _layouts/age.html
|
167
|
+
- _layouts/animal.html
|
168
|
+
- _layouts/armor.html
|
136
169
|
- _layouts/chapter.html
|
137
170
|
- _layouts/default.html
|
138
171
|
- _layouts/index.html
|
172
|
+
- _layouts/item.html
|
139
173
|
- _layouts/monster.html
|
174
|
+
- _layouts/plant.html
|
140
175
|
- _layouts/post.html
|
141
176
|
- _layouts/settlement.html
|
142
177
|
- _layouts/spell.html
|
178
|
+
- _layouts/weapon.html
|
143
179
|
- _plugins/abbr-align.rb
|
144
180
|
- _plugins/ability.rb
|
145
181
|
- _plugins/add-sign.rb
|
182
|
+
- _plugins/animal-metadata.rb
|
146
183
|
- _plugins/articulate.rb
|
147
184
|
- _plugins/number.rb
|
148
185
|
- _plugins/ordinal.rb
|
186
|
+
- _plugins/plant-metadata.rb
|
149
187
|
- _plugins/pluralize.rb
|
150
188
|
- assets/404.png
|
151
189
|
- assets/background.jpg
|
@@ -172,10 +210,11 @@ files:
|
|
172
210
|
- assets/note-border.png
|
173
211
|
homepage: https://github.com/Nereare/Grimoire
|
174
212
|
licenses:
|
175
|
-
-
|
213
|
+
- Hippocratic
|
176
214
|
metadata:
|
177
215
|
source_code_uri: https://github.com/Nereare/Grimoire
|
178
216
|
changelog_uri: https://github.com/Nereare/Grimoire/blob/master/CHANGELOG.md
|
217
|
+
github_repo: https://github.com/Nereare/Grimoire.git
|
179
218
|
post_install_message:
|
180
219
|
rdoc_options: []
|
181
220
|
require_paths:
|