From 997c707d5b0180a125fe97c106e6997c73dcd5bb Mon Sep 17 00:00:00 2001
From: Vicky
Date: Sun, 24 Jun 2018 20:22:21 -0400
Subject: [PATCH] Update templates (fix #59, close #61, close #60)
+ Add functionality to limit projects shown on main page
+ Improve projects display columns
+ List pages show content from _index.md files
+ Add GetPage logic to index.html and nav menus
---
.travis.yml | 4 +-
CHANGELOG.md | 20 ++++
README.md | 32 +++---
exampleSite/config.toml | 77 +++++++-------
layouts/_default/list.html | 116 +++++++++++----------
layouts/_default/single.html | 98 +++++++++---------
layouts/_default/taxonomy.html | 119 +++++++++++-----------
layouts/_default/terms.html | 2 +-
layouts/blog/list.html | 123 ++++++++++++-----------
layouts/blog/single.html | 161 ++++++++++++++++--------------
layouts/index.html | 22 ++--
layouts/partials/blogsection.html | 2 +-
layouts/partials/footer.html | 2 +-
layouts/partials/header.html | 1 -
layouts/partials/nav-list.html | 4 +
layouts/partials/nav-single.html | 4 +
layouts/partials/projects.html | 103 ++++++++++---------
layouts/projects/list.html | 74 ++++++++++++++
18 files changed, 542 insertions(+), 422 deletions(-)
create mode 100644 layouts/projects/list.html
diff --git a/.travis.yml b/.travis.yml
index 97993ea..4f525b5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,8 +1,8 @@
env:
- - HUGO_VERSION="0.41"
+ - HUGO_VERSION="0.42.1"
install:
- - wget https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_Linux-64bit.tar.gz
+ - wget -q https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_Linux-64bit.tar.gz
- tar xf hugo_${HUGO_VERSION}_Linux-64bit.tar.gz
- mv hugo ~/bin/
diff --git a/CHANGELOG.md b/CHANGELOG.md
index fb1122b..4a7b5a8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,23 @@
+## Version 3.4.0 - Jun 24 2018
+
+Changes to Projects display options:
+
+- Add functionality to limit number of projects shown on index page
+- Projects will automatically display in 2 or 3 columns for even or odd numbers respectively
+- Create new template for projects list page
+
+Improve list templates:
+
+- List pages will display content from `_index.md`
+
+Housecleaning:
+
+- Remove dead code
+- Use GetPage logic on index.html and in nav menus
+- Site still builds with no content
+
+*Thank you to @Hanzei for your feature work and @Setherizor for the great suggestion.*
+
## Version 3.3.2 - Jun 10 2018
Travis CI integration, why not.
diff --git a/README.md b/README.md
index fa1d60a..0aea4ef 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,12 @@
# Introduction theme for Hugo
[![Build Status](https://travis-ci.com/vickylai/hugo-theme-introduction.svg?branch=master)](https://travis-ci.com/vickylai/hugo-theme-introduction)
-A minimal, single page, smooth scrolling theme for Hugo.
+A minimal, smooth-scrolling theme for Hugo. Can be configured as a single page site or full-featured site with many sections.
![Main page screenshot](https://github.com/vickylai/hugo-theme-introduction/blob/master/images/screenshot.png)
Features:
-- Single scrolling home page
+- Minimalist home page
- About section with profile photo
- Contact section with option to show your local timezone
- Optional Projects and Blog sections
@@ -15,9 +15,9 @@ Features:
- Smooth scroll-to-section navigation
- Responsive and fast
-## Quick start
+# Quick start
-### Get the theme
+## Get the theme
From the root of your Hugo site:
```sh
@@ -25,22 +25,22 @@ $ cd themes
$ git clone https://github.com/vickylai/hugo-theme-introduction.git introduction
```
-### Configure your site
+## Configure your site
From the exampleSite, copy `config.toml` to the root folder of your Hugo site and change the fields as you like.
-Start with:
+Important bits:
-1. Set your baseurl to your site's domain
-1. Set your blog's title and your first name
-1. Set your introduction header height (use "medium", "large", or "fullheight")
-1. Choose "light" or "dark" theme
-1. Set your avatar image
-1. Set your timezone, if you choose to show it
-1. Choose whether or not to show the Blog and Projects sections, and configure them to your liking
+1. Set `baseURL` to your site's domain and give your site a `title`
+1. Add your `firstName` and `tagLine`
+1. Set the desired `introHeight` for your main page (use "medium", "large", or "fullheight")
+1. Choose a "light" or "dark" `themeStyle`
+1. Set your `avatar` image
+1. Choose whether or not to `showBlog` on the main page
+1. Choose whether or not to `showProjects` on the main page
1. Input your social site urls and font-awesome icon names - use as many as you like
-### Create About and Contact pages
+## Create About and Contact pages
Run:
```sh
@@ -94,13 +94,13 @@ If you don't specify a `title`, only the photo will show. You can still add cont
If you leave `external_link` empty, clicking on a project on your main page will pop up a window with the project's details. If you specify a url instead, clicking on the project on your main page will take you to that url.
-## Contributing
+# Contributing
Pull requests for bug fixes and suggestions are welcome.
Contributors are listed in [CHANGELOG.md](https://github.com/vickylai/hugo-theme-introduction/blob/master/CHANGELOG.md). Thank you so much! 🖤
-## License
+# License
Copyright (C) 2018 Vicky Lai
This program is free software: you can redistribute it and/or modify
diff --git a/exampleSite/config.toml b/exampleSite/config.toml
index b0c01fc..ebe992e 100644
--- a/exampleSite/config.toml
+++ b/exampleSite/config.toml
@@ -1,45 +1,44 @@
-baseURL = "https://example.org/" # Your domain name. Must end with "/"
-languageCode = "en-us" # languageCode
-title = "Introduction" # Site title
-theme = "introduction"
-pygmentsStyle = "monokai" # https://help.farbox.com/pygments.html
-pygmentsCodefences = true
-enforce_ssl = false
-# disqusshortname = "" # Enable Disqus for comments https://gohugo.io/content-management/comments
-# googleAnalytics = "" # Enable Google Analytics https://gohugo.io/templates/internal/#google-analytics
+baseURL = "https://example.org/" # Your domain name. Must end with "/"
+languageCode = "en-us" # languageCode
+title = "Introduction" # Site title
+theme = "introduction"
+pygmentsStyle = "monokai" # https://help.farbox.com/pygments.html
+pygmentsCodefences = true
+enforce_ssl = false
+# disqusshortname = "" # Enable Disqus for comments https://gohugo.io/content-management/comments
+# googleAnalytics = "" # Enable Google Analytics https://gohugo.io/templates/internal/#google-analytics
[params]
- blogHead = "Blog" # Full name shows on blog post pages
- firstName = "Introduction" # First name shows in introduction on main page
- tagLine = "I'm a theme for Hugo." # Appears after the introduction
- introHeight = "large" # Input either 'medium' or 'large' or 'fullheight'
- themeStyle = "light" # Choose 'light' or 'dark'
- avatar = "img/profile.jpg" # Path to image in static folder eg. img/avatar.png, or comment out to remove
- email = "youremail@email.com" # Shows in contact section, or leave blank to omit
- localTime = true # Show your current local time in contact section
- timeZone = "America/Los_Angeles" # Your timezone as in the TZ* column of this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
- dateForm = "Jan 2, 2006"
- dateFormFull = "Mon Jan 2 2006 15:04:05 EST"
- cacheBuster = false # Add the current unix timestamp in query string for cache busting css assets (relevant in development mode)
- description = "Website Description" # Max 160 characters show in search results
- faviconFile = "img/fav.ico"
- footerText = "" # Text to override default footer text (markdown allowed)
- fadeIn = true # Turn on/off the fade-in effect
- customCSS = [] # Include custom css files e.g. ["css/foo.css", "css/bar.css"]
+ firstName = "Introduction" # First name shows in introduction on main page
+ tagLine = "I'm a theme for Hugo." # Appears after the introduction
+ introHeight = "large" # Input either 'medium' or 'large' or 'fullheight'
+ themeStyle = "light" # Choose 'light' or 'dark'
+ avatar = "img/profile.jpg" # Path to image in static folder eg. img/avatar.png, or comment out to remove
+ email = "youremail@email.com" # Shows in contact section, or leave blank to omit
+ localTime = true # Show your current local time in contact section
+ timeZone = "America/Los_Angeles" # Your timezone as in the TZ* column of this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
+ dateForm = "Jan 2, 2006"
+ dateFormFull = "Mon Jan 2 2006 15:04:05 EST"
+ cacheBuster = false # Add the current unix timestamp in query string for cache busting css assets (relevant in development mode)
+ description = "Website Description" # Max 160 characters show in search results
+ faviconFile = "img/fav.ico"
+ footerText = "" # Text to override default footer text (markdown allowed)
+ fadeIn = true # Turn on/off the fade-in effect
+ customCSS = [] # Include custom css files e.g. ["css/foo.css", "css/bar.css"]
- showBlog = true # Show Blog section on home page
- showProjects = true # Show Projects section on home page
- projectColumns = "3" # Choose "2" or "3" columns for projects section
- placeHolderimg = "/img/workday.jpg" # For Projects without image
- showAllPosts = false # Set 'true' to list all posts on home page, or set 'false' to link to separate blog list page
- showLatest = true # Show latest blog post summary
- shareButtons = true # On post pages, show share this social buttons
-
- # Share buttons
- shareTwitter = true
- shareFacebook = true
- sharePinterest = false
- shareGooglePlus = true
+ showBlog = true # Show Blog section on home page
+ showAllPosts = false # Set 'true' to list all posts on home page, or set 'false' to link to separate blog list page
+ showLatest = true # Show latest blog post summary
+ # Share buttons on blog post pages
+ shareButtons = true # Show "Share this:" social buttons
+ shareTwitter = true
+ shareFacebook = true
+ sharePinterest = false
+ shareGooglePlus = true
+
+ showProjects = true # Show Projects section on home page
+ numberOfProjectsToShow = 3 # Maximum number of projects to show on home page. Unset or comment out to show all projects.
+ placeHolderimg = "/img/workday.jpg" # For Projects without image
# Social icons appear in introduction and contact section. Add as many more as you like.
# Find icon names here: http://fontawesome.io/cheatsheet/
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
index 96a6ae9..1c6cf64 100644
--- a/layouts/_default/list.html
+++ b/layouts/_default/list.html
@@ -1,65 +1,63 @@
{{ partial "header.html" . }}
+
-
-
-
-
-
{{ .Title }}
+
+
+
+
+
{{ .Title }}
+
+
+
+
+
+
+
+
+ {{ partial "nav-list.html" . }}
+
+
+
+
+
+ {{ .Content }}
+
+
+
+
+
+ {{ partial "footer.html" . }}
+
+
-
+
-
-
+
+
-
-
- {{ partial "nav-list.html" . }}
-
-
-
-
- {{ .Content }}
-
-
-
-
-
-
-
-
- {{ partial "footer.html" . }}
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
{{ .Title }}
-
-
-
-
-
-
-
- {{ partial "nav-single.html" . }}
+
+
+
+
+
{{ .Title }}
-
+
-
-
- {{ if .Params.image }}
-
-
+
+
+
+
+
+ {{ partial "nav-single.html" . }}
- {{ end }}
- {{ .Content }}
-
-
+
-
+
+
+ {{ if .Params.image }}
+
+
+
+ {{ end }} {{ .Content }}
+
+
-
+
- {{ partial "footer.html" . }}
+
+
+ {{ partial "footer.html" . }}
+
+
-
-
-
+
-
-
+
+
-
-
-
-
-
-
Tagged "{{ lower .Title }}"
+
+
+
+
+
Tagged "{{ lower .Title }}"
+
+
+
+
+
+
+
+
+ {{ partial "nav-list.html" . }}
+
+
+
+
+ {{ .Content }}
+
+
+
+
+
+
+
+
+ {{ partial "footer.html" . }}
+
+
-
+
-
-
+
+
-
-
- {{ partial "nav-list.html" . }}
-
-
-
-
- {{ .Content }}
-
-
-
-
-
-
-
-
- {{ partial "footer.html" . }}
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ .Site.Params.blogHead | default "Blog" }}
-
-
-
-
-
-
- {{ partial "nav-list.html" . }}
-
-
-
-
- {{ if .Site.Params.showLatest }}
-
Latest Post
- {{ range first 1 (where .Data.Pages.ByPublishDate.Reverse "Section" "blog") }}
-
{{ .Date.Format (.Site.Params.dateForm | default "Jan 02, 2006") }}
-
-
- {{ .Summary }}
- {{ if .Truncated }}
-
...Read More
- {{ end }}
-
+
+
+
+
+
{{ .Title | default "Blog" }}
- {{ end }}
- {{ end }}
+
-
All Posts
-
- {{ range .Data.Pages.ByPublishDate }}
- {{ if eq .Section "blog" }}
- {{ partial "li.html" . }}
- {{ end }}
- {{ end }}
-
+
+
-
+
+
+ {{ partial "nav-list.html" . }}
+
+
-
+
+
+ {{ .Content }}
+
+
+ {{ if .Site.Params.showLatest }}
+
Latest Post
+ {{ range first 1 (where .Data.Pages.ByPublishDate.Reverse "Section" "blog") }}
+
{{ .Date.Format (.Site.Params.dateForm | default "Jan 02, 2006") }}
+
+
+ {{ .Summary }} {{ if .Truncated }}
+
...Read More
+ {{ end }}
+
+
+ {{ end }} {{ end }}
-{{ partial "footer.html" . }}
-
-
+
All Posts
+
+ {{ range .Data.Pages.ByPublishDate }} {{ if eq .Section "blog" }} {{ partial "li.html" . }} {{ end }} {{ end }}
+
-
-
+
+
-
-
+
+
-
-
{{ .Site.Params.blogHead | default "Blog" }}
-
+
+
+
{{ .Site.Params.blogHead | default "Blog" }}
+
+
-
-
+
+
-
- {{ partial "nav-single.html" . }}
-
+
+
+ {{ partial "nav-single.html" . }}
+
+
-
-
-
- {{ .Date.Format (.Site.Params.dateForm | default "Jan 02, 2006") }} |
- {{ if eq 1 .ReadingTime }}{{ .ReadingTime }} minute read{{ else }}{{ .ReadingTime }} minutes read{{ end }}
+
+
+
+
+ {{ .Date.Format (.Site.Params.dateForm | default "Jan 02, 2006") }} | {{ if eq 1 .ReadingTime }}{{ .ReadingTime }} minute
+ read{{ else }}{{ .ReadingTime }} minutes read{{ end }}
+
+
+ {{ if .Site.Params.shareButtons }}
+
+ Share this: {{ if .Site.Params.shareTwitter }}
+
+ {{ end }} {{ if .Site.Params.shareFacebook }}
+
+
+ Facebook
+
+ {{ end }} {{ if .Site.Params.sharePinterest }}
+
+
+ Pinterest
+
+ {{ end }} {{ if .Site.Params.shareGooglePlus }}
+
+
+ Google+
+
+ {{ end }}
+
+ {{ end }}
+
+
+
+
+
+
+ {{ .Content }}
+
+
+
+
- {{ if .Site.Params.shareButtons }}
-
- Share this:
- {{ if .Site.Params.shareTwitter }}
-
-
-
-
- {{ .Content }}
-
-
-
+
+
-
+
+
-{{ partial "footer.html" . }}
-
-
-
-
-
-
-