diff --git a/README.md b/README.md index 4cf4b04..d526052 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Lugo - a fork of Luke's theme +# Oliver's Hugo Theme -A basic hugo theme based off of [Luke Smith's](https://lukesmith.xyz) hugo theme. Quite a lot has been changed so it is barely a fork at this point. +Fork of [lugo](https://github.com/LukeSmithxyz/lugo). Used for my personal website(s). ## Get started diff --git a/archetypes/default.md b/archetypes/default.md index 13d9021..167e8bb 100644 --- a/archetypes/default.md +++ b/archetypes/default.md @@ -2,6 +2,6 @@ title: "{{ replace .Name "-" " " | title }}" date: {{ .Date }} description: "Example" -tags: [''] +tags: ['blog'] draft: true --- \ No newline at end of file diff --git a/config.toml b/config.toml index e884199..4b6deeb 100644 --- a/config.toml +++ b/config.toml @@ -1,11 +1,12 @@ title = "Website Name" baseURL = 'https://example.org' languageCode = 'en-us' +enableRobotsTXT = true [params] # "relatedtext" is the text that appears above the tag list at the bottom of pages. - relatedtext = "Related" - favicon = "/favicon.ico" + relatedtext = "Tags:" + favicon = "favicon.ico" #list items datesinlist = true diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 6f47fc8..d02d3ce 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -1,12 +1,12 @@ {{ partial "head.html" . }} - {{ block "header" . }} {{ partial "header.html" . }} {{ end }}
+

{{ .Page.Title }} @@ -17,10 +17,10 @@ {{ .Content }} {{ end }} +

{{ block "footer" . }} {{ partial "footer.html" . }} {{ end }}
- \ No newline at end of file diff --git a/layouts/_default/list.html b/layouts/_default/list.html index 601fc08..feb681c 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -3,6 +3,7 @@ {{- end }} {{ define "main" -}} {{ .Content }} +{{ if not .IsHome }} {{- end }} +{{ end }} diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 45c0836..6f71df4 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,8 +1,5 @@
\ No newline at end of file diff --git a/layouts/partials/head.html b/layouts/partials/head.html index 306831d..d6610ff 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -3,6 +3,7 @@ + {{ with .Site.Params.favicon }} {{ end -}} diff --git a/layouts/partials/header.html b/layouts/partials/header.html index d3ab307..243e90a 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -1,5 +1,5 @@
-

+

{{ .Site.Title }} -

+
\ No newline at end of file diff --git a/layouts/partials/taglist.html b/layouts/partials/taglist.html new file mode 100644 index 0000000..879de3a --- /dev/null +++ b/layouts/partials/taglist.html @@ -0,0 +1,13 @@ + {{- if isset .Params "tags" -}} + {{- $tagsLen := len .Params.tags -}} + {{- if gt $tagsLen 0 -}} +
+ {{- with .Site.Params.relatedtext }} {{ . }}
{{ end -}} + {{- range $k, $v := .Params.tags -}} + {{- $url := printf "tags/%s" (. | urlize | lower) -}} + {{ . | title }} + {{- if lt $k (sub $tagsLen 1) }} · {{ end -}} + {{- end -}} +
+ {{- end -}} + {{- end }} diff --git a/layouts/shortcodes/img.html b/layouts/shortcodes/img.html index d5698f5..c32cf8b 100644 --- a/layouts/shortcodes/img.html +++ b/layouts/shortcodes/img.html @@ -8,8 +8,9 @@
{{- with .Get "link"}}{{ end -}} {{.}} {{- if .Get "link"}}{{ end -}} {{- with .Get "caption" -}} diff --git a/static/lugo.css b/static/lugo.css new file mode 100644 index 0000000..2274707 --- /dev/null +++ b/static/lugo.css @@ -0,0 +1,67 @@ +/* Shortcode css*/ +/* For NEXTPREV.HTML */ +#nextprev { + /* The container for both the previous and next articles. */ + color: black; +} + +#nextprev a:any-link { + color: black; +} + +#nextart { + float: left ; + text-align: left ; +} + +#prevart { + float: right ; + text-align: right ; +} + +#nextart,#prevart { + max-width: 33% ; +} + +/* For TAGLIST.HTML */ +.taglist { + text-align: center; + clear: both; + color: var(--bg-text); +} + +/* For putting right / left boxes next to each other */ +.left { + width: 45%; + padding-right: 5%; + float: left; + clear: both; +} + +.right { + width: 45%; + padding-left: 5%; + float: right; +} + +figure { + display: flex; + flex-direction: column; + flex-wrap: wrap; + align-content: center; + align-items: center; +} + +figcaption { + color: var(--bg-text); +} + +img { + max-width: 100%; + max-height: 50vh; + border-radius: var(--radius); +} + +.rss { + border-radius: 0.25rem; +} \ No newline at end of file diff --git a/static/roller.css b/static/roller.css deleted file mode 100644 index 0091564..0000000 --- a/static/roller.css +++ /dev/null @@ -1,71 +0,0 @@ -.roller-container {display: grid; text-align: center;} -.roller0,.roller1,.roller2,.roller3,.roller4,.roller5{ - animation-iteration-count: infinite; - animation-timing-function: cubic-bezier(1, 0, 0, 1); - animation-duration: 6s; - animation-direction: normal; - transform-origin: center; - /* works with "display: grid" to have all the words in the same place on the screen. */ - grid-row: 1; - grid-column: 1; -} -.roller0 { animation-name: roll0; color: rgb(0, 182, 182)} -.roller1 { animation-name: roll1; color: rgb(173, 3, 154)} -.roller2 { animation-name: roll2; color: rgb(6, 179, 0)} -.roller3 { animation-name: roll3; color: rgb(211, 189, 0)} -.roller4 { animation-name: roll4; color: rgb(171, 0, 0)} -.roller5 { animation-name: roll5; color: rgb(255, 247, 0)} -@keyframes roll0 { - 100% { opacity: 1; transform: translateY(0) rotateX(0); } - 0% { opacity: 1; transform: translateY(0) rotateX(0); } - 17% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 34% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 51% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 68% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 85% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } -} -@keyframes roll1 { - 100% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 0% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 17% { opacity: 1; transform: translateY(0) rotateX(0); } - 34% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 51% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 68% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 85% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } -} -@keyframes roll2 { - 100% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 0% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 17% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 34% { opacity: 1; transform: translateY(0) rotateX(0); } - 51% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 68% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 85% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } -} -@keyframes roll3 { - 100% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 0% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 17% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 34% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 51% { opacity: 1; transform: translateY(0) rotateX(0); } - 68% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 85% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } -} -@keyframes roll4 { - 100% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 0% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 17% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 34% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 51% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 68% { opacity: 1; transform: translateY(0) rotateX(0); } - 85% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } -} -@keyframes roll5 { - 100% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 0% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 17% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 34% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 51% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 68% { opacity: 0; transform: translateY(2rem) rotateX(15deg); } - 85% { opacity: 1; transform: translateY(0) rotateX(0); } -} diff --git a/static/style.css b/static/style.css index 92733ef..d185019 100644 --- a/static/style.css +++ b/static/style.css @@ -1,5 +1,46 @@ +:root { + --bg: #222222; + --bg-text: #606060; + --text: #ffffff; + --header: #454545; + --header-text: #707070; + --content-bg: #303030; + --accent: #344a70; + --link: #3e765d; + --radius: 0.75rem; + font-family: Arial, Helvetica, sans-serif; + font-size: x-large; +} + +blockquote { + background-color: var(--header); + /* border-radius: var(--radius); */ + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + margin-top: 0; + margin-bottom: 0; +} + +/* blockquote~blockquote { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +blockquote+blockquote { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} */ + +pre { + background-color: var(--bg); + padding: 1rem; + border-radius: var(--radius); +} + .copy:hover { - color: #344a70; + color: var(--accent); + cursor: copy; } ::-webkit-scrollbar { @@ -7,29 +48,26 @@ } body { - background-color: #222222; - color: #ffffff; - font-family: Arial, Helvetica, sans-serif; + background-color: var(--bg); + color: var(--text); margin: 0; - font-size: x-large; } header { - background-color: #344a70; - margin-top: 0; - margin-left: 0; + background-color: var(--accent); text-align: center; - padding: 0.75rem; - font-size: xx-large; + padding: 0.5rem; } .article-header { - background-color: #454545; - color: #707070; + background-color: var(--header); + color: var(--header-text); +} + +section { + border-radius: var(--radius); margin: 2rem; - margin-bottom: 0; - border-top-right-radius: 0.5rem; - border-top-left-radius: 0.5rem; + overflow: hidden; } .spaced { @@ -38,49 +76,44 @@ header { } article { - background-color: #303030; + background-color: var(--content-bg); padding: 1.5rem; - margin-left: 2rem; - margin-right: 2rem; text-align: left; - border-bottom-left-radius: 0.5rem; - border-bottom-right-radius: 0.5em; } hr { margin: 2rem; height: 1px; border: 0; - border-top: 1px solid #454545; + border-top: 1px solid var(--header); height: 1px; } footer { - color: #606060; + color: var(--bg-text); text-align: center; } -p { - margin-left: 1rem; - margin-right: 1rem; - margin-top: 0; -} - h1,h2,h3,h4,h5,h6 { - margin: 0; + margin: 1rem; text-align: center; } +header h1 { + margin: 0; + font-size: 2.5rem; +} + article h1 { margin-bottom: 1rem; } a { - color: #3e765d; + color: var(--link); } a:hover { - color: #344a70; + color: var(--accent); text-decoration-line: none; } @@ -100,7 +133,7 @@ main { margin: auto; } -@media screen and (max-width: 900px) { +@media screen and (max-width: 1500px) { main { max-width: 100%; margin: auto;