style("text/css"). table { border-collapse: collapse; position: relative; text-align: left; } tr.gray th { background: lightgray; } th, td { padding: 2px; } th { position: sticky; top: 0; } table tr(class="gray") th Name th Schools th Book th Printing - let poPrint = booksPriority.find(p => p.book === "Player's Option: Spells & Magic").print each levelObject, level in data each spell, spellName in levelObject each priority in booksPriority if (spell.book !== priority.book) - continue if (!spell['school-spells-and-magic']) - continue tr td #{spellName} td #{spell.school} td #{spell.book === 'PHB' ? 'Player\'s Handbook' : spell.book} td #{priority.print} if (spell['school-spells-and-magic']) tr td #{spellName} td #{spell['school-spells-and-magic']} td Player's Option: Spells & Magic td #{poPrint} tr td