From 5c76d8dad9d993010c4e57c6de4e90911a3cd11a Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Fri, 05 Aug 2022 18:08:52 +0000
Subject: [PATCH] fix: make callout detection case-insensitive (closes #171)

---
 assets/styles/base.scss |  351 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 187 insertions(+), 164 deletions(-)

diff --git a/assets/styles/base.scss b/assets/styles/base.scss
index 9bbd933..f7ad909 100644
--- a/assets/styles/base.scss
+++ b/assets/styles/base.scss
@@ -1,34 +1,60 @@
+// Replace this with your own font imports!
+@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&family=Inter:wght@400;600;700&family=Source+Sans+Pro:wght@400;600&display=swap');
 :root {
-  --lt-colours-light: var(--light) !important;
-  --lt-colours-lightgray: var(--lightgray) !important;
-  --lt-colours-dark: var(--secondary) !important;
-  --lt-colours-secondary: var(--tertiary) !important;
-  --lt-colours-gray: var(--outlinegray) !important;
+  --font-body: "Source Sans Pro";
+  --font-header: "Inter";
+  --font-mono: "Fira Code"
 }
 
-h1, h2, h3, h4, h5, h6, ol, ul, thead {
-  font-family: Inter;
+// typography
+html {
+  scroll-behavior: smooth;
+  &:lang(ar) {
+    & p, & h1, & h2, & h3, article {
+      direction: rtl;
+      text-align: right;
+    }
+  }
+}
+
+.singlePage {
+  padding: 4em 30vw;
+  @media all and (max-width: 1200px) {
+    padding: 25px 5vw;
+  }
+}
+
+
+body {
+  margin: 0;
+  height: 100vh;
+  width: 100vw;
+  max-width: 100%;
+  box-sizing: border-box;
+  background-color: var(--light);
+}
+
+h1, h2, h3, h4, h5, h6, thead {
+  font-family: var(--font-header);
   color: var(--dark);
   font-weight: revert;
-  margin: revert;
-  padding: revert;
+  margin: 2rem 0 0;
+  padding: 2rem auto 1rem;
 
   &:hover > .hanchor {
-    opacity: 1;
+    color: var(--secondary);
   }
 }
 
 .hanchor {
-  font-family: Inter;
-  margin-left: -1em;
-  opacity: 0.3;
-  transition: opacity 0.3s ease;
-  color: var(--secondary);
-
+  font-family: var(--font-header);
+  opacity: 0.8;
+  transition: color 0.3s ease;
+  color: var(--dark);
 }
 
-p, ul, text {
-  font-family: 'Source Sans Pro', sans-serif;
+p, ul, text, a, tr, td, li, ol, ul {
+  font-family: var(--font-body);
   color: var(--gray);
   fill: var(--gray);
   font-weight: revert;
@@ -36,21 +62,26 @@
   padding: revert;
 }
 
+tbody, li, p {
+  line-height: 1.5em;
+}
+
 .mainTOC {
-  background: var(--lightgray);
   border-radius: 5px;
-  padding: 0.75em 1em;
-}
+  padding: 0.75em 0;
 
-.mainTOC details summary {
-  cursor: zoom-in;
-  font-family: Inter;
-  color: var(--dark);
-  font-weight: 700;
-}
+  & details {
+    & summary {
+      cursor: zoom-in;
+      font-family: var(--font-header);
+      color: var(--dark);
+      font-weight: 700;
+    }
 
-.mainTOC details[open] summary {
-    cursor: zoom-out;
+    &[open] summary {
+      cursor: zoom-out;
+    }
+  }
 }
 
 #TableOfContents > ol {
@@ -75,22 +106,30 @@
   }
 
   & > li::marker, & > li > ol > li::marker {
-    font-family: Source Sans Pro;
+    font-family: var(--font-body);
     font-weight: 700;
   }
 }
 
 table {
+  border: 1px solid var(--outlinegray);
   width: 100%;
+  padding: 1.5em;
+  border-collapse: collapse;
+}
+
+td, th {
+  padding: 0.2em 1em;
+  border: 1px solid var(--outlinegray);
 }
 
 img {
-  width: 100%;
+  max-width: 100%;
   border-radius: 3px;
   margin: 1em 0;
 }
 
-p>img+em {
+p > img + em {
   display: block;
   transform: translateY(-1em);
 }
@@ -99,29 +138,11 @@
   line-height: 0
 }
 
-p, tbody, li {
-  font-family: Source Sans Pro;
-  color: var(--gray);
-  line-height: 1.5em;
-}
-
 blockquote {
   margin-left: 0em;
   border-left: 3px solid var(--secondary);
   padding-left: 1em;
   transition: border-color 0.2s ease;
-
-  &:hover {
-    border-color: var(--tertiary);
-  }
-}
-
-table {
-  padding: 1.5em;
-}
-
-td, th {
-  padding: 0.1em 0.5em;
 }
 
 .footnotes p {
@@ -148,59 +169,24 @@
       background-color: transparent !important;
     }
 
-    & a[href$="#"] {
+    & a[href$="#"], &.active a {
       opacity: 0.2;
     }
   }
 }
 
-.section {
-  & h3 > a {
-    font-weight: 700;
-    font-family: Inter;
-    margin: 0;
-  }
-  & p {
-    margin-top: 0;
-  }
-}
-
 article {
+  & > h1 {
+    margin-top: 2em;
+    font-size: 2em;
+  }
+  
   & > .meta {
-    margin: -1.5em 0 1em 0;
+    margin: 0 0 1em 0;
     opacity: 0.7;
   }
 
-  & > .tags {
-    list-style: none;
-    padding-left: 0;
-
-    & .meta {
-      & > h1 {
-        margin: 0;
-      }
-      & > p {
-        margin: 0;
-      }
-    }
-
-    & > li {
-      display: inline-block;
-    }
-    & > li > a {
-      border-radius: 8px;
-      border: var(--outlinegray) 1px solid;
-      padding: 0.2em 0.5em;
-      &::before {
-        content: "#";
-        margin-right: 0.3em;
-        color: var(--outlinegray);
-      }
-    }
-  }
-
   & a {
-    font-family: Source Sans Pro;
     font-weight: 600;
 
     &.internal-link {
@@ -222,6 +208,37 @@
   }
 }
 
+.tags {
+  list-style: none;
+  padding-left: 0;
+
+  & .meta {
+    margin: 1.5em 0;
+    & > h1 {
+      margin: 0;
+    }
+    & > p {
+      margin: 0;
+    }
+  }
+
+  & > li {
+    display: inline-block;
+    margin: 0.4em 0;
+  }
+
+  & > li > a {
+    border-radius: 8px;
+    border: var(--outlinegray) 1px solid;
+    padding: 0.2em 0.5em;
+    &::before {
+      content: "#";
+      margin-right: 0.3em;
+      color: var(--outlinegray);
+    }
+  }
+}
+
 .backlinks a {
   font-weight: 600;
   font-size: 0.9rem;
@@ -232,55 +249,39 @@
   padding: 0 0.1em 0 0.2em;
 }
 
+#page-title {
+  margin: 0;
+  & > a {
+    font-family: var(--font-header);
+  }
+}
+
 a {
-  font-family: Inter, sans-serif;
   font-size: 1em;
   font-weight: 700;
   text-decoration: none;
   transition: all 0.2s ease;
   color: var(--secondary);
-
   &:hover {
     color: var(--tertiary) !important;
   }
 }
 
 pre {
-  font-family: 'Fira Code';
+  font-family: var(--font-mono);
   padding: 0.75em;
   border-radius: 3px;
   overflow-x: scroll;
 }
 
 code {
-  font-family: 'Fira Code';
+  font-family: var(--font-mono);
   font-size: 0.85em;
   padding: 0.15em 0.3em;
   border-radius: 5px;
   background: var(--lightgray);
 }
 
-html {
-  scroll-behavior: smooth;
-
-  &:lang(ar) {
-    & p, & h1, & h2, & h3, article {
-      direction: rtl;
-      text-align: right;
-    }
-  }
-}
-
-body {
-  margin: 0;
-  height: 100vh;
-  width: 100vw;
-  //overflow-x: hidden;
-  max-width: 100%;
-  box-sizing: border-box;
-  background-color: var(--light);
-}
-
 @keyframes fadeIn {
   0% {opacity:0;}
   100% {opacity:1;}
@@ -304,14 +305,6 @@
   background-color: var(--dark);
 }
 
-.singlePage {
-  padding: 4em 30vw;
-
-  @media all and (max-width: 1200px) {
-    padding: 25px 5vw;
-  }
-}
-
 .page-end {
   display: flex;
   flex-direction: row;
@@ -328,7 +321,8 @@
   & > .backlinks-container {
     & > ul {
       list-style: none;
-      padding-left: 0;
+      padding: 0;
+      margin: 0;
 
       & > li {
         margin: 0.5em 0;
@@ -344,6 +338,7 @@
     border-radius: 5px;
     box-sizing: border-box;
     min-height: 250px;
+    margin: 0.5em 0;
 
     & > svg {
       margin-bottom: -5px;
@@ -356,14 +351,15 @@
   margin-top: 30vh;
 }
 
-article > h1 {
-  font-size: 2em;
+.spacer {
+  flex: 1 1 auto;
 }
 
 header {
   display: flex;
   flex-direction: row;
   align-items: center;
+  margin: 1em 0 2em;
 
   & > h1 {
     font-size: 2em;
@@ -375,15 +371,24 @@
     }
   }
 
-  & > .spacer {
-    flex: 1 1 auto;
+  #search-icon {
+    background-color: var(--lightgray);
+    border-radius: 4px;
+    height: 2em;
+    display: flex;
+    align-items: center;
+    cursor: pointer;
+    & > p {
+      display: inline;
+      padding: 0 1.5em 0 2em;
+    }
   }
 
-  & > svg {
+  & svg {
     cursor: pointer;
     width: 18px;
     min-width: 18px;
-    margin: 0 1em;
+    margin: 0 0.5em;
 
     &:hover .search-path {
       stroke: var(--tertiary);
@@ -430,7 +435,7 @@
     & > input {
       box-sizing: border-box;
       padding: 0.5em 1em;
-      font-family: Inter, sans-serif;
+      font-family: var(--font-body);
       color: var(--dark);
       font-size: 1.1em;
       border: 1px solid var(--outlinegray);
@@ -441,7 +446,7 @@
     }
 
     & > #results-container {
-      & > .result-card {
+      & .result-card {
         padding: 1em;
         cursor: pointer;
         transition: background 0.2s ease;
@@ -478,36 +483,57 @@
         & > h3, & > p {
           margin: 0;
         }
-
-        & .search-highlight {
-          background-color: #afbfc966;
-          padding: 0.05em 0.2em;
-          border-radius: 3px;
-        }
       }
     }
   }
 }
 
+.search-highlight {
+  background-color: #afbfc966;
+  padding: 0.05em 0.2em;
+  border-radius: 3px;
+}
+
 .section-ul {
   list-style: none;
+  margin-top: 2em;
   padding-left: 0;
 
-  & > li {
-    border: 1px solid var(--outlinegray);
-    border-radius: 5px;
-    padding: 0 1em;
-    margin-bottom: 1em;
+}
 
-    & h3 {
-      opacity: 1;
+.section-li {
+  margin-bottom: 1em;
+
+  & > .section {
+    display: flex;
+    align-items: center; 
+
+    @media all and (max-width: 600px) {
+      & .tags {
+        display: none;
+      }
+    }
+
+    & h3 > a {
       font-weight: 700;
-      margin-bottom: 0em;
+      margin: 0;
     }
+    
+    & p {
+      margin: 0;
+      padding-right: 1em;
+      flex-basis: 6em; 
+    }
+  }
 
-    & .meta {
-      opacity: 0.6;
-    }
+  & h3 {
+    opacity: 1;
+    font-weight: 700;
+    margin: 0em;
+  }
+
+  & .meta {
+    opacity: 0.6;
   }
 }
 
@@ -520,25 +546,23 @@
   1% {
     display: inline-block;
     opacity: 0;
-    transform: translate(-50%, 40%);
   }
   100% {
     opacity: 1;
     visibility: visible;
-    transform: translate(-50%, 20%);
   }
 }
 
 .popover {
   z-index: 999;
   position: absolute;
-  width: 20em;
+  width: 20rem;
   display: none;
   background-color: var(--light);
-  padding: 1em;
+  padding: 1rem;
+  margin: 1rem;
   border: 1px solid var(--outlinegray);
   border-radius: 5px;
-  transform: translate(-50%, 40%);
   pointer-events: none;
   transition: opacity 0.2s ease, transform 0.2s ease;
   user-select: none;
@@ -552,32 +576,30 @@
   &.visible {
     opacity: 1;
     visibility: visible;
-    transform: translate(-50%, 20%);
     display: inline-block;
     animation: dropin 0.2s ease;
   }
 
   & > h3 {
     font-size: 1rem;
-    margin: 0.25em 0;
+    margin: 0.25rem 0;
   }
 
   & > .meta {
-    margin-top: 0.25em;
+    margin-top: 0.25rem;
     opacity: 0.5;
-    font-family: "JetBrains Mono", monospace;
+    font-family: var(--font-mono);
     font-size: 0.8rem;
   }
 
-  & > p {
-    margin: 0;
+  & > p, & > a {
+    font-size: 1rem;
+    margin: 0.7rem 0;
     font-weight: 400;
     user-select: none;
   }
 }
 
-
-
 #contact_buttons ul {
   list-style-type: none;
 
@@ -589,3 +611,4 @@
     padding: 0 1em;
   }
 }
+

--
Gitblit v1.10.0