summaryrefslogtreecommitdiff
path: root/themes/robson
diff options
context:
space:
mode:
Diffstat (limited to 'themes/robson')
-rw-r--r--themes/robson/archetypes/default.md5
-rw-r--r--themes/robson/assets/css/colorscheme.css97
-rw-r--r--themes/robson/assets/css/main.css98
-rw-r--r--themes/robson/assets/js/main.js1
-rw-r--r--themes/robson/hugo.toml24
-rw-r--r--themes/robson/layouts/_partials/footer.html4
-rw-r--r--themes/robson/layouts/_partials/head.html5
-rw-r--r--themes/robson/layouts/_partials/head/css.html12
-rw-r--r--themes/robson/layouts/_partials/head/js.html16
-rw-r--r--themes/robson/layouts/_partials/header.html9
-rw-r--r--themes/robson/layouts/_partials/menu.html51
-rw-r--r--themes/robson/layouts/_partials/terms.html23
-rw-r--r--themes/robson/layouts/baseof.html17
-rw-r--r--themes/robson/layouts/home.html17
-rw-r--r--themes/robson/layouts/page.html6
-rw-r--r--themes/robson/layouts/section.html10
-rw-r--r--themes/robson/layouts/taxonomy.html7
-rw-r--r--themes/robson/layouts/term.html7
-rw-r--r--themes/robson/static/favicon.icobin0 -> 15406 bytes
-rw-r--r--themes/robson/static/icons/git.svg1
20 files changed, 410 insertions, 0 deletions
diff --git a/themes/robson/archetypes/default.md b/themes/robson/archetypes/default.md
new file mode 100644
index 0000000..25b6752
--- /dev/null
+++ b/themes/robson/archetypes/default.md
@@ -0,0 +1,5 @@
++++
+date = '{{ .Date }}'
+draft = true
+title = '{{ replace .File.ContentBaseName "-" " " | title }}'
++++
diff --git a/themes/robson/assets/css/colorscheme.css b/themes/robson/assets/css/colorscheme.css
new file mode 100644
index 0000000..57c3308
--- /dev/null
+++ b/themes/robson/assets/css/colorscheme.css
@@ -0,0 +1,97 @@
+:root {
+ /* Gruvbox Light */
+ --bg0: #fbf1c7;
+ --bg1: #ebdbb2;
+ --bg2: #d5c4a1;
+ --bg3: #bdae93;
+ --bg4: #a89984;
+
+ --fg0: #282828;
+ --fg1: #3c3836;
+ --fg2: #504945;
+ --fg3: #665c54;
+ --fg4: #7c6f64;
+
+ --red: #cc241d;
+ --green: #98971a;
+ --yellow: #d79921;
+ --blue: #458588;
+ --purple: #b16286;
+ --aqua: #689d6a;
+ --orange: #d65d0e;
+ --gray: #928374;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ /* Gruvbox Dark */
+ --bg0: #282828;
+ --bg1: #3c3836;
+ --bg2: #504945;
+ --bg3: #665c54;
+ --bg4: #7c6f64;
+
+ --fg0: #fbf1c7;
+ --fg1: #ebdbb2;
+ --fg2: #d5c4a1;
+ --fg3: #bdae93;
+ --fg4: #a89984;
+
+ --red: #fb4934;
+ --green: #b8bb26;
+ --yellow: #fabd2f;
+ --blue: #83a598;
+ --purple: #d3869b;
+ --aqua: #8ec07c;
+ --orange: #fe8019;
+ --gray: #928374;
+ }
+}
+
+/* Override manual para toggle (opcional) */
+[data-theme="dark"] {
+ --bg0: #282828;
+ --bg1: #3c3836;
+ --bg2: #504945;
+ --bg3: #665c54;
+ --bg4: #7c6f64;
+
+ --fg0: #fbf1c7;
+ --fg1: #ebdbb2;
+ --fg2: #d5c4a1;
+ --fg3: #bdae93;
+ --fg4: #a89984;
+
+ --red: #fb4934;
+ --green: #b8bb26;
+ --yellow: #fabd2f;
+ --blue: #83a598;
+ --purple: #d3869b;
+ --aqua: #8ec07c;
+ --orange: #fe8019;
+ --gray: #928374;
+}
+
+[data-theme="light"] {
+ --bg0: #fbf1c7;
+ --bg1: #ebdbb2;
+ --bg2: #d5c4a1;
+ --bg3: #bdae93;
+ --bg4: #a89984;
+
+ --fg0: #282828;
+ --fg1: #3c3836;
+ --fg2: #504945;
+ --fg3: #665c54;
+ --fg4: #7c6f64;
+
+ --red: #cc241d;
+ --green: #98971a;
+ --yellow: #d79921;
+ --blue: #458588;
+ --purple: #b16286;
+ --aqua: #689d6a;
+ --orange: #d65d0e;
+ --gray: #928374;
+}
+
diff --git a/themes/robson/assets/css/main.css b/themes/robson/assets/css/main.css
new file mode 100644
index 0000000..a18bd06
--- /dev/null
+++ b/themes/robson/assets/css/main.css
@@ -0,0 +1,98 @@
+/* Aplicação base */
+body {
+ background-color: var(--bg0);
+ font-family: system-ui;
+ color: var(--fg0);
+}
+
+a {
+ color: var(--blue);
+}
+
+a:hover {
+ color: var(--aqua);
+}
+
+code {
+ background-color: var(--bg1);
+ color: var(--orange);
+}
+
+pre {
+ background-color: var(--bg1);
+ border: 1px solid var(--bg3);
+}
+
+header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0rem 1rem;
+}
+
+header>div.right {
+ display: flex;
+ gap: 2rem;
+ align-items: center;
+}
+
+main {
+ padding: 0 2rem;
+}
+
+footer {
+ border-top: solid 1px var(--fg0);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 2rem;
+}
+
+nav>ul {
+ padding: 0;
+ margin: 0;
+
+ display: flex;
+ gap: 1rem;
+ list-style: none;
+}
+
+nav>ul>li>a {
+ text-decoration: none;
+ font-size: 1.25rem;
+}
+
+h1 a {
+ text-decoration: none;
+ color: var(--fg0);
+}
+
+.socials>a>img {
+ display:block;
+ --icon-size: 1.5rem;
+
+ width: var(--icon-size);
+ height: var(--icon-size);
+}
+
+.iconGit {
+ filter: invert(35%) sepia(80%) saturate(1488%) hue-rotate(340deg) brightness(92%) contrast(94%);
+}
+
+.projectList {
+ padding: 1rem;
+ display: flex;
+ gap: 1rem;
+}
+
+.projectCard {
+ width: 18rem;
+ padding: 0.5rem;
+
+ display: flex;
+ flex-direction: column;
+ gap: 10rem;
+
+ background-color: var(--bg1);
+ border: solid 1px var(--fg0);
+}
diff --git a/themes/robson/assets/js/main.js b/themes/robson/assets/js/main.js
new file mode 100644
index 0000000..e2aac52
--- /dev/null
+++ b/themes/robson/assets/js/main.js
@@ -0,0 +1 @@
+console.log('This site was generated by Hugo.');
diff --git a/themes/robson/hugo.toml b/themes/robson/hugo.toml
new file mode 100644
index 0000000..ecae1a1
--- /dev/null
+++ b/themes/robson/hugo.toml
@@ -0,0 +1,24 @@
+baseURL = 'https://example.org/'
+languageCode = 'en-US'
+title = 'Robson'
+
+[menus]
+ [[menus.main]]
+ name = 'Home'
+ pageRef = '/'
+ weight = 10
+
+ [[menus.main]]
+ name = 'Posts'
+ pageRef = '/posts'
+ weight = 20
+
+ [[menus.main]]
+ name = 'Tags'
+ pageRef = '/tags'
+ weight = 30
+
+[module]
+ [module.hugoVersion]
+ extended = false
+ min = '0.146.0'
diff --git a/themes/robson/layouts/_partials/footer.html b/themes/robson/layouts/_partials/footer.html
new file mode 100644
index 0000000..a45e654
--- /dev/null
+++ b/themes/robson/layouts/_partials/footer.html
@@ -0,0 +1,4 @@
+<div>
+ <p lang="la"><i>Tu ne cede malis, sed contra audentior ito</i></p>
+</div>
+<a href="https://notbyai.fyi/hi/not-by-ai/"><img src="/svg/Written-By-Humans-Not-By-AI-Badge-black.svg"></img></a>
diff --git a/themes/robson/layouts/_partials/head.html b/themes/robson/layouts/_partials/head.html
new file mode 100644
index 0000000..02c2240
--- /dev/null
+++ b/themes/robson/layouts/_partials/head.html
@@ -0,0 +1,5 @@
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width">
+<title>{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }}</title>
+{{ partialCached "head/css.html" . }}
+{{ partialCached "head/js.html" . }}
diff --git a/themes/robson/layouts/_partials/head/css.html b/themes/robson/layouts/_partials/head/css.html
new file mode 100644
index 0000000..add502d
--- /dev/null
+++ b/themes/robson/layouts/_partials/head/css.html
@@ -0,0 +1,12 @@
+{{ $cssFiles := slice "css/main.css" "css/colorscheme.css" }}
+{{ range $cssFiles }}
+ {{- with resources.Get . }}
+ {{- if hugo.IsDevelopment }}
+ <link rel="stylesheet" href="{{ .RelPermalink }}">
+ {{- else }}
+ {{- with . | minify | fingerprint }}
+ <link rel="stylesheet" href="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
+ {{- end }}
+ {{- end }}
+ {{- end }}
+{{ end }}
diff --git a/themes/robson/layouts/_partials/head/js.html b/themes/robson/layouts/_partials/head/js.html
new file mode 100644
index 0000000..16ffbed
--- /dev/null
+++ b/themes/robson/layouts/_partials/head/js.html
@@ -0,0 +1,16 @@
+{{- with resources.Get "js/main.js" }}
+ {{- $opts := dict
+ "minify" (not hugo.IsDevelopment)
+ "sourceMap" (cond hugo.IsDevelopment "external" "")
+ "targetPath" "js/main.js"
+ }}
+ {{- with . | js.Build $opts }}
+ {{- if hugo.IsDevelopment }}
+ <script src="{{ .RelPermalink }}"></script>
+ {{- else }}
+ {{- with . | fingerprint }}
+ <script src="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous"></script>
+ {{- end }}
+ {{- end }}
+ {{- end }}
+{{- end }}
diff --git a/themes/robson/layouts/_partials/header.html b/themes/robson/layouts/_partials/header.html
new file mode 100644
index 0000000..21e7be6
--- /dev/null
+++ b/themes/robson/layouts/_partials/header.html
@@ -0,0 +1,9 @@
+<h1><a href="/">{{ site.Title }}</a></h1>
+<div class="right">
+ {{ partial "menu.html" (dict "menuID" "main" "page" .) }}
+ <div class="socials">
+ <a href="https://git.robson.zip">
+ <img class="iconGit" src="/icons/git.svg">
+ </a>
+ </div>
+</div>
diff --git a/themes/robson/layouts/_partials/menu.html b/themes/robson/layouts/_partials/menu.html
new file mode 100644
index 0000000..14245b5
--- /dev/null
+++ b/themes/robson/layouts/_partials/menu.html
@@ -0,0 +1,51 @@
+{{- /*
+Renders a menu for the given menu ID.
+
+@context {page} page The current page.
+@context {string} menuID The menu ID.
+
+@example: {{ partial "menu.html" (dict "menuID" "main" "page" .) }}
+*/}}
+
+{{- $page := .page }}
+{{- $menuID := .menuID }}
+
+{{- with index site.Menus $menuID }}
+ <nav>
+ <ul>
+ {{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
+ </ul>
+ </nav>
+{{- end }}
+
+{{- define "_partials/inline/menu/walk.html" }}
+ {{- $page := .page }}
+ {{- range .menuEntries }}
+ {{- $attrs := dict "href" .URL }}
+ {{- if $page.IsMenuCurrent .Menu . }}
+ {{- $attrs = merge $attrs (dict "class" "active" "aria-current" "page") }}
+ {{- else if $page.HasMenuCurrent .Menu .}}
+ {{- $attrs = merge $attrs (dict "class" "ancestor" "aria-current" "true") }}
+ {{- end }}
+ {{- $name := .Name }}
+ {{- with .Identifier }}
+ {{- with T . }}
+ {{- $name = . }}
+ {{- end }}
+ {{- end }}
+ <li>
+ <a
+ {{- range $k, $v := $attrs }}
+ {{- with $v }}
+ {{- printf " %s=%q" $k $v | safeHTMLAttr }}
+ {{- end }}
+ {{- end -}}
+ >{{ $name }}</a>
+ {{- with .Children }}
+ <ul>
+ {{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
+ </ul>
+ {{- end }}
+ </li>
+ {{- end }}
+{{- end }}
diff --git a/themes/robson/layouts/_partials/terms.html b/themes/robson/layouts/_partials/terms.html
new file mode 100644
index 0000000..8a6ebec
--- /dev/null
+++ b/themes/robson/layouts/_partials/terms.html
@@ -0,0 +1,23 @@
+{{- /*
+For a given taxonomy, renders a list of terms assigned to the page.
+
+@context {page} page The current page.
+@context {string} taxonomy The taxonomy.
+
+@example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
+*/}}
+
+{{- $page := .page }}
+{{- $taxonomy := .taxonomy }}
+
+{{- with $page.GetTerms $taxonomy }}
+ {{- $label := (index . 0).Parent.LinkTitle }}
+ <div>
+ <div>{{ $label }}:</div>
+ <ul>
+ {{- range . }}
+ <li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
+ {{- end }}
+ </ul>
+ </div>
+{{- end }}
diff --git a/themes/robson/layouts/baseof.html b/themes/robson/layouts/baseof.html
new file mode 100644
index 0000000..39dcbec
--- /dev/null
+++ b/themes/robson/layouts/baseof.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html lang="{{ site.Language.LanguageCode }}" dir="{{ or site.Language.LanguageDirection `ltr` }}">
+<head>
+ {{ partial "head.html" . }}
+</head>
+<body>
+ <header>
+ {{ partial "header.html" . }}
+ </header>
+ <main>
+ {{ block "main" . }}{{ end }}
+ </main>
+ <footer>
+ {{ partial "footer.html" . }}
+ </footer>
+</body>
+</html>
diff --git a/themes/robson/layouts/home.html b/themes/robson/layouts/home.html
new file mode 100644
index 0000000..193a754
--- /dev/null
+++ b/themes/robson/layouts/home.html
@@ -0,0 +1,17 @@
+{{ define "main" }}
+<h2>Welcome to our page!</h2>
+<p>
+We are an organization focused on researching and developing solutions from
+scratch to maximize performance and portability. Our vision is a future where
+application-as-a-service model will wither away and move on to take control
+back to the user with a business model that doesn't rely on locking users on a
+particular platform or janky words to mislead consumers. When we say you can
+buy our solutions, it means <b>buying</b>, not <b>leasing</b> or <b>licensing</b>.
+</p>
+<p>
+Our team is focused in delivering high-quality software solutions for consumers,
+and we plan to open for contract work in the future. As of right now, we are
+focusing on getting the tools sharped so we can get on work (that's why this
+website is simple).
+</p>
+{{ end }}
diff --git a/themes/robson/layouts/page.html b/themes/robson/layouts/page.html
new file mode 100644
index 0000000..06c8948
--- /dev/null
+++ b/themes/robson/layouts/page.html
@@ -0,0 +1,6 @@
+{{ define "main" }}
+ <h1>{{ .Title }}</h1>
+
+ {{ .Content }}
+ {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
+{{ end }}
diff --git a/themes/robson/layouts/section.html b/themes/robson/layouts/section.html
new file mode 100644
index 0000000..748f2f5
--- /dev/null
+++ b/themes/robson/layouts/section.html
@@ -0,0 +1,10 @@
+{{ define "main" }}
+ <h1>{{ .Title }}</h1>
+ {{ .Content }}
+ {{ range .Pages }}
+ <section>
+ <h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
+ {{ .Summary }}
+ </section>
+ {{ end }}
+{{ end }}
diff --git a/themes/robson/layouts/taxonomy.html b/themes/robson/layouts/taxonomy.html
new file mode 100644
index 0000000..c2e7875
--- /dev/null
+++ b/themes/robson/layouts/taxonomy.html
@@ -0,0 +1,7 @@
+{{ define "main" }}
+ <h1>{{ .Title }}</h1>
+ {{ .Content }}
+ {{ range .Pages }}
+ <h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
+ {{ end }}
+{{ end }}
diff --git a/themes/robson/layouts/term.html b/themes/robson/layouts/term.html
new file mode 100644
index 0000000..c2e7875
--- /dev/null
+++ b/themes/robson/layouts/term.html
@@ -0,0 +1,7 @@
+{{ define "main" }}
+ <h1>{{ .Title }}</h1>
+ {{ .Content }}
+ {{ range .Pages }}
+ <h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
+ {{ end }}
+{{ end }}
diff --git a/themes/robson/static/favicon.ico b/themes/robson/static/favicon.ico
new file mode 100644
index 0000000..67f8b77
--- /dev/null
+++ b/themes/robson/static/favicon.ico
Binary files differ
diff --git a/themes/robson/static/icons/git.svg b/themes/robson/static/icons/git.svg
new file mode 100644
index 0000000..13af359
--- /dev/null
+++ b/themes/robson/static/icons/git.svg
@@ -0,0 +1 @@
+<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Git</title><path d="M23.546 10.93L13.067.452c-.604-.603-1.582-.603-2.188 0L8.708 2.627l2.76 2.76c.645-.215 1.379-.07 1.889.441.516.515.658 1.258.438 1.9l2.658 2.66c.645-.223 1.387-.078 1.9.435.721.72.721 1.884 0 2.604-.719.719-1.881.719-2.6 0-.539-.541-.674-1.337-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348.713.721.713 1.883 0 2.6-.719.721-1.889.721-2.609 0-.719-.719-.719-1.879 0-2.598.182-.18.387-.316.605-.406V8.835c-.217-.091-.424-.222-.6-.401-.545-.545-.676-1.342-.396-2.009L7.636 3.7.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477c.604.604 1.582.604 2.186 0l10.43-10.43c.605-.603.605-1.582 0-2.187"/></svg> \ No newline at end of file