diff options
Diffstat (limited to 'themes/xmin')
-rw-r--r-- | themes/xmin/static/css/style.css | 75 | ||||
-rw-r--r-- | themes/xmin/templates/base.html | 25 | ||||
l--------- | themes/xmin/templates/categories/list.html | 1 | ||||
l--------- | themes/xmin/templates/categories/single.html | 1 | ||||
-rw-r--r-- | themes/xmin/templates/index.html | 36 | ||||
-rw-r--r-- | themes/xmin/templates/page.html | 28 | ||||
-rw-r--r-- | themes/xmin/templates/section.html | 18 | ||||
-rw-r--r-- | themes/xmin/templates/tags/list.html | 18 | ||||
-rw-r--r-- | themes/xmin/templates/tags/single.html | 25 | ||||
-rw-r--r-- | themes/xmin/theme.toml | 12 |
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 |