mirror of
https://git.adityakumar.xyz/hugo-theme-introduction.git
synced 2024-12-22 22:52:54 +00:00
Merge branch 'master' into fix_nav_2
This commit is contained in:
commit
c555b2b52c
16 changed files with 201 additions and 119 deletions
|
@ -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/
|
||||
|
||||
|
|
20
CHANGELOG.md
20
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.
|
||||
|
|
32
README.md
32
README.md
|
@ -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
|
||||
|
|
|
@ -9,7 +9,6 @@ enforce_ssl = false
|
|||
# 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'
|
||||
|
@ -25,21 +24,21 @@ enforce_ssl = false
|
|||
faviconFile = "img/fav.ico"
|
||||
footerText = "" # Text to override default footer text (markdown allowed)
|
||||
fadeIn = true # Turn on/off the fade-in effect
|
||||
showRSSButton = true # Show rss button in navigation
|
||||
customCSS = [] # Include custom css files e.g. ["css/foo.css", "css/bar.css"]
|
||||
|
||||
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
|
||||
showRSSButton = true # Show rss button in navigation
|
||||
|
||||
# Share buttons
|
||||
# Share buttons on blog post pages
|
||||
shareButtons = true # Show "Share this:" social buttons
|
||||
shareTwitter = true
|
||||
shareFacebook = true
|
||||
sharePinterest = false
|
||||
shareGooglePlus = true
|
||||
|
||||
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/
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{{ partial "header.html" . }}
|
||||
<body>
|
||||
|
||||
<!-- Parent section -->
|
||||
<div class="section" id="top">
|
||||
<!-- Begin Title -->
|
||||
|
@ -18,6 +17,7 @@
|
|||
<!-- Begin Blog container -->
|
||||
<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>
|
||||
|
|
|
@ -10,16 +10,16 @@
|
|||
<!-- Everything below fades in two! -->
|
||||
<div class="section {{ if .Site.Params.fadeIn }} fade-in two {{ end }}">
|
||||
{{ partial "nav.html" . }}
|
||||
<!-- Begin blog post content -->
|
||||
<!-- Begin post content -->
|
||||
<div class="container markdown {{ if .Site.Params.fadeIn }} fade-in two {{ end }} top-pad">
|
||||
{{ if .Params.image }}
|
||||
<div class="has-text-centered">
|
||||
<img src="{{ .Params.image }}" class="img-responsive">
|
||||
<img src="{{ .Params.image | relURL }}" class="img-responsive">
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ .Content }}
|
||||
</div>
|
||||
<!-- End blog post content -->
|
||||
<!-- End post content -->
|
||||
<div class="disqus">
|
||||
{{ template "_internal/disqus.html" . }}
|
||||
</div>
|
||||
|
@ -29,5 +29,4 @@
|
|||
<!-- End fade in two -->
|
||||
</div>
|
||||
<!-- End parent section -->
|
||||
|
||||
</body>
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{{ partial "header.html" . }}
|
||||
<body>
|
||||
|
||||
<!-- Parent section -->
|
||||
<div class="section" id="top">
|
||||
<!-- Begin Title -->
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ partial "top-icon-with-hr.html" . }}
|
||||
{{ partial "footer.html" . }}
|
||||
</div>
|
||||
|
|
|
@ -20,7 +20,11 @@
|
|||
<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>
|
||||
<h3 class="title is-3 strong-post-title">
|
||||
<a href="{{ .RelPermalink }}">
|
||||
{{ .Title }}
|
||||
</a>
|
||||
</h3>
|
||||
<div class="markdown">
|
||||
{{ .Summary }}
|
||||
{{ if .Truncated }}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<div class="section" id="top">
|
||||
<!-- Begin Title -->
|
||||
<div class="container hero {{ if .Site.Params.fadeIn | default true }}fade-in one{{ end }}">
|
||||
<h1 class="bold-title is-1">{{ .Site.Params.blogHead | default "Blog" }}</h1>
|
||||
<h1 class="bold-title is-1">{{ (.Site.GetPage "section" "blog") .Title }}</h1>
|
||||
</div>
|
||||
<!-- End Title -->
|
||||
<!-- Everything below fades in two! -->
|
||||
|
@ -12,7 +12,9 @@
|
|||
{{ partial "nav.html" . }}
|
||||
<!-- Begin blog title container -->
|
||||
<div class="container {{ if .Site.Params.fadeIn | default true }}fade-in two{{ end }}">
|
||||
<h2 class="title is-1 top-pad strong-post-title"><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
|
||||
<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 }}
|
||||
|
@ -21,29 +23,25 @@
|
|||
<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;">
|
||||
<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;">
|
||||
<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;">
|
||||
<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;">
|
||||
<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>
|
||||
|
|
|
@ -58,7 +58,6 @@
|
|||
<div class="container"><hr></div>
|
||||
{{ end }}
|
||||
|
||||
|
||||
<!-- Now for some cool projects -->
|
||||
{{ partial "projects.html" . }}
|
||||
|
||||
|
@ -102,7 +101,6 @@
|
|||
<div class="container"><hr></div>
|
||||
{{ end }}
|
||||
|
||||
|
||||
<!-- Nice clean finish -->
|
||||
{{ partial "footer.html" . }}
|
||||
<!-- Footer done! -->
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if .Site.Params.showAllPosts }}
|
||||
<h2 class="title is-2 has-text-centered top-pad">All Posts</h2>
|
||||
<ul>
|
||||
|
@ -32,6 +31,5 @@
|
|||
{{ partial "top-icon.html" . }}
|
||||
</div>
|
||||
<!-- End Blog section -->
|
||||
|
||||
<div class="container"><hr></div>
|
||||
{{ end }}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
{{ with .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 -->
|
||||
|
|
|
@ -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 "/" }}
|
||||
|
|
|
@ -2,16 +2,22 @@
|
|||
<div class="section" id="projects">
|
||||
<!-- Begin Projects container -->
|
||||
<div class="container">
|
||||
<h2 class="title is-2 has-text-centered">{{ .Title }}</h2>
|
||||
<h2 class="title is-2 has-text-centered">
|
||||
{{ .Title }}
|
||||
</h2>
|
||||
|
||||
<div class="section is-small">
|
||||
<div class="columns is-multiline">
|
||||
{{ range sort .Pages }}
|
||||
{{ 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 }}>
|
||||
|
@ -30,11 +36,16 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ if lt $numberOfProjectsToShow $totalProjects }}
|
||||
<div class="container has-text-centered top-pad">
|
||||
<a href="{{ "/projects" | relURL }}">ALL PROJECTS</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<!-- End Projects container -->
|
||||
|
||||
<!-- Projects modals -->
|
||||
{{ range sort .Pages }}
|
||||
{{ if not .Params.external_link }}
|
||||
{{ 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">
|
||||
|
|
58
layouts/projects/list.html
Normal file
58
layouts/projects/list.html
Normal file
|
@ -0,0 +1,58 @@
|
|||
{{ partial "header.html" . }}
|
||||
<body>
|
||||
<!-- Parent section -->
|
||||
<div class="section" id="top">
|
||||
<!-- Begin Title -->
|
||||
<div class="container hero {{ if .Site.Params.fadeIn }} fade-in one {{ end }}">
|
||||
<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 }}">
|
||||
{{ partial "nav.html" . }}
|
||||
<div class="container markdown {{ if .Site.Params.fadeIn | default true }}fade-in two{{ end }} top-pad">
|
||||
{{ .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 -->
|
||||
|
||||
</body>
|
Loading…
Reference in a new issue