diff options
Diffstat (limited to 'templates/base.html')
| -rw-r--r-- | templates/base.html | 171 |
1 files changed, 63 insertions, 108 deletions
diff --git a/templates/base.html b/templates/base.html index d449492..ccbf4f4 100644 --- a/templates/base.html +++ b/templates/base.html | |||
| @@ -11,150 +11,105 @@ | |||
| 11 | <link href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL69vf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv76+/8LBwQkAAAAAAAAAAAAAAAC+vb3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+9vf/Bv78JAAAAAAAAAAAAAAAAu7q6/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7ubr/vr29CAAAAAAAAAAAy8nJAZ6foP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnqGj/6GipAoAAAAAHLjU/xcXHf/BwsL/I8XY/yPK3v8XGiD/IbjL/yPF2f8XGiD/Fxkf/yLF2f8gnK3/Fxog/62ztv8fwNf/FRcd/x271v8mz93/GRsi/xkXHf8p097/GiIp/xobIv8p0t3/KdPe/xocIv8fYmr/KNPe/xoZH/8aHCL/J87c/xy81/8VFxz/IsPZ/8zS0/8XGiD/Ir/R/yPH2/8XGiD/Fxkf/yPH2/8dd4T/GBog/yPJ3f8jyNr/uru9/xcUGv8cudb/EhITDKi5vRKlvMP/RUpOERwcHRAdOj4QHTk8EBwdHRAdNTgQHTo/EBwcHRAcHB0QSGduEKW4vf+koqQfHzg+EBqz0ewSFRv7EyMr/xq51vsTERb7ExUb+xq41fsau9j7ExUb+xiPp/sZudb7ExUb+xMVG/sZuNX/GKvI/BIUGfMdvdn/IrfL/xcaIP8n1eb/J9Dh/xkcIf8ZGR7/J8/f/xxCSv8ZGyH/J9Dg/ybQ4P8ZHCL/FSQs/yPK3/8UExj/GE1b/ybS5P8ZGB7/Ghwj/ynW5P8p2Ob/Ghwi/yWrtv8p1eH/Ghwi/xocIv8p1uT/J8XT/xkcIv8m1un/Hb7d/xUYH/8hzOr/HtHu/xcaIf8XGB//I8vi/xgxOv8XGSD/I8rg/yPK4P8XGiD/GUFL/yPP6f8SERj/Fhkh/x3A4f8AAAAAJ2f9/ydr//8mZPH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlYu38J2v//ydo/f8AAAAAAAAAAAd8/fkFqf//Iob8sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMY39awWr//8FfP3/AAAAAAAAAAAFm/7/SfD//wR+/f8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOB/f9B7v//BaX+/wAAAAAAAAAAQ878SAyZ/v9n1v4KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu9v8DDJb+/z3N/XgAAAAA3/sAAN/7AADf+wAA3/sAAAAAAAAAAAAAAAAAAN/7AAAAAAAAAAAAAAAAAAAAAAAAj/EAAI/5AACP8QAA3/sAAA==" rel="icon" type="image/x-icon" /> | 11 | <link href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL69vf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv76+/8LBwQkAAAAAAAAAAAAAAAC+vb3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+9vf/Bv78JAAAAAAAAAAAAAAAAu7q6/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7ubr/vr29CAAAAAAAAAAAy8nJAZ6foP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnqGj/6GipAoAAAAAHLjU/xcXHf/BwsL/I8XY/yPK3v8XGiD/IbjL/yPF2f8XGiD/Fxkf/yLF2f8gnK3/Fxog/62ztv8fwNf/FRcd/x271v8mz93/GRsi/xkXHf8p097/GiIp/xobIv8p0t3/KdPe/xocIv8fYmr/KNPe/xoZH/8aHCL/J87c/xy81/8VFxz/IsPZ/8zS0/8XGiD/Ir/R/yPH2/8XGiD/Fxkf/yPH2/8dd4T/GBog/yPJ3f8jyNr/uru9/xcUGv8cudb/EhITDKi5vRKlvMP/RUpOERwcHRAdOj4QHTk8EBwdHRAdNTgQHTo/EBwcHRAcHB0QSGduEKW4vf+koqQfHzg+EBqz0ewSFRv7EyMr/xq51vsTERb7ExUb+xq41fsau9j7ExUb+xiPp/sZudb7ExUb+xMVG/sZuNX/GKvI/BIUGfMdvdn/IrfL/xcaIP8n1eb/J9Dh/xkcIf8ZGR7/J8/f/xxCSv8ZGyH/J9Dg/ybQ4P8ZHCL/FSQs/yPK3/8UExj/GE1b/ybS5P8ZGB7/Ghwj/ynW5P8p2Ob/Ghwi/yWrtv8p1eH/Ghwi/xocIv8p1uT/J8XT/xkcIv8m1un/Hb7d/xUYH/8hzOr/HtHu/xcaIf8XGB//I8vi/xgxOv8XGSD/I8rg/yPK4P8XGiD/GUFL/yPP6f8SERj/Fhkh/x3A4f8AAAAAJ2f9/ydr//8mZPH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlYu38J2v//ydo/f8AAAAAAAAAAAd8/fkFqf//Iob8sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMY39awWr//8FfP3/AAAAAAAAAAAFm/7/SfD//wR+/f8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOB/f9B7v//BaX+/wAAAAAAAAAAQ878SAyZ/v9n1v4KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu9v8DDJb+/z3N/XgAAAAA3/sAAN/7AADf+wAA3/sAAAAAAAAAAAAAAAAAAN/7AAAAAAAAAAAAAAAAAAAAAAAAj/EAAI/5AACP8QAA3/sAAA==" rel="icon" type="image/x-icon" /> |
| 12 | 12 | ||
| 13 | <style> | 13 | <style> |
| 14 | * { box-sizing: border-box; } | ||
| 15 | |||
| 14 | :root { | 16 | :root { |
| 15 | --base-background: white; | 17 | --border-color: gainsboro; |
| 16 | --base-color: black; | ||
| 17 | --link-color: blue; | ||
| 18 | --first-child-width: 150px; | ||
| 19 | --primary-color: gainsboro; | ||
| 20 | --secondary-color: black; | ||
| 21 | --tertiary-color: #eee; | ||
| 22 | --code-color: #f9f9f9; | ||
| 23 | --border-width: 1px; | ||
| 24 | --header-color: black; | ||
| 25 | --header-border-width: 2px; | ||
| 26 | --content-width: 840px; | 18 | --content-width: 840px; |
| 19 | --primary-color: blue; | ||
| 27 | } | 20 | } |
| 28 | 21 | ||
| 29 | * { box-sizing: border-box; } | 22 | ::selection { |
| 23 | background: var(--primary-color); | ||
| 24 | color: #ffffff; | ||
| 25 | } | ||
| 30 | 26 | ||
| 31 | html { scroll-padding-top: 1.5em; } | 27 | body { font-family: sans-serif; max-width: var(--content-width); margin: 0 auto; line-height: 160%; } |
| 32 | body { font-family: sans-serif; padding: 0 1em; line-height: 160%; display: flex; flex-direction: column; gap: 4em; background: var(--base-background); color: var(--base-color); } | 28 | |
| 33 | table { width: 100%; border: var(--border-width) solid var(--primary-color); border-collapse: collapse; } | 29 | header { margin-block-start: 1em; margin-block-end: 4em; } |
| 34 | table thead { background: var(--primary-color); border: var(--border-width) solid var(--secondary-color); color: var(--header-color); } | 30 | header nav { display: flex; gap: 1em; align-items: center; padding: 0.5em 0; border-bottom: 2px solid black; } |
| 35 | table td, table th { text-align: left; padding: 0.3em 0.5em; } | 31 | header nav a { color: black; } |
| 36 | table tbody tr { border-bottom: var(--border-width) solid var(--primary-color); vertical-align: middle; } | 32 | header nav span.title { font-weight: bold; } |
| 37 | table tr td:first-child { width: var(--first-child-width); } | ||
| 38 | table.normal tr td:first-child { width: auto; } | ||
| 39 | table td.tags { display: flex; gap: 0.5em; justify-content: flex-end; align-items: center; } | ||
| 40 | table td.tags mark { padding: 0 0.4em; background: var(--primary-color); font-size: small; } | ||
| 41 | |||
| 42 | a { color: var(--link-color); text-decoration: none; } | ||
| 43 | a:hover { text-decoration: underline; } | ||
| 44 | 33 | ||
| 45 | header { border-bottom: var(--header-border-width) solid var(--secondary-color); padding: 0.5em 0; } | 34 | section { margin-block-start: 3em; margin-block-end: 3em; } |
| 46 | header div { min-width: var(--content-width); max-width: var(--content-width); display: flex; } | ||
| 47 | header div nav:first-child { display: flex; width: var(--first-child-width); } | ||
| 48 | header div nav:nth-child(2) { display: flex; gap: 1.5em; } | ||
| 49 | header div nav:nth-child(2) a { color: var(--base-color); } | ||
| 50 | header div nav:last-child { text-align: right; margin-left: auto; display: flex; } | ||
| 51 | 35 | ||
| 52 | footer { color: gray; } | 36 | footer { font-size: small; } |
| 53 | footer div { min-width: var(--content-width); max-width: var(--content-width); } | 37 | |
| 54 | footer a { color: gray; text-decoration: underline; } | 38 | ul.post-list { padding: 0em; } |
| 39 | ul.post-list li { display: flex; gap: 1em; align-items: center; padding: 0.25em 0; } | ||
| 40 | ul.post-list li time { min-width: 50px; } | ||
| 41 | |||
| 42 | a { color: var(--primary-color); text-decoration: none; } | ||
| 43 | a:hover { text-decoration: underline; } | ||
| 55 | 44 | ||
| 56 | main { min-width: var(--content-width); max-width: var(--content-width); display: flex; gap: 2em; flex-direction: column; } | ||
| 57 | h1, h2, h3, h4 { font-size: initial; } | 45 | h1, h2, h3, h4 { font-size: initial; } |
| 58 | article h2, article h3, article h4 { margin-block-start: 2.5em; } | 46 | article h2, article h3, article h4 { margin-block-start: 2.5em; } |
| 59 | article h1 { font-size: 130%; line-height: 110%; } | 47 | article h1 { font-size: 130%; line-height: 110%; } |
| 48 | article code { background: yellow; padding: 0 0.2em; } | ||
| 49 | article pre { border: 1px solid var(--border-color); padding: 1em; line-height: 140%; text-wrap: nowrap; overflow-x: auto; } | ||
| 50 | article pre > code { background: initial; } | ||
| 60 | 51 | ||
| 61 | img, video, audio { max-width: 100%; } | 52 | img, video, audio { max-width: 100%; } |
| 62 | figure { display: flex; justify-content: center; margin: 2.5em 0; } | 53 | figure { display: flex; justify-content: center; margin: 1.5em 0; } |
| 63 | img, video { border: var(--border-width) solid var(--primary-color); padding: 0.5em; } | ||
| 64 | img.no-border, video.no-border, img[src$="?no-border"] { border: 0; padding: 0; } | ||
| 65 | 54 | ||
| 66 | pre { background: var(--code-color)!important; border: var(--border-width) solid var(--primary-color); text-wrap: wrap; padding: 1.0em; line-height: 170%; text-wrap: nowrap; overflow-x: auto; } | 55 | table { width: 100%; border: 1px solid var(--border-color); border-collapse: collapse; } |
| 67 | code { background: var(--code-color); padding: 0 0.2em; } | 56 | table thead { background: var(--border-color); border: 1px solid black; } |
| 68 | pre code { padding: 0; } | 57 | table td, table th { text-align: left; padding: 0.4em 0.6em; } |
| 58 | table tbody tr { border-bottom: 1px solid var(--border-color); } | ||
| 69 | 59 | ||
| 70 | .capitalize { text-transform: capitalize; } | 60 | .tags mark { font-family: monospace; padding: 0 0.2em; } |
| 71 | 61 | .static-prefix { width: 7em; } | |
| 72 | .text-left { text-align: left; } | ||
| 73 | .text-center { text-align: center; } | ||
| 74 | .text-right { text-align: right; } | ||
| 75 | 62 | ||
| 76 | .content-center { margin: 0 auto; } | 63 | .multicolumn-list { column-count: 3; column-gap: 3em; } |
| 64 | .multicolumn-list a { display: block; margin-bottom: 0.5rem; break-inside: avoid; } | ||
| 77 | 65 | ||
| 78 | #content_align_button { display: none; } | 66 | .project-release table tr td:last-child { text-align: right; } |
| 67 | .project-release table tr th:last-child { text-align: right; } | ||
| 68 | .project-list ul { column-count: 3; column-gap: 3em; } | ||
| 69 | .github-link p { display: flex; align-items: center; gap: 0.3em; } | ||
| 70 | .github-link p img { border: 0; padding: 0; height: 15px; } | ||
| 79 | 71 | ||
| 80 | /* Hotfixes for strange behaviour. */ | 72 | /* Hotfixes for strange behaviour. */ |
| 81 | article iframe { margin: 0!important; } | 73 | article iframe { margin: 0!important; } |
| 82 | pre code span { display: initial !important; } | 74 | pre code span { display: initial !important; } |
| 83 | 75 | ||
| 76 | @media only screen and (max-width: 860px) { | ||
| 77 | body { margin: auto; padding: 1em; } | ||
| 78 | ul.post-list li time { display: none; } | ||
| 79 | .multicolumn-list { column-count: 2; } | ||
| 80 | .project-list ul { column-count: 2; } | ||
| 81 | .hide-on-mobile { display: none; } | ||
| 82 | } | ||
| 83 | |||
| 84 | @media print { | 84 | @media print { |
| 85 | header, footer { display: none; } | 85 | header, footer { display: none; } |
| 86 | } | 86 | } |
| 87 | </style> | 87 | </style> |
| 88 | <script defer src="https://app.tinyanalytics.io/pixel/isfRNEahfHiS2Ttp"></script> | 88 | |
| 89 | <!-- <script defer src="https://app.tinyanalytics.io/pixel/isfRNEahfHiS2Ttp"></script> --> | ||
| 89 | </head> | 90 | </head> |
| 90 | 91 | ||
| 91 | <body> | 92 | <body> |
| 92 | <header> | 93 | <header> |
| 93 | <div class="content"> | 94 | <nav> |
| 94 | <nav> | 95 | <span class="title hide-on-mobile static-prefix">Navigation</span> |
| 95 | <span><strong>Navigation</strong></span> | 96 | <a href="/">Home</a> |
| 96 | </nav> | 97 | <a href="/projects.html">Projects</a> |
| 97 | <nav> | 98 | <a href="https://github.com/mitjafelicijan/probe" target="_blank">Probe</a> |
| 98 | <span><a href="/">Home</a></span> | 99 | <a href="https://github.com/mitjafelicijan" target="_blank">Code</a> |
| 99 | <span><a href="/projects.html">Projects</a></span> | 100 | <a href="https://github.com/mitjafelicijan/dotfiles" target="_blank" class="hide-on-mobile">Dotfiles</a> |
| 100 | <span><a href="https://github.com/mitjafelicijan/probe" target="_blank">Probe</a></span> | 101 | <a href="/curriculum-vitae.html">CV</a> |
| 101 | <span><a href="https://github.com/mitjafelicijan" target="_blank">Code</a></span> | 102 | <a href="/feed.xml" class="hide-on-mobile">RSS</a> |
| 102 | <span><a href="https://github.com/mitjafelicijan/dotfiles" target="_blank">Dotfiles</a></span> | 103 | </nav> |
| 103 | <span><a href="/curriculum-vitae.html">CV</a></span> | ||
| 104 | <span><a href="/feed.xml">RSS</a></span> | ||
| 105 | </nav> | ||
| 106 | <nav> | ||
| 107 | <button id="content_align_button">center</button> | ||
| 108 | <script>content_align_button.style.display = "block";</script> | ||
| 109 | </nav> | ||
| 110 | </div> | ||
| 111 | </header> | 104 | </header> |
| 112 | 105 | ||
| 113 | <main class="content"> | 106 | <main> |
| 114 | {{ block "content" . }}{{ end }} | 107 | {{ block "content" . }}{{ end }} |
| 115 | </main> | 108 | </main> |
| 116 | 109 | ||
| 117 | <footer> | 110 | <footer> |
| 118 | <div class="content"> | 111 | <p>You can write me an email at <a href="mailto:mitja.felicijan@gmail.com">mitja.felicijan@gmail.com</a> or catch up with me <a href="https://telegram.me/mitjafelicijan" target="_blank">on Telegram</a>.</p> |
| 119 | <p>You can write me an email at <a href="mailto:mitja.felicijan@gmail.com">mitja.felicijan@gmail.com</a> or catch up with me <a href="https://telegram.me/mitjafelicijan" target="_blank">on Telegram</a>.</p> | 112 | <p>This page's is also available as <a href="/feed.xml" target="_blank">RSS feed</a>. Page was built with <a href="https://github.com/mitjafelicijan/jbmafp" target="_blank">jbmafp</a>.</p> |
| 120 | <p>This page's is also available as <a href="/feed.xml" target="_blank">RSS feed</a>. Page was built with <a href="https://github.com/mitjafelicijan/jbmafp" target="_blank">jbmafp</a>.</p> | ||
| 121 | </div> | ||
| 122 | </footer> | 113 | </footer> |
| 123 | |||
| 124 | <script> | ||
| 125 | function align_content_left() { | ||
| 126 | document.querySelectorAll(".content").forEach(el => { | ||
| 127 | el.classList.remove("content-center"); | ||
| 128 | }); | ||
| 129 | content_align_button.innerText = "center"; | ||
| 130 | localStorage.setItem("content-align", "left"); | ||
| 131 | } | ||
| 132 | |||
| 133 | function align_content_center() { | ||
| 134 | document.querySelectorAll(".content").forEach(el => { | ||
| 135 | el.classList.add("content-center"); | ||
| 136 | }); | ||
| 137 | content_align_button.innerText = "left"; | ||
| 138 | localStorage.setItem("content-align", "center"); | ||
| 139 | } | ||
| 140 | |||
| 141 | { | ||
| 142 | let initial_align = localStorage.getItem("content-align"); | ||
| 143 | if (!initial_align) { | ||
| 144 | localStorage.setItem("content-align", "left"); | ||
| 145 | initial_align = localStorage.getItem("content-align"); | ||
| 146 | } | ||
| 147 | |||
| 148 | if (initial_align == "center") { | ||
| 149 | align_content_center(); | ||
| 150 | } | ||
| 151 | } | ||
| 152 | |||
| 153 | content_align_button.onclick = function(e) { | ||
| 154 | const align = localStorage.getItem("content-align"); | ||
| 155 | if (align == "center") { align_content_left(); } | ||
| 156 | if (align == "left") { align_content_center(); } | ||
| 157 | } | ||
| 158 | </script> | ||
| 159 | </body> | 114 | </body> |
| 160 | </html> | 115 | </html> |
