Skip to content

syui/hugo-theme-air

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
syui
Jan 3, 2022
46ea202 · Jan 3, 2022

History

23 Commits
Jan 3, 2022
Feb 24, 2019
Jan 3, 2022
Feb 24, 2019
Feb 24, 2019
Aug 18, 2019
Feb 24, 2019
Dec 6, 2019
Oct 8, 2020
Dec 6, 2019
Feb 24, 2019
Feb 24, 2019

Repository files navigation

AIR theme for hugo

Air is a single-column theme for Hugo. Ported from Casper theme for Ghost , vjeantet/hugo-theme-casper

Hugo Air Theme screenshot

$ git clone https://github.com/syui/hugo-theme-air

$ cd hugo-theme-air

$ hugo

$ hugo server
---------------------------------
$ curl 127.0.0.1:1313/hugo-theme-air 

Background Image

https://github.com/syui/hugo-theme-air/blob/master/static/css/screen.css#L1995

...slow

Features

  • VincentGarreau/particles.js
  • Google Analytics (optional)
  • Disqus ( can disable comments by content)
  • Share buttons on Facebook, Twitter, Google (can disable share by content)
  • Big cover image (optional)
  • Custom cover by content (optional)
  • Tagging
  • Pagination
  • Menu

Theme usage and asumptions

  • All blog posts are in the post folder (content/post)
  • The homepage displays a paginated list of contents from the post Section (other contents may be added to main menu, see bellow)

Installation

Installing this theme

mkdir themes
cd themes
git clone https://github.com/syui/hugo-theme-air

Build your website with this theme

hugo server -t hugo-theme-air

Configuration

config.toml

$ cat config.toml

Example : config.toml

Multiple authors configuration

In addition to providing data for a single author as shown in the example above, multiple authors can be configured via data/authors/*.(yml, toml, json) entries. If the key provided in .Site.Params.author matched a data/authors/* entry, it will be used as the default. Overrides per page can be done by a simple author = other_author_key entry in the front matter. For those pages where you want to omit the author block completely, a .Params.noauthor entry is also available.

$ hugo new post/foo.md

$ cat content/post/foo.md

Example author definition file:

name: John Doe
bio: The most uninteresting man in the world.
location: Normal, IL
website: http://example.com

Example override author per page file:

+++
author = ""
date = "2014-07-11T10:54:24+02:00"
title = ""
...
+++

Contents here

Metadata on each content file, example

+++
author = ""
date = "2014-07-11T10:54:24+02:00"
draft = false
title = "dotScale 2014 as a sketch"
slug = "dotscale-2014-as-a-sketch"
tags = ["event","dotScale","sketchnote"]
image = "images/2014/Jul/titledotscale.png"
comments = true     # set false to hide Disqus comments
share = true        # set false to share buttons
menu = ""           # set "main" to add this content to the main menu
+++

Contents here

Create new content based with default metadata from this theme

You can easyly create a new content with all metadatas used by this theme, using this command

hugo new -t hugo-theme-air post/my-post.md

Hosting for GitHub Pages

# build
$ hugo 

$ cd public

# preview
$ jekyll server
$ rm -rf _site

# make repository
$ git init
$ git remote add origin $url
$ git add .
$ git commit -m "first commit"
$ git push -u origin master

# push branch:gh-pages
$ git checkout -b gh-pages
$ git commit -m "open pages"
$ git push -u origin gh-pages

# open
$ curl user.github.io/repository

change logo

Replace static/images/user.png with myfile.

Please close the browser and rerun hugo server.

point :BaseUrl, authorwebsite last slash /

BaseUrl= "https://localhost/"

[params]
  authorwebsite = "https://localhost"
  logo = "images/user.png"

content title sort

rewrite layout/index.html

{{ range $index, $page := $paginator.Pages }}
  {{ .Render "li" }}
{{ end }}
{{ range .Site.RegularPages.ByTitle }}
  {{ .Render "li"}}
{{ end }}

Contact me

🪲 open an issue in github

🐦 https://twitter.com/syui__