Version 3.0
2
.gitignore
vendored
|
@ -1,4 +1,4 @@
|
|||
/static/node_modules/
|
||||
node_modules/
|
||||
/static/sass/
|
||||
/static/gulpfile.js
|
||||
package.json
|
||||
|
|
16
CHANGELOG.md
|
@ -1,3 +1,13 @@
|
|||
# Version 3.0 - Nov 13 2017
|
||||
|
||||
- Projects are a content section now instead of 3 static config file entries:
|
||||
- Add any number of projects to your site
|
||||
- Projects on the main page can be external links to other websites, or they will pop open a window with details
|
||||
- Updates supporting Hugo version 3.0+
|
||||
- Misc bug fixes
|
||||
|
||||
*Thanks to [@lucab85](https://github.com/lucab85) for the contribution!*
|
||||
|
||||
## Version 2.20 - Jul 25 2017
|
||||
|
||||
- Avatar made optional
|
||||
|
@ -10,13 +20,15 @@
|
|||
## Version 2.10 - May 25 2017
|
||||
|
||||
- Fixed issue (#7) causing '_fades.css' to not load with some site structures
|
||||
- file '_fades.css' is now unnecessary
|
||||
- file '_fades.css' is now unnecessary
|
||||
- Added baseURL to header assets in case the lack of was also causing complications
|
||||
|
||||
*Thanks to [@kirederik](https://github.com/kirederik) for the contribution!*
|
||||
|
||||
# Version 2.00 - April 20 2017
|
||||
|
||||
- Load speed improvements:
|
||||
- Lighter smooth scrolling effect using a little jQuery
|
||||
- Lighter smooth scrolling effect using a little jQuery
|
||||
- Added option to show author's local time in Contact section
|
||||
- Social icons are now totally customizable via config - add as many as you want
|
||||
|
||||
|
|
52
README.md
|
@ -30,14 +30,14 @@ From the exampleSite, copy `config.toml` to the root folder of your Hugo site an
|
|||
|
||||
Start with:
|
||||
|
||||
1. Set your baseurl
|
||||
2. Set your full name and first name
|
||||
3. Set your introduction header height (use "medium", "large", or "fullheight")
|
||||
4. Choose "light" or "dark" theme
|
||||
5. Set your avatar image
|
||||
6. Set your timezone, if you choose to show it
|
||||
7. Choose whether or not to show the Blog and Projects sections, and configure them to your liking
|
||||
8. Input your social site urls and font-awesome icon names - use as many as you like
|
||||
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. Input your social site urls and font-awesome icon names - use as many as you like
|
||||
|
||||
### Create About and Contact pages
|
||||
|
||||
|
@ -53,7 +53,7 @@ Then edit the markdown files with the content you'd like shown in your main page
|
|||
Use Hugo's built-in server to see your site in action as you make changes.
|
||||
|
||||
```
|
||||
$ hugo -t introduction --watch serve
|
||||
$ hugo serve -t introduction
|
||||
```
|
||||
|
||||
Visit `localhost:1313` in your browser to see a live preview of your site.
|
||||
|
@ -62,8 +62,40 @@ Visit `localhost:1313` in your browser to see a live preview of your site.
|
|||
|
||||
To create a new blog post, run:
|
||||
```
|
||||
$ hugo new blog/your-post.md
|
||||
$ hugo new blog/your-post-title.md
|
||||
```
|
||||
|
||||
## Projects
|
||||
|
||||
To create a new project entry, run:
|
||||
```
|
||||
$ hugo new projects/your-project-name.md
|
||||
```
|
||||
|
||||
### Project front matter
|
||||
|
||||
Project parameters look like this:
|
||||
```
|
||||
---
|
||||
title: "Design"
|
||||
date: 2017-11-13T12:21:16-05:00
|
||||
image: "img/plant.jpg"
|
||||
external_link: ""
|
||||
weight: 2
|
||||
---
|
||||
```
|
||||
|
||||
Projects are ordered on the main page by `weight` first, then by `date`.
|
||||
|
||||
The `image` will show up on the main page and in the project's details view. If you don't specify an image, the `placeholderimg` from your site's `config.toml` file will be used.
|
||||
|
||||
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.
|
||||
|
||||
## License
|
||||
This theme is released under the [Creative Commons Attribution 3.0 license.](https://github.com/hivickylai/hugo-theme-introduction/blob/master/LICENSE.txt)
|
||||
|
||||
## Contributing
|
||||
|
||||
Pull requests for bug fixes and suggestions are welcome.
|
||||
|
||||
Contributors are listed in [CHANGELOG.md](https://github.com/hivickylai/hugo-theme-introduction/blob/master/CHANGELOG.md). Thank you so much! 🖤
|
||||
|
|
5
archetypes/blog.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "{{ replace .TranslationBaseName "-" " " | title }}"
|
||||
date: {{ .Date }}
|
||||
draft: true
|
||||
---
|
|
@ -1,2 +1,5 @@
|
|||
+++
|
||||
+++
|
||||
---
|
||||
title: "{{ replace .TranslationBaseName "-" " " | title }}"
|
||||
date: {{ .Date }}
|
||||
draft: true
|
||||
---
|
8
archetypes/projects.md
Normal file
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
title: "{{ replace .TranslationBaseName "-" " " | title }}"
|
||||
date: {{ .Date }}
|
||||
image: ""
|
||||
external_link: ""
|
||||
weight:
|
||||
draft: true
|
||||
---
|
|
@ -1,78 +1,56 @@
|
|||
baseurl = "/" # Must end with /
|
||||
languageCode = "en-us"
|
||||
title = "Introduction"
|
||||
theme = "introduction"
|
||||
enforce_ssl = false
|
||||
builddrafts = false
|
||||
canonifyurls = true
|
||||
contentdir = "content"
|
||||
layoutdir = "layouts"
|
||||
publishdir = "public"
|
||||
# disqusshortname = "xxx" # Enable Disqus for comments
|
||||
baseurl = "https://introduction.com/" # Your domain name. Must end with "/"
|
||||
languageCode = "en-us"
|
||||
title = "Introduction"
|
||||
theme = "introduction"
|
||||
enforce_ssl = false
|
||||
builddrafts = false # Include pages with draft status of true
|
||||
canonifyurls = true # Turns relative urls into absolute urls
|
||||
# disqusshortname = "xxx" # Enable Disqus for comments
|
||||
# googleAnalytics = "xxx"
|
||||
|
||||
[permalinks]
|
||||
fixed = ":title/"
|
||||
blog = "blog/:slug/"
|
||||
|
||||
[params]
|
||||
author = "A Clever Author" # Full name shows on blog post pages
|
||||
firstname = "awesome" # 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'
|
||||
theme = "dark" # Choose 'light' or 'dark'
|
||||
avatar = "img/profile.png" # 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 = true # Add the current unix timestamp in query string for cache busting css assets
|
||||
description = "Website Description"
|
||||
faviconfile = "img/fav.ico"
|
||||
highlightjs = true # Syntax highlighting
|
||||
lang = "en"
|
||||
footertext = "" # Text to show in footer (overrides default text)
|
||||
fadein = true # Turn on/off the fade-in effect
|
||||
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'
|
||||
theme = "dark" # 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 = true # Add the current unix timestamp in query string for cache busting css assets
|
||||
description = "Website Description" # Max 160 characters show in search results
|
||||
faviconfile = "img/fav.ico"
|
||||
highlightjs = true # Syntax highlighting
|
||||
footertext = "" # Text to show in footer (overrides default text)
|
||||
fadein = true # Turn on/off the fade-in effect
|
||||
|
||||
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
|
||||
sharebuttons = true # On post pages, show share this social buttons
|
||||
|
||||
# Share buttons
|
||||
sharetwitter = true
|
||||
sharefacebook = true
|
||||
sharepinterest = false
|
||||
sharegoogleplus = true
|
||||
|
||||
showprojects = true # Show Projects section on home page
|
||||
|
||||
# This is your projects section. Three images of the same dimensions will look the nicest. If images are omitted, text links will be shown.
|
||||
project1link = "#"
|
||||
project1img = "img/project1.jpg"
|
||||
project1title = "Project 1"
|
||||
|
||||
project2link = "#"
|
||||
project2img = "img/project2.jpg"
|
||||
project2title = "Project 2"
|
||||
|
||||
project3link = "#"
|
||||
project3img = "img/project3.jpg"
|
||||
project3title = "Project 3"
|
||||
showblog = true # Show Blog section on home page
|
||||
showprojects = true # Show Projects section on home page
|
||||
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
|
||||
|
||||
# Social icons appear in introduction and contact section. Add as many more as you like.
|
||||
# Find icon names here: http://fontawesome.io/cheatsheet/
|
||||
|
||||
[[params.social]]
|
||||
url = "https://twitter.com/"
|
||||
icon = "twitter"
|
||||
url = "https://twitter.com/"
|
||||
icon = "twitter"
|
||||
|
||||
[[params.social]]
|
||||
url = "https://facebook.com/"
|
||||
icon = "facebook"
|
||||
url = "https://facebook.com/"
|
||||
icon = "facebook"
|
||||
|
||||
[[params.social]]
|
||||
url = "https://linkedin.com/"
|
||||
icon = "linkedin"
|
||||
url = "https://linkedin.com/"
|
||||
icon = "linkedin"
|
27
exampleSite/content/about.md
Normal file → Executable file
|
@ -1,14 +1,19 @@
|
|||
+++
|
||||
date = "2017-03-09T13:19:25+08:00"
|
||||
draft = false
|
||||
title = "about"
|
||||
---
|
||||
title: "About"
|
||||
date: 2017-03-09T13:19:25+08:00
|
||||
---
|
||||
|
||||
+++
|
||||
This is **Introduction,** a minimal scrolling website theme made for [Hugo](https://gohugo.io).
|
||||
|
||||
This is your about me page. Use it to write up a witty and engaging description of yourself.
|
||||
### Features
|
||||
|
||||
You can include your hobbies, favorite foods, photos of your ex-lovers, anything you like.
|
||||
|
||||
You can even include some ipsums:
|
||||
|
||||
Cat ipsum dolor sit amet, i cry and cry and cry unless you pet me, and then maybe i cry just for fun Gate keepers of hell for flop over sniff other cat's butt and hang jaw half open thereafter. Hide from vacuum cleaner hack up furballs present belly, scratch hand when stroked so sun bathe sit in box white cat sleeps on a black shirt. Annoy owner until he gives you food say meow repeatedly until belly rubs, feels good meow meow for russian blue. Lick the other cats chase laser lies down i like big cats and i can not lie. Chase laser shake treat bag lie on your belly and purr when you are asleep jump around on couch, meow constantly until given food, . Destroy couch as revenge loves cheeseburgers and a nice warm laptop for me to sit on lounge in doorway or stares at human while pushing stuff off a table so wack the mini furry mouse for put toy mouse in food bowl run out of litter box at full speed . Meow to be let in.
|
||||
* Responsive display on any size screen
|
||||
* Smooth fade-in on load with CSS3
|
||||
* Smooth scrolling to page sections from navigation
|
||||
* Light and Dark themes
|
||||
* _Projects_ section with any number of projects
|
||||
* _Blog_ section with optionally included _Latest Post_
|
||||
* Optional separate Blog page
|
||||
* Individual post pages
|
||||
* Styled Markdown throughout with support for HighlightJS
|
||||
* Highly customizable config file
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
+++
|
||||
date = "2017-03-12T11:55:50+08:00"
|
||||
title = "Coffee Ipsum"
|
||||
author = "Best Author Ever"
|
||||
|
||||
+++
|
||||
---
|
||||
title: "Coffee Ipsum"
|
||||
date: 2017-11-13T12:04:16-05:00
|
||||
---
|
||||
|
||||
Aromatic aroma con panna, crema so coffee robust coffee barista, café au lait trifecta that strong blue mountain cortado aftertaste. Aroma extraction french press, skinny sweet, blue mountain cup roast barista, beans, extra cappuccino mug crema strong. Americano caffeine white, con panna saucer sit, con panna eu, carajillo aftertaste kopi-luwak, body aftertaste cup single origin café au lait saucer. Macchiato java sweet arabica, turkish cup, eu flavour mug extraction white cortado saucer est white brewed instant, rich, barista breve cappuccino barista organic. Barista, beans extraction, barista mocha, roast steamed siphon cup sweet cortado, cinnamon froth milk ristretto cortado galão. Crema, milk extra brewed, lungo dripper, espresso flavour qui, variety, grinder caramelization sit, strong turkish espresso body, filter barista caramelization half and half strong. To go viennese cream to go, flavour, so mocha as, carajillo iced et a siphon froth. Aged, eu, cup, brewed aroma kopi-luwak, coffee, id viennese french press brewed grounds acerbic froth. Decaffeinated acerbic, spoon beans seasonal, french press café au lait mazagran roast chicory, pumpkin spice galão as fair trade, dark irish cup ristretto half and half whipped shop. Latte instant black extra aroma, instant, extra robusta variety skinny shop aged cup ristretto foam cortado. Bar galão skinny saucer est affogato sugar caffeine chicory sugar coffee, seasonal barista french press acerbic in chicory robust.
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
+++
|
||||
date = "2017-03-12T11:55:32+08:00"
|
||||
title = "Hipster Ipsum"
|
||||
|
||||
+++
|
||||
---
|
||||
title: "Hipster Ipsum"
|
||||
date: 2017-11-13T11:58:39-05:00
|
||||
draft: true
|
||||
---
|
||||
|
||||
Occupy mlkshk kale chips woke, listicle locavore next level fingerstache glossier aesthetic man braid before they sold out kitsch prism. Cred copper mug freegan, flannel YOLO single-origin coffee skateboard artisan four loko church-key man bun. Synth literally gastropub, kombucha chillwave helvetica offal truffaut church-key freegan pop-up gentrify narwhal. Kombucha viral vexillologist green juice. Slow-carb hoodie mumblecore tumeric tattooed meditation, lo-fi fap cred affogato forage whatever austin. Shabby chic direct trade migas, brunch gochujang sriracha chambray fanny pack 8-bit mustache letterpress. Street art umami tattooed, glossier selfies 90's kale chips cred cardigan taxidermy seitan distillery migas.
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
+++
|
||||
date = "2017-03-12T11:55:43+08:00"
|
||||
title = "Cheese Ipsum"
|
||||
|
||||
+++
|
||||
|
||||
Cow dolcelatte cheese and biscuits. Pepper jack caerphilly stilton cottage cheese airedale lancashire fromage frais chalk and cheese. Bocconcini fromage frais camembert de normandie fromage frais brie squirty cheese fromage frais fromage. Boursin boursin bocconcini stilton the big cheese cheese triangles pepper jack fromage. Croque monsieur.
|
||||
|
||||
```sh
|
||||
$ complicated techie code git bash ubuntu
|
||||
>>> return value init foo
|
||||
```
|
||||
|
||||
Squirty cheese goat brie. Cheddar cheese triangles cheese strings camembert de normandie edam cow brie jarlsberg. Cream cheese cheese and biscuits cheese strings ricotta mozzarella bavarian bergkase boursin blue castello. Bocconcini smelly cheese cheesecake red leicester cheese triangles say cheese queso manchego. Bocconcini ricotta red leicester parmesan.
|
||||
|
||||
Dolcelatte smelly cheese stinking bishop. Manchego mascarpone fromage frais cheesy grin cheese slices camembert de normandie cauliflower cheese hard cheese. Roquefort cheese triangles melted cheese fondue roquefort feta pepper jack blue castello. Goat melted cheese blue castello hard cheese dolcelatte caerphilly cheddar pepper jack. Cheesy feet edam.
|
||||
|
||||
Cauliflower cheese cauliflower cheese ricotta. Bavarian bergkase stilton lancashire paneer goat manchego brie edam. Smelly cheese cheese slices emmental cheese triangles danish fontina the big cheese ricotta pecorino. Croque monsieur ricotta melted cheese.
|
15
exampleSite/content/blog/startup-ipsum.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: "Startup Ipsum"
|
||||
date: 2017-11-13T12:04:06-05:00
|
||||
---
|
||||
|
||||
SpaceTeam affordances quantitative vs. qualitative SpaceTeam physical computing earned media thinker-maker-doer pair programming. Bootstrapping pitch deck physical computing driven cortado human-centered design innovate human-centered design driven. Grok pitch deck fund pitch deck sticky note affordances minimum viable product integrate paradigm viral iterate. Driven fund thought leader personas workflow SpaceTeam viral pair programming physical computing intuitive 360 campaign latte bootstrapping minimum viable product. Bootstrapping physical computing responsive pitch deck SpaceTeam parallax long shadow pitch deck bootstrapping ideate.
|
||||
|
||||
```sh
|
||||
$ complicated techie code git bash ubuntu
|
||||
>>> return value init foo
|
||||
```
|
||||
|
||||
Responsive innovate grok latte disrupt intuitive actionable insight SpaceTeam grok. Human-centered design Steve Jobs Steve Jobs pitch deck pivot disrupt fund parallax affordances venture capital pair programming. Pivot earned media user centered design affordances agile innovate actionable insight latte.
|
||||
|
||||
Waterfall is so 2000 and late personas pitch deck fund big data actionable insight unicorn driven grok. Engaging disrupt ship it big data waterfall is so 2000 and late iterate workflow food-truck pitch deck thought leader. Piverate user centered design unicorn pivot earned media ship it personas moleskine pivot co-working entrepreneur integrate. Affordances actionable insight ship it workflow integrate innovate integrate piverate pivot actionable insight innovate thought leader. Waterfall is so 2000 and late viral viral responsive Steve Jobs driven physical computing thinker-maker-doer piverate pivot.
|
14
exampleSite/content/contact.md
Normal file → Executable file
|
@ -1,10 +1,8 @@
|
|||
+++
|
||||
date = "2017-03-09T13:23:28+08:00"
|
||||
draft = false
|
||||
title = "contact"
|
||||
---
|
||||
title: "Contact"
|
||||
date: 2017-03-09T13:23:28+08:00
|
||||
---
|
||||
|
||||
+++
|
||||
In the Contact section of Introduction, you may optionally display the current time in your preferred timezone.
|
||||
|
||||
This is where you overcome your social anxiety and let people know how to reach you.
|
||||
|
||||
You could try linking to your [email](/), for instance. Just check it, okay?
|
||||
This lets visitors know what sort of response time to expect when they contact you. The timezone is easily set in the config file.
|
7
exampleSite/content/projects/Design.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: "Design"
|
||||
date: 2017-11-13T12:21:16-05:00
|
||||
image: "img/plant.jpg"
|
||||
external_link: ""
|
||||
weight: 2
|
||||
---
|
11
exampleSite/content/projects/Photography.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
title: "Photography"
|
||||
date: 2017-11-13T12:21:21-05:00
|
||||
image: "img/camera.jpg"
|
||||
external_link: ""
|
||||
weight: 1
|
||||
---
|
||||
|
||||
## Sometimes I take pictures.
|
||||
|
||||
This project is about the pictures I take. Sometimes, they are pictures of cats.
|
11
exampleSite/content/projects/Writing.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
title: "Writing"
|
||||
date: 2017-11-13T12:21:11-05:00
|
||||
image: "img/workday.jpg"
|
||||
external_link: ""
|
||||
weight: 3
|
||||
---
|
||||
|
||||
Aromatic aroma con panna, crema so coffee robust coffee barista, café au lait trifecta that strong blue mountain cortado aftertaste. Aroma extraction french press, skinny sweet, blue mountain cup roast barista, beans, extra cappuccino mug crema strong.
|
||||
|
||||
To go viennese cream to go, flavour, so mocha as, carajillo iced et a siphon froth. Aged, eu, cup, brewed aroma kopi-luwak, coffee, id viennese french press brewed grounds acerbic froth. Decaffeinated acerbic, spoon beans seasonal, french press café au lait mazagran roast chicory, pumpkin spice galão as fair trade, dark irish cup ristretto half and half whipped shop. Latte instant black extra aroma, instant, extra robusta variety skinny shop aged cup ristretto foam cortado. Bar galão skinny saucer est affogato sugar caffeine chicory sugar coffee, seasonal barista french press acerbic in chicory robust.
|
BIN
exampleSite/static/img/camera.jpg
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
exampleSite/static/img/plant.jpg
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
exampleSite/static/img/profile.jpg
Normal file
After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 19 KiB |
BIN
exampleSite/static/img/workday.jpg
Normal file
After Width: | Height: | Size: 58 KiB |
|
@ -1,66 +1,64 @@
|
|||
{{ partial "header.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">{{ .Site.Params.firstname }}'s Blog</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">{{ .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"><!-- Begin Blog container -->
|
||||
|
||||
{{ if .Site.Params.showlatest }}
|
||||
<h2 class="title is-2 top-pad">Latest Post</h2>
|
||||
{{ range first 1 (where .Data.Pages.ByPublishDate "Section" "blog") }}
|
||||
<div class="summary">{{ .Date.Format .Site.Params.dateform }}
|
||||
<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 class="container">
|
||||
<!-- Begin Nav bar -->
|
||||
{{ partial "nav-list.html" . }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<!-- End Nav bar -->
|
||||
<article>
|
||||
<!-- "{{.Content}}" pulls from the markdown content of the corresponding _index.md -->
|
||||
{{ .Content }}
|
||||
</article>
|
||||
|
||||
<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 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 }} | {{.Title}}</a>
|
||||
</li>
|
||||
{{ end }} {{ end }}
|
||||
</ul>
|
||||
</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 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>
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
</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;
|
||||
})
|
||||
$('a[href^="{{ .Permalink }}#"]').click(function (e) {
|
||||
e.preventDefault();
|
||||
var target = this.hash;
|
||||
$('html, body').animate({
|
||||
scrollTop: $(target).offset().top
|
||||
}, 500);
|
||||
return false;
|
||||
})
|
||||
</script>
|
||||
|
||||
</body>
|
63
layouts/_default/single.html
Normal file
|
@ -0,0 +1,63 @@
|
|||
{{ partial "header.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 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>
|
||||
<!-- End Nav bar -->
|
||||
|
||||
<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>
|
||||
{{ end }}
|
||||
|
||||
{{ .Content }}
|
||||
</div>
|
||||
<!-- End blog post content -->
|
||||
|
||||
<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>
|
||||
|
||||
{{ 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>
|
66
layouts/blog/list.html
Normal file
|
@ -0,0 +1,66 @@
|
|||
{{ partial "header.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">{{ .Site.Params.bloghead }}</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"><!-- Begin Blog container -->
|
||||
|
||||
{{ if .Site.Params.showlatest }}
|
||||
<h2 class="title is-2 top-pad">Latest Post</h2>
|
||||
{{ range first 1 (where .Data.Pages.ByPublishDate "Section" "blog") }}
|
||||
<div class="summary">{{ .Date.Format .Site.Params.dateform }}
|
||||
<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>
|
||||
{{ 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>
|
||||
|
||||
</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>
|
||||
|
||||
{{ 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>
|
|
@ -3,7 +3,7 @@
|
|||
<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">{{ .Site.Params.firstname }}'s Blog</h1>
|
||||
<h1 class="bold-title is-1">{{ .Site.Params.bloghead }}</h1>
|
||||
</div><!-- End Title -->
|
||||
|
||||
<!-- Everything below fades in two! -->
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
{{ end }}
|
||||
<div class="column markdown">
|
||||
{{ range .Data.Pages }}
|
||||
{{if eq .Title "about" }}
|
||||
{{if eq .Title "About" }}
|
||||
{{.Content}}
|
||||
{{end}}
|
||||
{{ end }}
|
||||
|
@ -103,7 +103,7 @@
|
|||
<h2 class="title is-2">Contact</h2>
|
||||
<div class="markdown">
|
||||
{{ range .Data.Pages }}
|
||||
{{if eq .Title "contact" }}
|
||||
{{if eq .Title "Contact" }}
|
||||
{{.Content}}
|
||||
{{end}}
|
||||
{{ end }}
|
||||
|
|
|
@ -41,11 +41,14 @@
|
|||
{{ end }}
|
||||
|
||||
<!-- jQuery -->
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
|
||||
<script
|
||||
src="https://code.jquery.com/jquery-3.2.1.min.js"
|
||||
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<!-- Fonts and icon CSS -->
|
||||
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Ubuntu+Mono:400,400i,700,700i|Raleway:500|Work+Sans">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Nunito+Sans">
|
||||
|
||||
{{ if .Site.Params.cachebuster }}
|
||||
|
||||
|
@ -81,10 +84,7 @@
|
|||
<link href="{{ .RSSLink }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" />
|
||||
{{ end }}
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body lang="{{ .Site.Params.lang }}">
|
||||
<body>
|
||||
|
|
@ -12,20 +12,9 @@
|
|||
<span class="nav-item">
|
||||
<a href="/#about">About</a>
|
||||
</span>
|
||||
{{ if .Site.Params.showprojects }}
|
||||
<span class="nav-item">
|
||||
<a href="/#projects">Projects</a>
|
||||
<a href="/{{ .Section }}">Back to {{ .Section }}</a>
|
||||
</span>
|
||||
{{ end }}
|
||||
{{ if .Site.Params.showallposts }}
|
||||
<span class="nav-item">
|
||||
<a href="/#blog">Back to blog</a>
|
||||
</span>
|
||||
{{ else }}
|
||||
<span class="nav-item">
|
||||
<a href="/blog">Back to blog</a>
|
||||
</span>
|
||||
{{ end }}
|
||||
<span class="nav-item">
|
||||
<a href="/#contact">Contact</a>
|
||||
</span>
|
||||
|
|
|
@ -1,39 +1,75 @@
|
|||
<div class="container"><!-- Begin Projects container -->
|
||||
<h2 class="title is-2 has-text-centered">Projects</h2>
|
||||
<div class="container">
|
||||
<!-- Begin Projects container -->
|
||||
<h2 class="title is-2 has-text-centered">Projects</h2>
|
||||
|
||||
<div class="columns is-mobile">
|
||||
|
||||
<div class="column has-text-centered">
|
||||
{{ if .Site.Params.project1img }}
|
||||
<div class="thumbnail">
|
||||
<a href="{{ .Site.Params.project1link }}"><img class="img-responsive" src="/{{ .Site.Params.project1img }}" alt="{{ .Site.Params.project1title }}"></a>
|
||||
</div>
|
||||
{{ end }}
|
||||
<div class="thumbnail"><a href="{{ .Site.Params.project1link }}"><h4 class="title is-4 top-pad">{{ .Site.Params.project1title }}</h4></a>
|
||||
</div>
|
||||
<div class="section is-small">
|
||||
<div class="columns is-multiline">
|
||||
{{ range sort .Pages }} {{ if eq .Section "projects" }}
|
||||
<div class="column is-one-third">
|
||||
<!-- Hey Vicky, show half column if number is even. -->
|
||||
<div class="card">
|
||||
<div class="card-image">
|
||||
<figure class="image is-3by2">
|
||||
<a {{ if .Params.external_link }}
|
||||
href="{{ .Params.external_link }}"
|
||||
{{ else }}
|
||||
id="project{{.Title}}"
|
||||
{{ end }}>
|
||||
<img src="{{ .Params.image | default "{{ .Params.placeholderimg }}" }}"/>
|
||||
</a>
|
||||
</figure>
|
||||
</div>
|
||||
<div class="card-content has-text-centered top-pad">
|
||||
<a {{ if .Params.external_link }}
|
||||
href="{{ .Params.external_link }}"
|
||||
{{ else }}
|
||||
id="project{{.Title}}"
|
||||
{{ end }}>
|
||||
{{ .Title }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }} {{ end }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column has-text-centered">
|
||||
{{ if .Site.Params.project2img }}
|
||||
<div class="thumbnail">
|
||||
<a href="{{ .Site.Params.project2link }}"><img class="img-responsive" src="/{{ .Site.Params.project2img }}" alt="{{ .Site.Params.project2title }}"></a>
|
||||
</div>
|
||||
{{ end }}
|
||||
<div class="thumbnail"><a href="{{ .Site.Params.project2link }}"><h4 class="title is-4 top-pad">{{ .Site.Params.project2title }}</h4></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column has-text-centered">
|
||||
{{ if .Site.Params.project3img }}
|
||||
<div class="thumbnail">
|
||||
<a href="{{ .Site.Params.project3link }}"><img class="img-responsive" src="/{{ .Site.Params.project3img }}" alt="{{ .Site.Params.project3title }}"></a>
|
||||
</div>
|
||||
{{ end }}
|
||||
<div class="thumbnail"><a href="{{ .Site.Params.project3link }}"><h4 class="title is-4 top-pad">{{ .Site.Params.project3title }}</h4></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div><!-- End Projects container -->
|
||||
<!-- End Projects container -->
|
||||
|
||||
<div class="container has-text-centered top-pad"><a href="#top"><i class="fa fa-arrow-up"></i></a></div>
|
||||
<!-- Projects modals -->
|
||||
{{ range sort .Pages }} {{ if eq .Section "projects" }}
|
||||
<div class="modal" id="modal{{.Title}}">
|
||||
<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 }}" 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{{.Title}}"></button>
|
||||
</div>
|
||||
<script>
|
||||
$('#project{{.Title}}').click(function() {
|
||||
$('#modal{{.Title}}').addClass('is-active');
|
||||
});
|
||||
$('#close{{.Title}}').click(function() {
|
||||
$('#modal{{.Title}}').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>
|
||||
|
|
2
static/css/dark-style.css
Normal file → Executable file
2
static/css/light-style.css
Normal file → Executable file
BIN
static/img/workday.jpg
Normal file
After Width: | Height: | Size: 58 KiB |
|
@ -1,14 +1,14 @@
|
|||
# theme.toml template for a Hugo theme
|
||||
# See https://github.com/spf13/hugoThemes#themetoml for an example
|
||||
# See https://github.com/gohugoio/hugoThemes#themetoml for an example
|
||||
|
||||
name = "Introduction"
|
||||
license = "Creative Commons Attribution 3.0 Unported"
|
||||
licenselink = "https://github.com/hivickylai/hugo-theme-introduction/blob/master/LICENSE.md"
|
||||
description = "Minimal, single page, smooth scrolling theme for Hugo."
|
||||
homepage = "https://github.com/hivickylai/hugo-theme-introduction"
|
||||
tags = ["clean", "minimal"]
|
||||
tags = ["clean", "simple", "minimal", "minimalist", "responsive", "single page", "syntax highlighting", "projects", "starter", "white", "dark"]
|
||||
features = ["responsive", "single page"]
|
||||
min_version = 0.15
|
||||
min_version = "0.30"
|
||||
|
||||
[author]
|
||||
name = "Vicky Lai"
|
||||
|
|