From 2dace68a24ca0fc4355b2ebceea8eaa1be36fd10 Mon Sep 17 00:00:00 2001
From: Yaroslav <contact@yaroslavps.com>
Date: Sun, 15 Mar 2020 02:04:30 +0300
Subject: css to sass; fixed fucking pre overflow

---
 config.toml               |   6 +-
 sass/css/_colors.scss     |   6 +
 sass/css/_fonts.scss      |  56 ++++++++
 sass/css/_normalize.scss  | 349 ++++++++++++++++++++++++++++++++++++++++++++++
 sass/css/yaroslavps.scss  | 134 ++++++++++++++++++
 static/css/fonts.css      |  53 -------
 static/css/yaroslavps.css | 127 -----------------
 templates/base.html       |  34 ++---
 8 files changed, 567 insertions(+), 198 deletions(-)
 create mode 100644 sass/css/_colors.scss
 create mode 100644 sass/css/_fonts.scss
 create mode 100644 sass/css/_normalize.scss
 create mode 100644 sass/css/yaroslavps.scss
 delete mode 100644 static/css/fonts.css
 delete mode 100644 static/css/yaroslavps.css

diff --git a/config.toml b/config.toml
index e31e91d..009ac8a 100644
--- a/config.toml
+++ b/config.toml
@@ -2,10 +2,12 @@ title = "A weblog by Yaroslav de la Peña Smirnov"
 base_url = "https://www.yaroslavps.com/"
 
 generate_rss = true
-compile_sass = false
-highlight_code = true
+compile_sass = true
 build_search_index = true
 
+highlight_code = true
+highlight_theme = "ayu-dark"
+
 default_language = "en"
 languages = [
   {code = "es", search = true},
diff --git a/sass/css/_colors.scss b/sass/css/_colors.scss
new file mode 100644
index 0000000..480b290
--- /dev/null
+++ b/sass/css/_colors.scss
@@ -0,0 +1,6 @@
+$bg: #000000;
+$white: #e5e9f0;
+$gray: #a1a6b2;
+$magenta: #9c6992;
+$cyan: #7fac96;
+$dark_cyan: #5b8277;
diff --git a/sass/css/_fonts.scss b/sass/css/_fonts.scss
new file mode 100644
index 0000000..de85b23
--- /dev/null
+++ b/sass/css/_fonts.scss
@@ -0,0 +1,56 @@
+@font-face {
+  font-family: "IBM Plex Sans";
+  src: url("/fonts/IBMPlexSans-Regular.ttf");
+}
+
+@font-face {
+  font-family: "IBM Plex Sans";
+  src: url("/fonts/IBMPlexSans-Bold.ttf");
+  font-weight: bold;
+}
+
+@font-face {
+  font-family: "IBM Plex Sans";
+  src: url("/fonts/IBMPlexSans-Italic.ttf");
+  font-style: italic;
+}
+
+@font-face {
+  font-family: "IBM Plex Sans";
+  src: url("/fonts/IBMPlexSans-BoldItalic.ttf");
+  font-style: italic;
+  font-weight: bold;
+}
+
+@font-face {
+  font-family: "IBM Plex Serif";
+  src: url("/fonts/IBMPlexSerif-Regular.ttf");
+}
+
+@font-face {
+  font-family: "IBM Plex Serif";
+  src: url("/fonts/IBMPlexSerif-Bold.ttf");
+  font-weight: bold;
+}
+
+@font-face {
+  font-family: "IBM Plex Serif";
+  src: url("/fonts/IBMPlexSerif-Italic.ttf");
+  font-style: italic;
+}
+
+@font-face {
+  font-family: "IBM Plex Serif";
+  src: url("/fonts/IBMPlexSerif-BoldItalic.ttf");
+  font-style: italic;
+  font-weight: bold;
+}
+
+@font-face {
+  font-family: "IBM Plex Mono";
+  src: url("/fonts/BlexMono.ttf");
+}
+
+$font_sans: "IBM Plex Sans", Verdana, Helvetica, sans-serif;
+$font_serif: "IBM Plex Serif", Georgia, serif;
+$font_mono: "IBM Plex Mono", monospace;
diff --git a/sass/css/_normalize.scss b/sass/css/_normalize.scss
new file mode 100644
index 0000000..192eb9c
--- /dev/null
+++ b/sass/css/_normalize.scss
@@ -0,0 +1,349 @@
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
+
+/* Document
+   ========================================================================== */
+
+/**
+ * 1. Correct the line height in all browsers.
+ * 2. Prevent adjustments of font size after orientation changes in iOS.
+ */
+
+html {
+  line-height: 1.15; /* 1 */
+  -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/* Sections
+   ========================================================================== */
+
+/**
+ * Remove the margin in all browsers.
+ */
+
+body {
+  margin: 0;
+}
+
+/**
+ * Render the `main` element consistently in IE.
+ */
+
+main {
+  display: block;
+}
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+/* Grouping content
+   ========================================================================== */
+
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+
+hr {
+  box-sizing: content-box; /* 1 */
+  height: 0; /* 1 */
+  overflow: visible; /* 2 */
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+pre {
+  font-family: monospace, monospace; /* 1 */
+  font-size: 1em; /* 2 */
+}
+
+/* Text-level semantics
+   ========================================================================== */
+
+/**
+ * Remove the gray background on active links in IE 10.
+ */
+
+a {
+  background-color: transparent;
+}
+
+/**
+ * 1. Remove the bottom border in Chrome 57-
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+
+abbr[title] {
+  border-bottom: none; /* 1 */
+  text-decoration: underline; /* 2 */
+  text-decoration: underline dotted; /* 2 */
+}
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+
+b,
+strong {
+  font-weight: bolder;
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+code,
+kbd,
+samp {
+  font-family: monospace, monospace; /* 1 */
+  font-size: 1em; /* 2 */
+}
+
+/**
+ * Add the correct font size in all browsers.
+ */
+
+small {
+  font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+
+sub,
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+sup {
+  top: -0.5em;
+}
+
+/* Embedded content
+   ========================================================================== */
+
+/**
+ * Remove the border on images inside links in IE 10.
+ */
+
+img {
+  border-style: none;
+}
+
+/* Forms
+   ========================================================================== */
+
+/**
+ * 1. Change the font styles in all browsers.
+ * 2. Remove the margin in Firefox and Safari.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+  font-family: inherit; /* 1 */
+  font-size: 100%; /* 1 */
+  line-height: 1.15; /* 1 */
+  margin: 0; /* 2 */
+}
+
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
+
+button,
+input { /* 1 */
+  overflow: visible;
+}
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+
+button,
+select { /* 1 */
+  text-transform: none;
+}
+
+/**
+ * Correct the inability to style clickable types in iOS and Safari.
+ */
+
+button,
+[type="button"],
+[type="reset"],
+[type="submit"] {
+  -webkit-appearance: button;
+}
+
+/**
+ * Remove the inner border and padding in Firefox.
+ */
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+  border-style: none;
+  padding: 0;
+}
+
+/**
+ * Restore the focus styles unset by the previous rule.
+ */
+
+button:-moz-focusring,
+[type="button"]:-moz-focusring,
+[type="reset"]:-moz-focusring,
+[type="submit"]:-moz-focusring {
+  outline: 1px dotted ButtonText;
+}
+
+/**
+ * Correct the padding in Firefox.
+ */
+
+fieldset {
+  padding: 0.35em 0.75em 0.625em;
+}
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ *    `fieldset` elements in all browsers.
+ */
+
+legend {
+  box-sizing: border-box; /* 1 */
+  color: inherit; /* 2 */
+  display: table; /* 1 */
+  max-width: 100%; /* 1 */
+  padding: 0; /* 3 */
+  white-space: normal; /* 1 */
+}
+
+/**
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+
+progress {
+  vertical-align: baseline;
+}
+
+/**
+ * Remove the default vertical scrollbar in IE 10+.
+ */
+
+textarea {
+  overflow: auto;
+}
+
+/**
+ * 1. Add the correct box sizing in IE 10.
+ * 2. Remove the padding in IE 10.
+ */
+
+[type="checkbox"],
+[type="radio"] {
+  box-sizing: border-box; /* 1 */
+  padding: 0; /* 2 */
+}
+
+/**
+ * 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;
+}
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+
+[type="search"] {
+  -webkit-appearance: textfield; /* 1 */
+  outline-offset: -2px; /* 2 */
+}
+
+/**
+ * Remove the inner padding in Chrome and Safari on macOS.
+ */
+
+[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 {
+  -webkit-appearance: button; /* 1 */
+  font: inherit; /* 2 */
+}
+
+/* Interactive
+   ========================================================================== */
+
+/*
+ * Add the correct display in Edge, IE 10+, and Firefox.
+ */
+
+details {
+  display: block;
+}
+
+/*
+ * Add the correct display in all browsers.
+ */
+
+summary {
+  display: list-item;
+}
+
+/* Misc
+   ========================================================================== */
+
+/**
+ * Add the correct display in IE 10+.
+ */
+
+template {
+  display: none;
+}
+
+/**
+ * Add the correct display in IE 10.
+ */
+
+[hidden] {
+  display: none;
+}
diff --git a/sass/css/yaroslavps.scss b/sass/css/yaroslavps.scss
new file mode 100644
index 0000000..bd231e5
--- /dev/null
+++ b/sass/css/yaroslavps.scss
@@ -0,0 +1,134 @@
+@import "normalize";
+@import "colors";
+@import "fonts";
+
+html, body {
+  width: 100%;
+  min-height: 100vh;
+  background-color: $bg;
+  background-image: url("/svg/background.svg");
+  background-size: 45px 45px;
+  background-repeat: repeat;
+  background-attachment: fixed;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+ul,
+ol,
+li,
+p {
+    color: $white;
+}
+
+ol,
+ul,
+li,
+a,
+p {
+  line-height: 1.3;
+  font-family: $font_sans;
+}
+
+a, a:visited {
+  color: $cyan;
+  text-decoration: none;
+}
+
+a:hover {
+  color: $dark_cyan;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+h1 > a,
+h2 > a,
+h3 > a,
+h4 > a,
+h5 > a,
+h6 > a {
+  font-family: $font_serif;
+  font-weight: normal;
+}
+
+hr {
+  border-style: solid;
+  border-color: $white;
+  border-width: 1px 0 0 0;
+}
+
+pre {
+  padding: 1em 0;
+  overflow-x: auto;
+  font-family: $font_mono;
+}
+
+code {
+  color: $gray;
+  font-family: $font_mono;
+}
+
+span.icon {
+  font-family: $font_mono;
+  font-size: 2em;
+  margin: auto 0.5em;
+}
+
+.publish-date {
+  color: $gray;
+  font-family: $font_sans;
+  font-weight: normal;
+  font-style: italic;
+}
+
+h2 > span.publish-date {
+  font-size: 0.8em;
+}
+
+.main-container {
+  display: grid;
+  grid-template-columns: minmax(0, 5fr) 2fr;
+  grid-template-rows: min-content auto;
+  max-width: 1080px;
+  margin: 0 auto;
+  min-height: 100vh;
+  height: auto;
+  background-color: $bg;
+}
+
+.landing-page-container {
+  grid-column-start: 1;
+  grid-column-end: 3;
+}
+
+.header-container {
+  grid-column-start: 1;
+  grid-column-end: 3;
+  text-align: center;
+  padding: 0 1em;
+}
+
+.sidebar-container {
+  padding: 1em;
+}
+
+.sticky-wrapper {
+  position: sticky;
+  top: 1em;
+}
+
+.links-container {
+  text-align: center;
+}
+
+.post-container {
+  padding: 2em;
+}
diff --git a/static/css/fonts.css b/static/css/fonts.css
deleted file mode 100644
index be3d523..0000000
--- a/static/css/fonts.css
+++ /dev/null
@@ -1,53 +0,0 @@
-@font-face {
-  font-family: "IBM Plex Sans";
-  src: url("/fonts/IBMPlexSans-Regular.ttf");
-}
-
-@font-face {
-  font-family: "IBM Plex Sans";
-  src: url("/fonts/IBMPlexSans-Bold.ttf");
-  font-weight: bold;
-}
-
-@font-face {
-  font-family: "IBM Plex Sans";
-  src: url("/fonts/IBMPlexSans-Italic.ttf");
-  font-style: italic;
-}
-
-@font-face {
-  font-family: "IBM Plex Sans";
-  src: url("/fonts/IBMPlexSans-BoldItalic.ttf");
-  font-style: italic;
-  font-weight: bold;
-}
-
-@font-face {
-  font-family: "IBM Plex Serif";
-  src: url("/fonts/IBMPlexSerif-Regular.ttf");
-}
-
-@font-face {
-  font-family: "IBM Plex Serif";
-  src: url("/fonts/IBMPlexSerif-Bold.ttf");
-  font-weight: bold;
-}
-
-@font-face {
-  font-family: "IBM Plex Serif";
-  src: url("/fonts/IBMPlexSerif-Italic.ttf");
-  font-style: italic;
-}
-
-@font-face {
-  font-family: "IBM Plex Serif";
-  src: url("/fonts/IBMPlexSerif-BoldItalic.ttf");
-  font-style: italic;
-  font-weight: bold;
-}
-
-@font-face {
-  font-family: "IBM Plex Mono";
-  src: url("/fonts/BlexMono.ttf");
-}
-
diff --git a/static/css/yaroslavps.css b/static/css/yaroslavps.css
deleted file mode 100644
index 8f3d4cd..0000000
--- a/static/css/yaroslavps.css
+++ /dev/null
@@ -1,127 +0,0 @@
-@import url("/css/fonts.css");
-
-html, body {
-  width: 100%;
-  min-height: 100vh;
-  background-color: #000;
-  background-image: url("/svg/background.svg");
-  background-size: 45px 45px;
-  background-repeat: repeat;
-  margin: 0;
-  padding: 0;
-  font-size: 18px;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-ul,
-ol,
-li,
-p {
-    color: #dedede;
-}
-
-ol,
-ul,
-li,
-a,
-p {
-  line-height: 1.3;
-  font-family: "IBM Plex Sans", Verdana, Helvetica, sans-serif;
-}
-
-a, a:visited {
-  color: #7fac96;
-  text-decoration: none;
-}
-
-a:hover {
-  color: #5b8277;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-h1 > a,
-h2 > a,
-h3 > a,
-h4 > a,
-h5 > a,
-h6 > a {
-  font-family: "IBM Plex Serif", Georgia, serif;
-  font-weight: 300;
-}
-
-hr {
-  border-style: solid;
-  border-color: #dedede;
-  border-width: 1px 0 0 0;
-}
-
-pre {
-  padding: 1em 0;
-  overflow-x: auto;
-  max-width: calc(100vw/3*2 - 4em);
-}
-
-span.icon {
-  font-family: "IBM Plex Mono";
-  font-size: 2em;
-  margin: auto 0.5em;
-}
-
-.publish-date {
-  color: #a1a6b2;
-  font-family: "IBM Plex Sans";
-  font-weight: 300;
-  font-style: italic;
-}
-
-h2 > span.publish-date {
-  font-size: 0.8em;
-}
-
-.main-container {
-  display: grid;
-  grid-template-columns: 5fr 2fr;
-  grid-template-rows: min-content auto;
-  max-width: 1080px;
-  margin: 0 auto;
-  min-height: 100vh;
-  height: auto;
-  background-color: #000;
-}
-
-.landing-page-container {
-  grid-column-start: 1;
-  grid-column-end: 3;
-}
-
-.header-container {
-  grid-column-start: 1;
-  grid-column-end: 3;
-  text-align: center;
-  padding: 0 1em;
-}
-
-.sidebar-container {
-  padding: 1em;
-}
-
-.links-container {
-  text-align: center;
-}
-
-.content-container {
-}
-
-.post-container {
-  padding: 2em;
-}
diff --git a/templates/base.html b/templates/base.html
index 43b0b77..a5d743a 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -22,23 +22,25 @@
           {% endblock %}
         </div>
         <div class="sidebar-container">
-          <p>Hello, my name is Yaroslav de la Peña Smirnov, welcome to my
-          weblog. Sometimes I write software, sometimes I might write my mind
-          here. </p>
-          <div class="links-container">
-            <a href="https://github.com/Yaroslav-95" title="GitHub"><span class="icon"></span></a>
-            <a href="https://git.yaroslavps.com/yaroslav" title="Git server"><span class="icon"></span></a>
-            <a href="/rss.xml" title="RSS feed"><span class="icon"></span></a>
+          <div class="sticky-wrapper">
+            <p>Hello, my name is Yaroslav de la Peña Smirnov, welcome to my
+            weblog. Sometimes I write software, sometimes I might write my mind
+            here. </p>
+            <div class="links-container">
+              <a href="https://github.com/Yaroslav-95" title="GitHub"><span class="icon"></span></a>
+              <a href="https://git.yaroslavps.com/yaroslav" title="Git server"><span class="icon"></span></a>
+              <a href="/rss.xml" title="RSS feed"><span class="icon"></span></a>
+            </div>
+            <h3>Navigation</h3>
+            <ul class="navigation-list">
+              <li><a href="/">Landing page</a></li>
+              <li><a href="/weblog/">Weblog ~</a></li>
+              <li><a href="/weblog/archive">Weblog archive</a></li>
+            </ul>
+            <h3>Contact</h3>
+            <p>If you want to tell me something, you can contact me by email at:</p>
+            <a href="mailto:contact@yaroslavps.com">contact@yaroslavps.com</a>
           </div>
-          <h3>Navigation</h3>
-          <ul class="navigation-list">
-            <li><a href="/">Landing page</a></li>
-            <li><a href="/weblog/">Weblog ~</a></li>
-            <li><a href="/weblog/archive">Weblog archive</a></li>
-          </ul>
-          <h3>Contact</h3>
-          <p>If you want to tell me something, you can contact me by email at:</p>
-          <a href="mailto:contact@yaroslavps.com">contact@yaroslavps.com</a>
         </div>
       {% endblock %}
     </div>
-- 
cgit v1.2.3