a new start
This commit is contained in:
78
_sass/_mixins.scss
Normal file
78
_sass/_mixins.scss
Normal file
@@ -0,0 +1,78 @@
|
||||
// Copyright (c) 2021 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
@use "sass:math";
|
||||
|
||||
@mixin light-mode() {
|
||||
--body-color: #{$body-color};
|
||||
--body-bg: #{$body-bg};
|
||||
--border-color: #{$border-color};
|
||||
--gray: #{$gray};
|
||||
--gray-bg: #{$gray-bg};
|
||||
--gray-text: #{$gray-text};
|
||||
--menu-text: #{$menu-text};
|
||||
--inv-body-color: #ccc;
|
||||
--inv-body-bg: var(--dark-mode-body-bg);
|
||||
|
||||
.content {
|
||||
-webkit-font-smoothing: initial;
|
||||
-moz-osx-font-smoothing: initial;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin aspect-ratio($width, $height) {
|
||||
position: relative;
|
||||
|
||||
&::before {
|
||||
display: block;
|
||||
content: "";
|
||||
width: 100%;
|
||||
@if $gh-pages-compat {
|
||||
padding-top: (math.div($height, $width) * 100%);
|
||||
} @else {
|
||||
padding-top: calc(math.div($height, $width) * 100%);
|
||||
}
|
||||
}
|
||||
|
||||
> * {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.clearfix {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.color-transition {
|
||||
transition: none;
|
||||
}
|
||||
|
||||
@mixin fallback-image() {
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTYwIiBoZWlnaHQ9IjkwIiB2aWV3Qm94PSIwIDAgMTYwIDkwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuMDQ4ODI4LCAwLCAwLCAwLjA0Nzk5MSwgNTQuOTk5OTczLCAyMC40MjgxNDgpIj4KICAgIDxwYXRoIHN0eWxlPSJmaWxsOnJnYmEoMTI4LDEyOCwxMjgsLjMzKSIgZD0iTTk1OS44ODQgMTI4YzAuMDQwIDAuMDM0IDAuMDgyIDAuMDc2IDAuMTE2IDAuMTE2djc2Ny43N2MtMC4wMzQgMC4wNDAtMC4wNzYgMC4wODItMC4xMTYgMC4xMTZoLTg5NS43N2MtMC4wNDAtMC4wMzQtMC4wODItMC4wNzYtMC4xMTQtMC4xMTZ2LTc2Ny43NzJjMC4wMzQtMC4wNDAgMC4wNzYtMC4wODIgMC4xMTQtMC4xMTRoODk1Ljc3ek05NjAgNjRoLTg5NmMtMzUuMiAwLTY0IDI4LjgtNjQgNjR2NzY4YzAgMzUuMiAyOC44IDY0IDY0IDY0aDg5NmMzNS4yIDAgNjQtMjguOCA2NC02NHYtNzY4YzAtMzUuMi0yOC44LTY0LTY0LTY0djB6Ii8+CiAgICA8cGF0aCBzdHlsZT0iZmlsbDpyZ2JhKDEyOCwxMjgsMTI4LC4zMykiIGQ9Ik04MzIgMjg4YzAgNTMuMDIwLTQyLjk4IDk2LTk2IDk2cy05Ni00Mi45OC05Ni05NiA0Mi45OC05NiA5Ni05NiA5NiA0Mi45OCA5NiA5NnoiLz4KICAgIDxwYXRoIHN0eWxlPSJmaWxsOnJnYmEoMTI4LDEyOCwxMjgsLjMzKSIgZD0iTTg5NiA4MzJoLTc2OHYtMTI4bDIyNC0zODQgMjU2IDMyMGg2NGwyMjQtMTkyeiIvPgogIDwvZz4KPC9zdmc+');
|
||||
}
|
||||
|
||||
@mixin border-radius() {
|
||||
@media (min-width: $break-point-1) {
|
||||
border-radius: $border-radius;
|
||||
}
|
||||
}
|
||||
286
_sass/_reboot-mod.scss
Normal file
286
_sass/_reboot-mod.scss
Normal file
@@ -0,0 +1,286 @@
|
||||
// Reboot
|
||||
//
|
||||
// Normalization of HTML elements, manually forked from Normalize.css to remove
|
||||
// styles targeting irrelevant browsers while applying new styles.
|
||||
//
|
||||
// Normalize is licensed MIT. https://github.com/necolas/normalize.css
|
||||
|
||||
|
||||
// Document
|
||||
//
|
||||
// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.
|
||||
// 2. Change the default font family in all browsers.
|
||||
// 3. Correct the line height in all browsers.
|
||||
// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.
|
||||
// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so
|
||||
// we force a non-overlapping, non-auto-hiding scrollbar to counteract.
|
||||
// 6. Change the default tap highlight to be completely transparent in iOS.
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box; // 1
|
||||
}
|
||||
|
||||
html {
|
||||
-webkit-text-size-adjust: 100%; // 4
|
||||
-ms-text-size-adjust: 100%; // 4
|
||||
-ms-overflow-style: scrollbar; // 5
|
||||
-webkit-tap-highlight-color: rgba(0,0,0,0); // 6
|
||||
}
|
||||
|
||||
// IE10+ doesn't honor `<meta name="viewport">` in some cases.
|
||||
@at-root {
|
||||
@-ms-viewport { width: device-width; }
|
||||
}
|
||||
|
||||
// Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)
|
||||
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
// Suppress the focus outline on elements that cannot be accessed via keyboard.
|
||||
// This prevents an unwanted focus outline from appearing around elements that
|
||||
// might still respond to pointer events.
|
||||
//
|
||||
// Credit: https://github.com/suitcss/base
|
||||
[tabindex="-1"]:focus {
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
// Abbreviations
|
||||
//
|
||||
// 1. Remove the bottom border in Firefox 39-.
|
||||
// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
|
||||
// 3. Add explicit cursor to indicate changed behavior.
|
||||
// 4. Duplicate behavior to the data-* attribute for our tooltip plugin
|
||||
|
||||
abbr[title],
|
||||
abbr[data-original-title] { // 4
|
||||
text-decoration: underline; // 2
|
||||
text-decoration: underline dotted; // 2
|
||||
cursor: help; // 3
|
||||
border-bottom: 0; // 1
|
||||
}
|
||||
|
||||
address {
|
||||
margin-bottom: 1rem;
|
||||
font-style: normal;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
//
|
||||
// Images and content
|
||||
//
|
||||
|
||||
img {
|
||||
vertical-align: middle;
|
||||
border-style: none; // Remove the border on images inside links in IE 10-.
|
||||
}
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden; // Hide the overflow in IE
|
||||
}
|
||||
|
||||
|
||||
// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.
|
||||
//
|
||||
// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11
|
||||
// DON'T remove the click delay when `<meta name="viewport" content="width=device-width">` is present.
|
||||
// However, they DO support removing the click delay via `touch-action: manipulation`.
|
||||
// See:
|
||||
// * https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch
|
||||
// * http://caniuse.com/#feat=css-touch-action
|
||||
// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay
|
||||
|
||||
a,
|
||||
area,
|
||||
button,
|
||||
[role="button"],
|
||||
input:not([type=range]),
|
||||
label,
|
||||
select,
|
||||
summary,
|
||||
textarea {
|
||||
touch-action: manipulation;
|
||||
}
|
||||
|
||||
//
|
||||
// Figures
|
||||
//
|
||||
|
||||
figure {
|
||||
// Apply a consistent margin strategy (matches our type styles).
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
//
|
||||
// Forms
|
||||
//
|
||||
|
||||
label {
|
||||
// Allow labels to use `margin` for spacing.
|
||||
display: inline-block;
|
||||
margin-bottom: .25rem;
|
||||
}
|
||||
|
||||
// Work around a Firefox/IE bug where the transparent `button` background
|
||||
// results in a loss of the default `button` focus styles.
|
||||
//
|
||||
// Credit: https://github.com/suitcss/base/
|
||||
button:focus {
|
||||
outline: 1px dotted;
|
||||
outline: 5px auto -webkit-focus-ring-color;
|
||||
}
|
||||
|
||||
input,
|
||||
button,
|
||||
select,
|
||||
optgroup,
|
||||
textarea {
|
||||
margin: 0; // Remove the margin in Firefox and Safari
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
button,
|
||||
input {
|
||||
overflow: visible; // Show the overflow in Edge
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none; // Remove the inheritance of text transform in Firefox
|
||||
}
|
||||
|
||||
// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
|
||||
// controls in Android 4.
|
||||
// 2. Correct the inability to style clickable types in iOS and Safari.
|
||||
button,
|
||||
html [type="button"], // 1
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
-webkit-appearance: button; // 2
|
||||
}
|
||||
|
||||
// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.
|
||||
button::-moz-focus-inner,
|
||||
[type="button"]::-moz-focus-inner,
|
||||
[type="reset"]::-moz-focus-inner,
|
||||
[type="submit"]::-moz-focus-inner {
|
||||
padding: 0;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
input[type="radio"],
|
||||
input[type="checkbox"] {
|
||||
box-sizing: border-box; // 1. Add the correct box sizing in IE 10-
|
||||
padding: 0; // 2. Remove the padding in IE 10-
|
||||
}
|
||||
|
||||
|
||||
input[type="date"],
|
||||
input[type="time"],
|
||||
input[type="datetime-local"],
|
||||
input[type="month"] {
|
||||
// Remove the default appearance of temporal inputs to avoid a Mobile Safari
|
||||
// bug where setting a custom line-height prevents text from being vertically
|
||||
// centered within the input.
|
||||
// See https://bugs.webkit.org/show_bug.cgi?id=139848
|
||||
// and https://github.com/twbs/bootstrap/issues/11266
|
||||
-webkit-appearance: listbox;
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: auto; // Remove the default vertical scrollbar in IE.
|
||||
// Textareas should really only resize vertically so they don't break their (horizontal) containers.
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
// Browsers set a default `min-width: min-content;` on fieldsets,
|
||||
// unlike e.g. `<div>`s, which have `min-width: 0;` by default.
|
||||
// So we reset that to ensure fieldsets behave more like a standard block element.
|
||||
// See https://github.com/twbs/bootstrap/issues/12359
|
||||
// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
|
||||
min-width: 0;
|
||||
// Reset the default outline behavior of fieldsets so they don't affect page layout.
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
// 1. Correct the text wrapping in Edge and IE.
|
||||
// 2. Correct the color inheritance from `fieldset` elements in IE.
|
||||
legend {
|
||||
display: block;
|
||||
width: 100%;
|
||||
max-width: 100%; // 1
|
||||
padding: 0;
|
||||
margin-bottom: .5rem;
|
||||
font-size: 1.5rem;
|
||||
line-height: inherit;
|
||||
color: inherit; // 2
|
||||
white-space: normal; // 1
|
||||
}
|
||||
|
||||
progress {
|
||||
vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.
|
||||
}
|
||||
|
||||
// Correct the cursor style of increment and decrement buttons in Chrome.
|
||||
[type="number"]::-webkit-inner-spin-button,
|
||||
[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[type="search"] {
|
||||
// This overrides the extra rounded corners on search inputs in iOS so that our
|
||||
// `.form-control` class can properly style them. Note that this cannot simply
|
||||
// be added to `.form-control` as it's not specific enough. For details, see
|
||||
// https://github.com/twbs/bootstrap/issues/11586.
|
||||
outline-offset: -2px; // 2. Correct the outline style in Safari.
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
//
|
||||
// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
|
||||
//
|
||||
|
||||
[type="search"]::-webkit-search-cancel-button,
|
||||
[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
//
|
||||
// 1. Correct the inability to style clickable types in iOS and Safari.
|
||||
// 2. Change font properties to `inherit` in Safari.
|
||||
//
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
font: inherit; // 2
|
||||
-webkit-appearance: button; // 1
|
||||
}
|
||||
|
||||
//
|
||||
// Correct element displays
|
||||
//
|
||||
|
||||
output {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
summary {
|
||||
display: list-item; // Add the correct display in all browsers
|
||||
}
|
||||
|
||||
template {
|
||||
display: none; // Add the correct display in IE
|
||||
}
|
||||
|
||||
// Always hide an element with the `hidden` HTML attribute (from PureCSS).
|
||||
// Needed for proper display in IE 10-.
|
||||
[hidden] {
|
||||
display: none !important;
|
||||
}
|
||||
45
_sass/_spinner.scss
Normal file
45
_sass/_spinner.scss
Normal file
@@ -0,0 +1,45 @@
|
||||
// Copyright (c) 2019 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.loading > [class*="icon-"] {
|
||||
display: inline-block;
|
||||
-webkit-animation: rotate 2s infinite linear both;
|
||||
animation: rotate 2s infinite linear both;
|
||||
-webkit-transform-origin: 50% 50%;
|
||||
-ms-transform-origin: 50% 50%;
|
||||
transform-origin: 50% 50%;
|
||||
}
|
||||
|
||||
@-webkit-keyframes rotate {
|
||||
0% {
|
||||
-webkit-transform: rotateZ(0);
|
||||
transform: rotateZ(0);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotateZ(360deg);
|
||||
transform: rotateZ(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes rotate {
|
||||
0% {
|
||||
-webkit-transform: rotateZ(0);
|
||||
transform: rotateZ(0);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotateZ(360deg);
|
||||
transform: rotateZ(360deg);
|
||||
}
|
||||
}
|
||||
143
_sass/_syntax.scss
Normal file
143
_sass/_syntax.scss
Normal file
@@ -0,0 +1,143 @@
|
||||
@mixin lightmode-syntax() {
|
||||
.highlight,
|
||||
pre.highlight {
|
||||
// background: #fafafa;
|
||||
color: #383a42;
|
||||
}
|
||||
// .highlight pre {
|
||||
// background: #fafafa;
|
||||
// }
|
||||
.highlight .ge {
|
||||
font-style: italic;
|
||||
}
|
||||
.highlight .gs {
|
||||
font-weight: 700;
|
||||
}
|
||||
.highlight .ow {
|
||||
font-weight: 700;
|
||||
}
|
||||
.highlight .n,
|
||||
.highlight .nf,
|
||||
.highlight .nn,
|
||||
.highlight .o,
|
||||
.highlight .p {
|
||||
color: #383a42;
|
||||
}
|
||||
.highlight .c,
|
||||
.highlight .c1,
|
||||
.highlight .cm,
|
||||
.highlight .cp,
|
||||
.highlight .cs {
|
||||
color: #a0a1a7;
|
||||
font-style: italic;
|
||||
}
|
||||
.highlight .sr,
|
||||
.highlight .ss {
|
||||
color: #0184bc;
|
||||
}
|
||||
.highlight .k,
|
||||
.highlight .kc,
|
||||
.highlight .kd,
|
||||
.highlight .kn,
|
||||
.highlight .kp,
|
||||
.highlight .kr,
|
||||
.highlight .kt {
|
||||
color: #a626a4;
|
||||
}
|
||||
.highlight .l,
|
||||
.highlight .ld,
|
||||
.highlight .s,
|
||||
.highlight .s1,
|
||||
.highlight .s2,
|
||||
.highlight .sb,
|
||||
.highlight .sc,
|
||||
.highlight .sd,
|
||||
.highlight .se,
|
||||
.highlight .sh,
|
||||
.highlight .si,
|
||||
.highlight .sx {
|
||||
color: #50a14f;
|
||||
}
|
||||
.highlight .nt,
|
||||
.highlight .nx,
|
||||
.highlight .vi {
|
||||
color: #e45649;
|
||||
}
|
||||
.highlight .il,
|
||||
.highlight .m,
|
||||
.highlight .mf,
|
||||
.highlight .mh,
|
||||
.highlight .mi,
|
||||
.highlight .mo,
|
||||
.highlight .na {
|
||||
color: #986801;
|
||||
}
|
||||
.highlight .bp,
|
||||
.highlight .nb,
|
||||
.highlight .nc,
|
||||
.highlight .nd,
|
||||
.highlight .ne,
|
||||
.highlight .ni,
|
||||
.highlight .nl,
|
||||
.highlight .no,
|
||||
.highlight .nv,
|
||||
.highlight .py,
|
||||
.highlight .vc,
|
||||
.highlight .vg {
|
||||
color: #c18401;
|
||||
}
|
||||
// .highlight .err {
|
||||
// color: #fff;
|
||||
// background-color: #ff1414;
|
||||
// }
|
||||
.highlight .gd {
|
||||
color: #ff1414;
|
||||
}
|
||||
.highlight .gi {
|
||||
color: #2db448;
|
||||
}
|
||||
.highlight .w {
|
||||
color: #f8f8f2;
|
||||
}
|
||||
.highlight .cpf {
|
||||
color: navy;
|
||||
}
|
||||
.highlight .gu {
|
||||
color: #75715e;
|
||||
}
|
||||
.highlight .lineno {
|
||||
color: #9d9d9f;
|
||||
user-select: none;
|
||||
}
|
||||
.highlight .ln {
|
||||
color: #9d9d9f;
|
||||
user-select: none;
|
||||
}
|
||||
.highlight .ln:after {
|
||||
content: " ";
|
||||
}
|
||||
.highlight .hll {
|
||||
color: #383a42;
|
||||
background-color: #e5e5e6;
|
||||
}
|
||||
.highlight .hl {
|
||||
color: #383a42;
|
||||
background-color: #e5e5e6;
|
||||
}
|
||||
.highlight .language-json .w + .s2 {
|
||||
color: #e45649;
|
||||
}
|
||||
.highlight .language-json .kc {
|
||||
color: #0184bc;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
@include lightmode-syntax();
|
||||
}
|
||||
|
||||
@media screen {
|
||||
body.light-mode {
|
||||
@include lightmode-syntax();
|
||||
}
|
||||
}
|
||||
43
_sass/_tippy.scss
Normal file
43
_sass/_tippy.scss
Normal file
@@ -0,0 +1,43 @@
|
||||
|
||||
@use "tippyjs/index" with ($namespace-prefix: "tippy");
|
||||
|
||||
[data-tippy-root] {
|
||||
--body-color: var(--inv-body-color);
|
||||
--body-bg: var(--inv-body-bg);
|
||||
}
|
||||
|
||||
.tippy-box {
|
||||
color: var(--body-color)!important;
|
||||
background-color: var(--body-bg)!important;
|
||||
}
|
||||
|
||||
.tippy-content {
|
||||
font-family: $font-family!important;
|
||||
font-weight: normal!important;
|
||||
a {
|
||||
@extend .heading;
|
||||
text-decoration: none;
|
||||
border: none;
|
||||
&:after {
|
||||
color: var(--body-color)!important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tippy-arrow {
|
||||
color: var(--body-bg)!important;
|
||||
}
|
||||
|
||||
.dark-mode {
|
||||
.tippy-content {
|
||||
-webkit-font-smoothing: initial;
|
||||
-moz-osx-font-smoothing: initial;
|
||||
}
|
||||
}
|
||||
|
||||
.light-mode {
|
||||
.tippy-content {
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
}
|
||||
22
_sass/_variables.scss
Normal file
22
_sass/_variables.scss
Normal file
@@ -0,0 +1,22 @@
|
||||
// Copyright (c) 2019 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
$gray: #777;
|
||||
$gray-bg: rgba(0,0,0,.025);
|
||||
$gray-text: #666;
|
||||
$menu-text: #bbb;
|
||||
$body-color: #333;
|
||||
$body-bg: #fff;
|
||||
$border-color: #ebebeb;
|
||||
34
_sass/html.scss
Normal file
34
_sass/html.scss
Normal file
@@ -0,0 +1,34 @@
|
||||
html {
|
||||
--font-family: #{$font-family};
|
||||
--font-family-heading: #{$font-family-heading};
|
||||
--code-font-family: #{$code-font-family};
|
||||
|
||||
--root-font-size: #{$root-font-size};
|
||||
--root-font-size-medium: #{$root-font-size-medium};
|
||||
--root-font-size-large: #{$root-font-size-large};
|
||||
--root-font-size-print: #{$root-font-size-print};
|
||||
--root-line-height: #{$root-line-height};
|
||||
|
||||
--font-weight: #{$font-weight};
|
||||
--font-weight-bold: #{$font-weight-bold};
|
||||
--font-weight-heading: #{$font-weight-heading};
|
||||
|
||||
// --content-width: #{$content-width};
|
||||
// --content-width-2: #{$content-width-2};
|
||||
--content-width-5: #{$content-width-5};
|
||||
|
||||
// --content-margin-3: #{$content-margin-3};
|
||||
--content-margin-5: #{$content-margin-5};
|
||||
|
||||
--sidebar-width: #{$sidebar-width};
|
||||
--half-content: #{$half-content};
|
||||
|
||||
// --break-point-1: #{$break-point-1};
|
||||
// --break-point-2: #{$break-point-2};
|
||||
--break-point-3: #{$break-point-3};
|
||||
// --break-point-4: #{$break-point-4};
|
||||
--break-point-5: #{$break-point-5};
|
||||
// --break-point-font-large: #{$break-point-font-large};
|
||||
|
||||
--break-point-dynamic: #{$break-point-dynamic};
|
||||
}
|
||||
2
_sass/my-inline.scss
Normal file
2
_sass/my-inline.scss
Normal file
@@ -0,0 +1,2 @@
|
||||
// Uncomment to disable dingbat icons below posts
|
||||
// hr.dingbat { display: none }
|
||||
13
_sass/my-style.scss
Normal file
13
_sass/my-style.scss
Normal file
@@ -0,0 +1,13 @@
|
||||
.layout-post {
|
||||
.img-wrapper {
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.avatar {
|
||||
width: 150px;
|
||||
height: auto;
|
||||
}
|
||||
1
_sass/my-variables.scss
Normal file
1
_sass/my-variables.scss
Normal file
@@ -0,0 +1 @@
|
||||
// This is deprecated. Modify CSS Custom Properties instead.
|
||||
51
_sass/pivoine/__inline__/_avatar.scss
Normal file
51
_sass/pivoine/__inline__/_avatar.scss
Normal file
@@ -0,0 +1,51 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_avatar.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.avatar {
|
||||
|
||||
width: 7rem;
|
||||
height: 7rem;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
img { width: 100%; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
.content .avatar {
|
||||
@extend .color-transition;
|
||||
float: right;
|
||||
box-sizing: content-box;
|
||||
border: 1rem solid var(--body-bg);
|
||||
transition: border-color 1s ease;
|
||||
margin-top: -1.5rem;
|
||||
margin-right: -1rem;
|
||||
border-radius: 100%;
|
||||
}
|
||||
|
||||
78
_sass/pivoine/__inline__/_base.scss
Normal file
78
_sass/pivoine/__inline__/_base.scss
Normal file
@@ -0,0 +1,78 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_base.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2021 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
|
||||
body::before {
|
||||
@media screen {
|
||||
content: '';
|
||||
width: .5rem;
|
||||
background: var(--gray-bg);
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
@media (min-width: $break-point-3) {
|
||||
width: $sidebar-width;
|
||||
}
|
||||
|
||||
@media (min-width: $break-point-dynamic) {
|
||||
width: calc(50% - #{$half-content});
|
||||
}
|
||||
}
|
||||
|
||||
html {
|
||||
@media screen and (min-width: $break-point-1) {
|
||||
font-size: var(--root-font-size-medium);
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-font-large) {
|
||||
font-size: var(--root-font-size-large);
|
||||
}
|
||||
}
|
||||
|
||||
#breadcrumbs {
|
||||
> ul {
|
||||
@extend .ellipsis;
|
||||
height: 1rem;
|
||||
margin: -1.5rem 0 .5rem;
|
||||
padding: 0;
|
||||
font-size: .667rem;
|
||||
color: var(--menu-text);
|
||||
text-transform: uppercase;
|
||||
width: 100%;
|
||||
list-style: none;
|
||||
> li {
|
||||
display: inline;
|
||||
a {
|
||||
color: var(--gray);
|
||||
text-decoration: none;
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
25
_sass/pivoine/__inline__/_break-layout.scss
Normal file
25
_sass/pivoine/__inline__/_break-layout.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_break-layout.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
69
_sass/pivoine/__inline__/_content.scss
Normal file
69
_sass/pivoine/__inline__/_content.scss
Normal file
@@ -0,0 +1,69 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_content.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.content {
|
||||
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
padding: 8rem $content-padding 12rem;
|
||||
|
||||
@media screen {
|
||||
padding-left: $content-padding + .5rem;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-1) {
|
||||
max-width: $content-width;
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-2) {
|
||||
max-width: $content-width-2;
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-3) {
|
||||
padding-left: $content-padding;
|
||||
margin-left: $sidebar-width + $content-margin-3;
|
||||
margin-right: $content-margin-3;
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-5) {
|
||||
padding-top: 9rem;
|
||||
margin-left: $sidebar-width + $content-margin-5;
|
||||
margin-right: $content-margin-5;
|
||||
max-width: $content-width-5;
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
.large-only {
|
||||
display: none;
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
25
_sass/pivoine/__inline__/_footer.scss
Normal file
25
_sass/pivoine/__inline__/_footer.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_footer.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
37
_sass/pivoine/__inline__/_images.scss
Normal file
37
_sass/pivoine/__inline__/_images.scss
Normal file
@@ -0,0 +1,37 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_images.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.content .aspect-ratio {
|
||||
overflow: hidden;
|
||||
img {
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
// object-fit: cover;
|
||||
// object-position: center;
|
||||
background-color: var(--gray-bg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
25
_sass/pivoine/__inline__/_katex.scss
Normal file
25
_sass/pivoine/__inline__/_katex.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_katex.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
60
_sass/pivoine/__inline__/_links.scss
Normal file
60
_sass/pivoine/__inline__/_links.scss
Normal file
@@ -0,0 +1,60 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_links.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
hy-push-state a {
|
||||
color: var(--body-color);
|
||||
|
||||
@supports not ((text-decoration-thickness: initial) and (text-underline-offset: initial)) {
|
||||
text-decoration: none;
|
||||
border-bottom: 2px solid;
|
||||
}
|
||||
|
||||
@supports ((text-decoration-thickness: initial) and (text-underline-offset: initial)) {
|
||||
text-decoration-style: solid;
|
||||
text-underline-offset: .35rem;
|
||||
text-decoration-thickness: 2px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
&.no-hover {
|
||||
border-bottom: none;
|
||||
text-decoration-thickness: unset;
|
||||
text-underline-offset: unset;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.content a:not(.btn):not(.no-hover) {
|
||||
|
||||
@supports ((text-decoration-thickness: initial) and (text-underline-offset: initial)) {
|
||||
text-decoration-color: var(--accent-color-faded);
|
||||
}
|
||||
& { border-color: var(--accent-color-faded); }
|
||||
|
||||
|
||||
}
|
||||
|
||||
25
_sass/pivoine/__inline__/_mark-external.scss
Normal file
25
_sass/pivoine/__inline__/_mark-external.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_mark-external.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
96
_sass/pivoine/__inline__/_menu.scss
Normal file
96
_sass/pivoine/__inline__/_menu.scss
Normal file
@@ -0,0 +1,96 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_menu.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
$navbar-height: 5rem;
|
||||
|
||||
|
||||
.fixed-common {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.fixed-top {
|
||||
@extend .fixed-common;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.fixed-bottom {
|
||||
@extend .fixed-common;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
.navbar {
|
||||
@extend .color-transition;
|
||||
> .content {
|
||||
|
||||
position: relative;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
min-height: 0;
|
||||
max-height: $navbar-height;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
.nav-btn-bar {
|
||||
@extend .color-transition;
|
||||
margin: 0 -1rem;
|
||||
background-color: white; // IE11
|
||||
background-color: var(--body-bg);
|
||||
height: $navbar-height;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
|
||||
> :first-child, > :last-child {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
@extend .color-transition;
|
||||
background: none;
|
||||
border: none;
|
||||
text-decoration: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 3.25rem;
|
||||
height: $navbar-height;
|
||||
color: var(--menu-text);
|
||||
border-right: 1px solid var(--border-color);
|
||||
border-left: 1px solid var(--border-color);
|
||||
margin-left: -1px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
36
_sass/pivoine/__inline__/_search.scss
Normal file
36
_sass/pivoine/__inline__/_search.scss
Normal file
@@ -0,0 +1,36 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_search.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
hm-search {
|
||||
display: flex;
|
||||
flex-grow: 1;
|
||||
padding: 1em;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
@media screen {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
184
_sass/pivoine/__inline__/_sidebar.scss
Normal file
184
_sass/pivoine/__inline__/_sidebar.scss
Normal file
@@ -0,0 +1,184 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_sidebar.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
hy-drawer {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
z-index: 4;
|
||||
@media screen {
|
||||
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-3) {
|
||||
|
||||
position: fixed;
|
||||
width: $sidebar-width;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
margin-left: 0;
|
||||
|
||||
&.cover {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
width: calc(50% - #{$half-content});
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: rgba(255, 255, 255, .75);
|
||||
text-align: center;
|
||||
min-height: 100vh;
|
||||
&.invert { color: rgba(32, 32, 32, .75) }
|
||||
|
||||
|
||||
a {
|
||||
|
||||
color: #fff;
|
||||
border-bottom-color: rgba(255, 255, 255, 0.2);
|
||||
text-decoration-color: rgba(255, 255, 255, 0.2);
|
||||
|
||||
|
||||
}
|
||||
|
||||
&.invert a {
|
||||
|
||||
color: #222;
|
||||
border-bottom-color: rgba(32, 32, 32, 0.2);
|
||||
text-decoration-color: rgba(32, 32, 32, 0.2);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.sidebar-bg {
|
||||
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: calc(50% - 50vw);
|
||||
width: 100vw;
|
||||
height: 100%;
|
||||
background: #202020 center / cover;
|
||||
|
||||
&::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
|
||||
&.sidebar-overlay::after {
|
||||
// background: -moz-linear-gradient(top, rgba(32,32,32,0) 0%, rgba(32,32,32,0.5) 50%, rgba(32,32,32,0) 100%);
|
||||
// background: -webkit-linear-gradient(top, rgba(32,32,32,0) 0%,rgba(32,32,32,0.5) 50%, rgba(32,32,32,0) 100%);
|
||||
background: linear-gradient(to bottom, rgba(32,32,32,0) 0%,rgba(32,32,32,0.5) 50%, rgba(32,32,32,0) 100%);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.sidebar-sticky {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
max-width: $sidebar-width;
|
||||
padding: 1.5rem;
|
||||
contain: content;
|
||||
}
|
||||
|
||||
.sidebar-about {
|
||||
.avatar {
|
||||
margin-bottom: 1.5rem
|
||||
}
|
||||
|
||||
> a.sidebar-title {
|
||||
text-decoration: none;
|
||||
> h2 {
|
||||
margin: 0;
|
||||
padding-bottom: .5rem;
|
||||
}
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
display: block;
|
||||
border-bottom: 2px solid;
|
||||
margin: 0 auto .5rem;
|
||||
width: 4rem;
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
transition: border-color 250ms;
|
||||
}
|
||||
|
||||
&:hover::after {
|
||||
border-color: rgba(255, 255, 255, 1);
|
||||
transition: border-color 50ms;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar.invert .sidebar-about > a.sidebar-title{
|
||||
&::after { border-color: rgba(32, 32, 32, 0.2) }
|
||||
&:hover::after { border-color: #222 }
|
||||
}
|
||||
|
||||
.sidebar-nav > ul {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.sidebar-nav-item {
|
||||
@extend .f4;
|
||||
display: inline-block;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
#_main.no-drawer {
|
||||
@media (min-width: $break-point-3) {
|
||||
#_menu { display: none }
|
||||
.nav-btn-bar > :nth-child(2) { border: none }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
61
_sass/pivoine/__inline__/_social.scss
Normal file
61
_sass/pivoine/__inline__/_social.scss
Normal file
@@ -0,0 +1,61 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_social.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
.sidebar-social {
|
||||
&::after {
|
||||
@extend .clearfix
|
||||
}
|
||||
|
||||
> ul {
|
||||
display: inline-block;
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
margin-bottom: 0;
|
||||
|
||||
> li {
|
||||
float: left;
|
||||
|
||||
> a {
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
font-size: 1.4rem;
|
||||
width: 3rem;
|
||||
height: 4rem;
|
||||
padding: .5rem 0;
|
||||
line-height: 4rem - 2 * .5rem;
|
||||
text-decoration: none;
|
||||
border-bottom-width: 2px;
|
||||
border-bottom-style: solid;
|
||||
}
|
||||
}
|
||||
|
||||
li + li {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
25
_sass/pivoine/__inline__/_sound.scss
Normal file
25
_sass/pivoine/__inline__/_sound.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_sound.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
55
_sass/pivoine/__inline__/_toc.scss
Normal file
55
_sass/pivoine/__inline__/_toc.scss
Normal file
@@ -0,0 +1,55 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_toc.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2020 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#markdown-toc {
|
||||
|
||||
@extend .note-sm;
|
||||
margin: 2rem -1rem 2rem calc(-1rem + 1px);
|
||||
padding-left: 2.5rem;
|
||||
padding-bottom: .5rem;
|
||||
|
||||
// transition: opacity 300ms ease, transform 300ms ease, border-color 1s ease;
|
||||
&:before { left: 1rem; }
|
||||
}
|
||||
|
||||
body:not(.no-toc) #markdown-toc {
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
|
||||
position: absolute;
|
||||
z-index: 4;
|
||||
width: 20.5rem;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
overflow: auto;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
body.no-break-layout:not(.no-toc) #markdown-toc {
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
width: calc(50% - #{$half-content});
|
||||
}
|
||||
}
|
||||
78
_sass/pivoine/__inline__/_utilities.scss
Normal file
78
_sass/pivoine/__inline__/_utilities.scss
Normal file
@@ -0,0 +1,78 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_utilities.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.fl { float: left; }
|
||||
.fr { float: right; }
|
||||
.mb4 { margin-bottom: 4rem }
|
||||
.mb6 { margin-bottom: 6rem }
|
||||
.mt0 { margin-top: 0 }
|
||||
.mt1 { margin-top: 1rem }
|
||||
.mt2 { margin-top: 2rem }
|
||||
.mt3 { margin-top: 3rem }
|
||||
.mt4 { margin-top: 4rem }
|
||||
.pb0 { padding-bottom: 0 }
|
||||
.ml1 { margin-left: 1rem }
|
||||
.mr1 { margin-right: 1rem }
|
||||
|
||||
.sixteen-nine { @include aspect-ratio(16, 9); }
|
||||
.sixteen-ten { @include aspect-ratio(16, 10); }
|
||||
.four-three { @include aspect-ratio(4, 3); }
|
||||
.one-one { @include aspect-ratio(1, 1); }
|
||||
|
||||
.sr-only {
|
||||
display: none;
|
||||
|
||||
}
|
||||
|
||||
.larger { font-size: larger; }
|
||||
.smaller { font-size: smaller; }
|
||||
|
||||
.clearfix {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.ellipsis {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.border {
|
||||
border: 1px solid var(--border-color);
|
||||
// transition: border-color 1s ease;
|
||||
}
|
||||
|
||||
.border-radius {
|
||||
@include border-radius();
|
||||
}
|
||||
|
||||
.fallback-img {
|
||||
@include fallback-image();
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
36
_sass/pivoine/__link__/_avatar.scss
Normal file
36
_sass/pivoine/__link__/_avatar.scss
Normal file
@@ -0,0 +1,36 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_avatar.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.avatar {
|
||||
|
||||
|
||||
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
48
_sass/pivoine/__link__/_base.scss
Normal file
48
_sass/pivoine/__link__/_base.scss
Normal file
@@ -0,0 +1,48 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_base.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2021 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
body {
|
||||
/* Prevent side-scrolling on mobile */
|
||||
display: block;
|
||||
position: relative;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
hy-push-state, hy-drawer {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media print {
|
||||
html {
|
||||
font-size: var(--root-font-size-print);
|
||||
}
|
||||
}
|
||||
|
||||
@page {
|
||||
margin: 16mm;
|
||||
}
|
||||
100
_sass/pivoine/__link__/_break-layout.scss
Normal file
100
_sass/pivoine/__link__/_break-layout.scss
Normal file
@@ -0,0 +1,100 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_break-layout.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
pre, table:not(.highlight), .katex-display, .break-layout, mjx-container[jax="CHTML"][display="true"] {
|
||||
$pad: $content-padding * 2;
|
||||
|
||||
@media screen {
|
||||
position: relative;
|
||||
width: calc(100% + #{$pad});
|
||||
border-top-right-radius: 0!important;
|
||||
border-bottom-right-radius: 0!important;
|
||||
}
|
||||
|
||||
@media screen and (min-width: $content-width) {
|
||||
$x: null;
|
||||
@if $gh-pages-compat {
|
||||
$x: ($content-width / 2) - $pad;
|
||||
} @else {
|
||||
$x: calc(($content-width / 2) - $pad);
|
||||
}
|
||||
width: calc(100% + 50vw - #{$x});
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-2) {
|
||||
$x: null;
|
||||
@if $gh-pages-compat {
|
||||
$x: ($content-width-2 / 2) - $pad;
|
||||
} @else {
|
||||
$x: calc(($content-width-2 / 2) - $pad);
|
||||
}
|
||||
width: calc(100% + 50vw - #{$x});
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-3) {
|
||||
$x: $sidebar-width + $content-margin-3;
|
||||
width: calc(100vw - #{$x});
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-5) {
|
||||
$x: $content-width-5 + $sidebar-width + $content-margin-5 - $pad;
|
||||
width: calc(100% + 100vw - #{$x});
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
$x: null;
|
||||
@if $gh-pages-compat {
|
||||
$x: (($content-width-5 / 2) - ($content-padding * 2) + 21rem);
|
||||
} @else {
|
||||
$x: calc(($content-width-5 / 2) - ($content-padding * 2) + 21rem);
|
||||
}
|
||||
width: calc(100% + 50vw - #{$x} + 2px);
|
||||
}
|
||||
}
|
||||
|
||||
body:not(.no-break-layout) {
|
||||
.katex-display > .katex, mjx-container[jax][display="true"] {
|
||||
text-align: left!important;
|
||||
}
|
||||
}
|
||||
|
||||
body.no-break-layout {
|
||||
width: calc(100% + #{$content-margin-5 + 2rem});
|
||||
}
|
||||
|
||||
body.no-toc:not(.no-break-layout) {
|
||||
pre, table:not(.highlight), .katex-display, .break-layout, mjx-container[jax="CHTML"][display="true"] {
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
$x: null;
|
||||
@if $gh-pages-compat {
|
||||
$x: (($content-width-5 / 2) - ($content-padding * 2));
|
||||
} @else {
|
||||
$x: calc(($content-width-5 / 2) - ($content-padding * 2));
|
||||
}
|
||||
width: calc(100% + 50vw - #{$x});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
39
_sass/pivoine/__link__/_content.scss
Normal file
39
_sass/pivoine/__link__/_content.scss
Normal file
@@ -0,0 +1,39 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_content.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.content {
|
||||
|
||||
|
||||
@media print {
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.large-only {
|
||||
display: none;
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
45
_sass/pivoine/__link__/_footer.scss
Normal file
45
_sass/pivoine/__link__/_footer.scss
Normal file
@@ -0,0 +1,45 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_footer.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
main > footer.content {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
color: var(--gray);
|
||||
text-align: center;
|
||||
min-height: 0;
|
||||
padding-top: 0;
|
||||
padding-bottom: 2rem;
|
||||
|
||||
> p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media print {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
72
_sass/pivoine/__link__/_images.scss
Normal file
72
_sass/pivoine/__link__/_images.scss
Normal file
@@ -0,0 +1,72 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_images.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.content .aspect-ratio {
|
||||
// overflow: hidden;
|
||||
img {
|
||||
// margin: 0;
|
||||
// width: 100%;
|
||||
// height: 100%;
|
||||
object-fit: cover;
|
||||
object-position: center;
|
||||
// background-color: var(--gray-bg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
figure, .figure {
|
||||
@extend .faded, .fine, .centered;
|
||||
margin-bottom: 2rem;
|
||||
|
||||
> *:first-child {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.highlighter-rouge + .figure {
|
||||
margin-top: -1.5rem;
|
||||
}
|
||||
|
||||
.figcaption {
|
||||
@extend .faded, .fine, .centered;
|
||||
margin-top: -0.5rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.gallery-wrapper {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
|
||||
grid-gap: 1rem;
|
||||
}
|
||||
|
||||
.gallery-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
|
||||
@media screen and (min-width: $break-point-1) {
|
||||
border-radius: 3%;
|
||||
}
|
||||
}
|
||||
|
||||
32
_sass/pivoine/__link__/_katex.scss
Normal file
32
_sass/pivoine/__link__/_katex.scss
Normal file
@@ -0,0 +1,32 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_katex.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
article {
|
||||
.katex-display, mjx-container[jax][display="true"] {
|
||||
@extend .pre-base;
|
||||
padding: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
64
_sass/pivoine/__link__/_links.scss
Normal file
64
_sass/pivoine/__link__/_links.scss
Normal file
@@ -0,0 +1,64 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_links.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
hy-push-state a {
|
||||
// color: var(--body-color);
|
||||
|
||||
|
||||
|
||||
& {
|
||||
transition: color 250ms, text-decoration-color 250ms, border-color 250ms;
|
||||
}
|
||||
&:hover {
|
||||
transition: color 50ms, text-decoration-color 50ms, border-color 50ms;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
.content a:not(.btn):not(.no-hover) {
|
||||
|
||||
|
||||
&:hover {
|
||||
@supports ((text-decoration-thickness: initial) and (text-underline-offset: initial)) {
|
||||
text-decoration-color: var(--accent-color);
|
||||
}
|
||||
& { border-color: var(--accent-color); }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
a.btn {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
@media print {
|
||||
a:not(.no-print-link)::after {
|
||||
content: " (" attr(href) ") ";
|
||||
color: var(--gray);
|
||||
font-size: 62%;
|
||||
}
|
||||
}
|
||||
46
_sass/pivoine/__link__/_mark-external.scss
Normal file
46
_sass/pivoine/__link__/_mark-external.scss
Normal file
@@ -0,0 +1,46 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_mark-external.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
@media screen {
|
||||
a.external,
|
||||
a[href*="://"]:not(.no-mark-external):not(.no-mark),
|
||||
a.no-push-state:not(.no-mark-external):not(.no-mark) {
|
||||
&::after {
|
||||
content: "\2009\ea7e";
|
||||
font-family: 'icomoon'!important;
|
||||
speak: none;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
font-size: smaller;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
color: var(--menu-text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
97
_sass/pivoine/__link__/_menu.scss
Normal file
97
_sass/pivoine/__link__/_menu.scss
Normal file
@@ -0,0 +1,97 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_menu.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
$navbar-height: 5rem;
|
||||
|
||||
|
||||
|
||||
.navbar {
|
||||
// @extend .color-transition;
|
||||
> .content {
|
||||
|
||||
|
||||
|
||||
$shadow-padding: 3rem;
|
||||
&::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
display: block;
|
||||
width: calc(100% - #{$shadow-padding * 2});
|
||||
height: $navbar-height;
|
||||
left: $shadow-padding;
|
||||
margin: auto;
|
||||
box-shadow: 0 0 2rem rgba(0,0,0,0.25);
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
&.fixed-top {
|
||||
> .content {
|
||||
&::before {
|
||||
bottom: 1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.fixed-bottom {
|
||||
> .content {
|
||||
&::before {
|
||||
top: 1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
a.nav-btn, button.nav-btn {
|
||||
cursor: pointer;
|
||||
&:hover, &:focus {
|
||||
background-image: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.05));
|
||||
}
|
||||
}
|
||||
|
||||
.nav-span {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.animation-main {
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
#_navbar {
|
||||
z-index: 3;
|
||||
background-color: var(--body-bg);
|
||||
}
|
||||
|
||||
.navbar {
|
||||
.loading { display: none; }
|
||||
@media print { display: none; }
|
||||
}
|
||||
|
||||
82
_sass/pivoine/__link__/_search.scss
Normal file
82
_sass/pivoine/__link__/_search.scss
Normal file
@@ -0,0 +1,82 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_search.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
hm-search {
|
||||
// display: flex;
|
||||
// flex-grow: 1;
|
||||
// padding: 1em;
|
||||
// position: relative;
|
||||
// overflow: hidden;
|
||||
@media screen {
|
||||
|
||||
--hm-search-input-color: var(--menu-text);
|
||||
--hm-search-input-color-bg: none;
|
||||
--hm-search-input-color-border: none;
|
||||
--hm-search-input-color-caret: var(--accent-color);
|
||||
--hm-search-font-size: larger;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.search-results {
|
||||
> article {
|
||||
animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
|
||||
|
||||
&:hover img {
|
||||
filter: grayscale(0);
|
||||
}
|
||||
|
||||
|
||||
img {
|
||||
filter: grayscale(1.0);
|
||||
transition: filter 250ms ease-in-out;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* ----------------------------------------------
|
||||
* Generated by Animista on 2025-4-30 22:39:13
|
||||
* Licensed under FreeBSD License.
|
||||
* See http://animista.net/license for more info.
|
||||
* w: http://animista.net, t: @cssanimista
|
||||
* ---------------------------------------------- */
|
||||
|
||||
/**
|
||||
* ----------------------------------------
|
||||
* animation scale-in-center
|
||||
* ----------------------------------------
|
||||
*/
|
||||
@keyframes scale-in-center {
|
||||
0% {
|
||||
transform: scale(0);
|
||||
opacity: 1;
|
||||
}
|
||||
100% {
|
||||
transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
127
_sass/pivoine/__link__/_sidebar.scss
Normal file
127
_sass/pivoine/__link__/_sidebar.scss
Normal file
@@ -0,0 +1,127 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_sidebar.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
hy-drawer {
|
||||
// width: 100%;
|
||||
// position: relative;
|
||||
// overflow: hidden;
|
||||
// display: block;
|
||||
// z-index: 4;
|
||||
@media screen {
|
||||
|
||||
--hy-drawer-width: 100%;
|
||||
--hy-drawer-peek-width: .5rem;
|
||||
--hy-drawer-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25);
|
||||
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-3) {
|
||||
|
||||
|
||||
|
||||
& { --hy-drawer-peek-width: #{$sidebar-width}; }
|
||||
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
width: calc(50% - #{$half-content});
|
||||
|
||||
|
||||
--hy-drawer-peek-width: calc(50% - #{$half-content});
|
||||
|
||||
}
|
||||
|
||||
|
||||
@media screen {
|
||||
&.loaded {
|
||||
position: static;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
|
||||
|
||||
a {
|
||||
|
||||
|
||||
&:hover {
|
||||
border-bottom-color: #fff;
|
||||
text-decoration-color: #fff;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&.invert a {
|
||||
|
||||
|
||||
&:hover {
|
||||
border-bottom-color: #222;
|
||||
text-decoration-color: #222;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
hy-drawer.loaded .sidebar {
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
|
||||
.sidebar-bg {
|
||||
|
||||
|
||||
&.sidebar-overlay::after {
|
||||
background: -moz-linear-gradient(top, rgba(32,32,32,0) 0%, rgba(32,32,32,0.5) 50%, rgba(32,32,32,0) 100%);
|
||||
background: -webkit-linear-gradient(top, rgba(32,32,32,0) 0%,rgba(32,32,32,0.5) 50%, rgba(32,32,32,0) 100%);
|
||||
// background: linear-gradient(to bottom, rgba(32,32,32,0) 0%,rgba(32,32,32,0.5) 50%, rgba(32,32,32,0) 100%);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@media print {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
#_swipe {
|
||||
position: absolute;
|
||||
z-index: 4;
|
||||
opacity: 0.33;
|
||||
top: 5vw;
|
||||
right: 5vw;
|
||||
transform: scale(0.67);
|
||||
|
||||
@media screen and (min-width: $break-point-1) {
|
||||
top: calc(50% - 48px);
|
||||
right: 10vw;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
33
_sass/pivoine/__link__/_social.scss
Normal file
33
_sass/pivoine/__link__/_social.scss
Normal file
@@ -0,0 +1,33 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_social.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
|
||||
|
||||
.sidebar-social {
|
||||
@media print {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
54
_sass/pivoine/__link__/_sound.scss
Normal file
54
_sass/pivoine/__link__/_sound.scss
Normal file
@@ -0,0 +1,54 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_sound.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
.sound-player {
|
||||
|
||||
> a {
|
||||
text-transform: uppercase;
|
||||
display: inline-block;
|
||||
margin-bottom: 1rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
> canvas {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
height: 40px;
|
||||
|
||||
&.hidden {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sound-wrapper {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
> a {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
|
||||
55
_sass/pivoine/__link__/_toc.scss
Normal file
55
_sass/pivoine/__link__/_toc.scss
Normal file
@@ -0,0 +1,55 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_toc.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2020 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#markdown-toc {
|
||||
|
||||
transition: opacity 300ms ease, transform 300ms ease, border-color 1s ease;
|
||||
&:before { left: 1rem; }
|
||||
}
|
||||
|
||||
body:not(.no-toc) #markdown-toc {
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
|
||||
|
||||
overscroll-behavior: contain;
|
||||
|
||||
&.toc-hide {
|
||||
opacity: 0;
|
||||
transform: translateX(-2rem);
|
||||
}
|
||||
|
||||
&.toc-show {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
&.affix {
|
||||
position: fixed;
|
||||
top: 1rem;
|
||||
max-height: calc(100vh - 1rem);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
87
_sass/pivoine/__link__/_utilities.scss
Normal file
87
_sass/pivoine/__link__/_utilities.scss
Normal file
@@ -0,0 +1,87 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pivoine/_utilities.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.fl { float: left; }
|
||||
.fr { float: right; }
|
||||
.mb4 { margin-bottom: 4rem }
|
||||
.mb6 { margin-bottom: 6rem }
|
||||
.mt0 { margin-top: 0 }
|
||||
.mt1 { margin-top: 1rem }
|
||||
.mt2 { margin-top: 2rem }
|
||||
.mt3 { margin-top: 3rem }
|
||||
.mt4 { margin-top: 4rem }
|
||||
.pb0 { padding-bottom: 0 }
|
||||
.ml1 { margin-left: 1rem }
|
||||
.mr1 { margin-right: 1rem }
|
||||
|
||||
.sixteen-nine { @include aspect-ratio(16, 9); }
|
||||
.sixteen-ten { @include aspect-ratio(16, 10); }
|
||||
.four-three { @include aspect-ratio(4, 3); }
|
||||
.one-one { @include aspect-ratio(1, 1); }
|
||||
|
||||
.sr-only {
|
||||
// display: none;
|
||||
display: unset;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0,0,0,0);
|
||||
border: 0;
|
||||
|
||||
}
|
||||
|
||||
.larger { font-size: larger; }
|
||||
.smaller { font-size: smaller; }
|
||||
|
||||
.clearfix {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.ellipsis {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.border {
|
||||
// border: 1px solid var(--border-color);
|
||||
transition: border-color 1s ease;
|
||||
}
|
||||
|
||||
.border-radius {
|
||||
@include border-radius();
|
||||
}
|
||||
|
||||
.fallback-img {
|
||||
@include fallback-image();
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
45
_sass/pivoine/_avatar.pre.scss
Normal file
45
_sass/pivoine/_avatar.pre.scss
Normal file
@@ -0,0 +1,45 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.avatar {
|
||||
// <<< inline
|
||||
width: 7rem;
|
||||
height: 7rem;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
// >>>
|
||||
|
||||
// <<< link
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
// >>>
|
||||
|
||||
// <<< inline
|
||||
img { width: 100%; }
|
||||
// >>>
|
||||
}
|
||||
|
||||
// <<< inline
|
||||
.content .avatar {
|
||||
@extend .color-transition;
|
||||
float: right;
|
||||
box-sizing: content-box;
|
||||
border: 1rem solid var(--body-bg);
|
||||
transition: border-color 1s ease;
|
||||
margin-top: -1.5rem;
|
||||
margin-right: -1rem;
|
||||
border-radius: 100%;
|
||||
}
|
||||
// >>>
|
||||
92
_sass/pivoine/_base.pre.scss
Normal file
92
_sass/pivoine/_base.pre.scss
Normal file
@@ -0,0 +1,92 @@
|
||||
// Copyright (c) 2021 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// <<< LINK
|
||||
body {
|
||||
/* Prevent side-scrolling on mobile */
|
||||
display: block;
|
||||
position: relative;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
hy-push-state, hy-drawer {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
}
|
||||
// >>>
|
||||
// <<< INLINE
|
||||
body::before {
|
||||
@media screen {
|
||||
content: '';
|
||||
width: .5rem;
|
||||
background: var(--gray-bg);
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
@media (min-width: $break-point-3) {
|
||||
width: $sidebar-width;
|
||||
}
|
||||
|
||||
@media (min-width: $break-point-dynamic) {
|
||||
width: calc(50% - #{$half-content});
|
||||
}
|
||||
}
|
||||
|
||||
html {
|
||||
@media screen and (min-width: $break-point-1) {
|
||||
font-size: var(--root-font-size-medium);
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-font-large) {
|
||||
font-size: var(--root-font-size-large);
|
||||
}
|
||||
}
|
||||
|
||||
#breadcrumbs {
|
||||
> ul {
|
||||
@extend .ellipsis;
|
||||
height: 1rem;
|
||||
margin: -1.5rem 0 .5rem;
|
||||
padding: 0;
|
||||
font-size: .667rem;
|
||||
color: var(--menu-text);
|
||||
text-transform: uppercase;
|
||||
width: 100%;
|
||||
list-style: none;
|
||||
> li {
|
||||
display: inline;
|
||||
a {
|
||||
color: var(--gray);
|
||||
text-decoration: none;
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
// <<< LINK
|
||||
@media print {
|
||||
html {
|
||||
font-size: var(--root-font-size-print);
|
||||
}
|
||||
}
|
||||
|
||||
@page {
|
||||
margin: 16mm;
|
||||
}
|
||||
// >>>
|
||||
91
_sass/pivoine/_break-layout.pre.scss
Normal file
91
_sass/pivoine/_break-layout.pre.scss
Normal file
@@ -0,0 +1,91 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// <<< LINK
|
||||
pre, table:not(.highlight), .katex-display, .break-layout, mjx-container[jax="CHTML"][display="true"] {
|
||||
$pad: $content-padding * 2;
|
||||
|
||||
@media screen {
|
||||
position: relative;
|
||||
width: calc(100% + #{$pad});
|
||||
border-top-right-radius: 0!important;
|
||||
border-bottom-right-radius: 0!important;
|
||||
}
|
||||
|
||||
@media screen and (min-width: $content-width) {
|
||||
$x: null;
|
||||
@if $gh-pages-compat {
|
||||
$x: ($content-width / 2) - $pad;
|
||||
} @else {
|
||||
$x: calc(($content-width / 2) - $pad);
|
||||
}
|
||||
width: calc(100% + 50vw - #{$x});
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-2) {
|
||||
$x: null;
|
||||
@if $gh-pages-compat {
|
||||
$x: ($content-width-2 / 2) - $pad;
|
||||
} @else {
|
||||
$x: calc(($content-width-2 / 2) - $pad);
|
||||
}
|
||||
width: calc(100% + 50vw - #{$x});
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-3) {
|
||||
$x: $sidebar-width + $content-margin-3;
|
||||
width: calc(100vw - #{$x});
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-5) {
|
||||
$x: $content-width-5 + $sidebar-width + $content-margin-5 - $pad;
|
||||
width: calc(100% + 100vw - #{$x});
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
$x: null;
|
||||
@if $gh-pages-compat {
|
||||
$x: (($content-width-5 / 2) - ($content-padding * 2) + 21rem);
|
||||
} @else {
|
||||
$x: calc(($content-width-5 / 2) - ($content-padding * 2) + 21rem);
|
||||
}
|
||||
width: calc(100% + 50vw - #{$x} + 2px);
|
||||
}
|
||||
}
|
||||
|
||||
body:not(.no-break-layout) {
|
||||
.katex-display > .katex, mjx-container[jax][display="true"] {
|
||||
text-align: left!important;
|
||||
}
|
||||
}
|
||||
|
||||
body.no-break-layout {
|
||||
width: calc(100% + #{$content-margin-5 + 2rem});
|
||||
}
|
||||
|
||||
body.no-toc:not(.no-break-layout) {
|
||||
pre, table:not(.highlight), .katex-display, .break-layout, mjx-container[jax="CHTML"][display="true"] {
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
$x: null;
|
||||
@if $gh-pages-compat {
|
||||
$x: (($content-width-5 / 2) - ($content-padding * 2));
|
||||
} @else {
|
||||
$x: calc(($content-width-5 / 2) - ($content-padding * 2));
|
||||
}
|
||||
width: calc(100% + 50vw - #{$x});
|
||||
}
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
64
_sass/pivoine/_content.pre.scss
Normal file
64
_sass/pivoine/_content.pre.scss
Normal file
@@ -0,0 +1,64 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.content {
|
||||
// <<< inline
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
padding: 8rem $content-padding 12rem;
|
||||
|
||||
@media screen {
|
||||
padding-left: $content-padding + .5rem;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-1) {
|
||||
max-width: $content-width;
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-2) {
|
||||
max-width: $content-width-2;
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-3) {
|
||||
padding-left: $content-padding;
|
||||
margin-left: $sidebar-width + $content-margin-3;
|
||||
margin-right: $content-margin-3;
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-5) {
|
||||
padding-top: 9rem;
|
||||
margin-left: $sidebar-width + $content-margin-5;
|
||||
margin-right: $content-margin-5;
|
||||
max-width: $content-width-5;
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
margin: auto;
|
||||
}
|
||||
// >>>
|
||||
// <<< link
|
||||
@media print {
|
||||
padding: 1rem;
|
||||
}
|
||||
// >>>
|
||||
}
|
||||
|
||||
.large-only {
|
||||
display: none;
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
36
_sass/pivoine/_footer.pre.scss
Normal file
36
_sass/pivoine/_footer.pre.scss
Normal file
@@ -0,0 +1,36 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// <<<<< LINK
|
||||
main > footer.content {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
color: var(--gray);
|
||||
text-align: center;
|
||||
min-height: 0;
|
||||
padding-top: 0;
|
||||
padding-bottom: 2rem;
|
||||
|
||||
> p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media print {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
// >>>>>
|
||||
63
_sass/pivoine/_images.pre.scss
Normal file
63
_sass/pivoine/_images.pre.scss
Normal file
@@ -0,0 +1,63 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.content .aspect-ratio {
|
||||
overflow: hidden; // inline
|
||||
img {
|
||||
margin: 0; // inline
|
||||
width: 100%; // inline
|
||||
height: 100%; // inline
|
||||
object-fit: cover; // link
|
||||
object-position: center; // link
|
||||
background-color: var(--gray-bg); // inline
|
||||
}
|
||||
}
|
||||
|
||||
// <<< link
|
||||
figure, .figure {
|
||||
@extend .faded, .fine, .centered;
|
||||
margin-bottom: 2rem;
|
||||
|
||||
> *:first-child {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.highlighter-rouge + .figure {
|
||||
margin-top: -1.5rem;
|
||||
}
|
||||
|
||||
.figcaption {
|
||||
@extend .faded, .fine, .centered;
|
||||
margin-top: -0.5rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.gallery-wrapper {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
|
||||
grid-gap: 1rem;
|
||||
}
|
||||
|
||||
.gallery-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
|
||||
@media screen and (min-width: $break-point-1) {
|
||||
border-radius: 3%;
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
23
_sass/pivoine/_katex.pre.scss
Normal file
23
_sass/pivoine/_katex.pre.scss
Normal file
@@ -0,0 +1,23 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// <<< LINK
|
||||
article {
|
||||
.katex-display, mjx-container[jax][display="true"] {
|
||||
@extend .pre-base;
|
||||
padding: 2rem;
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
79
_sass/pivoine/_links.pre.scss
Normal file
79
_sass/pivoine/_links.pre.scss
Normal file
@@ -0,0 +1,79 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
hy-push-state a {
|
||||
color: var(--body-color); // inline
|
||||
|
||||
// <<< inline
|
||||
@supports not ((text-decoration-thickness: initial) and (text-underline-offset: initial)) {
|
||||
text-decoration: none;
|
||||
border-bottom: 2px solid;
|
||||
}
|
||||
|
||||
@supports ((text-decoration-thickness: initial) and (text-underline-offset: initial)) {
|
||||
text-decoration-style: solid;
|
||||
text-underline-offset: .35rem;
|
||||
text-decoration-thickness: 2px;
|
||||
}
|
||||
// >>>
|
||||
|
||||
// <<< link
|
||||
& {
|
||||
transition: color 250ms, text-decoration-color 250ms, border-color 250ms;
|
||||
}
|
||||
&:hover {
|
||||
transition: color 50ms, text-decoration-color 50ms, border-color 50ms;
|
||||
}
|
||||
// >>>
|
||||
|
||||
// <<< inline
|
||||
&.no-hover {
|
||||
border-bottom: none;
|
||||
text-decoration-thickness: unset;
|
||||
text-underline-offset: unset;
|
||||
}
|
||||
// >>>
|
||||
}
|
||||
|
||||
.content a:not(.btn):not(.no-hover) {
|
||||
// <<< inline
|
||||
@supports ((text-decoration-thickness: initial) and (text-underline-offset: initial)) {
|
||||
text-decoration-color: var(--accent-color-faded);
|
||||
}
|
||||
& { border-color: var(--accent-color-faded); }
|
||||
// >>>
|
||||
// <<< link
|
||||
&:hover {
|
||||
@supports ((text-decoration-thickness: initial) and (text-underline-offset: initial)) {
|
||||
text-decoration-color: var(--accent-color);
|
||||
}
|
||||
& { border-color: var(--accent-color); }
|
||||
}
|
||||
// >>>
|
||||
}
|
||||
|
||||
// <<< link
|
||||
a.btn {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
@media print {
|
||||
a:not(.no-print-link)::after {
|
||||
content: " (" attr(href) ") ";
|
||||
color: var(--gray);
|
||||
font-size: 62%;
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
37
_sass/pivoine/_mark-external.pre.scss
Normal file
37
_sass/pivoine/_mark-external.pre.scss
Normal file
@@ -0,0 +1,37 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// <<< link
|
||||
@media screen {
|
||||
a.external,
|
||||
a[href*="://"]:not(.no-mark-external):not(.no-mark),
|
||||
a.no-push-state:not(.no-mark-external):not(.no-mark) {
|
||||
&::after {
|
||||
content: "\2009\ea7e";
|
||||
font-family: 'icomoon'!important;
|
||||
speak: none;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
font-size: smaller;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
color: var(--menu-text);
|
||||
}
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
143
_sass/pivoine/_menu.pre.scss
Normal file
143
_sass/pivoine/_menu.pre.scss
Normal file
@@ -0,0 +1,143 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
$navbar-height: 5rem;
|
||||
|
||||
// <<< inline
|
||||
.fixed-common {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.fixed-top {
|
||||
@extend .fixed-common;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.fixed-bottom {
|
||||
@extend .fixed-common;
|
||||
bottom: 0;
|
||||
}
|
||||
// >>>
|
||||
|
||||
.navbar {
|
||||
@extend .color-transition; // inline
|
||||
|
||||
> .content {
|
||||
// <<< inline
|
||||
position: relative;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
min-height: 0;
|
||||
max-height: $navbar-height;
|
||||
// >>>
|
||||
|
||||
// <<< link
|
||||
$shadow-padding: 3rem;
|
||||
&::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
display: block;
|
||||
width: calc(100% - #{$shadow-padding * 2});
|
||||
height: $navbar-height;
|
||||
left: $shadow-padding;
|
||||
margin: auto;
|
||||
box-shadow: 0 0 2rem rgba(0,0,0,0.25);
|
||||
z-index: -1;
|
||||
}
|
||||
// >>>
|
||||
}
|
||||
|
||||
// <<< link
|
||||
&.fixed-top {
|
||||
> .content {
|
||||
&::before {
|
||||
bottom: 1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.fixed-bottom {
|
||||
> .content {
|
||||
&::before {
|
||||
top: 1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
}
|
||||
|
||||
// <<< inline
|
||||
.nav-btn-bar {
|
||||
@extend .color-transition;
|
||||
margin: 0 -1rem;
|
||||
background-color: white; // IE11
|
||||
background-color: var(--body-bg);
|
||||
height: $navbar-height;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
|
||||
> :first-child, > :last-child {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
@extend .color-transition;
|
||||
background: none;
|
||||
border: none;
|
||||
text-decoration: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 3.25rem;
|
||||
height: $navbar-height;
|
||||
color: var(--menu-text);
|
||||
border-right: 1px solid var(--border-color);
|
||||
border-left: 1px solid var(--border-color);
|
||||
margin-left: -1px;
|
||||
}
|
||||
// >>>
|
||||
|
||||
// <<< link
|
||||
a.nav-btn, button.nav-btn {
|
||||
cursor: pointer;
|
||||
&:hover, &:focus {
|
||||
background-image: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.05));
|
||||
}
|
||||
}
|
||||
|
||||
.nav-span {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.animation-main {
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
#_navbar {
|
||||
z-index: 3;
|
||||
background-color: var(--body-bg);
|
||||
}
|
||||
|
||||
.navbar {
|
||||
.loading { display: none; }
|
||||
@media print { display: none; }
|
||||
}
|
||||
// >>>
|
||||
74
_sass/pivoine/_search.pre.scss
Normal file
74
_sass/pivoine/_search.pre.scss
Normal file
@@ -0,0 +1,74 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
hm-search {
|
||||
display: flex; // inline
|
||||
flex-grow: 1; // inline
|
||||
padding: 1em; // inline
|
||||
position: relative; // inline
|
||||
overflow: hidden; // inline
|
||||
|
||||
@media screen {
|
||||
// <<< link
|
||||
--hm-search-input-color: var(--menu-text);
|
||||
--hm-search-input-color-bg: none;
|
||||
--hm-search-input-color-border: none;
|
||||
--hm-search-input-color-caret: var(--accent-color);
|
||||
--hm-search-font-size: larger;
|
||||
// >>>
|
||||
}
|
||||
}
|
||||
|
||||
// <<< link
|
||||
.search-results {
|
||||
> article {
|
||||
animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
|
||||
|
||||
&:hover img {
|
||||
filter: grayscale(0);
|
||||
}
|
||||
|
||||
|
||||
img {
|
||||
filter: grayscale(1.0);
|
||||
transition: filter 250ms ease-in-out;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* ----------------------------------------------
|
||||
* Generated by Animista on 2025-4-30 22:39:13
|
||||
* Licensed under FreeBSD License.
|
||||
* See http://animista.net/license for more info.
|
||||
* w: http://animista.net, t: @cssanimista
|
||||
* ---------------------------------------------- */
|
||||
|
||||
/**
|
||||
* ----------------------------------------
|
||||
* animation scale-in-center
|
||||
* ----------------------------------------
|
||||
*/
|
||||
@keyframes scale-in-center {
|
||||
0% {
|
||||
transform: scale(0);
|
||||
opacity: 1;
|
||||
}
|
||||
100% {
|
||||
transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
225
_sass/pivoine/_sidebar.pre.scss
Normal file
225
_sass/pivoine/_sidebar.pre.scss
Normal file
@@ -0,0 +1,225 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
hy-drawer {
|
||||
width: 100%; // inline
|
||||
position: relative; // inline
|
||||
overflow: hidden; // inline
|
||||
display: block; // inline
|
||||
z-index: 4; // inline
|
||||
|
||||
@media screen {
|
||||
// <<< link
|
||||
--hy-drawer-width: 100%;
|
||||
--hy-drawer-peek-width: .5rem;
|
||||
--hy-drawer-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25);
|
||||
// >>>
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-3) {
|
||||
// <<< inline
|
||||
position: fixed;
|
||||
width: $sidebar-width;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
margin-left: 0;
|
||||
|
||||
&.cover {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
// >>>
|
||||
|
||||
// <<< link
|
||||
& { --hy-drawer-peek-width: #{$sidebar-width}; }
|
||||
// >>>
|
||||
}
|
||||
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
width: calc(50% - #{$half-content});
|
||||
|
||||
// <<< link
|
||||
--hy-drawer-peek-width: calc(50% - #{$half-content});
|
||||
// >>>
|
||||
}
|
||||
|
||||
// <<< link
|
||||
@media screen {
|
||||
&.loaded {
|
||||
position: static;
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
// <<< inline
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: rgba(255, 255, 255, .75);
|
||||
text-align: center;
|
||||
min-height: 100vh;
|
||||
&.invert { color: rgba(32, 32, 32, .75) }
|
||||
// >>>
|
||||
|
||||
a {
|
||||
// <<< inline
|
||||
color: #fff;
|
||||
border-bottom-color: rgba(255, 255, 255, 0.2);
|
||||
text-decoration-color: rgba(255, 255, 255, 0.2);
|
||||
// >>>
|
||||
// <<< link
|
||||
&:hover {
|
||||
border-bottom-color: #fff;
|
||||
text-decoration-color: #fff;
|
||||
}
|
||||
// >>>
|
||||
}
|
||||
|
||||
&.invert a {
|
||||
// <<< inline
|
||||
color: #222;
|
||||
border-bottom-color: rgba(32, 32, 32, 0.2);
|
||||
text-decoration-color: rgba(32, 32, 32, 0.2);
|
||||
// >>>
|
||||
// <<< link
|
||||
&:hover {
|
||||
border-bottom-color: #222;
|
||||
text-decoration-color: #222;
|
||||
}
|
||||
// >>>
|
||||
}
|
||||
}
|
||||
|
||||
// <<< link
|
||||
hy-drawer.loaded .sidebar {
|
||||
min-height: 100%;
|
||||
}
|
||||
// >>>
|
||||
|
||||
.sidebar-bg {
|
||||
// <<< inline
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: calc(50% - 50vw);
|
||||
width: 100vw;
|
||||
height: 100%;
|
||||
background: #202020 center / cover;
|
||||
|
||||
&::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
// >>>
|
||||
|
||||
&.sidebar-overlay::after {
|
||||
background: -moz-linear-gradient(top, rgba(32,32,32,0) 0%, rgba(32,32,32,0.5) 50%, rgba(32,32,32,0) 100%); // link
|
||||
background: -webkit-linear-gradient(top, rgba(32,32,32,0) 0%,rgba(32,32,32,0.5) 50%, rgba(32,32,32,0) 100%); // link
|
||||
background: linear-gradient(to bottom, rgba(32,32,32,0) 0%,rgba(32,32,32,0.5) 50%, rgba(32,32,32,0) 100%); // inline
|
||||
}
|
||||
}
|
||||
|
||||
// <<<<< INLINE
|
||||
.sidebar-sticky {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
max-width: $sidebar-width;
|
||||
padding: 1.5rem;
|
||||
contain: content;
|
||||
}
|
||||
|
||||
.sidebar-about {
|
||||
.avatar {
|
||||
margin-bottom: 1.5rem
|
||||
}
|
||||
|
||||
> a.sidebar-title {
|
||||
text-decoration: none;
|
||||
> h2 {
|
||||
margin: 0;
|
||||
padding-bottom: .5rem;
|
||||
}
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
display: block;
|
||||
border-bottom: 2px solid;
|
||||
margin: 0 auto .5rem;
|
||||
width: 4rem;
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
transition: border-color 250ms;
|
||||
}
|
||||
|
||||
&:hover::after {
|
||||
border-color: rgba(255, 255, 255, 1);
|
||||
transition: border-color 50ms;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar.invert .sidebar-about > a.sidebar-title{
|
||||
&::after { border-color: rgba(32, 32, 32, 0.2) }
|
||||
&:hover::after { border-color: #222 }
|
||||
}
|
||||
|
||||
.sidebar-nav > ul {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.sidebar-nav-item {
|
||||
@extend .f4;
|
||||
display: inline-block;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
#_main.no-drawer {
|
||||
@media (min-width: $break-point-3) {
|
||||
#_menu { display: none }
|
||||
.nav-btn-bar > :nth-child(2) { border: none }
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
|
||||
// <<< LINK
|
||||
@media print {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
#_swipe {
|
||||
position: absolute;
|
||||
z-index: 4;
|
||||
opacity: 0.33;
|
||||
top: 5vw;
|
||||
right: 5vw;
|
||||
transform: scale(0.67);
|
||||
|
||||
@media screen and (min-width: $break-point-1) {
|
||||
top: calc(50% - 48px);
|
||||
right: 10vw;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
58
_sass/pivoine/_social.pre.scss
Normal file
58
_sass/pivoine/_social.pre.scss
Normal file
@@ -0,0 +1,58 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// <<<<< INLINE
|
||||
.sidebar-social {
|
||||
&::after {
|
||||
@extend .clearfix
|
||||
}
|
||||
|
||||
> ul {
|
||||
display: inline-block;
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
margin-bottom: 0;
|
||||
|
||||
> li {
|
||||
float: left;
|
||||
|
||||
> a {
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
font-size: 1.4rem;
|
||||
width: 3rem;
|
||||
height: 4rem;
|
||||
padding: .5rem 0;
|
||||
line-height: 4rem - 2 * .5rem;
|
||||
text-decoration: none;
|
||||
border-bottom-width: 2px;
|
||||
border-bottom-style: solid;
|
||||
}
|
||||
}
|
||||
|
||||
li + li {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
// >>>>>
|
||||
|
||||
// <<< link
|
||||
.sidebar-social {
|
||||
@media print {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
45
_sass/pivoine/_sound.pre.scss
Normal file
45
_sass/pivoine/_sound.pre.scss
Normal file
@@ -0,0 +1,45 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// <<<<< LINK
|
||||
.sound-player {
|
||||
|
||||
> a {
|
||||
text-transform: uppercase;
|
||||
display: inline-block;
|
||||
margin-bottom: 1rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
> canvas {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
height: 40px;
|
||||
|
||||
&.hidden {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sound-wrapper {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
> a {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
// >>>>>
|
||||
65
_sass/pivoine/_toc.pre.scss
Normal file
65
_sass/pivoine/_toc.pre.scss
Normal file
@@ -0,0 +1,65 @@
|
||||
// Copyright (c) 2020 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#markdown-toc {
|
||||
// <<< inline
|
||||
@extend .note-sm;
|
||||
margin: 2rem -1rem 2rem calc(-1rem + 1px);
|
||||
padding-left: 2.5rem;
|
||||
padding-bottom: .5rem;
|
||||
// >>>
|
||||
transition: opacity 300ms ease, transform 300ms ease, border-color 1s ease; // link
|
||||
&:before { left: 1rem; }
|
||||
}
|
||||
|
||||
body:not(.no-toc) #markdown-toc {
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
// <<< inline
|
||||
position: absolute;
|
||||
z-index: 4;
|
||||
width: 20.5rem;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
overflow: auto;
|
||||
// >>>
|
||||
// <<< link
|
||||
overscroll-behavior: contain;
|
||||
|
||||
&.toc-hide {
|
||||
opacity: 0;
|
||||
transform: translateX(-2rem);
|
||||
}
|
||||
|
||||
&.toc-show {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
&.affix {
|
||||
position: fixed;
|
||||
top: 1rem;
|
||||
max-height: calc(100vh - 1rem);
|
||||
}
|
||||
// >>>
|
||||
}
|
||||
}
|
||||
|
||||
// <<< inline
|
||||
body.no-break-layout:not(.no-toc) #markdown-toc {
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
width: calc(50% - #{$half-content});
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
79
_sass/pivoine/_utilities.pre.scss
Normal file
79
_sass/pivoine/_utilities.pre.scss
Normal file
@@ -0,0 +1,79 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.fl { float: left; }
|
||||
.fr { float: right; }
|
||||
.mb4 { margin-bottom: 4rem }
|
||||
.mb6 { margin-bottom: 6rem }
|
||||
.mt0 { margin-top: 0 }
|
||||
.mt1 { margin-top: 1rem }
|
||||
.mt2 { margin-top: 2rem }
|
||||
.mt3 { margin-top: 3rem }
|
||||
.mt4 { margin-top: 4rem }
|
||||
.pb0 { padding-bottom: 0 }
|
||||
.ml1 { margin-left: 1rem }
|
||||
.mr1 { margin-right: 1rem }
|
||||
|
||||
.sixteen-nine { @include aspect-ratio(16, 9); }
|
||||
.sixteen-ten { @include aspect-ratio(16, 10); }
|
||||
.four-three { @include aspect-ratio(4, 3); }
|
||||
.one-one { @include aspect-ratio(1, 1); }
|
||||
|
||||
.sr-only {
|
||||
display: none; // inline
|
||||
// <<< link
|
||||
display: unset;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0,0,0,0);
|
||||
border: 0;
|
||||
// >>>
|
||||
}
|
||||
|
||||
.larger { font-size: larger; }
|
||||
.smaller { font-size: smaller; }
|
||||
|
||||
.clearfix {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.ellipsis {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.border {
|
||||
border: 1px solid var(--border-color); // inline
|
||||
transition: border-color 1s ease; // link
|
||||
}
|
||||
|
||||
.border-radius {
|
||||
@include border-radius();
|
||||
}
|
||||
|
||||
.fallback-img {
|
||||
@include fallback-image();
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
78
_sass/pooleparty/__inline__/_base.scss
Normal file
78
_sass/pooleparty/__inline__/_base.scss
Normal file
@@ -0,0 +1,78 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_base.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
// // -webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: var(--font-family);
|
||||
font-size: var(--root-font-size);
|
||||
line-height: var(--root-line-height);
|
||||
}
|
||||
|
||||
body {
|
||||
@extend .color-transition;
|
||||
color: var(--body-color);
|
||||
background-color: var(--body-bg);
|
||||
font-weight: var(--font-weight);
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
p {
|
||||
@extend .color-transition;
|
||||
}
|
||||
|
||||
.content img, .img,
|
||||
.content video, .video {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.lead {
|
||||
@extend .border-radius;
|
||||
margin-left: -1rem;
|
||||
margin-right: -1rem;
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
img, video {
|
||||
&.lead {
|
||||
display: block;
|
||||
max-width: calc(100% + 2rem);
|
||||
width: calc(100% + 2rem);
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
25
_sass/pooleparty/__inline__/_code.scss
Normal file
25
_sass/pooleparty/__inline__/_code.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_code.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2020 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
25
_sass/pooleparty/__inline__/_footer.scss
Normal file
25
_sass/pooleparty/__inline__/_footer.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_footer.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// footer { margin-bottom: 2rem; }
|
||||
25
_sass/pooleparty/__inline__/_footnotes.scss
Normal file
25
_sass/pooleparty/__inline__/_footnotes.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_footnotes.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
66
_sass/pooleparty/__inline__/_message.scss
Normal file
66
_sass/pooleparty/__inline__/_message.scss
Normal file
@@ -0,0 +1,66 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_message.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
.message {
|
||||
@extend .color-transition;
|
||||
margin-bottom: 1rem;
|
||||
padding: 1rem;
|
||||
color: var(--gray-text);
|
||||
background-color: var(--gray-bg);
|
||||
margin-left: -1rem;
|
||||
margin-right: -1rem;
|
||||
}
|
||||
|
||||
.note-sm {
|
||||
@extend .message;
|
||||
background: transparent;
|
||||
color: var(--body-color);
|
||||
font-size: smaller;
|
||||
border-left: 1px solid var(--border-color);
|
||||
padding: 1.2rem 1rem 0 1rem;
|
||||
margin: 1rem -1rem;
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
font-size: 0.667rem;
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
letter-spacing: .025rem;
|
||||
text-transform: uppercase;
|
||||
color: var(--menu-text);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
&[title]:before {
|
||||
content: attr(title)!important;
|
||||
}
|
||||
}
|
||||
|
||||
.note {
|
||||
@extend .note-sm;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
25
_sass/pooleparty/__inline__/_pagination.scss
Normal file
25
_sass/pooleparty/__inline__/_pagination.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_pagination.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
91
_sass/pooleparty/__inline__/_posts.scss
Normal file
91
_sass/pooleparty/__inline__/_posts.scss
Normal file
@@ -0,0 +1,91 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_posts.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
.page {
|
||||
margin-bottom: 3em;
|
||||
|
||||
li + li {
|
||||
margin-top: .25rem;
|
||||
}
|
||||
|
||||
> header {
|
||||
position: relative;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.aspect-ratio.sixteen-nine.lead {
|
||||
@extend .border-radius;
|
||||
}
|
||||
}
|
||||
|
||||
body:not(.no-third-column) {
|
||||
.page > header {
|
||||
> .lead + .note-sm,
|
||||
> a.no-hover + .note-sm {
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
position: absolute;
|
||||
right: -25rem;
|
||||
width: 21rem;
|
||||
bottom: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Blog post or page title
|
||||
.page-title, .post-title { margin-top: 0; }
|
||||
|
||||
// Meta data line below post title
|
||||
.post-date {
|
||||
@extend .h4;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: -.6rem;
|
||||
height: 2rem;
|
||||
margin-bottom: .85rem;
|
||||
color: var(--gray);
|
||||
|
||||
> .ellipsis {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
[class^="icon-"] {
|
||||
display: inline-block;
|
||||
font-size: smaller;
|
||||
margin-right: .25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.img-wrapper > .hotfx-lightbox-slide {
|
||||
display: none;
|
||||
}
|
||||
|
||||
hotfx-lightbox::part(slide) {
|
||||
display: inherit;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
|
||||
25
_sass/pooleparty/__inline__/_read-more.scss
Normal file
25
_sass/pooleparty/__inline__/_read-more.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_read-more.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
38
_sass/pooleparty/__inline__/_related.scss
Normal file
38
_sass/pooleparty/__inline__/_related.scss
Normal file
@@ -0,0 +1,38 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_related.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
.related-posts {
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
margin-bottom: 2rem;
|
||||
|
||||
> li,
|
||||
> li + li {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
25
_sass/pooleparty/__inline__/_table.scss
Normal file
25
_sass/pooleparty/__inline__/_table.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_table.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
156
_sass/pooleparty/__inline__/_type.scss
Normal file
156
_sass/pooleparty/__inline__/_type.scss
Normal file
@@ -0,0 +1,156 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_type.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.heading {
|
||||
font-family: var(--font-family-heading);
|
||||
font-weight: var(--font-weight-heading);
|
||||
}
|
||||
|
||||
.f1 {
|
||||
@extend .heading;
|
||||
font-size: 2rem;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
.f2 {
|
||||
@extend .heading;
|
||||
font-size: 1.5rem;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.f3 {
|
||||
@extend .heading;
|
||||
font-size: 1.2em;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.f4 {
|
||||
@extend .heading;
|
||||
font-size: 1.08rem;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.f5 {
|
||||
@extend .heading;
|
||||
font-size: 1.04rem;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.f6 {
|
||||
@extend .heading;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
|
||||
h1, .h1 { @extend .f1; }
|
||||
h2, .h2 { @extend .f2; }
|
||||
h3, .h3 { @extend .f3; }
|
||||
h4, .h4 { @extend .f4; }
|
||||
h5, .h5 { @extend .f5; }
|
||||
h6, .h6 { @extend .f6; }
|
||||
|
||||
.content {
|
||||
h1, .h1 {
|
||||
> a { text-decoration: none; border-bottom: none; }
|
||||
@media screen and (max-width: $break-point-1) {
|
||||
font-size: 1.7rem;
|
||||
line-height: 1.35;
|
||||
}
|
||||
@media screen and (min-width: $break-point-5) {
|
||||
font-size: 2.4rem;
|
||||
line-height: 1.25;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
body:not(.no-large-headings) {
|
||||
.content {
|
||||
h1, .h1 {
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
width: calc(100% + 50vw - 32rem);
|
||||
font-size: 3rem;
|
||||
line-height: 1.2;
|
||||
}
|
||||
@media screen and (min-width: $break-point-font-large) {
|
||||
font-size: 4rem;
|
||||
line-height: 1.1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
h1, h2, h3, .h1, .h2, .h3 {
|
||||
margin: 4rem 0 1rem;
|
||||
}
|
||||
|
||||
h4, h5, h6, .h4, .h5, .h6 {
|
||||
margin: 3rem 0 .5rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
|
||||
&.lead {
|
||||
font-size: 1.2em;
|
||||
margin-top: 1.5rem;
|
||||
margin-bottom: 1.5rem;
|
||||
padding: 0 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
ul, ol, dl {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
padding-left: 1.25rem;
|
||||
}
|
||||
|
||||
hr, .hr {
|
||||
@extend .color-transition;
|
||||
border: 0;
|
||||
margin: 1rem 0;
|
||||
border-top: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
.hr-after::after {
|
||||
@extend .color-transition;
|
||||
content: "";
|
||||
display: block;
|
||||
margin: 1rem 0;
|
||||
border-top: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
.hr-bottom {
|
||||
@extend .color-transition;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
padding-bottom: .75rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
46
_sass/pooleparty/__link__/_base.scss
Normal file
46
_sass/pooleparty/__link__/_base.scss
Normal file
@@ -0,0 +1,46 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_base.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
* {
|
||||
// box-sizing: border-box;
|
||||
// -webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@media (display-mode: standalone) {
|
||||
body {
|
||||
overscroll-behavior-y: contain;
|
||||
}
|
||||
}
|
||||
|
||||
:focus {
|
||||
outline-color: var(--accent-color)!important;
|
||||
}
|
||||
|
||||
::selection {
|
||||
background: var(--accent-color-faded);
|
||||
}
|
||||
|
||||
220
_sass/pooleparty/__link__/_code.scss
Normal file
220
_sass/pooleparty/__link__/_code.scss
Normal file
@@ -0,0 +1,220 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_code.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2020 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
code, pre {
|
||||
font-family: var(--code-font-family);
|
||||
}
|
||||
|
||||
code {
|
||||
@extend .color-transition;
|
||||
padding: .25em .5em;
|
||||
background-color: var(--gray-bg);
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
.figure-base {
|
||||
@extend .color-transition;
|
||||
margin-left: -1rem;
|
||||
margin-right: -1rem;
|
||||
|
||||
// Prevent code linebreaks and allow side-scrolling for better readability on mobile
|
||||
overflow-x: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
@include border-radius();
|
||||
}
|
||||
|
||||
.pre-base {
|
||||
@extend .figure-base;
|
||||
padding: 1rem;
|
||||
margin-bottom: 1.5rem;
|
||||
background-color: var(--gray-bg);
|
||||
|
||||
// HACK: prevents painting for some reason
|
||||
backface-visibility: hidden;
|
||||
|
||||
@media print {
|
||||
width: 100%!important;
|
||||
page-break-inside: avoid;
|
||||
break-inside: avoid-page;
|
||||
}
|
||||
}
|
||||
|
||||
pre {
|
||||
@extend .pre-base;
|
||||
margin-top: 0;
|
||||
display: block;
|
||||
font-size: .83em;
|
||||
line-height: 1.5em;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
pre > code {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
min-width: 100%;
|
||||
padding: 0;
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
font-size: 1em;
|
||||
|
||||
// .__hl {
|
||||
// @extend .color-transition;
|
||||
// display: inline-block;
|
||||
// position: absolute;
|
||||
// left: -1rem;
|
||||
// right: -1rem;
|
||||
// background: var(--accent-color-highlight);
|
||||
// border-left: .25rem solid var(--accent-color-faded);
|
||||
// z-index: -1;
|
||||
// }
|
||||
}
|
||||
|
||||
.pre-header-common {
|
||||
@extend .color-transition;
|
||||
height: 2rem;
|
||||
border: none;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
div.highlight {
|
||||
position: relative;
|
||||
|
||||
> .pre-header {
|
||||
@extend .figure-base;
|
||||
@extend .pre-header-common;
|
||||
display: block;
|
||||
color: var(--gray)!important;
|
||||
background-color: var(--gray-bg);
|
||||
overflow: clip;
|
||||
|
||||
> span {
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
> * {
|
||||
display: inline-block;
|
||||
padding: .3rem 1rem .2rem;
|
||||
}
|
||||
}
|
||||
|
||||
> button {
|
||||
@extend .pre-header-common;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: -1rem;
|
||||
color: var(--menu-text);
|
||||
background: none;
|
||||
border-left: 1px solid var(--border-color);
|
||||
border-right: 1px solid var(--border-color);
|
||||
border-top-left-radius: 0;
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
opacity: 0;
|
||||
transition: opacity 300ms;
|
||||
|
||||
&:hover {
|
||||
background: var(--gray-bg);
|
||||
}
|
||||
|
||||
&.copy-success {
|
||||
> .icon-copy {
|
||||
animation-name: icon-copy;
|
||||
animation-duration: 1.5s;
|
||||
animation-timing-function: ease;
|
||||
}
|
||||
> .icon-checkmark {
|
||||
animation-name: icon-checkmark;
|
||||
animation-duration: 1.5s;
|
||||
animation-timing-function: ease;
|
||||
}
|
||||
}
|
||||
> .icon-copy {
|
||||
display: inline-block;
|
||||
}
|
||||
> .icon-checkmark {
|
||||
position: absolute;
|
||||
|
||||
top: 50%;
|
||||
margin-top: -3em;
|
||||
|
||||
left: 0;
|
||||
right: 0;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover > button {
|
||||
opacity: 1;
|
||||
transition: opacity 100ms;
|
||||
}
|
||||
|
||||
> .pre-header ~ pre.highlight {
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
padding-top: .65rem;
|
||||
}
|
||||
|
||||
> .pre-header ~ button {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
body.no-break-layout {
|
||||
div.highlight > button {
|
||||
border-right: none;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes icon-checkmark {
|
||||
0% {
|
||||
transform: translateY(0);
|
||||
}
|
||||
15%, 85% {
|
||||
transform: translateY(2.5em);
|
||||
}
|
||||
100% {
|
||||
transform: translateY(5em);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes icon-copy {
|
||||
0% {
|
||||
transform: translateY(0);
|
||||
}
|
||||
15% {
|
||||
transform: translateY(2.5em);
|
||||
}
|
||||
15.01%, 85% {
|
||||
transform: translateY(-2.5em);
|
||||
}
|
||||
100% {
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
25
_sass/pooleparty/__link__/_footer.scss
Normal file
25
_sass/pooleparty/__link__/_footer.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_footer.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
footer { margin-bottom: 2rem; }
|
||||
80
_sass/pooleparty/__link__/_footnotes.scss
Normal file
80
_sass/pooleparty/__link__/_footnotes.scss
Normal file
@@ -0,0 +1,80 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_footnotes.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
// Footnote number within body text
|
||||
a[href^="#fn:"],
|
||||
// Back to footnote link
|
||||
a[href^="#fnref:"] {
|
||||
margin-left: .1rem;
|
||||
font-weight: var(--font-weight-bold);
|
||||
|
||||
@media screen and (max-width: $break-point-4) {
|
||||
font-weight: normal;
|
||||
&::before { content: "["; }
|
||||
&::after { content: "]"; }
|
||||
}
|
||||
}
|
||||
|
||||
sup {
|
||||
line-height: 1;
|
||||
|
||||
&[id^="fnref"] {
|
||||
@media screen and (max-width: $break-point-4) {
|
||||
vertical-align: baseline;
|
||||
font-size: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// List of footnotes
|
||||
.footnotes {
|
||||
margin-top: 5rem;
|
||||
margin-bottom: 5rem;
|
||||
|
||||
> ol {
|
||||
color: var(--gray);
|
||||
|
||||
> li {
|
||||
padding: .5rem;
|
||||
margin-left: .5rem;
|
||||
> p { margin: 0; }
|
||||
&:focus {
|
||||
outline: none;
|
||||
color: var(--gray-text);
|
||||
background: var(--gray-bg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&::before {
|
||||
@extend .color-transition;
|
||||
content: "";
|
||||
display: block;
|
||||
margin: 1rem 0;
|
||||
border: 0;
|
||||
border-top: 1px solid var(--border-color);
|
||||
}
|
||||
}
|
||||
|
||||
25
_sass/pooleparty/__link__/_message.scss
Normal file
25
_sass/pooleparty/__link__/_message.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_message.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
91
_sass/pooleparty/__link__/_pagination.scss
Normal file
91
_sass/pooleparty/__link__/_pagination.scss
Normal file
@@ -0,0 +1,91 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_pagination.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
.pagination {
|
||||
@extend .color-transition;
|
||||
width: calc(100% + 2rem);
|
||||
margin: 0 -1rem 1rem;
|
||||
color: var(--gray);
|
||||
text-align: center;
|
||||
|
||||
> ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Pagination items can be `span`s or `a`s
|
||||
.pagination-item {
|
||||
> * {
|
||||
display: block;
|
||||
padding: .25rem 1rem;
|
||||
border: solid var(--border-color);
|
||||
border-width: 1px 0;
|
||||
transition: border-color 1s ease;
|
||||
}
|
||||
|
||||
> a, > a:hover, > a:focus {
|
||||
border-color: var(--border-color)!important;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
&:first-child > * {
|
||||
margin-bottom: -1px;
|
||||
}
|
||||
|
||||
// Only provide a hover state for linked pagination items
|
||||
> a:hover, > a:focus {
|
||||
background-color: var(--gray-bg);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 23.5em) {
|
||||
.pagination {
|
||||
width: 100%;
|
||||
margin: 3rem 0;
|
||||
}
|
||||
|
||||
.pagination-item {
|
||||
> * {
|
||||
float: left;
|
||||
width: 50%;
|
||||
border-width: 1px;
|
||||
}
|
||||
|
||||
&:first-child > * {
|
||||
margin-bottom: 0;
|
||||
border-top-left-radius: 0.25rem;
|
||||
border-bottom-left-radius: 0.25rem;
|
||||
}
|
||||
|
||||
&:last-child > * {
|
||||
margin-left: -1px;
|
||||
border-top-right-radius: 0.25rem;
|
||||
border-bottom-right-radius: 0.25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
55
_sass/pooleparty/__link__/_posts.scss
Normal file
55
_sass/pooleparty/__link__/_posts.scss
Normal file
@@ -0,0 +1,55 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_posts.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
|
||||
clap-button {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
--clap-button-color: var(--accent-color);
|
||||
}
|
||||
|
||||
clap-button + p.message {
|
||||
margin: -2rem auto 0;
|
||||
max-width: 32rem;
|
||||
font-size: smaller
|
||||
}
|
||||
|
||||
hr.dingbat {
|
||||
border: 0;
|
||||
&:after{
|
||||
content: "\2756";
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 1.5rem;
|
||||
color: var(--menu-text);
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
.page {
|
||||
margin-bottom: 0
|
||||
}
|
||||
}
|
||||
|
||||
46
_sass/pooleparty/__link__/_read-more.scss
Normal file
46
_sass/pooleparty/__link__/_read-more.scss
Normal file
@@ -0,0 +1,46 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_read-more.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
.read-more {
|
||||
@extend .faded;
|
||||
margin-top: 1.5rem;
|
||||
margin-bottom: 3rem;
|
||||
text-align: right;
|
||||
|
||||
&::after {
|
||||
content: " \2192";
|
||||
font-family: 'icomoon'!important;
|
||||
speak: none;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
font-size: smaller;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
}
|
||||
|
||||
33
_sass/pooleparty/__link__/_related.scss
Normal file
33
_sass/pooleparty/__link__/_related.scss
Normal file
@@ -0,0 +1,33 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_related.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
|
||||
|
||||
.comments {
|
||||
@media print {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
176
_sass/pooleparty/__link__/_table.scss
Normal file
176
_sass/pooleparty/__link__/_table.scss
Normal file
@@ -0,0 +1,176 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_table.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
table:not(.rouge-table) {
|
||||
@extend .figure-base;
|
||||
border-collapse: collapse;
|
||||
border-radius: 0!important;
|
||||
display: block;
|
||||
margin-bottom: 1.5rem;
|
||||
|
||||
td, th {
|
||||
@extend .color-transition;
|
||||
padding: .5em .75em;
|
||||
|
||||
&:first-child {
|
||||
padding-left: 1rem;
|
||||
border-left: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding-right: 1rem;
|
||||
border-right: 1px solid var(--border-color);
|
||||
}
|
||||
}
|
||||
|
||||
> *:first-child {
|
||||
border-top: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
> *:last-child {
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
thead {
|
||||
@extend .color-transition;
|
||||
background-color: var(--body-bg);
|
||||
}
|
||||
|
||||
thead + tbody,
|
||||
tbody + tbody,
|
||||
tfoot {
|
||||
@extend .color-transition;
|
||||
border-top: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
tbody tr:nth-child(even) td,
|
||||
tbody tr:nth-child(even) th {
|
||||
@extend .color-transition;
|
||||
background-color: var(--body-bg);
|
||||
}
|
||||
|
||||
tbody tr:nth-child(odd) td,
|
||||
tbody tr:nth-child(odd) th {
|
||||
@extend .color-transition;
|
||||
background-color: var(--gray-bg);
|
||||
}
|
||||
}
|
||||
|
||||
// CSS only Responsive Tables
|
||||
// http://dbushell.com/2016/03/04/css-only-responsive-tables/
|
||||
// by David Bushell
|
||||
@mixin scroll-table() {
|
||||
white-space: nowrap; // optional - looks better for small cell values
|
||||
}
|
||||
|
||||
@mixin flip-table() {
|
||||
display: flex;
|
||||
overflow: hidden;
|
||||
|
||||
thead, tbody {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
thead {
|
||||
flex-shrink: 0;
|
||||
min-width: min-content;
|
||||
border-left: 1px solid var(--border-color);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
|
||||
th {
|
||||
padding-left: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
tbody {
|
||||
position: relative;
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
tr {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-width: min-content;
|
||||
flex-shrink: 0;
|
||||
|
||||
&:last-child {
|
||||
border-right: 1px solid var(--border-color);
|
||||
td {
|
||||
padding-right: 1em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
td, th {
|
||||
display: block;
|
||||
|
||||
&:first-child {
|
||||
padding-left: .5em;
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding-right: .5em;
|
||||
border-right: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
table.stretch-table {
|
||||
display: table;
|
||||
width: 100% !important;
|
||||
width: calc(100% + 2em) !important;
|
||||
// @media screen and (max-width: $break-point-4) {
|
||||
// display: block!important;
|
||||
// @include scroll-table();
|
||||
// }
|
||||
}
|
||||
|
||||
table.scroll-table {
|
||||
@include scroll-table();
|
||||
}
|
||||
|
||||
table.flip-table {
|
||||
@include flip-table();
|
||||
}
|
||||
|
||||
@media screen and (max-width: $break-point-4) {
|
||||
table.scroll-table-small {
|
||||
@include scroll-table();
|
||||
}
|
||||
|
||||
table.flip-table-small {
|
||||
@include flip-table();
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
table:not(.rouge-table) {
|
||||
width: 100%!important;
|
||||
}
|
||||
}
|
||||
|
||||
180
_sass/pooleparty/__link__/_type.scss
Normal file
180
_sass/pooleparty/__link__/_type.scss
Normal file
@@ -0,0 +1,180 @@
|
||||
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY!
|
||||
//
|
||||
// To change the contents of this file,
|
||||
// edit `_sass/pooleparty/_type.pre.scss`
|
||||
// and run `npm run build:css`.
|
||||
//
|
||||
// During development you can run `npm run watch:css`
|
||||
// to continuosly rebuild this file.
|
||||
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.heading {
|
||||
font-family: var(--font-family-heading);
|
||||
font-weight: var(--font-weight-heading);
|
||||
}
|
||||
|
||||
.f1 {
|
||||
@extend .heading;
|
||||
font-size: 2rem;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
.f2 {
|
||||
@extend .heading;
|
||||
font-size: 1.5rem;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.f3 {
|
||||
@extend .heading;
|
||||
font-size: 1.2em;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.f4 {
|
||||
@extend .heading;
|
||||
font-size: 1.08rem;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.f5 {
|
||||
@extend .heading;
|
||||
font-size: 1.04rem;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.f6 {
|
||||
@extend .heading;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .heading {
|
||||
text-rendering: optimizeLegibility;
|
||||
}
|
||||
|
||||
h1 + h2, .h1 + .h2, h1 + .h2, .h1 + h2,
|
||||
h2 + h3, .h2 + .h3, h2 + .h3, .h2 + h3,
|
||||
h3 + h4, .h3 + .h4, h3 + .h4, .h3 + h4,
|
||||
h4 + h5, .h4 + .h5, h4 + .h5, .h4 + h5,
|
||||
h5 + h6, .h5 + .h6, h5 + .h6, .h5 + h6 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
dt, strong {
|
||||
font-weight: var(--font-weight-bold);
|
||||
}
|
||||
|
||||
dt:after{
|
||||
content: " :";
|
||||
color: var(--menu-text);
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
abbr {
|
||||
font-size: 85%;
|
||||
font-weight: var(--font-weight-bold);
|
||||
text-transform: uppercase;
|
||||
|
||||
&[title] {
|
||||
cursor: help;
|
||||
border-bottom: 1px dotted var(--border-color);
|
||||
}
|
||||
}
|
||||
|
||||
blockquote {
|
||||
@extend .color-transition;
|
||||
padding: .5rem 1rem;
|
||||
margin: .8rem 0;
|
||||
color: var(--gray);
|
||||
border-left: .25rem solid var(--border-color);
|
||||
|
||||
&.lead {
|
||||
font-size: 1.2em;
|
||||
margin-top: 1.5rem;
|
||||
margin-bottom: 1.5rem;
|
||||
border-left-width: 0.4rem;
|
||||
}
|
||||
|
||||
> p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.heading {
|
||||
font-weight: var(--font-weight-heading);
|
||||
}
|
||||
|
||||
.fine, .smaller {
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
.faded {
|
||||
@extend .color-transition;
|
||||
color: var(--gray);
|
||||
}
|
||||
|
||||
.centered {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h1[id], h2[id], h3[id], h4[id], h5[id], h6[id] {
|
||||
position: relative;
|
||||
|
||||
> .permalink {
|
||||
text-decoration: none;
|
||||
border: none;
|
||||
opacity: 0;
|
||||
transition: opacity 400ms;
|
||||
|
||||
@media print {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover > .permalink {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
& > .permalink:hover,
|
||||
& > .permalink:focus {
|
||||
opacity: 1;
|
||||
transition: opacity 200ms;
|
||||
}
|
||||
}
|
||||
|
||||
.content-hash::before {
|
||||
content: '#'
|
||||
}
|
||||
.content-json::before {
|
||||
content: '{}'
|
||||
}
|
||||
|
||||
@media print {
|
||||
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, dt {
|
||||
page-break-inside: avoid;
|
||||
break-inside: avoid-page;
|
||||
page-break-after: avoid;
|
||||
break-after: avoid-page;
|
||||
}
|
||||
}
|
||||
|
||||
83
_sass/pooleparty/_base.pre.scss
Normal file
83
_sass/pooleparty/_base.pre.scss
Normal file
@@ -0,0 +1,83 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
* {
|
||||
box-sizing: border-box; // inline
|
||||
// -webkit-tap-highlight-color: transparent; // link
|
||||
}
|
||||
|
||||
// <<< INLINE
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: var(--font-family);
|
||||
font-size: var(--root-font-size);
|
||||
line-height: var(--root-line-height);
|
||||
}
|
||||
|
||||
body {
|
||||
@extend .color-transition;
|
||||
color: var(--body-color);
|
||||
background-color: var(--body-bg);
|
||||
font-weight: var(--font-weight);
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
p {
|
||||
@extend .color-transition;
|
||||
}
|
||||
|
||||
.content img, .img,
|
||||
.content video, .video {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.lead {
|
||||
@extend .border-radius;
|
||||
margin-left: -1rem;
|
||||
margin-right: -1rem;
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
img, video {
|
||||
&.lead {
|
||||
display: block;
|
||||
max-width: calc(100% + 2rem);
|
||||
width: calc(100% + 2rem);
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
// >>> INLINE
|
||||
|
||||
// <<< LINK
|
||||
@media (display-mode: standalone) {
|
||||
body {
|
||||
overscroll-behavior-y: contain;
|
||||
}
|
||||
}
|
||||
|
||||
:focus {
|
||||
outline-color: var(--accent-color)!important;
|
||||
}
|
||||
|
||||
::selection {
|
||||
background: var(--accent-color-faded);
|
||||
}
|
||||
// >>> LINK
|
||||
211
_sass/pooleparty/_code.pre.scss
Normal file
211
_sass/pooleparty/_code.pre.scss
Normal file
@@ -0,0 +1,211 @@
|
||||
// Copyright (c) 2020 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// <<<<< LINK
|
||||
code, pre {
|
||||
font-family: var(--code-font-family);
|
||||
}
|
||||
|
||||
code {
|
||||
@extend .color-transition;
|
||||
padding: .25em .5em;
|
||||
background-color: var(--gray-bg);
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
.figure-base {
|
||||
@extend .color-transition;
|
||||
margin-left: -1rem;
|
||||
margin-right: -1rem;
|
||||
|
||||
// Prevent code linebreaks and allow side-scrolling for better readability on mobile
|
||||
overflow-x: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
@include border-radius();
|
||||
}
|
||||
|
||||
.pre-base {
|
||||
@extend .figure-base;
|
||||
padding: 1rem;
|
||||
margin-bottom: 1.5rem;
|
||||
background-color: var(--gray-bg);
|
||||
|
||||
// HACK: prevents painting for some reason
|
||||
backface-visibility: hidden;
|
||||
|
||||
@media print {
|
||||
width: 100%!important;
|
||||
page-break-inside: avoid;
|
||||
break-inside: avoid-page;
|
||||
}
|
||||
}
|
||||
|
||||
pre {
|
||||
@extend .pre-base;
|
||||
margin-top: 0;
|
||||
display: block;
|
||||
font-size: .83em;
|
||||
line-height: 1.5em;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
pre > code {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
min-width: 100%;
|
||||
padding: 0;
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
font-size: 1em;
|
||||
|
||||
// .__hl {
|
||||
// @extend .color-transition;
|
||||
// display: inline-block;
|
||||
// position: absolute;
|
||||
// left: -1rem;
|
||||
// right: -1rem;
|
||||
// background: var(--accent-color-highlight);
|
||||
// border-left: .25rem solid var(--accent-color-faded);
|
||||
// z-index: -1;
|
||||
// }
|
||||
}
|
||||
|
||||
.pre-header-common {
|
||||
@extend .color-transition;
|
||||
height: 2rem;
|
||||
border: none;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
div.highlight {
|
||||
position: relative;
|
||||
|
||||
> .pre-header {
|
||||
@extend .figure-base;
|
||||
@extend .pre-header-common;
|
||||
display: block;
|
||||
color: var(--gray)!important;
|
||||
background-color: var(--gray-bg);
|
||||
overflow: clip;
|
||||
|
||||
> span {
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
> * {
|
||||
display: inline-block;
|
||||
padding: .3rem 1rem .2rem;
|
||||
}
|
||||
}
|
||||
|
||||
> button {
|
||||
@extend .pre-header-common;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: -1rem;
|
||||
color: var(--menu-text);
|
||||
background: none;
|
||||
border-left: 1px solid var(--border-color);
|
||||
border-right: 1px solid var(--border-color);
|
||||
border-top-left-radius: 0;
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
opacity: 0;
|
||||
transition: opacity 300ms;
|
||||
|
||||
&:hover {
|
||||
background: var(--gray-bg);
|
||||
}
|
||||
|
||||
&.copy-success {
|
||||
> .icon-copy {
|
||||
animation-name: icon-copy;
|
||||
animation-duration: 1.5s;
|
||||
animation-timing-function: ease;
|
||||
}
|
||||
> .icon-checkmark {
|
||||
animation-name: icon-checkmark;
|
||||
animation-duration: 1.5s;
|
||||
animation-timing-function: ease;
|
||||
}
|
||||
}
|
||||
> .icon-copy {
|
||||
display: inline-block;
|
||||
}
|
||||
> .icon-checkmark {
|
||||
position: absolute;
|
||||
|
||||
top: 50%;
|
||||
margin-top: -3em;
|
||||
|
||||
left: 0;
|
||||
right: 0;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover > button {
|
||||
opacity: 1;
|
||||
transition: opacity 100ms;
|
||||
}
|
||||
|
||||
> .pre-header ~ pre.highlight {
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
padding-top: .65rem;
|
||||
}
|
||||
|
||||
> .pre-header ~ button {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
body.no-break-layout {
|
||||
div.highlight > button {
|
||||
border-right: none;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes icon-checkmark {
|
||||
0% {
|
||||
transform: translateY(0);
|
||||
}
|
||||
15%, 85% {
|
||||
transform: translateY(2.5em);
|
||||
}
|
||||
100% {
|
||||
transform: translateY(5em);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes icon-copy {
|
||||
0% {
|
||||
transform: translateY(0);
|
||||
}
|
||||
15% {
|
||||
transform: translateY(2.5em);
|
||||
}
|
||||
15.01%, 85% {
|
||||
transform: translateY(-2.5em);
|
||||
}
|
||||
100% {
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
// >>>>> LINK
|
||||
16
_sass/pooleparty/_footer.pre.scss
Normal file
16
_sass/pooleparty/_footer.pre.scss
Normal file
@@ -0,0 +1,16 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
footer { margin-bottom: 2rem; } // link
|
||||
71
_sass/pooleparty/_footnotes.pre.scss
Normal file
71
_sass/pooleparty/_footnotes.pre.scss
Normal file
@@ -0,0 +1,71 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// <<<<< LINK
|
||||
// Footnote number within body text
|
||||
a[href^="#fn:"],
|
||||
// Back to footnote link
|
||||
a[href^="#fnref:"] {
|
||||
margin-left: .1rem;
|
||||
font-weight: var(--font-weight-bold);
|
||||
|
||||
@media screen and (max-width: $break-point-4) {
|
||||
font-weight: normal;
|
||||
&::before { content: "["; }
|
||||
&::after { content: "]"; }
|
||||
}
|
||||
}
|
||||
|
||||
sup {
|
||||
line-height: 1;
|
||||
|
||||
&[id^="fnref"] {
|
||||
@media screen and (max-width: $break-point-4) {
|
||||
vertical-align: baseline;
|
||||
font-size: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// List of footnotes
|
||||
.footnotes {
|
||||
margin-top: 5rem;
|
||||
margin-bottom: 5rem;
|
||||
|
||||
> ol {
|
||||
color: var(--gray);
|
||||
|
||||
> li {
|
||||
padding: .5rem;
|
||||
margin-left: .5rem;
|
||||
> p { margin: 0; }
|
||||
&:focus {
|
||||
outline: none;
|
||||
color: var(--gray-text);
|
||||
background: var(--gray-bg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&::before {
|
||||
@extend .color-transition;
|
||||
content: "";
|
||||
display: block;
|
||||
margin: 1rem 0;
|
||||
border: 0;
|
||||
border-top: 1px solid var(--border-color);
|
||||
}
|
||||
}
|
||||
// >>>>> LINK
|
||||
57
_sass/pooleparty/_message.pre.scss
Normal file
57
_sass/pooleparty/_message.pre.scss
Normal file
@@ -0,0 +1,57 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// <<< INLINE
|
||||
.message {
|
||||
@extend .color-transition;
|
||||
margin-bottom: 1rem;
|
||||
padding: 1rem;
|
||||
color: var(--gray-text);
|
||||
background-color: var(--gray-bg);
|
||||
margin-left: -1rem;
|
||||
margin-right: -1rem;
|
||||
}
|
||||
|
||||
.note-sm {
|
||||
@extend .message;
|
||||
background: transparent;
|
||||
color: var(--body-color);
|
||||
font-size: smaller;
|
||||
border-left: 1px solid var(--border-color);
|
||||
padding: 1.2rem 1rem 0 1rem;
|
||||
margin: 1rem -1rem;
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
font-size: 0.667rem;
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
letter-spacing: .025rem;
|
||||
text-transform: uppercase;
|
||||
color: var(--menu-text);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
&[title]:before {
|
||||
content: attr(title)!important;
|
||||
}
|
||||
}
|
||||
|
||||
.note {
|
||||
@extend .note-sm;
|
||||
font-size: 1rem;
|
||||
}
|
||||
// >>>
|
||||
82
_sass/pooleparty/_pagination.pre.scss
Normal file
82
_sass/pooleparty/_pagination.pre.scss
Normal file
@@ -0,0 +1,82 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// <<< LINK
|
||||
.pagination {
|
||||
@extend .color-transition;
|
||||
width: calc(100% + 2rem);
|
||||
margin: 0 -1rem 1rem;
|
||||
color: var(--gray);
|
||||
text-align: center;
|
||||
|
||||
> ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Pagination items can be `span`s or `a`s
|
||||
.pagination-item {
|
||||
> * {
|
||||
display: block;
|
||||
padding: .25rem 1rem;
|
||||
border: solid var(--border-color);
|
||||
border-width: 1px 0;
|
||||
transition: border-color 1s ease;
|
||||
}
|
||||
|
||||
> a, > a:hover, > a:focus {
|
||||
border-color: var(--border-color)!important;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
&:first-child > * {
|
||||
margin-bottom: -1px;
|
||||
}
|
||||
|
||||
// Only provide a hover state for linked pagination items
|
||||
> a:hover, > a:focus {
|
||||
background-color: var(--gray-bg);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 23.5em) {
|
||||
.pagination {
|
||||
width: 100%;
|
||||
margin: 3rem 0;
|
||||
}
|
||||
|
||||
.pagination-item {
|
||||
> * {
|
||||
float: left;
|
||||
width: 50%;
|
||||
border-width: 1px;
|
||||
}
|
||||
|
||||
&:first-child > * {
|
||||
margin-bottom: 0;
|
||||
border-top-left-radius: 0.25rem;
|
||||
border-bottom-left-radius: 0.25rem;
|
||||
}
|
||||
|
||||
&:last-child > * {
|
||||
margin-left: -1px;
|
||||
border-top-right-radius: 0.25rem;
|
||||
border-bottom-right-radius: 0.25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
// >>> LINK
|
||||
111
_sass/pooleparty/_posts.pre.scss
Normal file
111
_sass/pooleparty/_posts.pre.scss
Normal file
@@ -0,0 +1,111 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// <<< INLINE
|
||||
.page {
|
||||
margin-bottom: 3em;
|
||||
|
||||
li + li {
|
||||
margin-top: .25rem;
|
||||
}
|
||||
|
||||
> header {
|
||||
position: relative;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.aspect-ratio.sixteen-nine.lead {
|
||||
@extend .border-radius;
|
||||
}
|
||||
}
|
||||
|
||||
body:not(.no-third-column) {
|
||||
.page > header {
|
||||
> .lead + .note-sm,
|
||||
> a.no-hover + .note-sm {
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
position: absolute;
|
||||
right: -25rem;
|
||||
width: 21rem;
|
||||
bottom: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Blog post or page title
|
||||
.page-title, .post-title { margin-top: 0; }
|
||||
|
||||
// Meta data line below post title
|
||||
.post-date {
|
||||
@extend .h4;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: -.6rem;
|
||||
height: 2rem;
|
||||
margin-bottom: .85rem;
|
||||
color: var(--gray);
|
||||
|
||||
> .ellipsis {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
[class^="icon-"] {
|
||||
display: inline-block;
|
||||
font-size: smaller;
|
||||
margin-right: .25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.img-wrapper > .hotfx-lightbox-slide {
|
||||
display: none;
|
||||
}
|
||||
|
||||
hotfx-lightbox::part(slide) {
|
||||
display: inherit;
|
||||
margin: 0 auto;
|
||||
}
|
||||
// >>>
|
||||
// <<< LINK
|
||||
clap-button {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
--clap-button-color: var(--accent-color);
|
||||
}
|
||||
|
||||
clap-button + p.message {
|
||||
margin: -2rem auto 0;
|
||||
max-width: 32rem;
|
||||
font-size: smaller
|
||||
}
|
||||
|
||||
hr.dingbat {
|
||||
border: 0;
|
||||
&:after{
|
||||
content: "\2756";
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 1.5rem;
|
||||
color: var(--menu-text);
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
.page {
|
||||
margin-bottom: 0
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
37
_sass/pooleparty/_read-more.pre.scss
Normal file
37
_sass/pooleparty/_read-more.pre.scss
Normal file
@@ -0,0 +1,37 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// <<< link
|
||||
.read-more {
|
||||
@extend .faded;
|
||||
margin-top: 1.5rem;
|
||||
margin-bottom: 3rem;
|
||||
text-align: right;
|
||||
|
||||
&::after {
|
||||
content: " \2192";
|
||||
font-family: 'icomoon'!important;
|
||||
speak: none;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
font-size: smaller;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
35
_sass/pooleparty/_related.pre.scss
Normal file
35
_sass/pooleparty/_related.pre.scss
Normal file
@@ -0,0 +1,35 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// <<<<< INLINE
|
||||
.related-posts {
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
margin-bottom: 2rem;
|
||||
|
||||
> li,
|
||||
> li + li {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
}
|
||||
// >>>>>
|
||||
|
||||
// <<< link
|
||||
.comments {
|
||||
@media print {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
// >>>
|
||||
167
_sass/pooleparty/_table.pre.scss
Normal file
167
_sass/pooleparty/_table.pre.scss
Normal file
@@ -0,0 +1,167 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// <<<<< LINK
|
||||
table:not(.rouge-table) {
|
||||
@extend .figure-base;
|
||||
border-collapse: collapse;
|
||||
border-radius: 0!important;
|
||||
display: block;
|
||||
margin-bottom: 1.5rem;
|
||||
|
||||
td, th {
|
||||
@extend .color-transition;
|
||||
padding: .5em .75em;
|
||||
|
||||
&:first-child {
|
||||
padding-left: 1rem;
|
||||
border-left: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding-right: 1rem;
|
||||
border-right: 1px solid var(--border-color);
|
||||
}
|
||||
}
|
||||
|
||||
> *:first-child {
|
||||
border-top: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
> *:last-child {
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
thead {
|
||||
@extend .color-transition;
|
||||
background-color: var(--body-bg);
|
||||
}
|
||||
|
||||
thead + tbody,
|
||||
tbody + tbody,
|
||||
tfoot {
|
||||
@extend .color-transition;
|
||||
border-top: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
tbody tr:nth-child(even) td,
|
||||
tbody tr:nth-child(even) th {
|
||||
@extend .color-transition;
|
||||
background-color: var(--body-bg);
|
||||
}
|
||||
|
||||
tbody tr:nth-child(odd) td,
|
||||
tbody tr:nth-child(odd) th {
|
||||
@extend .color-transition;
|
||||
background-color: var(--gray-bg);
|
||||
}
|
||||
}
|
||||
|
||||
// CSS only Responsive Tables
|
||||
// http://dbushell.com/2016/03/04/css-only-responsive-tables/
|
||||
// by David Bushell
|
||||
@mixin scroll-table() {
|
||||
white-space: nowrap; // optional - looks better for small cell values
|
||||
}
|
||||
|
||||
@mixin flip-table() {
|
||||
display: flex;
|
||||
overflow: hidden;
|
||||
|
||||
thead, tbody {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
thead {
|
||||
flex-shrink: 0;
|
||||
min-width: min-content;
|
||||
border-left: 1px solid var(--border-color);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
|
||||
th {
|
||||
padding-left: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
tbody {
|
||||
position: relative;
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
tr {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-width: min-content;
|
||||
flex-shrink: 0;
|
||||
|
||||
&:last-child {
|
||||
border-right: 1px solid var(--border-color);
|
||||
td {
|
||||
padding-right: 1em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
td, th {
|
||||
display: block;
|
||||
|
||||
&:first-child {
|
||||
padding-left: .5em;
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding-right: .5em;
|
||||
border-right: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
table.stretch-table {
|
||||
display: table;
|
||||
width: 100% !important;
|
||||
width: calc(100% + 2em) !important;
|
||||
// @media screen and (max-width: $break-point-4) {
|
||||
// display: block!important;
|
||||
// @include scroll-table();
|
||||
// }
|
||||
}
|
||||
|
||||
table.scroll-table {
|
||||
@include scroll-table();
|
||||
}
|
||||
|
||||
table.flip-table {
|
||||
@include flip-table();
|
||||
}
|
||||
|
||||
@media screen and (max-width: $break-point-4) {
|
||||
table.scroll-table-small {
|
||||
@include scroll-table();
|
||||
}
|
||||
|
||||
table.flip-table-small {
|
||||
@include flip-table();
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
table:not(.rouge-table) {
|
||||
width: 100%!important;
|
||||
}
|
||||
}
|
||||
// >>>>> LINK
|
||||
260
_sass/pooleparty/_type.pre.scss
Normal file
260
_sass/pooleparty/_type.pre.scss
Normal file
@@ -0,0 +1,260 @@
|
||||
// Copyright (c) 2017 Florian Klampfer <https://qwtel.com/>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
.heading {
|
||||
font-family: var(--font-family-heading);
|
||||
font-weight: var(--font-weight-heading);
|
||||
}
|
||||
|
||||
.f1 {
|
||||
@extend .heading;
|
||||
font-size: 2rem;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
.f2 {
|
||||
@extend .heading;
|
||||
font-size: 1.5rem;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.f3 {
|
||||
@extend .heading;
|
||||
font-size: 1.2em;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.f4 {
|
||||
@extend .heading;
|
||||
font-size: 1.08rem;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.f5 {
|
||||
@extend .heading;
|
||||
font-size: 1.04rem;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.f6 {
|
||||
@extend .heading;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
// <<< INLINE
|
||||
h1, .h1 { @extend .f1; }
|
||||
h2, .h2 { @extend .f2; }
|
||||
h3, .h3 { @extend .f3; }
|
||||
h4, .h4 { @extend .f4; }
|
||||
h5, .h5 { @extend .f5; }
|
||||
h6, .h6 { @extend .f6; }
|
||||
|
||||
.content {
|
||||
h1, .h1 {
|
||||
> a { text-decoration: none; border-bottom: none; }
|
||||
@media screen and (max-width: $break-point-1) {
|
||||
font-size: 1.7rem;
|
||||
line-height: 1.35;
|
||||
}
|
||||
@media screen and (min-width: $break-point-5) {
|
||||
font-size: 2.4rem;
|
||||
line-height: 1.25;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
body:not(.no-large-headings) {
|
||||
.content {
|
||||
h1, .h1 {
|
||||
@media screen and (min-width: $break-point-dynamic) {
|
||||
width: calc(100% + 50vw - 32rem);
|
||||
font-size: 3rem;
|
||||
line-height: 1.2;
|
||||
}
|
||||
@media screen and (min-width: $break-point-font-large) {
|
||||
font-size: 4rem;
|
||||
line-height: 1.1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
h1, h2, h3, .h1, .h2, .h3 {
|
||||
margin: 4rem 0 1rem;
|
||||
}
|
||||
|
||||
h4, h5, h6, .h4, .h5, .h6 {
|
||||
margin: 3rem 0 .5rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
|
||||
&.lead {
|
||||
font-size: 1.2em;
|
||||
margin-top: 1.5rem;
|
||||
margin-bottom: 1.5rem;
|
||||
padding: 0 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
ul, ol, dl {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
padding-left: 1.25rem;
|
||||
}
|
||||
|
||||
hr, .hr {
|
||||
@extend .color-transition;
|
||||
border: 0;
|
||||
margin: 1rem 0;
|
||||
border-top: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
.hr-after::after {
|
||||
@extend .color-transition;
|
||||
content: "";
|
||||
display: block;
|
||||
margin: 1rem 0;
|
||||
border-top: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
.hr-bottom {
|
||||
@extend .color-transition;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
padding-bottom: .75rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
// >>>>>
|
||||
|
||||
// <<<<< LINK
|
||||
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .heading {
|
||||
text-rendering: optimizeLegibility;
|
||||
}
|
||||
|
||||
h1 + h2, .h1 + .h2, h1 + .h2, .h1 + h2,
|
||||
h2 + h3, .h2 + .h3, h2 + .h3, .h2 + h3,
|
||||
h3 + h4, .h3 + .h4, h3 + .h4, .h3 + h4,
|
||||
h4 + h5, .h4 + .h5, h4 + .h5, .h4 + h5,
|
||||
h5 + h6, .h5 + .h6, h5 + .h6, .h5 + h6 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
dt, strong {
|
||||
font-weight: var(--font-weight-bold);
|
||||
}
|
||||
|
||||
dt:after{
|
||||
content: " :";
|
||||
color: var(--menu-text);
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
abbr {
|
||||
font-size: 85%;
|
||||
font-weight: var(--font-weight-bold);
|
||||
text-transform: uppercase;
|
||||
|
||||
&[title] {
|
||||
cursor: help;
|
||||
border-bottom: 1px dotted var(--border-color);
|
||||
}
|
||||
}
|
||||
|
||||
blockquote {
|
||||
@extend .color-transition;
|
||||
padding: .5rem 1rem;
|
||||
margin: .8rem 0;
|
||||
color: var(--gray);
|
||||
border-left: .25rem solid var(--border-color);
|
||||
|
||||
&.lead {
|
||||
font-size: 1.2em;
|
||||
margin-top: 1.5rem;
|
||||
margin-bottom: 1.5rem;
|
||||
border-left-width: 0.4rem;
|
||||
}
|
||||
|
||||
> p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.heading {
|
||||
font-weight: var(--font-weight-heading);
|
||||
}
|
||||
|
||||
.fine, .smaller {
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
.faded {
|
||||
@extend .color-transition;
|
||||
color: var(--gray);
|
||||
}
|
||||
|
||||
.centered {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h1[id], h2[id], h3[id], h4[id], h5[id], h6[id] {
|
||||
position: relative;
|
||||
|
||||
> .permalink {
|
||||
text-decoration: none;
|
||||
border: none;
|
||||
opacity: 0;
|
||||
transition: opacity 400ms;
|
||||
|
||||
@media print {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover > .permalink {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
& > .permalink:hover,
|
||||
& > .permalink:focus {
|
||||
opacity: 1;
|
||||
transition: opacity 200ms;
|
||||
}
|
||||
}
|
||||
|
||||
.content-hash::before {
|
||||
content: '#'
|
||||
}
|
||||
.content-json::before {
|
||||
content: '{}'
|
||||
}
|
||||
|
||||
@media print {
|
||||
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, dt {
|
||||
page-break-inside: avoid;
|
||||
break-inside: avoid-page;
|
||||
page-break-after: avoid;
|
||||
break-after: avoid-page;
|
||||
}
|
||||
}
|
||||
// >>> LINK
|
||||
9
_sass/pro/_dark-mode-dynamic-syntax.scss
Normal file
9
_sass/pro/_dark-mode-dynamic-syntax.scss
Normal file
@@ -0,0 +1,9 @@
|
||||
// Copyright (c) 2019 Florian Klampfer <https://qwtel.com/>
|
||||
|
||||
@import "pro/syntax-dark";
|
||||
|
||||
@media screen and (prefers-color-scheme: dark) {
|
||||
body {
|
||||
@include darkmode-syntax();
|
||||
}
|
||||
}
|
||||
20
_sass/pro/_dark-mode-dynamic.scss
Normal file
20
_sass/pro/_dark-mode-dynamic.scss
Normal file
@@ -0,0 +1,20 @@
|
||||
// Copyright (c) 2019 Florian Klampfer <https://qwtel.com/>
|
||||
|
||||
@import "pro/dark-mode";
|
||||
|
||||
@media screen and (prefers-color-scheme: light) {
|
||||
body {
|
||||
@include light-mode();
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (prefers-color-scheme: dark) {
|
||||
body {
|
||||
@include dark-mode();
|
||||
}
|
||||
|
||||
.tippy-content {
|
||||
-webkit-font-smoothing: initial;
|
||||
-moz-osx-font-smoothing: initial;
|
||||
}
|
||||
}
|
||||
32
_sass/pro/_dark-mode.scss
Normal file
32
_sass/pro/_dark-mode.scss
Normal file
@@ -0,0 +1,32 @@
|
||||
// Copyright (c) 2019 Florian Klampfer <https://qwtel.com/>
|
||||
|
||||
#_dark-mode {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
@mixin dark-mode() {
|
||||
--body-color: #ccc;
|
||||
--body-bg: var(--dark-mode-body-bg);
|
||||
--border-color: var(--dark-mode-border-color);
|
||||
--gray: rgba(255,255,255,.5);
|
||||
--gray-bg: rgba(255,255,255,.033);
|
||||
--gray-text: rgba(255,255,255,.625);
|
||||
--menu-text: rgba(255,255,255,.25);
|
||||
--inv-body-color: #{$body-color};
|
||||
--inv-body-bg: #{$body-bg};
|
||||
|
||||
.content {
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen {
|
||||
body, body.light-mode {
|
||||
@include light-mode();
|
||||
}
|
||||
|
||||
body.dark-mode {
|
||||
@include dark-mode();
|
||||
}
|
||||
}
|
||||
139
_sass/pro/_syntax-dark.scss
Normal file
139
_sass/pro/_syntax-dark.scss
Normal file
@@ -0,0 +1,139 @@
|
||||
@mixin darkmode-syntax {
|
||||
.highlight,
|
||||
pre.highlight {
|
||||
// background: #282c34;
|
||||
color: #abb2bf;
|
||||
}
|
||||
// .highlight pre {
|
||||
// background: #282c34;
|
||||
// }
|
||||
.highlight .ge {
|
||||
font-style: italic;
|
||||
}
|
||||
.highlight .gs {
|
||||
font-weight: 700;
|
||||
}
|
||||
.highlight .ow {
|
||||
font-weight: 700;
|
||||
}
|
||||
.highlight .n,
|
||||
.highlight .nf,
|
||||
.highlight .nn,
|
||||
.highlight .o,
|
||||
.highlight .p {
|
||||
color: #abb2bf;
|
||||
}
|
||||
.highlight .c,
|
||||
.highlight .c1,
|
||||
.highlight .cm,
|
||||
.highlight .cp,
|
||||
.highlight .cs {
|
||||
color: #5c6370;
|
||||
font-style: italic;
|
||||
}
|
||||
.highlight .sr,
|
||||
.highlight .ss {
|
||||
color: #56b6c2;
|
||||
}
|
||||
.highlight .k,
|
||||
.highlight .kc,
|
||||
.highlight .kd,
|
||||
.highlight .kn,
|
||||
.highlight .kp,
|
||||
.highlight .kr,
|
||||
.highlight .kt {
|
||||
color: #c678dd;
|
||||
}
|
||||
.highlight .l,
|
||||
.highlight .ld,
|
||||
.highlight .s,
|
||||
.highlight .s1,
|
||||
.highlight .s2,
|
||||
.highlight .sb,
|
||||
.highlight .sc,
|
||||
.highlight .sd,
|
||||
.highlight .se,
|
||||
.highlight .sh,
|
||||
.highlight .si,
|
||||
.highlight .sx {
|
||||
color: #98c379;
|
||||
}
|
||||
.highlight .nt,
|
||||
.highlight .nx,
|
||||
.highlight .vi {
|
||||
color: #e06c75;
|
||||
}
|
||||
.highlight .il,
|
||||
.highlight .m,
|
||||
.highlight .mf,
|
||||
.highlight .mh,
|
||||
.highlight .mi,
|
||||
.highlight .mo,
|
||||
.highlight .na {
|
||||
color: #d19a66;
|
||||
}
|
||||
.highlight .bp,
|
||||
.highlight .nb,
|
||||
.highlight .nc,
|
||||
.highlight .nd,
|
||||
.highlight .ne,
|
||||
.highlight .ni,
|
||||
.highlight .nl,
|
||||
.highlight .no,
|
||||
.highlight .nv,
|
||||
.highlight .py,
|
||||
.highlight .vc,
|
||||
.highlight .vg {
|
||||
color: #e5c07b;
|
||||
}
|
||||
// .highlight .err {
|
||||
// color: #fff;
|
||||
// background-color: #e05252;
|
||||
// }
|
||||
.highlight .gd {
|
||||
color: #e05252;
|
||||
}
|
||||
.highlight .gi {
|
||||
color: #43d08a;
|
||||
}
|
||||
.highlight .w {
|
||||
color: #f8f8f2;
|
||||
}
|
||||
.highlight .cpf {
|
||||
color: navy;
|
||||
}
|
||||
.highlight .gu {
|
||||
color: #75715e;
|
||||
}
|
||||
.highlight .lineno {
|
||||
color: #636d83;
|
||||
user-select: none;
|
||||
}
|
||||
.highlight .ln {
|
||||
color: #636d83;
|
||||
user-select: none;
|
||||
}
|
||||
.highlight .ln:after {
|
||||
content: " ";
|
||||
}
|
||||
.highlight .hll {
|
||||
color: #abb2bf;
|
||||
background-color: #3a3f4b;
|
||||
}
|
||||
.highlight .hl {
|
||||
color: #abb2bf;
|
||||
background-color: #3a3f4b;
|
||||
}
|
||||
.highlight .language-json .w + .s2 {
|
||||
color: #e06c75;
|
||||
}
|
||||
.highlight .language-json .kc {
|
||||
color: #56b6c2;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen {
|
||||
body.dark-mode {
|
||||
@include darkmode-syntax();
|
||||
}
|
||||
}
|
||||
25
_sass/tippyjs/_mixins.scss
Normal file
25
_sass/tippyjs/_mixins.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
@mixin backdrop-transform-enter($placement) {
|
||||
$scale: 1;
|
||||
@if ($placement == 'top') {
|
||||
transform: scale($scale) translate(-50%, -55%);
|
||||
} @else if ($placement == 'bottom') {
|
||||
transform: scale($scale) translate(-50%, -45%);
|
||||
} @else if ($placement == 'left') {
|
||||
transform: scale($scale) translate(-50%, -50%);
|
||||
} @else if ($placement == 'right') {
|
||||
transform: scale($scale) translate(-50%, -50%);
|
||||
}
|
||||
}
|
||||
|
||||
@mixin backdrop-transform-leave($placement) {
|
||||
$scale: 0.2;
|
||||
@if ($placement == 'top') {
|
||||
transform: scale($scale) translate(-50%, -45%);
|
||||
} @else if ($placement == 'bottom') {
|
||||
transform: scale($scale) translate(-50%, 0);
|
||||
} @else if ($placement == 'left') {
|
||||
transform: scale($scale) translate(-75%, -50%);
|
||||
} @else if ($placement == 'right') {
|
||||
transform: scale($scale) translate(-25%, -50%);
|
||||
}
|
||||
}
|
||||
6
_sass/tippyjs/_vars.scss
Normal file
6
_sass/tippyjs/_vars.scss
Normal file
@@ -0,0 +1,6 @@
|
||||
$namespace-prefix: '__NAMESPACE_PREFIX__' !default;
|
||||
$placements: 'top', 'bottom', 'left', 'right';
|
||||
$origins: bottom, top, right, left;
|
||||
$backdrop-origins: 0% 25%, 0% -50%, 50% 0%, -50% 0%;
|
||||
$backdrop-border-radii: 40% 40% 0 0, 0 0 30% 30%, 50% 0 0 50%, 0 50% 50% 0;
|
||||
$arrow-size: 16px;
|
||||
9
_sass/tippyjs/animations/fade.scss
Normal file
9
_sass/tippyjs/animations/fade.scss
Normal file
@@ -0,0 +1,9 @@
|
||||
@use '../_mixins.scss';
|
||||
@forward '../_vars.scss' show $namespace-prefix;
|
||||
@use '../_vars.scss';
|
||||
|
||||
.#{vars.$namespace-prefix}-box {
|
||||
&[data-animation='fade'][data-state='hidden'] {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
91
_sass/tippyjs/index.scss
Normal file
91
_sass/tippyjs/index.scss
Normal file
@@ -0,0 +1,91 @@
|
||||
@forward '_vars.scss' show $namespace-prefix;
|
||||
@use '_vars.scss';
|
||||
@forward 'animations/fade.scss' show $namespace-prefix;
|
||||
|
||||
$color: #333;
|
||||
|
||||
[data-#{vars.$namespace-prefix}-root] {
|
||||
max-width: calc(100vw - 10px);
|
||||
}
|
||||
|
||||
.#{vars.$namespace-prefix}-box {
|
||||
position: relative;
|
||||
background-color: $color;
|
||||
color: white;
|
||||
border-radius: 4px;
|
||||
font-size: 14px;
|
||||
line-height: 1.4;
|
||||
outline: 0;
|
||||
transition-property: transform, visibility, opacity;
|
||||
|
||||
&[data-placement^='top'] > .#{vars.$namespace-prefix}-arrow {
|
||||
bottom: 0;
|
||||
|
||||
&::before {
|
||||
bottom: -7px;
|
||||
left: 0;
|
||||
border-width: 8px 8px 0;
|
||||
border-top-color: initial;
|
||||
transform-origin: center top;
|
||||
}
|
||||
}
|
||||
|
||||
&[data-placement^='bottom'] > .#{vars.$namespace-prefix}-arrow {
|
||||
top: 0;
|
||||
|
||||
&::before {
|
||||
top: -7px;
|
||||
left: 0;
|
||||
border-width: 0 8px 8px;
|
||||
border-bottom-color: initial;
|
||||
transform-origin: center bottom;
|
||||
}
|
||||
}
|
||||
|
||||
&[data-placement^='left'] > .#{vars.$namespace-prefix}-arrow {
|
||||
right: 0;
|
||||
|
||||
&::before {
|
||||
border-width: 8px 0 8px 8px;
|
||||
border-left-color: initial;
|
||||
right: -7px;
|
||||
transform-origin: center left;
|
||||
}
|
||||
}
|
||||
|
||||
&[data-placement^='right'] > .#{vars.$namespace-prefix}-arrow {
|
||||
left: 0;
|
||||
|
||||
&::before {
|
||||
left: -7px;
|
||||
border-width: 8px 8px 8px 0;
|
||||
border-right-color: initial;
|
||||
transform-origin: center right;
|
||||
}
|
||||
}
|
||||
|
||||
&[data-inertia][data-state='visible'] {
|
||||
transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);
|
||||
}
|
||||
}
|
||||
|
||||
.#{vars.$namespace-prefix}-arrow {
|
||||
& {
|
||||
width: vars.$arrow-size;
|
||||
height: vars.$arrow-size;
|
||||
color: $color;
|
||||
}
|
||||
|
||||
&::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
border-color: transparent;
|
||||
border-style: solid;
|
||||
}
|
||||
}
|
||||
|
||||
.#{vars.$namespace-prefix}-content {
|
||||
position: relative;
|
||||
padding: 5px 9px;
|
||||
z-index: 1;
|
||||
}
|
||||
Reference in New Issue
Block a user