0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-07 01:12:44 +00:00

Merge branch 'master' into pr/2714

This commit is contained in:
Trevor Buckner
2023-03-24 18:52:50 -04:00
69 changed files with 3092 additions and 15820 deletions

View File

@@ -3,6 +3,7 @@
const MagicGen = require('./snippets/magic.gen.js');
const ClassTableGen = require('./snippets/classtable.gen.js');
const MonsterBlockGen = require('./snippets/monsterblock.gen.js');
const scriptGen = require('./snippets/script.gen.js');
const ClassFeatureGen = require('./snippets/classfeature.gen.js');
const CoverPageGen = require('./snippets/coverpage.gen.js');
const InsideCoverPageGen = require('./snippets/insidecoverpage.gen.js')
@@ -239,7 +240,30 @@ module.exports = [
name : '1/3 Class Table (unframed)',
icon : 'fas fa-border-none',
gen : ClassTableGen.third('classTable'),
}
},
{
name : 'Rune Table',
icon : 'fas fa-language',
gen : scriptGen.dwarvish,
experimental : true,
subsnippets : [
{
name : 'Dwarvish',
icon : 'fac davek',
gen : scriptGen.dwarvish,
},
{
name : 'Elvish',
icon : 'fac rellanic',
gen : scriptGen.elvish,
},
{
name : 'Draconic',
icon : 'fac iokharic',
gen : scriptGen.draconic,
},
]
},
]
},

View File

@@ -0,0 +1,48 @@
const _ = require('lodash');
const dedent = require('dedent-tabs').default;
module.exports = {
dwarvish : ()=>{
return dedent `##### Dwarvish Runes: Sample Alphabet
{{runeTable,wide,frame,font-family:Davek
| a | b | c | d | e | f | g | h | i | j | k | l | m |
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| a | b | c | d | e | f | g | h | i | j | k | l | m |
:
| n | o | p | q | r | s | t | u | v | w | x | y | z |
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| n | o | p | q | r | s | t | u | v | w | x | y | z |
}}\n\n`;
},
elvish : ()=>{
return dedent `##### Elvish Runes: Sample Alphabet
{{runeTable,wide,frame,font-family:Rellanic
| a | b | c | d | e | f | g | h | i | j | k | l | m |
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| a | b | c | d | e | f | g | h | i | j | k | l | m |
:
| n | o | p | q | r | s | t | u | v | w | x | y | z |
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| n | o | p | q | r | s | t | u | v | w | x | y | z |
}}\n\n`;
},
draconic : ()=>{
return dedent `##### Draconic Runes: Sample Alphabet
{{runeTable,wide,frame,font-family:Iokharic
| a | b | c | d | e | f | g | h | i | j | k | l | m |
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| a | b | c | d | e | f | g | h | i | j | k | l | m |
:
| n | o | p | q | r | s | t | u | v | w | x | y | z |
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| n | o | p | q | r | s | t | u | v | w | x | y | z |
}}\n\n`;
}
};
()=>{
};

View File

@@ -253,7 +253,7 @@ body {
border-image-outset : 9px 0px;
border-image-width : 11px;
padding : 0.13cm 0.16cm;
filter : drop-shadow(1px 4px 6px #888);
box-shadow : 1px 4px 14px #888;
.page :where(&) {
margin-top : 9px; //Prevent top border getting cut off on colbreak
}
@@ -282,7 +282,7 @@ body {
border-image : @descriptiveBoxImage 12 stretch;
border-image-outset : 4px;
padding : 0.1em;
filter : drop-shadow(0 0 3px #faf7ea);
box-shadow : 0 0 6px #faf7ea;
.page :where(&) {
margin-top : 4px; //Prevent top border getting cut off on colbreak
}
@@ -397,7 +397,7 @@ body {
border-image-outset : 0px 2px;
background-blend-mode : overlay;
background-attachment : fixed;
filter : drop-shadow(1px 4px 6px #888);
box-shadow : 1px 4px 14px #888;
padding : 4px 2px;
margin-left : -0.16cm;
margin-right : -0.16cm;
@@ -687,11 +687,11 @@ h5 + table{
all: unset;
}
.logo {
position : absolute;
top : 0.5cm;
left : 0;
right : 0;
filter : drop-shadow(0 0 0.075cm black);
position : absolute;
top : 0.5cm;
left : 0;
right : 0;
filter :drop-shadow(0 0 0.075cm black);
img {
height : 2cm;
width : 100%;
@@ -706,11 +706,11 @@ h5 + table{
z-index : -1;
}
h1 {
--shadow-x0 : #000 0px 0px 0.1cm;
--shadow-x1 : var(--shadow-x0), var(--shadow-x0), var(--shadow-x0);
--shadow-x2 : var(--shadow-x1), var(--shadow-x1), var(--shadow-x1);
--shadow-x3 : var(--shadow-x2), var(--shadow-x2), var(--shadow-x2);
text-shadow : var(--shadow-x3), var(--shadow-x3), var(--shadow-x3);
text-shadow: unset;
filter : drop-shadow(0 0 1.5px black) drop-shadow(0 0 0 black)
drop-shadow(0 0 0 black) drop-shadow(0 0 0 black)
drop-shadow(0 0 0 black) drop-shadow(0 0 0 black)
drop-shadow(0 0 0 black) drop-shadow(0 0 0 black);
text-transform : uppercase;
font-weight : normal;
display : block;
@@ -722,11 +722,10 @@ h5 + table{
line-height : 0.85em;
}
h2 {
--shadow-x0 : #000 0px 0px 2.5px;
--shadow-x1 : var(--shadow-x0), var(--shadow-x0), var(--shadow-x0);
--shadow-x2 : var(--shadow-x1), var(--shadow-x1), var(--shadow-x1);
--shadow-x3 : var(--shadow-x2), var(--shadow-x2), var(--shadow-x2);
text-shadow : var(--shadow-x3), var(--shadow-x3), var(--shadow-x3);
filter : drop-shadow(0 0 1px black) drop-shadow(0 0 0 black)
drop-shadow(0 0 0 black) drop-shadow(0 0 0 black)
drop-shadow(0 0 0 black) drop-shadow(0 0 0 black)
drop-shadow(0 0 0 black) drop-shadow(0 0 0 black);
font-family : NodestoCapsCondensed;
font-weight : normal;
font-size : 0.85cm;
@@ -746,7 +745,7 @@ h5 + table{
filter : drop-shadow(0 0 3px black);
}
.banner {
filter : drop-shadow(2px 2px 2px #000);
filter : drop-shadow(2px 2px 2px black);
position : absolute;
left : 0;
bottom : 4.2cm;
@@ -766,10 +765,10 @@ h5 + table{
padding-top : 0.1cm;
}
.footnote {
--shadow-x0 : #000 0px 0px 0.05cm;
--shadow-x1 : var(--shadow-x0), var(--shadow-x0), var(--shadow-x0);
--shadow-x2 : var(--shadow-x1), var(--shadow-x1), var(--shadow-x1);
text-shadow : var(--shadow-x2), var(--shadow-x2), var(--shadow-x2);
filter : drop-shadow(0 0 0.7px black) drop-shadow(0 0 0 black)
drop-shadow(0 0 0 black) drop-shadow(0 0 0 black)
drop-shadow(0 0 0 black) drop-shadow(0 0 0 black)
drop-shadow(0 0 0 black) drop-shadow(0 0 0 black);
position : absolute;
text-align : center;
color : white;
@@ -962,3 +961,43 @@ break-inside : avoid;
.page h1 + *{
margin-top : 0;
}
//*****************************
// * RUNE TABLE
// *****************************/
.page {
.runeTable {
margin-block: 0.7cm;
table {
font-family : inherit;
tbody tr {
background: unset;
}
th, td {
width: 1.3cm;
height: 1.3cm;
vertical-align: middle;
text-transform: uppercase;
outline: 1px solid #000;
font-weight: normal;
}
th{
font-family: BookInsanityRemake;
font-size: 0.45cm;
}
td {
font-size: 0.7cm;
}
}
&.frame {
border: initial;
border-style: solid;
border-image-outset: .45cm .35cm .4cm .4cm;
border-image-repeat: stretch;
border-image-slice: 170;
border-image-source: @scriptBorder;
border-image-width: 1.4cm;
}
}
}