added cactus theme files
This commit is contained in:
119
hugo-content/themes/cactus/assets/scss/_extend.scss
Normal file
119
hugo-content/themes/cactus/assets/scss/_extend.scss
Normal file
@@ -0,0 +1,119 @@
|
||||
// $base-style
|
||||
h1,
|
||||
.h1 {
|
||||
display: block;
|
||||
margin-top: 3rem;
|
||||
margin-bottom: 1rem;
|
||||
color: $color-accent-1;
|
||||
letter-spacing: .01em;
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
font-size: 1.5em;
|
||||
|
||||
@include antialias();
|
||||
}
|
||||
h2,
|
||||
.h2 {
|
||||
position: relative;
|
||||
display: block;
|
||||
margin-top: 2rem;
|
||||
margin-bottom: .5rem;
|
||||
color: $color-accent-2;
|
||||
text-transform: none;
|
||||
letter-spacing: normal;
|
||||
font-weight: bold;
|
||||
font-size: 1rem;
|
||||
}
|
||||
h3 {
|
||||
color: $color-accent-2;
|
||||
text-decoration: underline;
|
||||
font-weight: bold;
|
||||
font-size: .9rem;
|
||||
}
|
||||
h4
|
||||
h5
|
||||
h6 {
|
||||
display: inline;
|
||||
text-decoration: none;
|
||||
color: $color-accent-3;
|
||||
font-weight: bold;
|
||||
font-size: .9rem;
|
||||
}
|
||||
h3
|
||||
h4
|
||||
h5
|
||||
h6 {
|
||||
margin-top: .9rem;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
hr {
|
||||
border: .5px dashed $color-accent-3;
|
||||
opacity: .5;
|
||||
margin: 0;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
em
|
||||
cite {
|
||||
font-style: italic;
|
||||
}
|
||||
sup
|
||||
sub {
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
font-size: .75em;
|
||||
line-height: 0;
|
||||
}
|
||||
sup {
|
||||
top: -.5em;
|
||||
}
|
||||
sub {
|
||||
bottom: -.2em;
|
||||
}
|
||||
small {
|
||||
font-size: .85em;
|
||||
}
|
||||
acronym
|
||||
abbr {
|
||||
border-bottom: 1px dotted;
|
||||
}
|
||||
ul
|
||||
ol
|
||||
dl {
|
||||
line-height: $line-height;
|
||||
}
|
||||
ul ul,
|
||||
ol ul,
|
||||
ul ol,
|
||||
ol ol {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
ol {
|
||||
list-style: decimal;
|
||||
}
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
text-align: left;
|
||||
font-size: $font-size - 2px;
|
||||
overflow: auto;
|
||||
display: block;
|
||||
}
|
||||
th {
|
||||
padding: 8px;
|
||||
border-bottom: 1px dashed $color-border;
|
||||
color: $color-accent-2;
|
||||
font-weight: bold;
|
||||
font-size: $font-size - 1px;
|
||||
}
|
||||
td {
|
||||
padding: 0 8px;
|
||||
border-bottom: none;
|
||||
}
|
||||
6
hugo-content/themes/cactus/assets/scss/_fonts.scss
Normal file
6
hugo-content/themes/cactus/assets/scss/_fonts.scss
Normal file
@@ -0,0 +1,6 @@
|
||||
@font-face {
|
||||
font-style: normal;
|
||||
font-family: "JetBrains Mono";
|
||||
font-display: swap;
|
||||
src: local("JetBrains Mono"), local("JetBrains-Mono"), url("../lib/JetBrainsMono/web/woff2/JetBrainsMono-Regular.woff2") format("woff2"), url("../lib/JetBrainsMono/web/woff/JetBrainsMono-Regular.woff") format("woff"), url("../lib/JetBrainsMono/web/eot/JetBrainsMono-Regular.eot") format("embedded-opentype"), url("../lib/JetBrainsMono/ttf/JetBrainsMono-Regular.ttf") format("truetype");
|
||||
};
|
||||
20
hugo-content/themes/cactus/assets/scss/_mixins.scss
Normal file
20
hugo-content/themes/cactus/assets/scss/_mixins.scss
Normal file
@@ -0,0 +1,20 @@
|
||||
@mixin antialias() {
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
@mixin hyphens($value) {
|
||||
hyphens: $value;
|
||||
-moz-hyphens: $value;
|
||||
-ms-hyphens: $value;
|
||||
-webkit-hyphens: $value;
|
||||
}
|
||||
@mixin underline($size, $color) {
|
||||
background-image: linear-gradient(transparent, transparent $size, $color $size, $color);
|
||||
background-position: bottom;
|
||||
background-size: 100% 6px;
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
@mixin no-select() {
|
||||
user-select: none;
|
||||
-khtml-user-select: none;
|
||||
}
|
||||
319
hugo-content/themes/cactus/assets/scss/_util.scss
Normal file
319
hugo-content/themes/cactus/assets/scss/_util.scss
Normal file
@@ -0,0 +1,319 @@
|
||||
/* Basscss */
|
||||
.inline {
|
||||
display: inline;
|
||||
}
|
||||
.block {
|
||||
display: block;
|
||||
}
|
||||
.inline-block {
|
||||
display: inline-block;
|
||||
}
|
||||
.table {
|
||||
display: table;
|
||||
}
|
||||
.table-cell {
|
||||
display: table-cell;
|
||||
}
|
||||
.overflow-hidden {
|
||||
overflow: hidden;
|
||||
}
|
||||
.overflow-scroll {
|
||||
overflow: scroll;
|
||||
}
|
||||
.overflow-auto {
|
||||
overflow: auto;
|
||||
}
|
||||
.clearfix:before,
|
||||
.clearfix:after {
|
||||
display: table;
|
||||
content: " ";
|
||||
}
|
||||
.clearfix:after {
|
||||
clear: both;
|
||||
}
|
||||
.left {
|
||||
float: left;
|
||||
}
|
||||
.right {
|
||||
float: right;
|
||||
}
|
||||
.fit {
|
||||
max-width: 100%;
|
||||
}
|
||||
.truncate {
|
||||
display: inline-block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.max-width-1 {
|
||||
max-width: 24rem;
|
||||
}
|
||||
.max-width-2 {
|
||||
max-width: 32rem;
|
||||
}
|
||||
.max-width-3 {
|
||||
max-width: 48rem;
|
||||
}
|
||||
.max-width-4 {
|
||||
max-width: 64rem;
|
||||
}
|
||||
.border-box {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.m0 {
|
||||
margin: 0;
|
||||
}
|
||||
.mt0 {
|
||||
margin-top: 0;
|
||||
}
|
||||
.mr0 {
|
||||
margin-right: 0;
|
||||
}
|
||||
.mb0 {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.ml0 {
|
||||
margin-left: 0;
|
||||
}
|
||||
.mx0 {
|
||||
margin-right: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
.my0 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.m1 {
|
||||
margin: .5rem;
|
||||
}
|
||||
.mt1 {
|
||||
margin-top: .5rem;
|
||||
}
|
||||
.mr1 {
|
||||
margin-right: .5rem;
|
||||
}
|
||||
.mb1 {
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
.ml1 {
|
||||
margin-left: .5rem;
|
||||
}
|
||||
.mx1 {
|
||||
margin-right: .5rem;
|
||||
margin-left: .5rem;
|
||||
}
|
||||
.my1 {
|
||||
margin-top: .5rem;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
.m2 {
|
||||
margin: 1rem;
|
||||
}
|
||||
.mt2 {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
.mr2 {
|
||||
margin-right: 1rem;
|
||||
}
|
||||
.mb2 {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
.ml2 {
|
||||
margin-left: 1rem;
|
||||
}
|
||||
.mx2 {
|
||||
margin-right: 1rem;
|
||||
margin-left: 1rem;
|
||||
}
|
||||
.my2 {
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
.m3 {
|
||||
margin: 2rem;
|
||||
}
|
||||
.mt3 {
|
||||
margin-top: 2rem;
|
||||
}
|
||||
.mr3 {
|
||||
margin-right: 2rem;
|
||||
}
|
||||
.mb3 {
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
.ml3 {
|
||||
margin-left: 2rem;
|
||||
}
|
||||
.mx3 {
|
||||
margin-right: 2rem;
|
||||
margin-left: 2rem;
|
||||
}
|
||||
.my3 {
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
.m4 {
|
||||
margin: 4rem;
|
||||
}
|
||||
.mt4 {
|
||||
margin-top: 4rem;
|
||||
}
|
||||
.mr4 {
|
||||
margin-right: 4rem;
|
||||
}
|
||||
.mb4 {
|
||||
margin-bottom: 4rem;
|
||||
}
|
||||
.ml4 {
|
||||
margin-left: 4rem;
|
||||
}
|
||||
.mx4 {
|
||||
margin-right: 4rem;
|
||||
margin-left: 4rem;
|
||||
}
|
||||
.my4 {
|
||||
margin-top: 4rem;
|
||||
margin-bottom: 4rem;
|
||||
}
|
||||
.mxn1 {
|
||||
margin-right: -.5rem;
|
||||
margin-left: -.5rem;
|
||||
}
|
||||
.mxn2 {
|
||||
margin-right: -1rem;
|
||||
margin-left: -1rem;
|
||||
}
|
||||
.mxn3 {
|
||||
margin-right: -2rem;
|
||||
margin-left: -2rem;
|
||||
}
|
||||
.mxn4 {
|
||||
margin-right: -4rem;
|
||||
margin-left: -4rem;
|
||||
}
|
||||
.ml-auto {
|
||||
margin-left: auto;
|
||||
}
|
||||
.mr-auto {
|
||||
margin-right: auto;
|
||||
}
|
||||
.mx-auto {
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
.p0 {
|
||||
padding: 0;
|
||||
}
|
||||
.pt0 {
|
||||
padding-top: 0;
|
||||
}
|
||||
.pr0 {
|
||||
padding-right: 0;
|
||||
}
|
||||
.pb0 {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
.pl0 {
|
||||
padding-left: 0;
|
||||
}
|
||||
.px0 {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
.py0 {
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
.p1 {
|
||||
padding: .5rem;
|
||||
}
|
||||
.pt1 {
|
||||
padding-top: .5rem;
|
||||
}
|
||||
.pr1 {
|
||||
padding-right: .5rem;
|
||||
}
|
||||
.pb1 {
|
||||
padding-bottom: .5rem;
|
||||
}
|
||||
.pl1 {
|
||||
padding-left: .5rem;
|
||||
}
|
||||
.py1 {
|
||||
padding-top: .5rem;
|
||||
padding-bottom: .5rem;
|
||||
}
|
||||
.px1 {
|
||||
padding-right: .5rem;
|
||||
padding-left: .5rem;
|
||||
}
|
||||
.p2 {
|
||||
padding: 1rem;
|
||||
}
|
||||
.pt2 {
|
||||
padding-top: 1rem;
|
||||
}
|
||||
.pr2 {
|
||||
padding-right: 1rem;
|
||||
}
|
||||
.pb2 {
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
.pl2 {
|
||||
padding-left: 1rem;
|
||||
}
|
||||
.py2 {
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
.px2 {
|
||||
padding-right: 1rem;
|
||||
padding-left: 1rem;
|
||||
}
|
||||
.p3 {
|
||||
padding: 2rem;
|
||||
}
|
||||
.pt3 {
|
||||
padding-top: 2rem;
|
||||
}
|
||||
.pr3 {
|
||||
padding-right: 2rem;
|
||||
}
|
||||
.pb3 {
|
||||
padding-bottom: 2rem;
|
||||
}
|
||||
.pl3 {
|
||||
padding-left: 2rem;
|
||||
}
|
||||
.py3 {
|
||||
padding-top: 2rem;
|
||||
padding-bottom: 2rem;
|
||||
}
|
||||
.px3 {
|
||||
padding-right: 2rem;
|
||||
padding-left: 2rem;
|
||||
}
|
||||
.p4 {
|
||||
padding: 4rem;
|
||||
}
|
||||
.pt4 {
|
||||
padding-top: 4rem;
|
||||
}
|
||||
.pr4 {
|
||||
padding-right: 4rem;
|
||||
}
|
||||
.pb4 {
|
||||
padding-bottom: 4rem;
|
||||
}
|
||||
.pl4 {
|
||||
padding-left: 4rem;
|
||||
}
|
||||
.py4 {
|
||||
padding-top: 4rem;
|
||||
padding-bottom: 4rem;
|
||||
}
|
||||
.px4 {
|
||||
padding-right: 4rem;
|
||||
padding-left: 4rem;
|
||||
}
|
||||
13
hugo-content/themes/cactus/assets/scss/_variables.scss
Normal file
13
hugo-content/themes/cactus/assets/scss/_variables.scss
Normal file
@@ -0,0 +1,13 @@
|
||||
// Fonts
|
||||
$font-family-body: "JetBrains Mono", monospace;
|
||||
$font-family-mono: "JetBrains Mono", monospace;
|
||||
$font-family-tt: "Inconsolata", monospace;
|
||||
$font-size: 14px;
|
||||
$line-height: 1.725;
|
||||
$page-width: 48rem;
|
||||
// Logo
|
||||
$logo-width: 50px;
|
||||
$logo-height: 50px;
|
||||
$logo-grayout: true;
|
||||
// Colors
|
||||
$colors: "dark" // white dark light classic
|
||||
13
hugo-content/themes/cactus/assets/scss/colors/classic.scss
Normal file
13
hugo-content/themes/cactus/assets/scss/colors/classic.scss
Normal file
@@ -0,0 +1,13 @@
|
||||
$color-background: #fafafa;
|
||||
$color-footer-mobile-1: darken($color-background, 2%);
|
||||
$color-footer-mobile-2: darken($color-background, 10%);
|
||||
$color-background-code: darken($color-background, 2%);
|
||||
$color-border: #666;
|
||||
$color-meta: #666;
|
||||
$color-meta-code: lighten($color-meta, 10%);
|
||||
$color-link: rgba(86, 124, 119, .4);
|
||||
$color-text: #22272a;
|
||||
$color-accent-1: #cc2a41;
|
||||
$color-accent-2: rgba(86, 124, 119, .8);
|
||||
$color-accent-3: #666;
|
||||
$color-quote: #cc2a41;
|
||||
13
hugo-content/themes/cactus/assets/scss/colors/dark.scss
Normal file
13
hugo-content/themes/cactus/assets/scss/colors/dark.scss
Normal file
@@ -0,0 +1,13 @@
|
||||
$color-background: #1d1f21;
|
||||
$color-footer-mobile-1: lighten($color-background, 2%);
|
||||
$color-footer-mobile-2: lighten($color-background, 10%);
|
||||
$color-background-code: lighten($color-background, 2%);
|
||||
$color-border: #666;
|
||||
$color-meta: #666;
|
||||
$color-meta-code: #666;
|
||||
$color-link: rgba(212, 128, 170, 1);
|
||||
$color-text: #c9cacc;
|
||||
$color-accent-3: #cccccc;
|
||||
$color-accent-2: #eeeeee;
|
||||
$color-accent-1: #2bbc8a;
|
||||
$color-quote: #ccffb6;
|
||||
14
hugo-content/themes/cactus/assets/scss/colors/light.scss
Normal file
14
hugo-content/themes/cactus/assets/scss/colors/light.scss
Normal file
@@ -0,0 +1,14 @@
|
||||
// by @GabiThume (https://github.com/gabithume)
|
||||
$color-background: #e2e0de;
|
||||
$color-footer-mobile-1: darken($color-background, 2%);
|
||||
$color-footer-mobile-2: darken($color-background, 10%);
|
||||
$color-background-code: darken($color-background, 2%);
|
||||
$color-border: #666;
|
||||
$color-meta: #666;
|
||||
$color-meta-code: lighten($color-meta, 10%);
|
||||
$color-link: rgba(43, 188, 138, 1);
|
||||
$color-text: #363533;
|
||||
$color-accent-3: #666666;
|
||||
$color-accent-2: #111111;
|
||||
$color-accent-1: #d44375;
|
||||
$color-quote: #ab2251;
|
||||
14
hugo-content/themes/cactus/assets/scss/colors/white.scss
Normal file
14
hugo-content/themes/cactus/assets/scss/colors/white.scss
Normal file
@@ -0,0 +1,14 @@
|
||||
// by @sergodeeva (https://github.com/sergodeeva)
|
||||
$color-background: #FFFFFF;
|
||||
$color-footer-mobile-1: darken($color-background, 2%);
|
||||
$color-footer-mobile-2: darken($color-background, 10%);
|
||||
$color-background-code: darken($color-background, 2%);
|
||||
$color-border: #666;
|
||||
$color-meta: #666;
|
||||
$color-meta-code: lighten($color-meta, 10%);
|
||||
$color-link: rgba(212, 128, 170, 1);
|
||||
$color-text: #383838;
|
||||
$color-accent-3: #8c8c8c;
|
||||
$color-accent-2: #383838;
|
||||
$color-accent-1: #2bbc8a;
|
||||
$color-quote: #2bbc8a;
|
||||
32
hugo-content/themes/cactus/assets/scss/partial/archive.scss
Normal file
32
hugo-content/themes/cactus/assets/scss/partial/archive.scss
Normal file
@@ -0,0 +1,32 @@
|
||||
#archive {
|
||||
.post-list {
|
||||
padding: 0;
|
||||
|
||||
.post-item {
|
||||
margin-bottom: 1rem;
|
||||
margin-left: 0;
|
||||
list-style-type: none;
|
||||
|
||||
.meta {
|
||||
display: block;
|
||||
margin-right: 16px;
|
||||
min-width: 100px;
|
||||
color: $color-meta;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
@media (min-width: 480px) {
|
||||
.post-list {
|
||||
.post-item {
|
||||
display: flex;
|
||||
margin-bottom: 5px;
|
||||
margin-left: 1rem;
|
||||
|
||||
.meta {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
158
hugo-content/themes/cactus/assets/scss/partial/article.scss
Normal file
158
hugo-content/themes/cactus/assets/scss/partial/article.scss
Normal file
@@ -0,0 +1,158 @@
|
||||
article {
|
||||
header {
|
||||
.posttitle {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
text-transform: none;
|
||||
font-size: 1.5em;
|
||||
line-height: 1.25;
|
||||
}
|
||||
.meta {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
.meta * {
|
||||
color: $color-accent-3;
|
||||
font-size: .85rem;
|
||||
}
|
||||
.author {
|
||||
text-transform: uppercase;
|
||||
letter-spacing: .01em;
|
||||
font-weight: 700;
|
||||
}
|
||||
.postdate {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
.content {
|
||||
h2 {
|
||||
&:before {
|
||||
position: absolute;
|
||||
top: -4px;
|
||||
left: -1rem;
|
||||
color: $color-accent-1;
|
||||
content: "#";
|
||||
font-weight: bold;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.content img,
|
||||
.content video {
|
||||
display: block;
|
||||
margin: auto;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
|
||||
/* http://webdesignerwall.com/tutorials/css-elastic-videos */
|
||||
.video-container {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
padding-top: 56.25% e;
|
||||
// (9/16 * 100)% // 16:9 ratio
|
||||
height: 0;
|
||||
|
||||
iframe,
|
||||
object,
|
||||
embed {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin-top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
blockquote {
|
||||
margin: 1rem 10px;
|
||||
padding: .5em 10px;
|
||||
background: inherit;
|
||||
color: $color-quote;
|
||||
quotes: "\201C" "\201D" "\2018" "\2019";
|
||||
font-weight: bold;
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
&:before {
|
||||
margin-right: .25em;
|
||||
color: $color-quote;
|
||||
content: "\201C";
|
||||
vertical-align: -.4em;
|
||||
font-size: 2em;
|
||||
line-height: .1em;
|
||||
}
|
||||
footer {
|
||||
margin: line-height 0;
|
||||
color: $color-meta;
|
||||
font-size: 11px;
|
||||
|
||||
a {
|
||||
background-image: linear-gradient(transparent, transparent 5px, $color-meta 5px, $color-meta);
|
||||
color: $color-meta;
|
||||
}
|
||||
a:hover {
|
||||
background-image: linear-gradient(transparent, transparent 4px, lighten($color-meta, 20%) 4px, lighten($color-meta, 20%));
|
||||
color: lighten($color-meta, 20%);
|
||||
}
|
||||
cite {
|
||||
&:before {
|
||||
padding: 0 .5em;
|
||||
content: "—";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.pullquote {
|
||||
margin: 0;
|
||||
width: 45%;
|
||||
text-align: left;
|
||||
|
||||
&.left {
|
||||
margin-right: 1em;
|
||||
margin-left: .5em;
|
||||
}
|
||||
&.right {
|
||||
margin-right: .5em;
|
||||
margin-left: 1em;
|
||||
}
|
||||
}
|
||||
.caption {
|
||||
position: relative;
|
||||
display: block;
|
||||
margin-top: .5em;
|
||||
color: $color-meta;
|
||||
text-align: center;
|
||||
font-size: .9em;
|
||||
}
|
||||
}
|
||||
}
|
||||
.posttitle {
|
||||
text-transform: none;
|
||||
font-size: 1.5em;
|
||||
line-height: 1.25;
|
||||
}
|
||||
.article-tag {
|
||||
.tag-link {
|
||||
&:before {
|
||||
content: "#";
|
||||
@include underline(10px, $color-link);
|
||||
}
|
||||
}
|
||||
}
|
||||
.article-category {
|
||||
.category-link {
|
||||
@include underline(10px, $color-link);
|
||||
}
|
||||
}
|
||||
@media (min-width: 480px) {
|
||||
.article-read-time,
|
||||
.article-tag,
|
||||
.article-category {
|
||||
display: inline;
|
||||
|
||||
&:before {
|
||||
content: "|";
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,18 @@
|
||||
#categories {
|
||||
.category-list-title {
|
||||
color: $color-meta;
|
||||
}
|
||||
.category-list {
|
||||
.category-list-item {
|
||||
.category-list-count {
|
||||
color: $color-meta;
|
||||
}
|
||||
.category-list-count:before {
|
||||
content: " (";
|
||||
}
|
||||
.category-list-count:after {
|
||||
content: ")";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
.blog-post-comments {
|
||||
margin-top: 4rem;
|
||||
}
|
||||
66
hugo-content/themes/cactus/assets/scss/partial/footer.scss
Normal file
66
hugo-content/themes/cactus/assets/scss/partial/footer.scss
Normal file
@@ -0,0 +1,66 @@
|
||||
#footer {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
margin-bottom: 10px;
|
||||
width: 100%;
|
||||
color: $color-meta;
|
||||
vertical-align: top;
|
||||
text-align: center;
|
||||
font-size: 11px;
|
||||
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
li {
|
||||
display: inline-block;
|
||||
margin-right: 15px;
|
||||
border-right: 1px solid;
|
||||
border-color: $color-border;
|
||||
vertical-align: middle;
|
||||
|
||||
a {
|
||||
margin-right: 15px;
|
||||
}
|
||||
}
|
||||
li:last-child {
|
||||
margin-right: 0;
|
||||
border-right: 0;
|
||||
|
||||
a {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
a {
|
||||
color: $color-meta;
|
||||
text-decoration: underline;
|
||||
background-image: none;
|
||||
}
|
||||
a:hover {
|
||||
color: lighten($color-meta, 20%);
|
||||
}
|
||||
.footer-left {
|
||||
height: 20px;
|
||||
vertical-align: middle;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
@media (min-width: 39rem) {
|
||||
#footer {
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
align-content: center;
|
||||
margin-bottom: 20px;
|
||||
|
||||
.footer-left {
|
||||
align-self: flex-start;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.footer-right {
|
||||
align-self: flex-end;
|
||||
}
|
||||
}
|
||||
};
|
||||
123
hugo-content/themes/cactus/assets/scss/partial/header.scss
Normal file
123
hugo-content/themes/cactus/assets/scss/partial/header.scss
Normal file
@@ -0,0 +1,123 @@
|
||||
#header {
|
||||
margin: 0 auto 2rem;
|
||||
width: 100%;
|
||||
|
||||
h1,
|
||||
.h1 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
color: $color-text;
|
||||
letter-spacing: .01em;
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
font-size: 1.5rem;
|
||||
line-height: 2rem;
|
||||
|
||||
@include antialias();
|
||||
}
|
||||
a {
|
||||
background: none;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
#logo {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
margin-right: 20px;
|
||||
width: $logo-width;
|
||||
height: $logo-height;
|
||||
border-radius: 5px;
|
||||
background-size: $logo-width $logo-height;
|
||||
background-repeat: no-repeat;
|
||||
@if $logo-grayout {
|
||||
filter: grayscale(100%);
|
||||
-webkit-filter: grayscale(100%);
|
||||
}
|
||||
}
|
||||
#nav {
|
||||
color: $color-accent-1;
|
||||
letter-spacing: .01em;
|
||||
font-weight: 200;
|
||||
font-style: normal;
|
||||
font-size: .8rem;
|
||||
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
line-height: 15px;
|
||||
|
||||
a {
|
||||
margin-right: 15px;
|
||||
color: $color-accent-1;
|
||||
}
|
||||
a:hover {
|
||||
@include underline(5px, $color-accent-1);
|
||||
}
|
||||
li {
|
||||
display: inline-block;
|
||||
margin-right: 15px;
|
||||
border-right: 1px dotted;
|
||||
border-color: $color-accent-1;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.icon {
|
||||
display: none;
|
||||
}
|
||||
li:last-child {
|
||||
margin-right: 0;
|
||||
border-right: 0;
|
||||
|
||||
a {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@if $logo-grayout {
|
||||
#header:hover {
|
||||
#logo {
|
||||
filter: none;
|
||||
-webkit-filter: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 480px) {
|
||||
#header #title {
|
||||
display: table;
|
||||
margin-right: 5rem;
|
||||
min-height: $logo-height;
|
||||
h1 {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
#header #nav {
|
||||
ul {
|
||||
a:hover {
|
||||
background: none;
|
||||
}
|
||||
li {
|
||||
display: none;
|
||||
border-right: 0;
|
||||
}
|
||||
li.icon {
|
||||
position: absolute;
|
||||
top: 77px;
|
||||
right: 1rem;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
ul.responsive {
|
||||
li {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
li:not(:first-child) {
|
||||
padding-top: 1rem;
|
||||
padding-left: $logo-width + 20px;
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
};
|
||||
40
hugo-content/themes/cactus/assets/scss/partial/index.scss
Normal file
40
hugo-content/themes/cactus/assets/scss/partial/index.scss
Normal file
@@ -0,0 +1,40 @@
|
||||
.post-list {
|
||||
padding: 0;
|
||||
|
||||
.post-item {
|
||||
margin-bottom: 1rem;
|
||||
margin-left: 0;
|
||||
list-style-type: none;
|
||||
|
||||
.meta {
|
||||
display: block;
|
||||
margin-right: 16px;
|
||||
min-width: 100px;
|
||||
color: $color-meta;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
@media (min-width: 480px) {
|
||||
.post-list {
|
||||
.post-item {
|
||||
display: flex;
|
||||
margin-bottom: 5px;
|
||||
|
||||
.meta {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.project-list {
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
|
||||
.project-item {
|
||||
margin-bottom: 5px;
|
||||
p {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
.pagination {
|
||||
display: inline-block;
|
||||
margin-top: 2rem;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
|
||||
.page-number {
|
||||
color: $color-text;
|
||||
font-size: .8rem;
|
||||
}
|
||||
a {
|
||||
padding: 4px 6px;
|
||||
border-radius: 5px;
|
||||
// background-color: $color-accent-1
|
||||
background-image: none;
|
||||
color: $color-text;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover {
|
||||
background-image: none;
|
||||
}
|
||||
a:hover:not(.active) {
|
||||
color: $color-accent-2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,256 @@
|
||||
#header-post {
|
||||
position: fixed;
|
||||
top: 2rem;
|
||||
right: 0;
|
||||
display: inline-block;
|
||||
float: right;
|
||||
z-index: 100;
|
||||
|
||||
a {
|
||||
background: none;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
a.icon {
|
||||
background: none;
|
||||
|
||||
&:hover {
|
||||
color: $color-link;
|
||||
}
|
||||
}
|
||||
nav {
|
||||
ul {
|
||||
display: block;
|
||||
|
||||
list-style-image: none;
|
||||
|
||||
list-style-position: outside;
|
||||
|
||||
list-style-type: none;
|
||||
|
||||
padding-inline-start: 40px;
|
||||
|
||||
li {
|
||||
display: list-item;
|
||||
|
||||
margin-right: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
nav > ul {
|
||||
margin-block-end: 1em;
|
||||
|
||||
margin-block-start: 1em;
|
||||
}
|
||||
|
||||
ul {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
|
||||
li {
|
||||
display: inline-block;
|
||||
margin-right: 15px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
li:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
#menu-icon {
|
||||
float: right;
|
||||
margin-right: 2rem;
|
||||
margin-left: 15px;
|
||||
|
||||
&:hover {
|
||||
color: $color-accent-1;
|
||||
}
|
||||
}
|
||||
#menu-icon-tablet {
|
||||
float: right;
|
||||
margin-right: 2rem;
|
||||
margin-left: 15px;
|
||||
|
||||
&:hover {
|
||||
color: $color-accent-1;
|
||||
}
|
||||
}
|
||||
#top-icon-tablet {
|
||||
position: fixed;
|
||||
right: 2rem;
|
||||
bottom: 2rem;
|
||||
margin-right: 2rem;
|
||||
margin-left: 15px;
|
||||
|
||||
&:hover {
|
||||
color: $color-accent-1;
|
||||
}
|
||||
}
|
||||
.active {
|
||||
color: $color-accent-1;
|
||||
}
|
||||
#menu {
|
||||
visibility: hidden;
|
||||
margin-right: 2rem;
|
||||
}
|
||||
#nav {
|
||||
color: $color-accent-1;
|
||||
letter-spacing: .01em;
|
||||
font-weight: 200;
|
||||
font-style: normal;
|
||||
font-size: .8rem;
|
||||
|
||||
ul {
|
||||
line-height: 15px;
|
||||
|
||||
a {
|
||||
margin-right: 15px;
|
||||
color: $color-accent-1;
|
||||
}
|
||||
a:hover {
|
||||
@include underline(5px, $color-accent-1);
|
||||
}
|
||||
li {
|
||||
border-right: 1px dotted $color-accent-1;
|
||||
}
|
||||
li:last-child {
|
||||
margin-right: 0;
|
||||
border-right: 0;
|
||||
|
||||
a {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#actions {
|
||||
float: right;
|
||||
margin-top: 2rem;
|
||||
margin-right: 2rem;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
|
||||
ul {
|
||||
display: block;
|
||||
}
|
||||
.info {
|
||||
display: block;
|
||||
font-style: italic;
|
||||
}
|
||||
}
|
||||
#share {
|
||||
clear: both;
|
||||
padding-top: 1rem;
|
||||
padding-right: 2rem;
|
||||
text-align: right;
|
||||
|
||||
li {
|
||||
display: block;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
#toc {
|
||||
float: right;
|
||||
clear: both;
|
||||
overflow: auto;
|
||||
margin-top: 1rem;
|
||||
padding-right: 2rem;
|
||||
max-width: 20em;
|
||||
max-height: calc(95vh - 7rem);
|
||||
text-align: right;
|
||||
|
||||
a:hover {
|
||||
color: $color-link;
|
||||
}
|
||||
// .toc-level-1 > .toc-link
|
||||
// display: none
|
||||
|
||||
nav > ul > li {
|
||||
color: $color-text;
|
||||
font-size: .8rem;
|
||||
|
||||
&:before {
|
||||
color: $color-accent-1;
|
||||
content: "#";
|
||||
margin-right: 8px;
|
||||
}
|
||||
}
|
||||
nav > ul > li > ul > li {
|
||||
color: $color-meta;
|
||||
font-size: .7rem;
|
||||
|
||||
&:before {
|
||||
color: $color-accent-1;
|
||||
content: "·";
|
||||
font-weight: bold;
|
||||
margin-right: 3px;
|
||||
}
|
||||
}
|
||||
nav > ul > li > ul > li > ul > li {
|
||||
color: darken($color-meta, 20%);
|
||||
font-size: .4rem;
|
||||
}
|
||||
.toc-level-5 {
|
||||
display: none;
|
||||
}
|
||||
.toc-level-6 {
|
||||
display: none;
|
||||
}
|
||||
.toc-number {
|
||||
display: none;
|
||||
}
|
||||
// smartphone + phapblet
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 500px) {
|
||||
#header-post {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 900px) {
|
||||
#header-post {
|
||||
#menu-icon {
|
||||
display: none;
|
||||
}
|
||||
#actions {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 1199px) {
|
||||
#header-post {
|
||||
#toc {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 900px) {
|
||||
#header-post {
|
||||
#menu-icon-tablet {
|
||||
display: none !important;
|
||||
}
|
||||
#top-icon-tablet {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 1199px) {
|
||||
#header-post {
|
||||
#actions {
|
||||
width: auto;
|
||||
|
||||
ul {
|
||||
display: inline-block;
|
||||
float: right;
|
||||
}
|
||||
.info {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-right: 2rem;
|
||||
font-style: italic;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,154 @@
|
||||
#footer-post {
|
||||
position: fixed;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
z-index: 5000000;
|
||||
width: 100%;
|
||||
border-top: 1px solid $color-border;
|
||||
background: $color-footer-mobile-1;
|
||||
transition: opacity .2s;
|
||||
|
||||
a {
|
||||
background: none;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
a.icon {
|
||||
background: none;
|
||||
|
||||
&:hover {
|
||||
color: $color-link;
|
||||
}
|
||||
}
|
||||
#nav-footer {
|
||||
padding-right: 1rem;
|
||||
padding-left: 1rem;
|
||||
background: $color-footer-mobile-2;
|
||||
text-align: center;
|
||||
|
||||
a {
|
||||
color: $color-accent-1;
|
||||
font-size: 1em;
|
||||
}
|
||||
a:hover {
|
||||
@include underline(5px, $color-accent-1);
|
||||
}
|
||||
ul {
|
||||
display: table;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
list-style-type: none;
|
||||
|
||||
li {
|
||||
display: inline-table;
|
||||
padding: 10px;
|
||||
width: 20%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
}
|
||||
#actions-footer {
|
||||
overflow: auto;
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
padding-right: 1rem;
|
||||
padding-left: 1rem;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
|
||||
a {
|
||||
display: inline-block;
|
||||
padding-left: 1rem;
|
||||
color: $color-accent-1;
|
||||
}
|
||||
}
|
||||
#share-footer {
|
||||
padding-right: 1rem;
|
||||
padding-left: 1rem;
|
||||
background: $color-footer-mobile-2;
|
||||
text-align: center;
|
||||
|
||||
ul {
|
||||
display: table;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
list-style-type: none;
|
||||
|
||||
li {
|
||||
display: inline-table;
|
||||
padding: 10px;
|
||||
width: 20%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
}
|
||||
#toc-footer {
|
||||
clear: both;
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
background: $color-footer-mobile-2;
|
||||
text-align: left;
|
||||
|
||||
#TableOfContents {
|
||||
ul {
|
||||
margin: 0;
|
||||
padding-left: 20px;
|
||||
list-style-type: none;
|
||||
|
||||
li {
|
||||
line-height: 30px;
|
||||
}
|
||||
}
|
||||
}
|
||||
a:hover {
|
||||
color: $color-link;
|
||||
}
|
||||
// .toc-level-1 > .toc-link
|
||||
// display: none
|
||||
|
||||
#TableOfContents > ul > li {
|
||||
color: $color-text;
|
||||
font-size: .8rem;
|
||||
|
||||
&:before {
|
||||
color: $color-accent-1;
|
||||
content: "#";
|
||||
margin-right: 8px;
|
||||
}
|
||||
}
|
||||
#TableOfContents > ul > li > ul > li {
|
||||
color: $color-meta;
|
||||
font-size: .7rem;
|
||||
line-height: 15px;
|
||||
|
||||
&:before {
|
||||
color: $color-accent-1;
|
||||
content: "·";
|
||||
|
||||
font-weight: bold;
|
||||
|
||||
margin-right: 3px;
|
||||
}
|
||||
}
|
||||
#TableOfContents > ul > li > ul > li > ul > li {
|
||||
display: none;
|
||||
}
|
||||
// .toc-level-5
|
||||
// display: none
|
||||
|
||||
// .toc-level-6
|
||||
// display: none
|
||||
|
||||
// .toc-number
|
||||
// display: none
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 500px) {
|
||||
#footer-post-container {
|
||||
display: none;
|
||||
}
|
||||
};
|
||||
49
hugo-content/themes/cactus/assets/scss/partial/search.scss
Normal file
49
hugo-content/themes/cactus/assets/scss/partial/search.scss
Normal file
@@ -0,0 +1,49 @@
|
||||
.search-input {
|
||||
padding: 4px 7px;
|
||||
width: 100%;
|
||||
outline: none;
|
||||
border: solid 1px $color-accent-3;
|
||||
border-radius: 5px;
|
||||
background-color: $color-background;
|
||||
color: $color-text;
|
||||
font-size: 1.2rem;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
|
||||
&:focus {
|
||||
border: solid 1px $color-accent-1;
|
||||
}
|
||||
}
|
||||
#search-result {
|
||||
ul.search-result-list {
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
li {
|
||||
margin: 2em auto;
|
||||
}
|
||||
a.search-result-title {
|
||||
background-image: none;
|
||||
color: $color-text;
|
||||
text-transform: capitalize;
|
||||
font-weight: bold;
|
||||
line-height: 1.2;
|
||||
}
|
||||
p.search-result {
|
||||
overflow: hidden;
|
||||
margin: .4em auto;
|
||||
max-height: 13em;
|
||||
text-align: justify;
|
||||
font-size: .8em;
|
||||
}
|
||||
em.search-keyword {
|
||||
border-bottom: 1px dashed $color-link;
|
||||
color: $color-link;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.search-no-result {
|
||||
display: none;
|
||||
padding-bottom: .5em;
|
||||
color: $color-text;
|
||||
}
|
||||
13
hugo-content/themes/cactus/assets/scss/partial/tags.scss
Normal file
13
hugo-content/themes/cactus/assets/scss/partial/tags.scss
Normal file
@@ -0,0 +1,13 @@
|
||||
#tag-cloud {
|
||||
.tag-cloud-title {
|
||||
color: $color-meta;
|
||||
}
|
||||
.tag-cloud-tags {
|
||||
clear: both;
|
||||
text-align: center;
|
||||
a {
|
||||
display: inline-block;
|
||||
margin: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
86
hugo-content/themes/cactus/assets/scss/partial/tooltip.scss
Normal file
86
hugo-content/themes/cactus/assets/scss/partial/tooltip.scss
Normal file
@@ -0,0 +1,86 @@
|
||||
// ref: https://github.com/primer/primer/blob/master/modules/primer-tooltips/lib/tooltips.scss
|
||||
.tooltipped {
|
||||
position: relative;
|
||||
}
|
||||
// This is the tooltip bubble
|
||||
.tooltipped::after {
|
||||
position: absolute;
|
||||
z-index: 1000000;
|
||||
display: none;
|
||||
padding: .2em .5em;
|
||||
-webkit-font-smoothing: subpixel-antialiased;
|
||||
color: $color-background;
|
||||
font-display: swap;
|
||||
font-weight: 400;
|
||||
font-size: $font-size * 0.8;
|
||||
font-family: $font-family-body;
|
||||
line-height: $line-height;
|
||||
text-rendering: geometricPrecision;
|
||||
text-align: center;
|
||||
word-wrap: break-word;
|
||||
white-space: pre;
|
||||
content: attr(aria-label);
|
||||
background: $color-text;
|
||||
border-radius: 3px;
|
||||
opacity: 0;
|
||||
}
|
||||
// This is the tooltip arrow
|
||||
.tooltipped::before {
|
||||
position: absolute;
|
||||
z-index: 1000001;
|
||||
display: none;
|
||||
width: 0;
|
||||
height: 0;
|
||||
color: $color-text;
|
||||
pointer-events: none;
|
||||
content: '';
|
||||
border: 6px solid transparent;
|
||||
opacity: 0;
|
||||
}
|
||||
// delay animation for tooltip
|
||||
@keyframes tooltip-appear {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
};
|
||||
|
||||
// This will indicate when we'll activate the tooltip
|
||||
.tooltipped:hover,
|
||||
.tooltipped:active,
|
||||
.tooltipped:focus {
|
||||
&::before,
|
||||
&::after {
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
animation-name: tooltip-appear;
|
||||
animation-duration: 0.1s;
|
||||
animation-fill-mode: forwards;
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
// Tooltipped south
|
||||
}
|
||||
.tooltipped-s,
|
||||
.tooltipped-sw {
|
||||
&::after {
|
||||
top: 100%;
|
||||
right: 50%;
|
||||
margin-top: 6px;
|
||||
}
|
||||
&::before {
|
||||
top: auto;
|
||||
right: 50%;
|
||||
bottom: -7px;
|
||||
margin-right: -6px;
|
||||
border-bottom-color: $color-text;
|
||||
}
|
||||
}
|
||||
.tooltipped-sw::after {
|
||||
margin-right: -16px;
|
||||
}
|
||||
// Move the tooltip body to the center of the object.
|
||||
.tooltipped-s::after {
|
||||
transform: translateX(50%);
|
||||
}
|
||||
105
hugo-content/themes/cactus/assets/scss/rtl.scss
Normal file
105
hugo-content/themes/cactus/assets/scss/rtl.scss
Normal file
@@ -0,0 +1,105 @@
|
||||
@font-face {
|
||||
font-family: Vazir;
|
||||
src: url('../lib/vazir-font/Vazir.eot');
|
||||
src: url("../lib/vazir-font/Vazir.eot?#iefix") format('embedded-opentype'), url("../lib/vazir-font/Vazir.woff2") format('woff2'), url("../lib/vazir-font/Vazir.woff") format('woff'), url("../lib/vazir-font/Vazir.ttf") format('truetype');
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Vazir;
|
||||
src: url('../lib/vazir-font/Vazir-Bold.eot');
|
||||
src: url("../lib/vazir-font/Vazir-Bold.eot?#iefix") format('embedded-opentype'), url("../lib/vazir-font/Vazir-Bold.woff2") format('woff2'), url("../lib/vazir-font/Vazir-Bold.woff") format('woff'), url("../lib/vazir-font/Vazir-Bold.ttf") format('truetype');
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Vazir;
|
||||
src: url('../lib/vazir-font/Vazir-Light.eot');
|
||||
src: url("../lib/vazir-font/Vazir-Light.eot?#iefix") format('embedded-opentype'), url("../lib/vazir-font/Vazir-Light.woff2") format('woff2'), url("../lib/vazir-font/Vazir-Light.woff") format('woff'), url("../lib/vazir-font/Vazir-Light.ttf") format('truetype');
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
.rtl {
|
||||
font-family: Vazir, sans-serif;
|
||||
direction: rtl;
|
||||
|
||||
#nav {
|
||||
li {
|
||||
margin-right: 0px !important;
|
||||
padding-left: 15px;
|
||||
border-right: 0px !important;
|
||||
border-left: 1px dotted;
|
||||
}
|
||||
li:last-child {
|
||||
margin-right: 15px !important;
|
||||
border-left: 0 !important;
|
||||
}
|
||||
}
|
||||
#header {
|
||||
#logo {
|
||||
float: right;
|
||||
margin-right: 0;
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
#footer {
|
||||
li {
|
||||
margin-right: 0px;
|
||||
padding-left: 15px;
|
||||
border-right: 0px;
|
||||
border-left: 1px dotted;
|
||||
}
|
||||
li:last-child {
|
||||
margin-right: 15px !important;
|
||||
border-left: 0 !important;
|
||||
}
|
||||
#logo {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
article {
|
||||
.content {
|
||||
h2:before {
|
||||
right: -1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.post-list {
|
||||
.post-item {
|
||||
.meta {
|
||||
margin-left: 16px;
|
||||
margin-right: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 480px) {
|
||||
.rtl {
|
||||
.post-list {
|
||||
.post-item {
|
||||
.meta {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 480px) {
|
||||
.rtl {
|
||||
#header {
|
||||
#title {
|
||||
margin-left: 5rem;
|
||||
margin-right: 0;
|
||||
}
|
||||
#nav {
|
||||
ul {
|
||||
li {
|
||||
left: 1rem;
|
||||
right: auto;
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
231
hugo-content/themes/cactus/assets/scss/style.scss
Normal file
231
hugo-content/themes/cactus/assets/scss/style.scss
Normal file
@@ -0,0 +1,231 @@
|
||||
@import "variables";
|
||||
@import "colors/{{ site.Params.colortheme | default "white" }}";
|
||||
@import "util";
|
||||
@import "mixins";
|
||||
@import "extend";
|
||||
@import "fonts";
|
||||
|
||||
// global-reset()
|
||||
|
||||
*,
|
||||
*:before,
|
||||
*:after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
html {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
border-top: 2px solid $color-text;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
body {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
background-color: $color-background;
|
||||
color: $color-text;
|
||||
font-display: swap;
|
||||
font-weight: 400;
|
||||
font-size: $font-size;
|
||||
font-family: $font-family-body;
|
||||
line-height: $line-height;
|
||||
text-rendering: geometricPrecision;
|
||||
flex: 1;
|
||||
|
||||
@include antialias();
|
||||
|
||||
@extend $base-style !optional;
|
||||
}
|
||||
.content {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: 100%;
|
||||
overflow-wrap: break-word;
|
||||
|
||||
p {
|
||||
@include hyphens(auto);
|
||||
}
|
||||
code {
|
||||
@include hyphens(manual);
|
||||
}
|
||||
a {
|
||||
color: $color-text;
|
||||
text-decoration: none;
|
||||
|
||||
@include underline(5px, $color-text);
|
||||
|
||||
&:hover {
|
||||
background-image: linear-gradient(transparent, transparent 4px, $color-link 4px, $color-link);
|
||||
}
|
||||
}
|
||||
a.icon {
|
||||
background: none;
|
||||
|
||||
&:hover {
|
||||
color: $color-link;
|
||||
}
|
||||
}
|
||||
h1 a,
|
||||
.h1 a,
|
||||
h2 a,
|
||||
h3 a,
|
||||
h4 a,
|
||||
h5 a,
|
||||
h6 a {
|
||||
background: none;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
h1 a:hover,
|
||||
.h1 a:hover,
|
||||
h2 a:hover,
|
||||
h3 a:hover,
|
||||
h4 a:hover,
|
||||
h5 a:hover,
|
||||
h6 a:hover {
|
||||
@include underline(6px, $color-link);
|
||||
}
|
||||
h6 {
|
||||
a {
|
||||
background: none;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
h6 {
|
||||
a:hover {
|
||||
@include underline(6px, $color-link);
|
||||
}
|
||||
}
|
||||
}
|
||||
@media (min-width: 540px) {
|
||||
.image-wrap {
|
||||
flex-direction: row;
|
||||
margin-bottom: 2rem;
|
||||
|
||||
.image-block {
|
||||
flex: 1 0 35%;
|
||||
margin-right: 2rem;
|
||||
}
|
||||
p {
|
||||
flex: 1 0 65%;
|
||||
}
|
||||
}
|
||||
}
|
||||
.max-width {
|
||||
max-width: $page-width;
|
||||
}
|
||||
@media (max-width: 480px) { // smaller margins at smaller screen widths
|
||||
.px3 {
|
||||
padding-right: 1rem;
|
||||
padding-left: 1rem;
|
||||
}
|
||||
.my4 {
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 480px) {
|
||||
p {
|
||||
text-align: justify;
|
||||
}
|
||||
}
|
||||
|
||||
@import "partial/header";
|
||||
@import "partial/post/actions_desktop";
|
||||
@import "partial/post/actions_mobile";
|
||||
@import "partial/index";
|
||||
@import "partial/article";
|
||||
@import "partial/archive";
|
||||
@import "partial/comments";
|
||||
@import "partial/footer";
|
||||
@import "partial/pagination";
|
||||
@import "partial/search";
|
||||
@import "partial/tags";
|
||||
@import "partial/tooltip";
|
||||
@import "partial/categories";
|
||||
|
||||
pre {
|
||||
overflow-x: auto;
|
||||
padding: 15px 15px 10px 15px;
|
||||
border: 1px dotted $color-border;
|
||||
border-radius: 2px;
|
||||
-webkit-border-radius: 2px;
|
||||
font-size: 13px;
|
||||
font-family: $font-family-mono;
|
||||
line-height: 22px;
|
||||
position: relative;
|
||||
|
||||
.code-copy-btn {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
border: 0;
|
||||
border-radius: 0 2px;
|
||||
padding: 0;
|
||||
font-family: "JetBrains Mono", monospace;
|
||||
font-weight: 800;
|
||||
font-size: 0.9em;
|
||||
line-height: 1.7;
|
||||
color: #fff;
|
||||
background-color: #8c8c8c;
|
||||
min-width: 60px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
letter-spacing: 0em;
|
||||
}
|
||||
|
||||
.code-copy-btn:hover {
|
||||
background-color: #666;
|
||||
color: #2bbc8a;
|
||||
}
|
||||
|
||||
code {
|
||||
display: block;
|
||||
padding: 0;
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: $font-family-mono;
|
||||
padding: 0 5px;
|
||||
border: 1px dotted $color-border;
|
||||
border-radius: 2px;
|
||||
-webkit-border-radius: 2px;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
|
||||
& > div {
|
||||
border-radius: 2px;
|
||||
-webkit-border-radius: 2px;
|
||||
}
|
||||
|
||||
pre {
|
||||
border: none;
|
||||
background: none;
|
||||
}
|
||||
|
||||
table {
|
||||
|
||||
pre {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
td:first-child {
|
||||
pre {
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
td:last-child {
|
||||
pre {
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user