diff options
author | Vicky <vicky@vickylai.com> | 2018-06-25 03:22:21 +0300 |
---|---|---|
committer | Vicky <vicky@vickylai.com> | 2018-06-25 03:22:21 +0300 |
commit | 997c707d5b0180a125fe97c106e6997c73dcd5bb (patch) | |
tree | 9b591efb4a556ea15030f7b2e016646eeea55789 | |
parent | 4a1380f152407aee0751a35b12b95548325f9a38 (diff) |
Update templates (fix #59, close #61, close #60)v3.4.0
+ 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
-rw-r--r-- | .travis.yml | 4 | ||||
-rw-r--r-- | CHANGELOG.md | 20 | ||||
-rw-r--r-- | README.md | 32 | ||||
-rw-r--r-- | exampleSite/config.toml | 77 | ||||
-rw-r--r-- | layouts/_default/list.html | 116 | ||||
-rw-r--r-- | layouts/_default/single.html | 102 | ||||
-rw-r--r-- | layouts/_default/taxonomy.html | 107 | ||||
-rw-r--r-- | layouts/_default/terms.html | 2 | ||||
-rw-r--r-- | layouts/blog/list.html | 117 | ||||
-rw-r--r-- | layouts/blog/single.html | 155 | ||||
-rw-r--r-- | layouts/index.html | 22 | ||||
-rw-r--r-- | layouts/partials/blogsection.html | 2 | ||||
-rw-r--r-- | layouts/partials/footer.html | 2 | ||||
-rw-r--r-- | layouts/partials/header.html | 1 | ||||
-rw-r--r-- | layouts/partials/nav-list.html | 4 | ||||
-rw-r--r-- | layouts/partials/nav-single.html | 4 | ||||
-rw-r--r-- | layouts/partials/projects.html | 101 | ||||
-rw-r--r-- | layouts/projects/list.html | 74 |
18 files changed, 531 insertions, 411 deletions
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. @@ -1,12 +1,12 @@ # <a href="https://vickylai.com/introduction/" target="_blank" rel="noopener">Introduction theme for Hugo</a> [![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" . }} -<body> - -<div class="section" id="top"> - <!-- Parent section --> - <div class="container hero {{ if .Site.Params.fadeIn }} fade-in one {{ end }}"> - <!-- Begin Title --> - <h1 class="bold-title is-1">{{ .Title }}</h1> - </div> - <!-- End Title --> - - <!-- Everything below fades in two! --> - <div class="section no-padding {{ if .Site.Params.fadeIn }} fade-in two {{ end }}"> - - <div class="container"> - <!-- Begin Nav bar --> - {{ partial "nav-list.html" . }} - </div> - <!-- End Nav bar --> - <article> - <!-- "{{.Content}}" pulls from the markdown content of the corresponding _index.md --> - {{ .Content }} - </article> +<body> - <div class="container"> - <!-- Begin Blog container --> - <ul> - <!-- Ranges through content/post/*.md --> - {{ range .Data.Pages.ByPublishDate }} {{ if not (eq .Section "blog") }} - <li> - <a href="{{.Permalink}}">{{.Date.Format (.Site.Params.dateform | default "Jan 02, 2006") }} | {{.Title}}</a> - </li> - {{ end }} {{ end }} - </ul> + <div class="section" id="top"> + <!-- Parent section --> + <div class="container hero {{ if .Site.Params.fadeIn }} fade-in one {{ end }}"> + <!-- Begin Title --> + <h1 class="bold-title is-1">{{ .Title }}</h1> </div> - <!-- End Blog container --> - - <div class="container has-text-centered top-pad"> - <hr> - <a href="#top"> - <i class="fa fa-arrow-up"></i> - </a> - <hr> + <!-- End Title --> + + <!-- Everything below fades in two! --> + <div class="section no-padding {{ if .Site.Params.fadeIn }} fade-in two {{ end }}"> + + <div class="container"> + <!-- Begin Nav bar --> + {{ partial "nav-list.html" . }} + </div> + <!-- End Nav bar --> + + <div class="container markdown {{ if .Site.Params.fadeIn | default true }}fade-in two{{ end }} top-pad"> + <!-- "{{.Content}}" pulls from the markdown content of the corresponding _index.md --> + {{ .Content }} + </div> + <div class="container"> + <ul> + <!-- Ranges through content/*/*.md --> + {{ range .Data.Pages.ByPublishDate }} {{ if not (eq .Section "blog") }} + <li> + <a href="{{.Permalink}}">{{.Date.Format (.Site.Params.dateform | default "Jan 02, 2006") }} | {{.Title}}</a> + </li> + {{ end }} {{ end }} + </ul> + </div> + + <div class="container has-text-centered top-pad"> + <hr> + <a href="#top"> + <i class="fa fa-arrow-up"></i> + </a> + <hr> + </div> + + {{ partial "footer.html" . }} </div> - - {{ partial "footer.html" . }} + <!-- End fade in two --> </div> - <!-- End fade in two --> -</div> -<!-- End parent section --> - -<!-- Bitty scrolling links script --> -<script> - $('a[href^="{{ .Permalink }}#"]').click(function (e) { - e.preventDefault(); - var target = this.hash; - $('html, body').animate({ - scrollTop: $(target).offset().top - }, 500); - return false; - }) -</script> - -</body> + <!-- End parent section --> + + <!-- Bitty scrolling links script --> + <script> + $('a[href^="{{ .Permalink }}#"]').click(function (e) { + e.preventDefault(); + var target = this.hash; + $('html, body').animate({ + scrollTop: $(target).offset().top + }, 500); + return false; + }) + </script> + +</body>
\ No newline at end of file diff --git a/layouts/_default/single.html b/layouts/_default/single.html index 618dc76..0371fcc 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -1,62 +1,62 @@ {{ partial "header.html" . }} <body> -<div class="section" id="top"> - <!-- Parent section --> - <div class="container hero {{ if .Site.Params.fadeIn }} fade-in one {{ end }}"> - <!-- Begin Title --> - <h1 class="bold-title is-1">{{ .Title }}</h1> - </div> - <!-- End Title --> - - <!-- Everything below fades in two! --> - <div class="section {{ if .Site.Params.fadeIn }} fade-in two {{ end }}"> - <div class="container"> - <!-- Begin Nav bar --> - {{ partial "nav-single.html" . }} + <div class="section" id="top"> + <!-- Parent section --> + <div class="container hero {{ if .Site.Params.fadeIn }} fade-in one {{ end }}"> + <!-- Begin Title --> + <h1 class="bold-title is-1">{{ .Title }}</h1> </div> - <!-- End Nav bar --> + <!-- End Title --> + + <!-- Everything below fades in two! --> + <div class="section {{ if .Site.Params.fadeIn }} fade-in two {{ end }}"> - <div class="container markdown {{ if .Site.Params.fadeIn }} fade-in two {{ end }} top-pad"> - <!-- Begin blog post content --> - {{ if .Params.image }} - <div class="has-text-centered"> - <img src="{{ .Params.image }}" class="img-responsive"> + <div class="container"> + <!-- Begin Nav bar --> + {{ partial "nav-single.html" . }} </div> - {{ end }} - {{ .Content }} - </div> - <!-- End blog post content --> + <!-- End Nav bar --> + + <div class="container markdown {{ if .Site.Params.fadeIn }} fade-in two {{ end }} top-pad"> + <!-- Begin content --> + {{ if .Params.image }} + <div class="has-text-centered"> + <img src="{{ .Params.image }}" class="img-responsive"> + </div> + {{ end }} {{ .Content }} + </div> + <!-- End content --> - <div class="disqus"> - {{ template "_internal/disqus.html" . }} - </div> + <div class="disqus"> + {{ template "_internal/disqus.html" . }} + </div> - <div class="container has-text-centered top-pad"> - <hr> - <a href="#top"> - <i class="fa fa-arrow-up"></i> - </a> - <hr> - </div> + <div class="container has-text-centered top-pad"> + <hr> + <a href="#top"> + <i class="fa fa-arrow-up"></i> + </a> + <hr> + </div> - {{ partial "footer.html" . }} + {{ partial "footer.html" . }} + </div> + <!-- End fade in two --> </div> - <!-- End fade in two --> -</div> -<!-- End parent section --> - -<!-- Bitty scrolling links script --> -<script> - $('a[href^="{{ .Permalink }}#"]').click(function (e) { - e.preventDefault(); - var target = this.hash; - $('html, body').animate({ - scrollTop: $(target).offset().top - }, 500); - return false; - }) -</script> - -</body> + <!-- End parent section --> + + <!-- Bitty scrolling links script --> + <script> + $('a[href^="{{ .Permalink }}#"]').click(function (e) { + e.preventDefault(); + var target = this.hash; + $('html, body').animate({ + scrollTop: $(target).offset().top + }, 500); + return false; + }) + </script> + +</body>
\ No newline at end of file diff --git a/layouts/_default/taxonomy.html b/layouts/_default/taxonomy.html index 4b3ddc4..5f7e1c4 100644 --- a/layouts/_default/taxonomy.html +++ b/layouts/_default/taxonomy.html @@ -1,65 +1,66 @@ {{ partial "header.html" . }} + <body> -<div class="section" id="top"> - <!-- Parent section --> - <div class="container hero {{ if .Site.Params.fadeIn }} fade-in one {{ end }}"> - <!-- Begin Title --> - <h1 class="bold-title is-1">Tagged "{{ lower .Title }}"</h1> - </div> - <!-- End Title --> + <div class="section" id="top"> + <!-- Parent section --> + <div class="container hero {{ if .Site.Params.fadeIn }} fade-in one {{ end }}"> + <!-- Begin Title --> + <h1 class="bold-title is-1">Tagged "{{ lower .Title }}"</h1> + </div> + <!-- End Title --> - <!-- Everything below fades in two! --> - <div class="section no-padding {{ if .Site.Params.fadeIn }} fade-in two {{ end }}"> + <!-- Everything below fades in two! --> + <div class="section no-padding {{ if .Site.Params.fadeIn }} fade-in two {{ end }}"> - <div class="container"> - <!-- Begin Nav bar --> - {{ partial "nav-list.html" . }} - </div> - <!-- End Nav bar --> - <article> - <!-- "{{.Content}}" pulls from the markdown content of the corresponding _index.md --> - {{ .Content }} - </article> + <div class="container"> + <!-- Begin Nav bar --> + {{ partial "nav-list.html" . }} + </div> + <!-- End Nav bar --> + <article> + <!-- "{{.Content}}" pulls from the markdown content of the corresponding _index.md --> + {{ .Content }} + </article> - <div class="container"> - <!-- Begin Blog container --> - <ul> - <!-- Ranges through content/post/*.md --> - {{ range .Data.Pages.ByPublishDate }} - <li> - <a href="{{.Permalink}}">{{.Date.Format (.Site.Params.dateform | default "Jan 02, 2006") }} | {{.Title}}</a> - </li> - {{ end }} - </ul> - </div> - <!-- End Blog container --> + <div class="container"> + <!-- Begin Blog container --> + <ul> + <!-- Ranges through content/post/*.md --> + {{ range .Data.Pages.ByPublishDate }} + <li> + <a href="{{.Permalink}}">{{.Date.Format (.Site.Params.dateform | default "Jan 02, 2006") }} | {{.Title}}</a> + </li> + {{ end }} + </ul> + </div> + <!-- End Blog container --> - <div class="container has-text-centered top-pad"> - <hr> - <a href="#top"> - <i class="fa fa-arrow-up"></i> - </a> - <hr> - </div> + <div class="container has-text-centered top-pad"> + <hr> + <a href="#top"> + <i class="fa fa-arrow-up"></i> + </a> + <hr> + </div> - {{ partial "footer.html" . }} + {{ partial "footer.html" . }} + </div> + <!-- End fade in two --> </div> - <!-- End fade in two --> -</div> -<!-- End parent section --> + <!-- End parent section --> -<!-- Bitty scrolling links script --> -<script> - $('a[href^="{{ .Permalink }}#"]').click(function (e) { - e.preventDefault(); - var target = this.hash; - $('html, body').animate({ - scrollTop: $(target).offset().top - }, 500); - return false; - }) -</script> + <!-- Bitty scrolling links script --> + <script> + $('a[href^="{{ .Permalink }}#"]').click(function (e) { + e.preventDefault(); + var target = this.hash; + $('html, body').animate({ + scrollTop: $(target).offset().top + }, 500); + return false; + }) + </script> -</body> +</body>
\ No newline at end of file diff --git a/layouts/_default/terms.html b/layouts/_default/terms.html index 44e8b79..a1cd7f8 100644 --- a/layouts/_default/terms.html +++ b/layouts/_default/terms.html @@ -57,4 +57,4 @@ }) </script> -</body> +</body>
\ No newline at end of file diff --git a/layouts/blog/list.html b/layouts/blog/list.html index c2d94d6..676de26 100644 --- a/layouts/blog/list.html +++ b/layouts/blog/list.html @@ -1,67 +1,76 @@ {{ partial "header.html" . }} -<body> - -<div class="section" id="top"><!-- Parent section --> - <div class="container hero {{ if .Site.Params.fadeIn | default true }}fade-in one{{ end }}"><!-- Begin Title --> - <h1 class="bold-title is-1">{{ .Site.Params.blogHead | default "Blog" }}</h1> - </div><!-- End Title --> +<body> - <!-- Everything below fades in two! --> - <div class="section no-padding {{ if .Site.Params.fadeIn | default true }}fade-in two{{ end }}"> + <div class="section" id="top"> + <!-- Parent section --> + <div class="container hero {{ if .Site.Params.fadeIn | default true }}fade-in one{{ end }}"> + <!-- Begin Title --> + <h1 class="bold-title is-1">{{ .Title | default "Blog" }}</h1> + </div> + <!-- End Title --> - <div class="container"><!-- Begin Nav bar --> - {{ partial "nav-list.html" . }} - </div><!-- End Nav bar --> + <!-- Everything below fades in two! --> + <div class="section no-padding {{ if .Site.Params.fadeIn | default true }}fade-in two{{ end }}"> - <div class="container"><!-- Begin Blog container --> + <div class="container"> + <!-- Begin Nav bar --> + {{ partial "nav-list.html" . }} + </div> + <!-- End Nav bar --> - {{ if .Site.Params.showLatest }} - <h2 class="title is-2 top-pad">Latest Post</h2> - {{ range first 1 (where .Data.Pages.ByPublishDate.Reverse "Section" "blog") }} - <div class="summary">{{ .Date.Format (.Site.Params.dateForm | default "Jan 02, 2006") }} - <h3 class="title is-3 strong-post-title"><a href="{{ .RelPermalink }}">{{ .Title }}</a></h3> - <div class="markdown"> - {{ .Summary }} - {{ if .Truncated }} - <a href="{{ .RelPermalink }}">...Read More</a> - {{ end }} + <div class="container markdown {{ if .Site.Params.fadeIn | default true }}fade-in two{{ end }} top-pad"> + <!-- "{{.Content}}" pulls from the markdown content of the corresponding _index.md --> + {{ .Content }} + </div> + <div class="container"> + {{ if .Site.Params.showLatest }} + <h2 class="title is-2 top-pad">Latest Post</h2> + {{ range first 1 (where .Data.Pages.ByPublishDate.Reverse "Section" "blog") }} + <div class="summary">{{ .Date.Format (.Site.Params.dateForm | default "Jan 02, 2006") }} + <h3 class="title is-3 strong-post-title"> + <a href="{{ .RelPermalink }}">{{ .Title }}</a> + </h3> + <div class="markdown"> + {{ .Summary }} {{ if .Truncated }} + <a href="{{ .RelPermalink }}">...Read More</a> + {{ end }} + </div> </div> - </div> - {{ end }} - {{ end }} + {{ end }} {{ end }} - <h2 class="title is-2 top-pad">All Posts</h2> - <ul> - {{ range .Data.Pages.ByPublishDate }} - {{ if eq .Section "blog" }} - {{ partial "li.html" . }} - {{ end }} - {{ end }} - </ul> + <h2 class="title is-2 top-pad">All Posts</h2> + <ul> + {{ range .Data.Pages.ByPublishDate }} {{ if eq .Section "blog" }} {{ partial "li.html" . }} {{ end }} {{ end }} + </ul> - </div><!-- End Blog container --> + </div> + <!-- End Blog container --> -<div class="container has-text-centered top-pad"> -<hr> -<a href="{{ .Permalink }}#top"><i class="fa fa-arrow-up"></i></a> -<hr> -</div> + <div class="container has-text-centered top-pad"> + <hr> + <a href="{{ .Permalink }}#top"> + <i class="fa fa-arrow-up"></i> + </a> + <hr> + </div> -{{ partial "footer.html" . }} -</div><!-- End fade in two --> -</div><!-- End parent section --> + {{ partial "footer.html" . }} + </div> + <!-- End fade in two --> + </div> + <!-- End parent section --> -<!-- Bitty scrolling links script --> -<script> -$('a[href^="{{ .Permalink }}#"]').click(function(e) { - e.preventDefault(); - var target = this.hash; - $('html, body').animate({ - scrollTop: $(target).offset().top - }, 500); - return false; -}) -</script> + <!-- Bitty scrolling links script --> + <script> + $('a[href^="{{ .Permalink }}#"]').click(function (e) { + e.preventDefault(); + var target = this.hash; + $('html, body').animate({ + scrollTop: $(target).offset().top + }, 500); + return false; + }) + </script> -</body> +</body>
\ No newline at end of file diff --git a/layouts/blog/single.html b/layouts/blog/single.html index 15e1a9b..e0b3650 100644 --- a/layouts/blog/single.html +++ b/layouts/blog/single.html @@ -1,90 +1,99 @@ {{ partial "header.html" . }} -<body> -<div class="section" id="top"><!-- Parent section --> +<body> - <div class="container hero {{ if .Site.Params.fadeIn | default true }}fade-in one{{ end }}"><!-- Begin Title --> - <h1 class="bold-title is-1">{{ .Site.Params.blogHead | default "Blog" }}</h1> - </div><!-- End Title --> + <div class="section" id="top"> + <!-- Parent section --> -<!-- Everything below fades in two! --> -<div class="section {{ if .Site.Params.fadeIn | default true }}fade-in two{{ end }}"> + <div class="container hero {{ if .Site.Params.fadeIn | default true }}fade-in one{{ end }}"> + <!-- Begin Title --> + <h1 class="bold-title is-1">{{ .Site.Params.blogHead | default "Blog" }}</h1> + </div> + <!-- End Title --> - <div class="container"><!-- Begin Nav bar --> - {{ partial "nav-single.html" . }} - </div><!-- End Nav bar --> + <!-- Everything below fades in two! --> + <div class="section {{ if .Site.Params.fadeIn | default true }}fade-in two{{ end }}"> - <div class="container {{ if .Site.Params.fadeIn | default true }}fade-in two{{ end }}"><!-- Begin blog title container --> - <h2 class="title is-1 top-pad strong-post-title"><a href="{{ .Permalink }}">{{ .Title }}</a></h2> - <div class="post-data"> - {{ .Date.Format (.Site.Params.dateForm | default "Jan 02, 2006") }} | - {{ if eq 1 .ReadingTime }}{{ .ReadingTime }} minute read{{ else }}{{ .ReadingTime }} minutes read{{ end }} + <div class="container"> + <!-- Begin Nav bar --> + {{ partial "nav-single.html" . }} </div> + <!-- End Nav bar --> - {{ if .Site.Params.shareButtons }} + <div class="container {{ if .Site.Params.fadeIn | default true }}fade-in two{{ end }}"> + <!-- Begin blog title container --> + <h2 class="title is-1 top-pad strong-post-title"> + <a href="{{ .Permalink }}">{{ .Title }}</a> + </h2> + <div class="post-data"> + {{ .Date.Format (.Site.Params.dateForm | default "Jan 02, 2006") }} | {{ if eq 1 .ReadingTime }}{{ .ReadingTime }} minute + read{{ else }}{{ .ReadingTime }} minutes read{{ end }} + </div> + + {{ if .Site.Params.shareButtons }} <div class="blog-share"> - Share this: - {{ if .Site.Params.shareTwitter }} - <a class="twitter-share-button" href="https://twitter.com/intent/tweet?text=Read%20{{ .Title }}%20{{ .Permalink }}" - onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;"> - <i class="fa fa-twitter"></i> - <span class="hidden">Twitter</span> - </a> - {{ end }} - {{ if .Site.Params.shareFacebook }} - <a class="icon-facebook" href="https://www.facebook.com/sharer/sharer.php?u={{ .Permalink }}" - onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"> - <i class="fa fa-facebook"></i> - <span class="hidden">Facebook</span> - </a> - {{ end }} - {{ if .Site.Params.sharePinterest }} - <a class="icon-pinterest" href="http://pinterest.com/pin/create/button/?url={{ .Permalink }}{{ if .Params.pinterestMedia }}&media={{ .Site.BaseURL }}{{ .Params.pinterestMedia }}{{ end }}&description={{ .Title | safeHTML}}" - onclick="window.open(this.href, 'pinterest-share','width=580,height=296');return false;"> - <i class="fa fa-pinterest"></i> - <span class="hidden">Pinterest</span> - </a> - {{ end }} - {{ if .Site.Params.shareGooglePlus }} - <a class="icon-google-plus" href="https://plus.google.com/share?url={{ .Permalink }}" - onclick="window.open(this.href, 'google-plus-share', 'width=490,height=530');return false;"> - <i class="fa fa-google-plus"></i> - <span class="hidden">Google+</span> - </a> - {{ end }} + Share this: {{ if .Site.Params.shareTwitter }} + <a class="twitter-share-button" href="https://twitter.com/intent/tweet?text=Read%20{{ .Title }}%20{{ .Permalink }}" onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;"> + <i class="fa fa-twitter"></i> + <span class="hidden">Twitter</span> + </a> + {{ end }} {{ if .Site.Params.shareFacebook }} + <a class="icon-facebook" href="https://www.facebook.com/sharer/sharer.php?u={{ .Permalink }}" onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"> + <i class="fa fa-facebook"></i> + <span class="hidden">Facebook</span> + </a> + {{ end }} {{ if .Site.Params.sharePinterest }} + <a class="icon-pinterest" href="http://pinterest.com/pin/create/button/?url={{ .Permalink }}{{ if .Params.pinterestMedia }}&media={{ .Site.BaseURL }}{{ .Params.pinterestMedia }}{{ end }}&description={{ .Title | safeHTML}}" + onclick="window.open(this.href, 'pinterest-share','width=580,height=296');return false;"> + <i class="fa fa-pinterest"></i> + <span class="hidden">Pinterest</span> + </a> + {{ end }} {{ if .Site.Params.shareGooglePlus }} + <a class="icon-google-plus" href="https://plus.google.com/share?url={{ .Permalink }}" onclick="window.open(this.href, 'google-plus-share', 'width=490,height=530');return false;"> + <i class="fa fa-google-plus"></i> + <span class="hidden">Google+</span> + </a> + {{ end }} </div> - {{ end }} + {{ end }} - </div><!-- End blog title container --> + </div> + <!-- End blog title container --> - <div class="container markdown {{ if .Site.Params.fadeIn | default true }}fade-in two{{ end }} top-pad"><!-- Begin blog post content --> - {{ .Content }} - </div><!-- End blog post content --> + <div class="container markdown {{ if .Site.Params.fadeIn | default true }}fade-in two{{ end }} top-pad"> + <!-- Begin blog post content --> + {{ .Content }} + </div> + <!-- End blog post content --> - <div class="disqus"> - {{ template "_internal/disqus.html" . }} - </div> + <div class="disqus"> + {{ template "_internal/disqus.html" . }} + </div> -<div class="container has-text-centered top-pad"> -<hr> -<a href="{{ .Permalink }}#top"><i class="fa fa-arrow-up"></i></a> -<hr> -</div> + <div class="container has-text-centered top-pad"> + <hr> + <a href="{{ .Permalink }}#top"> + <i class="fa fa-arrow-up"></i> + </a> + <hr> + </div> -{{ partial "footer.html" . }} -</div><!-- End fade in two --> -</div><!-- End parent section --> + {{ partial "footer.html" . }} + </div> + <!-- End fade in two --> + </div> + <!-- End parent section --> -<!-- Bitty scrolling links script --> -<script> -$('a[href^="{{ .Permalink }}#"]').click(function(e) { - e.preventDefault(); - var target = this.hash; - $('html, body').animate({ - scrollTop: $(target).offset().top - }, 500); - return false; -}) -</script> + <!-- Bitty scrolling links script --> + <script> + $('a[href^="{{ .Permalink }}#"]').click(function (e) { + e.preventDefault(); + var target = this.hash; + $('html, body').animate({ + scrollTop: $(target).offset().top + }, 500); + return false; + }) + </script> -</body> +</body>
\ No newline at end of file diff --git a/layouts/index.html b/layouts/index.html index f626821..5bb5693 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -27,14 +27,18 @@ <div class="hero-foot {{ if .Site.Params.fadeIn | default true }}fade-in three{{ end }}"> <hr> <nav class="nav-center"> + {{ if (.Site.GetPage "page" "about") }} <a class="nav-item" href="#about">About</a> + {{ end }} {{ if .Site.Params.showProjects }} <a class="nav-item" href="#projects">Projects</a> {{ end }} {{ if .Site.Params.showBlog }} <a class="nav-item" href="#blog">Blog</a> {{ end }} + {{ if (.Site.GetPage "page" "contact") }} <a class="nav-item" href="#contact">Contact</a> + {{ end }} </nav> <hr> </div><!-- Done with nav bar --> @@ -44,6 +48,7 @@ <div class="section no-padding {{ if .Site.Params.fadeIn | default true }}fade-in three{{ end }}"> <!-- Tell them all about it! --> +{{ if (.Site.GetPage "page" "about") }} <div class="section" id="about"> <div class="container"> <h2 class="title is-2 has-text-centered">About</h2> @@ -55,11 +60,7 @@ </div> {{ end }} <div class="column markdown"> - {{ range .Data.Pages }} - {{if eq .Title "About" }} - {{.Content}} - {{end}} - {{ end }} + {{ (.Site.GetPage "page" "about").Content }} </div> </div> </div><!-- End About container--> @@ -68,7 +69,7 @@ </div><!-- End About section --> <div class="container"><hr></div> - +{{ end }} <!-- Now for some cool projects --> {{ if .Site.Params.showProjects }} @@ -90,15 +91,12 @@ {{ end }} <!-- Let's chat, shall we? --> +{{ if (.Site.GetPage "page" "contact") }} <div class="section" id="contact"> <div class="container has-text-centered"> <h2 class="title is-2">Contact</h2> <div class="markdown"> - {{ range .Data.Pages }} - {{if eq .Title "Contact" }} - {{.Content}} - {{end}} - {{ end }} + {{ (.Site.GetPage "page" "contact").Content }} </div> {{ if .Site.Params.localTime }} @@ -126,7 +124,7 @@ </div><!-- End Contact section --> <div class="container"><hr></div> - +{{ end }} <!-- Nice clean finish --> {{ partial "footer.html" . }} diff --git a/layouts/partials/blogsection.html b/layouts/partials/blogsection.html index 62796a6..bc10f7b 100644 --- a/layouts/partials/blogsection.html +++ b/layouts/partials/blogsection.html @@ -25,7 +25,7 @@ {{ end }} </ul> {{ else }} -<div class="container has-text-centered top-pad"><a href="/blog">ALL BLOG POSTS</a></div> +<div class="container has-text-centered top-pad"><a href="{{ "/blog" | relURL }}">ALL BLOG POSTS</a></div> {{ end }} </div><!-- End Blog container --> diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 78dc47c..39e2446 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -3,7 +3,7 @@ {{ if .Site.Params.footerText }} {{ .Site.Params.footerText | markdownify }} {{ else }} - <span class="footer-text"><a href="https://github.com/vickylai/hugo-theme-introduction" target="_blank" rel="noopener">Introduction</a> theme for <a href="http://gohugo.io/" target="_blank" rel="noopener">Hugo</a>. Made with <i class="fa fa-heart"></i> and <i class="fa fa-coffee"></i> by <a href="https://vickylai.com" target="_blank" rel="noopener">Vicky Lai</a>.</span> + <span class="footer-text"><a href="https://github.com/vickylai/hugo-theme-introduction" target="_blank" rel="noopener">Introduction</a> theme for <a href="http://gohugo.io/" target="_blank" rel="noopener">Hugo</a>. Made with <a href="https://vickylai.com" target="_blank" rel="noopener"><i class="fa fa-heart"></i> and <i class="fa fa-coffee"></i></a> by open source contributors.</span> {{ end }} </div><!-- End Footer container --> </div><!-- End Footer section --> diff --git a/layouts/partials/header.html b/layouts/partials/header.html index 95aeddd..82ff72b 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -10,7 +10,6 @@ <meta name="referrer" content="no-referrer"> {{ if .Site.Params.description }}<meta name="description" content="{{ .Site.Params.description }}">{{ end }} -<base href="{{ .Site.BaseURL }}"> <title> {{ $url := replace .Permalink ( printf "%s" .Site.BaseURL) "" }} {{ if eq $url "/" }} diff --git a/layouts/partials/nav-list.html b/layouts/partials/nav-list.html index 1c6869a..dc00b6c 100644 --- a/layouts/partials/nav-list.html +++ b/layouts/partials/nav-list.html @@ -9,9 +9,11 @@ <span class="nav-item"> <a href="{{ "/" | relURL }}">Main</a> </span> + {{ if (.Site.GetPage "page" "about") }} <span class="nav-item"> <a href="{{ "/about" | relURL }}">About</a> </span> + {{ end }} {{ if and (.Site.Params.showProjects) (ne .Page.Section "projects") }} <span class="nav-item"> <a href="{{ "/projects" | relURL }}">Projects</a> @@ -22,9 +24,11 @@ <a href="{{ "/blog" | relURL }}">Blog</a> </span> {{ end }} + {{ if (.Site.GetPage "page" "contact") }} <span class="nav-item"> <a href="{{ "/contact" | relURL }}">Contact</a> </span> + {{ end }} {{ if .Site.RSSLink }} <span class="nav-item"> <a href="{{ .Site.RSSLink }}"><i class="fa fa-rss"></i></a> diff --git a/layouts/partials/nav-single.html b/layouts/partials/nav-single.html index b088ab0..9775c03 100644 --- a/layouts/partials/nav-single.html +++ b/layouts/partials/nav-single.html @@ -9,9 +9,11 @@ <span class="nav-item"> <a href="{{ "/" | relURL }}">Main</a> </span> + {{ if (.Site.GetPage "page" "about") }} <span class="nav-item"> <a href="{{ "/about" | relURL }}">About</a> </span> + {{ end }} {{ if .Site.Params.showProjects }} <span class="nav-item"> {{ if ne .Section "projects" }} @@ -30,9 +32,11 @@ {{ end }} </span> {{ end }} + {{ if (.Site.GetPage "page" "contact") }} <span class="nav-item"> <a href="{{ "/contact" | relURL }}">Contact</a> </span> + {{ end }} {{ if .Site.RSSLink }} <span class="nav-item"> <a href="{{ .Site.RSSLink }}"><i class="fa fa-rss"></i></a> diff --git a/layouts/partials/projects.html b/layouts/partials/projects.html index 1adef84..4688f83 100644 --- a/layouts/partials/projects.html +++ b/layouts/partials/projects.html @@ -4,13 +4,16 @@ <div class="section is-small"> <div class="columns is-multiline"> - {{ range sort .Pages }} {{ if eq .Section "projects" }} - {{ if eq .Site.Params.projectColumns "2" }} - <div class="column is-half"> {{ else if eq .Site.Params.projectColumns "3" }} - <div class="column is-one-third"> {{ else }} - <div class="column is-one-third"> {{ end }} - <!-- Hey Vicky, show half column if number is even. --> - <div {{ if not .Params.external_link }} id="project{{ $card := .Title | urlize }}{{ replace $card "%" ""}}" {{ end }} class="card"> + {{ $totalProjects := (len (.Site.GetPage "section" "projects").Pages) }} + {{ $numberOfProjectsToShow := .Site.Params.numberOfProjectsToShow | default $totalProjects }} + {{ range (.Site.GetPage "section" "projects").Pages | first $numberOfProjectsToShow }} + {{ if eq (mod $numberOfProjectsToShow 2) 0 }} + <div class="column is-half"> + {{ else }} + <div class="column is-one-third"> + {{ end }} + <div {{ if not .Params.external_link }} id="project{{ $card := .Title | urlize }}{{ replace $card "%" " "}}" {{ end }} + class="card"> <div class="card-image"> <figure class="image is-3by2"> <a {{ if .Params.external_link }} href="{{ .Params.external_link }}" {{ end }}> @@ -19,52 +22,54 @@ </figure> </div> <div class="card-content has-text-centered top-pad"> - <a {{ if .Params.external_link }} href="{{ .Params.external_link }}" {{ end }}> - {{ .Title }} - </a> + <a {{ if .Params.external_link }} href="{{ .Params.external_link }}" {{ end }}> + {{ .Title }} + </a> </div> + </div> </div> + {{ end }} </div> - {{ end }} {{ end }} + </div> + </div> + {{ if lt $numberOfProjectsToShow $totalProjects }} + <div class="container has-text-centered top-pad"> + <a href="{{ "/projects" | relURL }}">ALL PROJECTS</a> </div> -</div> -</div> -<!-- End Projects container --> + {{ end }} + <!-- End Projects container --> -<!-- Projects modals --> -{{ range sort .Pages }} {{ if eq .Section "projects" }} {{ if not .Params.external_link }} -<div class="modal" id="modal{{ $card := .Title | urlize }}{{ replace $card "%" ""}}"> - <div class="modal-background"></div> - <div class="modal-card"> - {{ with .Title }} - <header class="modal-card-header bottom-pad"> - <p class="modal-card-title has-text-centered">{{ . }}</p> - </header> - {{ end }} - {{ if .Params.image }} - <img src="{{ .Params.image | relURL }}" class="img-responsive img-centered"> - {{ end }} - {{ if .Content }} - <section class="modal-card-body markdown"> - {{ .Content }} - </section> - {{ end }} + <!-- Projects modals --> + {{ range (.Site.GetPage "section" "projects").Pages | first $numberOfProjectsToShow }} {{ if not .Params.external_link }} + <div class="modal" id="modal{{ $card := .Title | urlize }}{{ replace $card "%" " "}}"> + <div class="modal-background"></div> + <div class="modal-card"> + {{ with .Title }} + <header class="modal-card-header bottom-pad"> + <p class="modal-card-title has-text-centered">{{ . }}</p> + </header> + {{ end }} {{ if .Params.image }} + <img src="{{ .Params.image | relURL }}" class="img-responsive img-centered"> {{ end }} {{ if .Content }} + <section class="modal-card-body markdown"> + {{ .Content }} + </section> + {{ end }} + </div> + <button class="modal-close is-large" aria-label="close" id="close{{ $card := .Title | urlize }}{{ replace $card "%" ""}}"></button> </div> - <button class="modal-close is-large" aria-label="close" id="close{{ $card := .Title | urlize }}{{ replace $card "%" ""}}"></button> -</div> -<script> - $('#project{{ $card := .Title | urlize }}{{ replace $card "%" ""}}').click(function() { - $('#modal{{ $card := .Title | urlize }}{{ replace $card "%" ""}}').addClass('is-active'); - }); - $('#close{{ $card := .Title | urlize }}{{ replace $card "%" ""}}').click(function() { - $('#modal{{ $card := .Title | urlize }}{{ replace $card "%" ""}}').removeClass('is-active'); - }); -</script> -{{ end }} {{ end }} {{ end }} + <script> + $('#project{{ $card := .Title | urlize }}{{ replace $card "%" ""}}').click(function () { + $('#modal{{ $card := .Title | urlize }}{{ replace $card "%" ""}}').addClass('is-active'); + }); + $('#close{{ $card := .Title | urlize }}{{ replace $card "%" ""}}').click(function () { + $('#modal{{ $card := .Title | urlize }}{{ replace $card "%" ""}}').removeClass('is-active'); + }); + </script> + {{ end }} {{ end }} -<div class="container has-text-centered top-pad"> - <a href="#top"> - <i class="fa fa-arrow-up"></i> - </a> -</div> + <div class="container has-text-centered top-pad"> + <a href="#top"> + <i class="fa fa-arrow-up"></i> + </a> + </div>
\ No newline at end of file diff --git a/layouts/projects/list.html b/layouts/projects/list.html new file mode 100644 index 0000000..6ab59a6 --- /dev/null +++ b/layouts/projects/list.html @@ -0,0 +1,74 @@ +{{ partial "header.html" . }} +<body> + +<div class="section" id="top"><!-- Parent section --> + <div class="container hero {{ if .Site.Params.fadeIn }} fade-in one {{ end }}"><!-- Begin Title --> + <h1 class="bold-title is-1">{{ .Title }}</h1> + </div><!-- End Title --> + + <!-- Everything below fades in two! --> + <div class="section no-padding {{ if .Site.Params.fadeIn }} fade-in two {{ end }}"> + + <div class="container"><!-- Begin Nav bar --> + {{ partial "nav-list.html" . }} + </div><!-- End Nav bar --> + + <div class="container markdown {{ if .Site.Params.fadeIn | default true }}fade-in two{{ end }} top-pad"> + <!-- "{{.Content}}" pulls from the markdown content of the corresponding _index.md --> + {{ .Content }} + </div> + <div class="container"> + <div class="section is-small"> + <div class="columns is-multiline"> + <!-- Ranges through content/projects/*.md --> + {{ range .Data.Pages }} + {{ if eq (mod (len (.Site.GetPage "section" "projects").Pages) 2) 0 }} + <div class="column is-half"> + {{ else }} + <div class="column is-one-third"> + {{ end }} + <div class="card"> + <div class="card-image"> + <figure class="image is-3by2"> + <a href="{{ if .Params.external_link }}{{ .Params.external_link }}{{ else }}{{.Permalink}}{{ end }}"> + <img src="{{ if .Params.image }}{{ .Params.image | relURL }}{{ else }}{{ (.Site.Params.placeHolderimg | default "/img/workday.jpg") | relURL }}{{ end }}"> + </a> + </figure> + </div> + <div class="card-content has-text-centered top-pad"> + <a href="{{ if .Params.external_link }}{{ .Params.external_link }}{{ else }}{{.Permalink}}{{ end }}"> + {{ .Title }} + </a> + </div> + </div> + </div> + {{ end }} + </div> + </div> + </div> + + <div class="container has-text-centered top-pad"> + <hr> + <a href="#top"> + <i class="fa fa-arrow-up"></i> + </a> + <hr> + </div> + + {{ partial "footer.html" . }} + </div><!-- End fade in two --> +</div><!-- End parent section --> + +<!-- Bitty scrolling links script --> +<script> + $('a[href^="{{ .Permalink }}#"]').click(function (e) { + e.preventDefault(); + var target = this.hash; + $('html, body').animate({ + scrollTop: $(target).offset().top + }, 500); + return false; + }) +</script> + +</body>
\ No newline at end of file |