From 06fa59079074a384c8b0f8caa42e89efdaea3789 Mon Sep 17 00:00:00 2001 From: shockrah Date: Sat, 14 Aug 2021 13:46:18 -0700 Subject: [PATCH] * Beginning of hugo driven theming --- .gitignore | 1 + config.toml | 6 + themes/shockrah.xyz/LICENSE | 20 ++ themes/shockrah.xyz/archetypes/default.md | 2 + themes/shockrah.xyz/layouts/404.html | 0 .../shockrah.xyz/layouts/_default/baseof.html | 11 + .../shockrah.xyz/layouts/_default/list.html | 12 + .../shockrah.xyz/layouts/_default/single.html | 6 + themes/shockrah.xyz/layouts/index.html | 13 + .../shockrah.xyz/layouts/partials/footer.html | 0 .../shockrah.xyz/layouts/partials/head.html | 8 + .../shockrah.xyz/layouts/partials/header.html | 19 ++ .../layouts/partials/metadata.html | 10 + themes/shockrah.xyz/static/css/style.css | 271 ++++++++++++++++++ themes/shockrah.xyz/theme.toml | 21 ++ 15 files changed, 400 insertions(+) create mode 100644 config.toml create mode 100644 themes/shockrah.xyz/LICENSE create mode 100644 themes/shockrah.xyz/archetypes/default.md create mode 100644 themes/shockrah.xyz/layouts/404.html create mode 100644 themes/shockrah.xyz/layouts/_default/baseof.html create mode 100644 themes/shockrah.xyz/layouts/_default/list.html create mode 100644 themes/shockrah.xyz/layouts/_default/single.html create mode 100644 themes/shockrah.xyz/layouts/index.html create mode 100644 themes/shockrah.xyz/layouts/partials/footer.html create mode 100644 themes/shockrah.xyz/layouts/partials/head.html create mode 100644 themes/shockrah.xyz/layouts/partials/header.html create mode 100644 themes/shockrah.xyz/layouts/partials/metadata.html create mode 100644 themes/shockrah.xyz/static/css/style.css create mode 100644 themes/shockrah.xyz/theme.toml diff --git a/.gitignore b/.gitignore index 019ac77..2dc8251 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ keys/ *.bin msg +public diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..28fae6e --- /dev/null +++ b/config.toml @@ -0,0 +1,6 @@ +baseURL = "https://shockrah.xyz" +languageCode = "en-us" +title = "Shockrah's Blog" + +theme = "shockrah.xyz" + diff --git a/themes/shockrah.xyz/LICENSE b/themes/shockrah.xyz/LICENSE new file mode 100644 index 0000000..e4483e2 --- /dev/null +++ b/themes/shockrah.xyz/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2021 YOUR_NAME_HERE + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/themes/shockrah.xyz/archetypes/default.md b/themes/shockrah.xyz/archetypes/default.md new file mode 100644 index 0000000..ac36e06 --- /dev/null +++ b/themes/shockrah.xyz/archetypes/default.md @@ -0,0 +1,2 @@ ++++ ++++ diff --git a/themes/shockrah.xyz/layouts/404.html b/themes/shockrah.xyz/layouts/404.html new file mode 100644 index 0000000..e69de29 diff --git a/themes/shockrah.xyz/layouts/_default/baseof.html b/themes/shockrah.xyz/layouts/_default/baseof.html new file mode 100644 index 0000000..5f8e2ec --- /dev/null +++ b/themes/shockrah.xyz/layouts/_default/baseof.html @@ -0,0 +1,11 @@ + + + {{- partial "head.html" . -}} + + {{- partial "header.html" . -}} +
+ {{- block "main" . }}{{- end }} +
+ {{- partial "footer.html" . -}} + + diff --git a/themes/shockrah.xyz/layouts/_default/list.html b/themes/shockrah.xyz/layouts/_default/list.html new file mode 100644 index 0000000..17bc609 --- /dev/null +++ b/themes/shockrah.xyz/layouts/_default/list.html @@ -0,0 +1,12 @@ +{{ define "main" }} +

{{ .Title }}

+ {{ range .Pages.ByPublishDate.Reverse }} +

+

{{ .Title }}

+ {{ partial "metadata.html" }} + +

{{ .Summary }}

+
+

+ {{ end }} +{{ end }} diff --git a/themes/shockrah.xyz/layouts/_default/single.html b/themes/shockrah.xyz/layouts/_default/single.html new file mode 100644 index 0000000..8457edb --- /dev/null +++ b/themes/shockrah.xyz/layouts/_default/single.html @@ -0,0 +1,6 @@ +{{ define "main" }} +

{{ .Title }}

+{{ partial "metadata.html" }} +

+{{ .Content }} +{{ end }} diff --git a/themes/shockrah.xyz/layouts/index.html b/themes/shockrah.xyz/layouts/index.html new file mode 100644 index 0000000..90b835d --- /dev/null +++ b/themes/shockrah.xyz/layouts/index.html @@ -0,0 +1,13 @@ + + + {{- partial "head.html" . -}} + + {{- partial "header.html" . -}} +
+
+ + +
+
+ + diff --git a/themes/shockrah.xyz/layouts/partials/footer.html b/themes/shockrah.xyz/layouts/partials/footer.html new file mode 100644 index 0000000..e69de29 diff --git a/themes/shockrah.xyz/layouts/partials/head.html b/themes/shockrah.xyz/layouts/partials/head.html new file mode 100644 index 0000000..e0d0c2b --- /dev/null +++ b/themes/shockrah.xyz/layouts/partials/head.html @@ -0,0 +1,8 @@ + + + + + {{ $title := print .Site.Title " | " .Title }} + {{ if .IsHome }}{{ $title = .Site.Title}}{{end}} + {{ $title }} + diff --git a/themes/shockrah.xyz/layouts/partials/header.html b/themes/shockrah.xyz/layouts/partials/header.html new file mode 100644 index 0000000..c641310 --- /dev/null +++ b/themes/shockrah.xyz/layouts/partials/header.html @@ -0,0 +1,19 @@ + diff --git a/themes/shockrah.xyz/layouts/partials/metadata.html b/themes/shockrah.xyz/layouts/partials/metadata.html new file mode 100644 index 0000000..141e247 --- /dev/null +++ b/themes/shockrah.xyz/layouts/partials/metadata.html @@ -0,0 +1,10 @@ +{{ $dateTime := .PublishDate.Format "2017-01-01" }} +{{ $dateFormat := .Site.Params.dateFormat | default "Jan 2, 2006" }} + +{{ with .Params.tags }} +{{ range . }} +{{ $href := print (absURL "tags/") (urlize .) }} +{{ . }} +{{ end }} +{{ end }} + diff --git a/themes/shockrah.xyz/static/css/style.css b/themes/shockrah.xyz/static/css/style.css new file mode 100644 index 0000000..c75f437 --- /dev/null +++ b/themes/shockrah.xyz/static/css/style.css @@ -0,0 +1,271 @@ +@font-face { + font-family: 'Fixedsys'; + src: url('/media/fonts/FSEX300.ttf'); +} +body { + font-family: 'Fixedsys'; + background: #212121; +} + +a { + text-decoration: none; + color: white; +} + +code { + color: lightgreen; +} + +blockquote { + border-left: 10px solid #1f8dd6; +} + +p { + margin-left: 1em; +} + + +.pure-img-responsive { + max-width: 100%; + height: auto; +} + +/* +Add transition to containers so they can push in and out. +*/ +#layout, +#menu, +.menu-link { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + -ms-transition: all 0.2s ease-out; + -o-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} + +/* +This is the parent `
` that contains the menu and the content area. +*/ +#layout { + position: relative; + left: 0; + padding-left: 0; +} + #layout.active #menu { + left: 150px; + width: 150px; + } + + #layout.active .menu-link { + left: 150px; + } +/* +The content `
` is where all your content goes. +*/ +.content { + margin: 0 auto; + padding: 0 2em; + max-width: 800px; + margin-bottom: 50px; + line-height: 1.6em; + color: whitesmoke; +} + +.header { + margin: 0; + color: #333; + text-align: center; + padding: 2.5em 2em 0; + border-bottom: 1px solid #eee; + } + .header h1 { + margin: 0.2em 0; + font-size: 3em; + font-weight: 300; + } + .header h2 { + font-weight: 300; + color: #ccc; + padding: 0; + margin-top: 0; + } + +.content-subhead { + margin: 50px 0 20px 0; + font-weight: 300; + color: #888; +} + + +/* +The `#menu` `
` is the parent `
` that contains the `.pure-menu` that +appears on the left side of the page. +*/ + +#menu { + margin-left: -150px; /* "#menu" width */ + width: 150px; + position: fixed; + top: 0; + left: 0; + bottom: 0; + z-index: 1000; /* so the menu or its navicon stays above all content */ + background: #191818; + overflow-y: auto; + -webkit-overflow-scrolling: touch; +} + /* + All anchors inside the menu should be styled like this. + */ + #menu a { + color: #999; + border: none; + padding: 0.6em 0 0.6em 0.6em; + } + + /* + Remove all background/borders, since we are applying them to #menu. + */ + #menu .pure-menu, + #menu .pure-menu ul { + border: none; + background: transparent; + } + + /* + Add that light border to separate items into groups. + */ + #menu .pure-menu ul, + #menu .pure-menu .menu-item-divided { + border-top: 1px solid #333; + } + /* + Change color of the anchor links on hover/focus. + */ + #menu .pure-menu li a:hover, + #menu .pure-menu li a:focus { + background: #333; + } + + /* + This styles the selected menu item `
  • `. + */ + #menu .pure-menu-selected, + #menu .pure-menu-heading { + background: #1f8dd6; + } + /* + This styles a link within a selected menu item `
  • `. + */ + #menu .pure-menu-selected a { + color: #fff; + } + + /* + This styles the menu heading. + */ + #menu .pure-menu-heading { + font-size: 110%; + color: #fff; + margin: 0; + } + +/* -- Dynamic Button For Responsive Menu -------------------------------------*/ + +/* +The button to open/close the Menu is custom-made and not part of Pure. Here's +how it works: +*/ + +/* +`.menu-link` represents the responsive menu toggle that shows/hides on +small screens. +*/ +.menu-link { + position: fixed; + display: block; /* show this only on small screens */ + top: 0; + left: 0; /* "#menu width" */ + background: #000; + background: rgba(0,0,0,0.7); + font-size: 10px; /* change this value to increase/decrease button size */ + z-index: 10; + width: 2em; + height: auto; + padding: 2.1em 1.6em; +} + + .menu-link:hover, + .menu-link:focus { + background: #000; + } + + .menu-link span { + position: relative; + display: block; + } + + .menu-link span, + .menu-link span:before, + .menu-link span:after { + background-color: #fff; + width: 100%; + height: 0.2em; + } + + .menu-link span:before, + .menu-link span:after { + position: absolute; + margin-top: -0.6em; + content: " "; + } + + .menu-link span:after { + margin-top: 0.6em; + } + + +/* -- Responsive Styles (Media Queries) ------------------------------------- */ + +/* +Hides the menu at `48em`, but modify this based on your app's needs. +*/ +@media (min-width: 48em) { + + .header, + .content { + padding-left: 2em; + padding-right: 2em; + } + + #layout { + padding-left: 150px; /* left col width "#menu" */ + left: 0; + } + #menu { + left: 150px; + } + + .menu-link { + position: fixed; + left: 150px; + display: none; + } + + #layout.active .menu-link { + left: 150px; + } +} + +@media (max-width: 48em) { + /* Only apply this when the window is small. Otherwise, the following + case results in extra padding on the left: + * Make the window small. + * Tap the menu to trigger the active state. + * Make the window large again. + */ + #layout.active { + position: relative; + left: 150px; + } +} diff --git a/themes/shockrah.xyz/theme.toml b/themes/shockrah.xyz/theme.toml new file mode 100644 index 0000000..cf9f291 --- /dev/null +++ b/themes/shockrah.xyz/theme.toml @@ -0,0 +1,21 @@ +# theme.toml template for a Hugo theme +# See https://github.com/gohugoio/hugoThemes#themetoml for an example + +name = "shockrah.xyz" +license = "" +licenselink = "https://github.com/yourname/yourtheme/blob/master/LICENSE" +description = "" +homepage = "http://example.com/" +tags = ["blog", "tech", "maker"] +features = [] +min_version = "0.41.0" + +[author] + name = "Shockrah" + homepage = "shockrah.xyz" + +# If porting an existing theme +[original] + name = "" + homepage = "" + repo = ""