206 lines
4.2 KiB
SCSS
206 lines
4.2 KiB
SCSS
/* tame reveal.js */
|
|
section {
|
|
min-height: 100vh;
|
|
width: 100vw;
|
|
padding: 0 !important;
|
|
}
|
|
|
|
/* config */
|
|
:root {
|
|
--secondary: #c8ceda;
|
|
}
|
|
|
|
/* basic layout */
|
|
:root {
|
|
--square: 100vw;
|
|
@media screen and (min-aspect-ratio: 1/1) {
|
|
--square: 50vw;
|
|
}
|
|
@media screen and (min-aspect-ratio: 2/1) {
|
|
--square: 100vh;
|
|
}
|
|
}
|
|
|
|
body {
|
|
font-size: calc(0.035 * var(--square));
|
|
background: black;
|
|
|
|
.layout-content-and-preview,
|
|
.layout-content-only {
|
|
display: grid;
|
|
min-height: 100vh;
|
|
max-height: 100vh;
|
|
min-width: 100vw;
|
|
max-width: 100vw;
|
|
overflow: auto;
|
|
}
|
|
|
|
.layout-content-and-preview {
|
|
grid-template-rows: var(--square) auto;
|
|
grid-template-columns: auto;
|
|
grid-template-areas:
|
|
"content"
|
|
"preview";
|
|
@media screen and (min-aspect-ratio: 1/1) {
|
|
grid-template-rows: auto var(--square) auto;
|
|
grid-template-columns: var(--square) auto;
|
|
grid-template-areas:
|
|
" . preview"
|
|
"content preview"
|
|
" . preview";
|
|
}
|
|
@media screen and (min-aspect-ratio: 2/1) {
|
|
grid-template-rows: var(--square);
|
|
grid-template-columns: var(--square) auto;
|
|
grid-template-areas:
|
|
"content preview";
|
|
}
|
|
}
|
|
|
|
.layout-content-only {
|
|
grid-template-rows: var(--square) auto;
|
|
grid-template-columns: var(--square);
|
|
grid-template-areas:
|
|
"content"
|
|
" . ";
|
|
@media screen and (min-aspect-ratio: 1/1) {
|
|
grid-template-rows: auto var(--square) auto;
|
|
grid-template-columns: auto var(--square) auto;
|
|
grid-template-areas:
|
|
". . ."
|
|
". content ."
|
|
". . .";
|
|
}
|
|
}
|
|
|
|
.layout-content {
|
|
background: white;
|
|
grid-area: content;
|
|
position: relative;
|
|
}
|
|
|
|
.layout-preview {
|
|
grid-area: preview;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: var(--secondary);
|
|
img {
|
|
width: auto;
|
|
height: auto;
|
|
max-width: 90%;
|
|
max-height: 90%;
|
|
box-shadow: .2em .2em .5em 0 rgba(0, 0, 0, .3);
|
|
}
|
|
}
|
|
}
|
|
|
|
/* content layout */
|
|
|
|
@import url('https://free.bboxtype.com/embedfonts/?family=FiraSans:300,600');
|
|
@font-face {
|
|
font-family: 'Fira Code';
|
|
src: url('../../lib/font/fira-code/FiraCode-Regular.otf');
|
|
font-weight: 400;
|
|
}
|
|
@font-face {
|
|
font-family: 'Fira Code';
|
|
src: url('../../lib/font/fira-code/FiraCode-Bold.otf');
|
|
font-weight: 700;
|
|
}
|
|
body {
|
|
font-family: 'Fira Sans';
|
|
margin: 0;
|
|
line-height: 1.2em;
|
|
}
|
|
|
|
.layout-content-and-preview,
|
|
.layout-content-only {
|
|
--margin: 0.1;
|
|
|
|
.layout-content {
|
|
overflow: auto;
|
|
padding: calc(var(--margin) * var(--square));
|
|
|
|
*:first-child {
|
|
margin-top: 0;
|
|
}
|
|
|
|
.layout-title {
|
|
padding: calc(0.3 * var(--margin) * var(--square)) 0;
|
|
line-height: 1.15em;
|
|
|
|
h2 {
|
|
margin: 0;
|
|
}
|
|
}
|
|
|
|
ul {
|
|
list-style-type: none;
|
|
padding-left: 0;
|
|
position: relative;
|
|
li::before {
|
|
content: '▪';
|
|
color: var(--secondary);
|
|
position: absolute;
|
|
left: calc(-0.33 * var(--margin) * var(--square));
|
|
}
|
|
ul {
|
|
margin-left: calc(0.33 * var(--margin) * var(--square));
|
|
}
|
|
}
|
|
|
|
pre {
|
|
margin-left: calc(-1 * var(--margin) * var(--square));
|
|
padding-left: calc(var(--margin) * var(--square));
|
|
line-height: 1.2em;
|
|
position: relative;
|
|
overflow: hidden;
|
|
&::before {
|
|
content: attr(data-sourcefile);
|
|
position: absolute;
|
|
text-align: right;
|
|
color: var(--secondary);
|
|
top: .85em;
|
|
width: 100%;
|
|
left: calc(-1 * var(--square) + 1.2 * var(--margin) * var(--square));
|
|
transform-origin: top right;
|
|
transform: rotate(-90deg);
|
|
}
|
|
}
|
|
|
|
code {
|
|
font-size: 0.9em;
|
|
font-family: 'Fira Code';
|
|
&.hljs {
|
|
padding: .3em 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.layout.layout-chapter-heading {
|
|
height: 100vh;
|
|
width: 100vw;
|
|
position: relative;
|
|
|
|
.layout-title {
|
|
position: absolute;
|
|
left: 2vw;
|
|
width: calc(100vw - 4vw);
|
|
text-align: center;
|
|
bottom: calc(38.2% - .5em);
|
|
}
|
|
}
|
|
|
|
h1 {
|
|
position: absolute;
|
|
font-size: 300%;
|
|
bottom: 0;
|
|
left: 0;
|
|
line-height: 115%;
|
|
vertical-align: bottom;
|
|
max-width: var(--square);
|
|
padding: 0 calc(var(--margin) * var(--square)) .5em;
|
|
}
|