0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-15 12:42:45 +00:00

Tweak CSS and snippet

This commit is contained in:
Trevor Buckner
2023-02-28 13:17:25 -05:00
parent 7a316060dd
commit 4f715a316b
2 changed files with 165 additions and 174 deletions

View File

@@ -1,115 +1,90 @@
const _ = require("lodash"); const _ = require('lodash');
const dedent = require('dedent-tabs').default;
const titles = [ const titles = [
"The Burning Gallows", 'The Burning Gallows', 'The Ring of Nenlast',
"The Ring of Nenlast", 'Below the Blind Tavern', 'Below the Hungering River',
"Below the Blind Tavern", 'Before Bahamut\'s Land', 'The Cruel Grave from Within',
"Below the Hungering River", 'The Strength of Trade Road', 'Through The Raven Queen\'s Worlds',
"Before Bahamut's Land", 'Within the Settlement', 'The Crown from Within',
"The Cruel Grave from Within", 'The Merchant Within the Battlefield', 'Ioun\'s Fading Traveler',
"The Strength of Trade Road", 'The Legion Ingredient', 'The Explorer Lure',
"Through The Raven Queen's Worlds", 'Before the Charming Badlands', 'Vecna\'s Hidden Sage',
"Within the Settlement", 'The Living Dead Above the Fearful Cage', 'Bahamut\'s Demonspawn',
"The Crown from Within", 'Across Gruumsh\'s Elemental Chaos', 'The Blade of Orcus',
"The Merchant Within the Battlefield", 'Beyond Revenge', 'Brain of Insanity',
"Ioun's Fading Traveler", 'Breed Battle!, A New Beginning', 'Evil Lake, A New Beginning',
"The Legion Ingredient", 'Invasion of the Gigantic Cat, Part II', 'Kraken War 2020',
"The Explorer Lure", 'The Body Whisperers', 'The Doctor from Heaven',
"Before the Charming Badlands", 'The Diabolical Tales of the Ape-Women', 'The Doctor Immortal',
"The Living Dead Above the Fearful Cage", 'Core of Heaven: Guardian of Amazement', 'The Graveyard',
"Vecna's Hidden Sage", 'Guardian: Skies of the Dark Wizard', 'Lute of Eternity',
"Bahamut's Demonspawn", 'Mercury\'s Planet: Brave Evolution', 'Azure Core',
"Across Gruumsh's Elemental Chaos", 'Sky of Zelda: The Thunder of Force', 'Core Battle',
"The Blade of Orcus", 'Ruby of Atlantis: The Quake of Peace', 'Deadly Amazement III',
"Beyond Revenge", 'Dry Chaos IX', 'Gate Thunder',
"Brain of Insanity", 'Vyse\'s Skies', 'White Greatness III',
"Breed Battle!, A New Beginning", 'Yellow Divinity', 'Zidane\'s Ghost'
"Evil Lake, A New Beginning", ];
"Invasion of the Gigantic Cat, Part II",
"Kraken War 2020", const subtitles = [
"The Body Whisperers", 'Tomb of Shadows', 'Dragon\'s Lair',
"The Diabolical Tales of the Ape-Women", 'Lost Caverns', 'The Necromancer',
"The Doctor Immortal", 'Mystic Forest', 'Cursed Ruins',
"The Doctor from Heaven", 'The Dark Abyss', 'Enchanted Maze',
"The Graveyard", 'Haunted Castle', 'Sands of Fate',
"Azure Core", 'Dragon\'s Hoard', 'Undead Menace',
"Core Battle", 'Lost City Ruins', 'Goblin Ambush',
"Core of Heaven: The Guardian of Amazement", 'Enchanted Forest', 'Darkness Rising',
"Deadly Amazement III", 'Quest for Glory', 'Ancient Prophecy',
"Dry Chaos IX", 'Shadowy Depths', 'Mystic Isles'
"Gate Thunder",
"Guardian: Skies of the Dark Wizard",
"Lute of Eternity",
"Mercury's Planet: Brave Evolution",
"Ruby of Atlantis: The Quake of Peace",
"Sky of Zelda: The Thunder of Force",
"Vyse's Skies",
"White Greatness III",
"Yellow Divinity",
"Zidane's Ghost",
]; ];
const footnote = [ const footnote = [
"In an ominous universe, a botanist opposes terrorism.", 'In an ominous universe, a botanist opposes terrorism.',
"In a demon-haunted city, in an age of lies and hate, a physicist tries to find an ancient treasure and battles a mob of aliens.", 'In a demon-haunted city, in an age of lies and hate, a physicist tries to find an ancient treasure and battles a mob of aliens.',
"In a land of corruption, two cyberneticists and a dungeon delver search for freedom.", 'In a land of corruption, two cyberneticists and a dungeon delver search for freedom.',
"In an evil empire of horror, two rangers battle the forces of hell.", 'In an evil empire of horror, two rangers battle the forces of hell.',
"In a lost city, in an age of sorcery, a librarian quests for revenge.", 'In a lost city, in an age of sorcery, a librarian quests for revenge.',
"In a universe of illusions and danger, three time travellers and an adventurer search for justice.", 'In a universe of illusions and danger, three time travellers and an adventurer search for justice.',
"In a forgotten universe of barbarism, in an era of terror and mysticism, a virtual reality programmer and a spy try to find vengance and battle crime.", 'In a forgotten universe of barbarism, in an era of terror and mysticism, a virtual reality programmer and a spy try to find vengance and battle crime.',
"In a universe of demons, in an era of insanity and ghosts, three bodyguards and a bodyguard try to find vengance.", 'In a universe of demons, in an era of insanity and ghosts, three bodyguards and a bodyguard try to find vengance.',
"In a kingdom of corruption and battle, seven artificial intelligences try to save the last living fertile woman.", 'In a kingdom of corruption and battle, seven artificial intelligences try to save the last living fertile woman.',
"In a universe of virutal reality and agony, in an age of ghosts and ghosts, a fortune-teller and a wanderer try to avert the apocalypse.", 'In a universe of virutal reality and agony, in an age of ghosts and ghosts, a fortune-teller and a wanderer try to avert the apocalypse.',
"In a crime-infested kingdom, three martial artists quest for the truth and oppose evil.", 'In a crime-infested kingdom, three martial artists quest for the truth and oppose evil.',
"In a terrifying universe of lost souls, in an era of lost souls, eight dancers fight evil.", 'In a terrifying universe of lost souls, in an era of lost souls, eight dancers fight evil.',
"In a galaxy of confusion and insanity, three martial artists and a duke battle a mob of psychics.", 'In a galaxy of confusion and insanity, three martial artists and a duke battle a mob of psychics.',
"In an amazing kingdom, a wizard and a secretary hope to prevent the destruction of mankind.", 'In an amazing kingdom, a wizard and a secretary hope to prevent the destruction of mankind.',
"In a kingdom of deception, a reporter searches for fame.", 'In a kingdom of deception, a reporter searches for fame.',
"In a hellish empire, a swordswoman and a duke try to find the ultimate weapon and battle a conspiracy.", 'In a hellish empire, a swordswoman and a duke try to find the ultimate weapon and battle a conspiracy.',
"In an evil galaxy of illusion, in a time of technology and misery, seven psychiatrists battle crime.", 'In an evil galaxy of illusion, in a time of technology and misery, seven psychiatrists battle crime.',
"In a dark city of confusion, three swordswomen and a singer battle lawlessness.", 'In a dark city of confusion, three swordswomen and a singer battle lawlessness.',
"In an ominous empire, in an age of hate, two philosophers and a student try to find justice and battle a mob of mages intent on stealing the souls of the innocent.", 'In an ominous empire, in an age of hate, two philosophers and a student try to find justice and battle a mob of mages intent on stealing the souls of the innocent.',
"In a kingdom of panic, six adventurers oppose lawlessness.", 'In a kingdom of panic, six adventurers oppose lawlessness.',
"In a land of dreams and hopelessness, three hackers and a cyborg search for justice.", 'In a land of dreams and hopelessness, three hackers and a cyborg search for justice.',
"On a planet of mysticism, three travelers and a fire fighter quest for the ultimate weapon and oppose evil.", 'On a planet of mysticism, three travelers and a fire fighter quest for the ultimate weapon and oppose evil.',
"In a wicked universe, five seers fight lawlessness.", 'In a wicked universe, five seers fight lawlessness.',
"In a kingdom of death, in an era of illusion and blood, four colonists search for fame.", 'In a kingdom of death, in an era of illusion and blood, four colonists search for fame.',
"In an amazing kingdom, in an age of sorcery and lost souls, eight space pirates quest for freedom.", 'In an amazing kingdom, in an age of sorcery and lost souls, eight space pirates quest for freedom.'
"In a cursed empire, five inventors oppose terrorism.",
"On a crime-ridden planet of conspiracy, a watchman and an artificial intelligence try to find love and oppose lawlessness.",
"In a forgotten land, a reporter and a spy try to stop the apocalypse.",
"In a forbidden land of prophecy, a scientist and an archivist oppose a cabal of barbarians intent on stealing the souls of the innocent.",
"On an infernal world of illusion, a grave robber and a watchman try to find revenge and combat a syndicate of mages intent on stealing the source of all magic.",
"In a galaxy of dark magic, four fighters seek freedom.",
"In an empire of deception, six tomb-robbers quest for the ultimate weapon and combat an army of raiders.",
"In a kingdom of corruption and lost souls, in an age of panic, eight planetologists oppose evil.",
"In a galaxy of misery and hopelessness, in a time of agony and pain, five planetologists search for vengance.",
"In a universe of technology and insanity, in a time of sorcery, a computer techician quests for hope.",
"On a planet of dark magic and barbarism, in an age of horror and blasphemy, seven librarians search for fame.",
"In an empire of dark magic, in a time of blood and illusions, four monks try to find the ultimate weapon and combat terrorism.",
"In a forgotten empire of dark magic, six kings try to prevent the destruction of mankind.",
"In a galaxy of dark magic and horror, in an age of hopelessness, four marines and an outlaw combat evil.",
"In a mysterious city of illusion, in an age of computerization, a witch-hunter tries to find the ultimate weapon and opposes an evil corporation.",
"In a damned kingdom of technology, a virtual reality programmer and a fighter seek fame.",
"In a hellish kingdom, in an age of blasphemy and blasphemy, an astrologer searches for fame.",
"In a damned world of devils, an alien and a ranger quest for love and oppose a syndicate of demons.",
"In a cursed galaxy, in a time of pain, seven librarians hope to avert the apocalypse.",
"In a crime-infested galaxy, in an era of hopelessness and panic, three champions and a grave robber try to solve the ultimate crime.",
]; ];
module.exports = () => { module.exports = ()=>{
return `{{coverPage }} return dedent`
{{coverPage }}
![image](https://i.imgur.com/Mqx8Vf7.png) {} {{logo ![](/assets/naturalCritLogo.svg)}}
# ${_.sample(titles)} # ${_.sample(titles)}
___ ## ${_.sample(subtitles)}
__________
{{banner 5e HOMEBREW}} {{banner HOMEBREW}}
{{footnote {{footnote
${_.sample(footnote)} ${_.sample(footnote)}
}} }}
\\page`; ![background image](https://i.imgur.com/Mqx8Vf7.png)
\page`;
}; };

View File

@@ -681,90 +681,106 @@ h5 + table{
// * COVER PAGE // * COVER PAGE
// *****************************/ // *****************************/
.page:has(.coverPage) { .page:has(.coverPage) {
columns:1; columns : 1;
text-align:center; text-align : center;
&:after { &:after {
all: unset; all: unset;
} }
.coverPage { .logo {
background-image: @naturalCritLogo; position : absolute;
background-position: center; top : 0.5cm;
background-size: 2cm; left : 0;
background-repeat: no-repeat; right : 0;
position: absolute; filter : drop-shadow(0 0 0.075cm black);
top: .6cm; img {
left: 0; height : 2cm;
display: block; width : 100%;
height: 2.38cm; }
width: 100%;
filter: drop-shadow(0 0 0.075cm black);
} }
img { .columnWrapper > p img {
position: absolute; position : absolute;
bottom: 0; bottom : 0;
left: 0; left : 0;
height: 100%; height : 100%;
min-width: 100%; min-width : 100%;
z-index: -1; z-index : -1;
} }
h1 { h1 {
--shadow-x0: #000 0px 0px 0.1cm; --shadow-x0 : #000 0px 0px 0.1cm;
--shadow-x1: var(--shadow-x0), var(--shadow-x0), var(--shadow-x0); --shadow-x1 : var(--shadow-x0), var(--shadow-x0), var(--shadow-x0);
--shadow-x2: var(--shadow-x1), var(--shadow-x1), var(--shadow-x1); --shadow-x2 : var(--shadow-x1), var(--shadow-x1), var(--shadow-x1);
--shadow-x3: var(--shadow-x2), var(--shadow-x2), var(--shadow-x2); --shadow-x3 : var(--shadow-x2), var(--shadow-x2), var(--shadow-x2);
text-shadow: var(--shadow-x3), var(--shadow-x3), var(--shadow-x3); text-shadow : var(--shadow-x3), var(--shadow-x3), var(--shadow-x3);
text-transform: uppercase; text-transform : uppercase;
display:block; font-weight : normal;
margin-top:2.12cm; display : block;
color: white; margin-top : 1.2cm;
font-family: NodestoCapsCondensed; margin-bottom : 0;
font-size: 2.245cm; color : white;
line-height: 0.85em; font-family : NodestoCapsCondensed;
font-size : 2.245cm;
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);
font-family : NodestoCapsCondensed;
font-weight : normal;
font-size : 0.85cm;
letter-spacing : 0.1cm;
color : white;
} }
hr { hr {
display:block; display : block;
position: relative; position : relative;
top: 0.2cm; background-image : @horizontalRule;
background-image: @horizontalRule; background-size : 100% 100%;
background-size: 100% 100%; visibility : visible;
visibility: visible; height : 0.5cm;
height: 0.5cm; width : 12cm;
width: 12cm; border : none;
border: none; margin : auto;
margin: auto; filter : drop-shadow(0 0 3px black);
filter: drop-shadow(0 0 0.075cm black);
} }
.banner { .banner {
filter: drop-shadow(0 0 0.13cm #000); filter : drop-shadow(2px 2px 2px #000);
position: absolute; position : absolute;
left: 0; left : 0;
bottom: 4.2cm; bottom : 4.2cm;
background-image: url('/assets/coverPageBanner.svg'); background-image : url('/assets/coverPageBanner.svg');
height: 1.7cm; height : 1.7cm;
width: 9.67cm; width : 10.5cm;
color:white; color : white;
font-family: NodestoCapsCondensed; font-family : NodestoCapsCondensed;
font-weight: normal; font-weight : normal;
font-size: 1cm; font-size : 1cm;
letter-spacing: 0.014cm; letter-spacing : 0.014cm;
text-align: left; text-align : left;
padding-left:1cm; padding-left : 1cm;
line-height:2em; display : flex;
justify-content : center;
flex-direction : column;
padding-top : 0.1cm;
} }
.footnote { .footnote {
--shadow-x0: #000 0px 0px 0.05cm; --shadow-x0 : #000 0px 0px 0.05cm;
--shadow-x1: var(--shadow-x0), var(--shadow-x0), var(--shadow-x0); --shadow-x1 : var(--shadow-x0), var(--shadow-x0), var(--shadow-x0);
--shadow-x2: var(--shadow-x1), var(--shadow-x1), var(--shadow-x1); --shadow-x2 : var(--shadow-x1), var(--shadow-x1), var(--shadow-x1);
text-shadow: var(--shadow-x2), var(--shadow-x2), var(--shadow-x2); text-shadow : var(--shadow-x2), var(--shadow-x2), var(--shadow-x2);
position: absolute; position : absolute;
text-align: center; text-align : center;
color: white; color : white;
font-size: 0.535cm; font-size : 0.496cm;
bottom: 1.9cm; bottom : 1.3cm;
left: 50%; left : 0;
translate:-50% 0; right : 0;
width: 70%; margin-left : auto;
font-family: Alkalami; margin-right : auto;
width : 70%;
font-family : Overpass;
} }
} }