summary refs log tree commit diff stats
path: root/themes/xmin
diff options
context:
space:
mode:
authorAlan Pearce2020-11-15 13:14:37 +0100
committerAlan Pearce2020-11-15 13:15:31 +0100
commit6385a5f78ce2ad7409811927b10fc2b62e427643 (patch)
tree557406eaea728d84f82e852ada8fd97199d1a709 /themes/xmin
parent78096da0f478a0b11b77f365cedc855e7c680e14 (diff)
downloadwebsite-6385a5f78ce2ad7409811927b10fc2b62e427643.tar.lz
website-6385a5f78ce2ad7409811927b10fc2b62e427643.tar.zst
website-6385a5f78ce2ad7409811927b10fc2b62e427643.zip
Extract theme from templates
Diffstat (limited to 'themes/xmin')
-rw-r--r--themes/xmin/static/css/style.css75
-rw-r--r--themes/xmin/templates/base.html25
l---------themes/xmin/templates/categories/list.html1
l---------themes/xmin/templates/categories/single.html1
-rw-r--r--themes/xmin/templates/index.html36
-rw-r--r--themes/xmin/templates/page.html28
-rw-r--r--themes/xmin/templates/section.html18
-rw-r--r--themes/xmin/templates/tags/list.html18
-rw-r--r--themes/xmin/templates/tags/single.html25
-rw-r--r--themes/xmin/theme.toml12
10 files changed, 239 insertions, 0 deletions
diff --git a/themes/xmin/static/css/style.css b/themes/xmin/static/css/style.css
new file mode 100644
index 0000000..e605297
--- /dev/null
+++ b/themes/xmin/static/css/style.css
@@ -0,0 +1,75 @@
+body {
+  font-family: sans-serif;
+  line-height: 1.5em;
+  margin: auto;
+  max-width: 800px;
+  padding: 1em;
+}
+
+/* header and footer areas */
+nav > ul { padding: 0; }
+nav > ul > li { display: inline-block; }
+article > header, nav > ul a {
+  background: #eee;
+  border-radius: 5px;
+  padding: 5px;
+  text-decoration: none;
+}
+.terms { font-size: .9em; }
+nav > ul, article > header, footer { text-align: center; }
+.title { font-size: 1.1em; }
+footer a { text-decoration: none; }
+hr {
+  border-style: dashed;
+  color: #ddd;
+}
+body > nav {
+  border-bottom: 1px solid #ddd;
+}
+body > footer {
+  border-top: 1px solid #ddd;
+}
+
+/* code */
+pre {
+  border: 1px solid #ddd;
+  overflow-x: auto;
+  padding: 1em;
+}
+code { background: #f9f9f9; }
+pre code { background: none; }
+
+/* misc elements */
+img, iframe, video { max-width: 100%; }
+main { hyphens: auto; }
+blockquote {
+  background: #f9f9f9;
+  border-left: 5px solid #ccc;
+  padding: 3px 1em 3px;
+}
+
+table thead th { border-bottom: 1px solid #ddd; }
+th, td { padding: 5px; }
+thead, tfoot, tr:nth-child(even) { background: #eee; }
+.hl { background-color: #ffc; }
+
+@media (prefers-color-scheme: dark) {
+	body {
+		background-color: #111;
+		color: white;
+	}
+	article > header, nav > ul a {
+		background: #222;
+	}
+	a {
+		color: #C4D4EE;
+	}
+	a:visited {
+		color: #CEDEE0;
+	}
+	code { background-color: #444; }
+	thead, tfoot, tr:nth-child(even) { background: #222; }
+	.hl {
+		background-color: #555;
+	}
+}
diff --git a/themes/xmin/templates/base.html b/themes/xmin/templates/base.html
new file mode 100644
index 0000000..6b99609
--- /dev/null
+++ b/themes/xmin/templates/base.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="{{ config.default_language }}">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title {%- if current_path == '/' %} class="p-name"{% endif %}>{% block title %}{{ section.title }} | {{ config.title }}{% endblock %}</title>
+    <link rel="stylesheet" href="/css/style.css" />
+    {%- if config.generate_feed %}
+    {%- block rss %}
+    <link rel="alternate" type={% if config.feed_filename == "atom.xml" %}"application/atom+xml"{% else %}"application/rss+xml"{% endif %} title="RSS" href="{{ get_url(path=config.feed_filename) | safe }}">
+    {%- endblock %}
+    {%- endif %}
+  </head>
+  <body>
+    <nav>
+      <ul>
+        {%- for item in config.extra.menu.main %}
+          <li><a {%- if item.url == "/" %} class="author"{% endif %} href="{{ item.url | safe }}">{{ item.name }}</a></li>
+        {%- endfor %}
+      </ul>
+    </nav>
+    {% block main %}{% endblock %}
+    <footer>{{ config.extra.footer | safe }}</footer>
+  </body>
+</html>
diff --git a/themes/xmin/templates/categories/list.html b/themes/xmin/templates/categories/list.html
new file mode 120000
index 0000000..e0e4e08
--- /dev/null
+++ b/themes/xmin/templates/categories/list.html
@@ -0,0 +1 @@
+../tags/list.html
\ No newline at end of file
diff --git a/themes/xmin/templates/categories/single.html b/themes/xmin/templates/categories/single.html
new file mode 120000
index 0000000..86f5e80
--- /dev/null
+++ b/themes/xmin/templates/categories/single.html
@@ -0,0 +1 @@
+../tags/single.html
\ No newline at end of file
diff --git a/themes/xmin/templates/index.html b/themes/xmin/templates/index.html
new file mode 100644
index 0000000..23ec4cd
--- /dev/null
+++ b/themes/xmin/templates/index.html
@@ -0,0 +1,36 @@
+{% extends "base.html" %}
+
+{% block main %}
+<main class="h-card">
+  <h1 class="p-name">{{ config.title }}</h1>
+  {{ section.content | safe }}
+  <section>
+    <h2>Latest Posts</h2>
+    <ul class="h-feed">
+      {%- for page in section.pages | slice(end=3) %}
+        <li class="h-entry">
+          <time class="dt-published" datetime="{{ page.date | date(format="%+") }}">{{ page.date | date(format="%F") }}</time>
+          <a class="u-url p-name" href="{{ page.path | safe }}">{{ page.title }}</a>
+        </li>
+      {%- endfor %}
+    </ul>
+  </section>
+  <section>
+    <h2>Elsewhere on the Internet</h2>
+    <ul>
+      {%- for item in config.extra.menu.contact %}
+        <li>
+          {%- if item.url is starting_with("mailto:") %}
+            <a href="{{ item.url | safe }}" class="u-email email" rel="me">{{ item.name }}</a>
+          {%- else %}
+            <a href="{{ item.url | safe }}" class="u-url url" rel="me">{{ item.name }}</a>
+          {%- endif %}
+        </li>
+      {%- endfor %}
+    </ul>
+  </section>
+  <footer>
+    GPG Key: <a href="{{ config.extra.gpg_url | safe }}" rel="u-key pgpkey">{{ config.extra.gpg_fingerprint }}</a>
+  </footer>
+</main>
+{% endblock %}
diff --git a/themes/xmin/templates/page.html b/themes/xmin/templates/page.html
new file mode 100644
index 0000000..f32a6fc
--- /dev/null
+++ b/themes/xmin/templates/page.html
@@ -0,0 +1,28 @@
+{% extends "base.html" %}
+
+{% block title %}
+{{- page.title -}}
+{% endblock %}
+
+{% block main %}
+<article class="h-entry">
+  <header>
+    <h1><span class="title p-name">{{ page.title }}</span></h1>
+    <time class="dt-published" datetime="{{ page.date | date(format='%+') }}">{{ page.date | date(format="%F") }}</time>
+    <p class="terms">
+      {%- if page.taxonomies %}
+      {%- for name, taxon in page.taxonomies %}
+      {{ name | capitalize }}:
+      {%- for item in taxon %}
+      <a class="p-category" href="{{ get_taxonomy_url(kind=name, name=item) }}">{{ item }}</a>
+      {%- endfor %}
+      {%- endfor %}
+      {%- endif %}
+    </p>
+  </header>
+
+  <main class="e-content">
+    {{ page.content | safe }}
+  </main>
+</article>
+{% endblock %}
diff --git a/themes/xmin/templates/section.html b/themes/xmin/templates/section.html
new file mode 100644
index 0000000..e61566f
--- /dev/null
+++ b/themes/xmin/templates/section.html
@@ -0,0 +1,18 @@
+{% extends "base.html" %}
+
+{% block main %}
+<main>
+  <h1>{{ section.title }}</h1>
+  {{ section.content }}
+  <section>
+    <ul>
+      {% for page in section.pages %}
+        <li class="h-entry">
+          <time class="dt-published" datetime="{{ page.date | date(format="%+") }}">{{ page.date | date(format="%F") }}</time>
+          <a class="u-url p-name" href="{{ page.path | safe }}">{{ page.title }}</a>
+        </li>
+      {% endfor %}
+    </ul>
+  </section>
+</main>
+{% endblock %}
diff --git a/themes/xmin/templates/tags/list.html b/themes/xmin/templates/tags/list.html
new file mode 100644
index 0000000..ee60c39
--- /dev/null
+++ b/themes/xmin/templates/tags/list.html
@@ -0,0 +1,18 @@
+{% extends "base.html" %}
+
+{% block title %}{{ taxonomy.name | capitalize }}{% endblock %}
+
+{% block main %}
+<main>
+  <h1>{{ taxonomy.name | capitalize }}</h1>
+  <section>
+    <ul>
+      {%- for term in terms %}
+        <li>
+          <a href="{{ term.permalink }}">{{ term.name }}</a>
+        </li>
+      {%- endfor %}
+    </ul>
+  </section>
+</main>
+{% endblock %}
diff --git a/themes/xmin/templates/tags/single.html b/themes/xmin/templates/tags/single.html
new file mode 100644
index 0000000..25dde54
--- /dev/null
+++ b/themes/xmin/templates/tags/single.html
@@ -0,0 +1,25 @@
+{% extends "base.html" %}
+
+{% block rss %}
+  {% set rss_path = "tags/" ~ term.name ~ "/atom.xml" %}
+  <link rel="alternate" type="application/atom+xml" title="RSS" href="{{ get_url(path=rss_path, trailing_slash=false) | safe }}">
+
+{% endblock %}
+
+{% block title %}{{ taxonomy.name | capitalize }}: {{ term.name }} | {{ config.title }}{% endblock %}
+
+{% block main %}
+<main>
+  <h1>{{ taxonomy.name | capitalize }}: {{ term.name }}</h1>
+  <section>
+    <ul class="h-feed">
+      {%- for page in term.pages %}
+        <li class="h-entry">
+          <time class="dt-published" datetime="{{ page.date | date(format="%+") }}">{{ page.date | date(format="%F") }}</time>
+          <a class="u-url p-name" href="{{ page.permalink | safe }}">{{ page.title }}</a>
+        </li>
+      {%- endfor %}
+    </ul>
+  </section>
+</main>
+{% endblock %}
diff --git a/themes/xmin/theme.toml b/themes/xmin/theme.toml
new file mode 100644
index 0000000..99884b9
--- /dev/null
+++ b/themes/xmin/theme.toml
@@ -0,0 +1,12 @@
+name = "xmin"
+description = "XMin is a Hugo theme written by Yihui Xie in about four hours"
+license = "MIT"
+
+[author]
+name = "Alan Pearce"
+homepage = "https://www.alanpearce.eu"
+
+[original]
+author = "yihui"
+homepage = "https://yihui.org"
+repo = "https://github.com/yihui/hugo-xmin"
\ No newline at end of file