Merge branch 'next_gen' of https://github.com/Hanzei/hugo-theme-introduction into Hanzei-next_gen

This commit is contained in:
Vicky 2018-08-21 14:50:49 -05:00
commit ff59834c3f
72 changed files with 21985 additions and 187 deletions

3
.gitignore vendored
View file

@ -1,4 +1 @@
node_modules/
gulpfile.js
package.json
exampleSite/public

View file

@ -2,7 +2,7 @@ git:
depth: false
env:
- HUGO_VERSION="0.45"
- HUGO_VERSION="0.47"
install:
- wget -q https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_Linux-64bit.tar.gz

View file

@ -1,3 +1,7 @@
## Version 4.0.0 - XXX XX 2018
TODO
## Version 3.4.0 - Jun 24 2018
Changes to Projects display options:
@ -38,7 +42,7 @@ Bug fixes:
## Version 3.3.0 - Mar 25 2018
- Default parameters implemented so theme renders without custom config parameters
- Local assets placed
- Local assets placed
*Thank you very much to @paskal and @Hanzei for your important contributions!*

View file

@ -1,5 +1,4 @@
# Introduction theme for Hugo
[![Build Status](https://travis-ci.com/vickylai/hugo-theme-introduction.svg?branch=master)](https://travis-ci.com/vickylai/hugo-theme-introduction)
![Latest Release](https://img.shields.io/github/tag/vickylai/hugo-theme-introduction.svg)
@ -17,10 +16,13 @@ Features:
- Smooth scroll-to-section navigation
- Responsive and fast
## Quick start
## Getting started
### Requirements
- [Hugo](https://gohugo.io/getting-started/installing/) extended version 0.45 or greater
- [autoprefixer](https://github.com/postcss/autoprefixer): `npm install -g autoprefixer`
- [postcss-cli](https://github.com/postcss/postcss-cli):`npm install -g postcss-cli`
### Get the theme
Run from the root of your Hugo site:
```sh
$ git clone https://github.com/vickylai/hugo-theme-introduction.git themes/introduction
@ -33,74 +35,49 @@ $ git submodule add https://github.com/vickylai/hugo-theme-introduction.git them
```
### Configure your site
From the exampleSite, copy `config.toml` to the root folder of your Hugo site and change the fields as you like.
Important bits:
The following explains how to add content to your hugo site. Introduction ships with an fully configured example site. For a quick preview just go into `exampleSite/` and run `hugo --themesDir ../..`. If you have configuration problems, you might want to check out how its done in `exampleSite/`.
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. Input your social site urls and font-awesome icon names - use as many as you like
### Home page
Content for the home page lives under `content/home/`. Create `index.md` (`hugo new home/index.md`) and set a *title*. The content of this file will be shown as a tag line. You might want to set [*headless*](https://gohugo.io/content-management/page-bundles/#headless-bundle) to `true`. You may add more files to the home section. They show up automaticity on the home page and can be ordered via *weight*. You can set *image* for a page to show an image on the left side. The image has to be placed inside `content/home`.
### Create About and Contact pages
You may add a contact section by creating
`contact.md` (`hugo new home/contact.md`). This will allways be shown last on the home page.
Run:
```sh
$ hugo new about.md
$ hugo new contact.md
### Projects section
Introduction provides an easy way to your projects. You can even add a gallery to your projects. Start by creating an index file (`hugo new projects/_index.md`), which you needs a *title*. You can also add some text.
Now you are ready to add some projects. Jet again, create an index file (`hugo new creating/YourProjectName/index.md`). You can add *external_link* to create a link to a website. Or add images to your project by placing them in the same folder as the index file you just created. If you add more then one photo, a gallery will be created. Images are ordered by there filename. The first image will be used as a project preview image. If you want to change the order of your image, you can do this by adding *weight* to some image via font matter in your index file:
```
Then edit the markdown files with the content you'd like shown in your main page's About and Contact sections.
### Preview your site locally
Use Hugo's built-in server to see your site in action as you make changes.
```
$ hugo serve -t introduction
resources:
- src: NameOfYourImage.jpg
params:
weight: -100
```
The projects themself can also be ordered by *weight*.
Visit `localhost:1313` in your browser to see a live preview of your site.
### Blog section
Creating a blog section is quite simple with Introduction. Just add an index file for the section (`hugo new blog/_index.md`). Then you can create as many blog entry as you like via (`hugo new blog/YourEntryTitle.md`). They will also automaticity appear on the home page.
## Blog posts
## Advanced configuration
### Multilingual Mode
You can create a multilingual website with Introduction. The default config file even contains all necessary configuration option. You just have to adjust the accordingly.
To create a new blog post, run:
```
$ hugo new blog/your-post-title.md
```
Introduction ships with some translation. If you want to add a new language, you have to add a necessary translations to `i18n`. See the [hugo documentation](https://gohugo.io/content-management/multilingual/) for more details.
## Projects
### Menu
Introduction contains a default menu. If you want to override this, you can do so by defining a *menu.main* in your config file.
To create a new project entry, run:
```
$ hugo new projects/your-project-name.md
```
### Disqus and Google Analytics
Introduction supports comments from Disqus. You just have to set *disqusshortname* in your config file.
### Project front matter
It also offers tracking via Google Analytics. For this to work, you have to set *googleAnalytics*.
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 don't specify a `title`, only the photo will show. You can still add content to the file to "caption" the image, and this will show in the popup. (Great way to create a simple gallery!)
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.
## Custom css
You can add custom css files by placing them under `assets/` and adding the path to your css file to *customCSS* in your config file.
## 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! 🖤

5
archetypes/home.md Normal file
View file

@ -0,0 +1,5 @@
---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
draft: true
weight: 0
---

View file

@ -1,6 +1,7 @@
---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
external_link: ""
date: {{ .Date }}
weight: 0
external_link: ""
draft: true
---

View file

@ -1,27 +1,27 @@
// Nav burger animation
document.addEventListener('DOMContentLoaded', function () {
document.addEventListener("DOMContentLoaded", function () {
// Get all "navbar-burger" elements
var $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);
var $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll(".navbar-burger"), 0);
// Check if there are any navbar burgers
if ($navbarBurgers.length > 0) {
// Add a click event on each of them
$navbarBurgers.forEach(function ($el) {
$el.addEventListener('click', function () {
$el.addEventListener("click", function () {
// Get the target from the "data-target" attribute
var target = $el.dataset.target;
var $target = document.getElementById(target);
// Toggle the class on both the "navbar-burger" and the "navbar-menu"
$el.classList.toggle('is-active');
$target.classList.toggle('is-active');
$el.classList.toggle("is-active");
$target.classList.toggle("is-active");
});
});
}
});
// Bitty scrolling links script
$('a[href^="#"]').click(function(e) {
$("a[href^=\"#\"]").click(function(e) {
e.preventDefault();
$('html, body').animate({
$("html, body").animate({
scrollTop: $(this.hash).offset().top
}, 500);
$("#nav-menu").removeClass("is-active");
@ -29,17 +29,17 @@ $('a[href^="#"]').click(function(e) {
})
// Modal closer
$('.card').click(function () {
$($(this).attr('data-target')).addClass('is-active');
$(".card").click(function () {
$($(this).attr("data-target")).addClass("is-active");
$("html").addClass("modal-open");
});
$('.modal-close').click(function () {
$($(this).attr('data-target')).removeClass('is-active');
$(".modal-close").click(function () {
$($(this).attr("data-target")).removeClass("is-active");
$("html").removeClass("modal-open");
});
$(document).keypress(function(e) {
if(e.which == 0) {
$('.modal.is-active').removeClass('is-active');
$(".modal.is-active").removeClass("is-active");
$("html").removeClass("modal-open");
}
});

View file

@ -1,4 +1,4 @@
$(document).ready(function() {
var time = moment().tz("{{ .Site.Params.home.timeZone }}").format("h:mm A");
$('#time').html(time);
$("#time").html(time);
})

View file

@ -98,6 +98,17 @@ hr
font-size: 1rem
line-height: 2rem
.social-icons
padding: 0 10px
.icon
height: 2rem
width: 2rem
margin: 0 10px
.fab
font-size: 21px
.blog-share
.icon
height: 1rem
@ -115,16 +126,7 @@ hr
text-transform: uppercase
font-size: 14px
.social-icons
padding: 0 10px
.icon
height: 2rem
width: 2rem
margin: 0 10px
.fab
font-size: 21px
.footer-text
font-size: 0.8em
@ -217,7 +219,7 @@ hr
color: #7a7a7a
border-left: .25rem solid #e5e5e5
blockquote p:last-child
margin-bottom: 0
margin-bottom: 0
table
margin: 2em 0 2em 0
width: 100%

View file

@ -1,23 +1,23 @@
/* vietnamese */
@font-face
font-family: 'Nunito Sans'
font-family: "Nunito Sans"
font-style: normal
font-weight: normal
src: local('Nunito Sans Regular'), local('NunitoSans-Regular'), url(#{$nunito-font-path}/NunitoSans-Regular.ttf) format('woff2')
src: local("Nunito Sans Regular"), local("NunitoSans-Regular"), url(#{$nunito-font-path}/NunitoSans-Regular.ttf) format("woff2")
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB
/* latin-ext */
@font-face
font-family: 'Nunito Sans'
font-family: "Nunito Sans"
font-style: normal
font-weight: normal
src: local('Nunito Sans Regular'), local('NunitoSans-Regular'), url(#{$nunito-font-path}/NunitoSans-Regular.ttf) format('woff2')
src: local("Nunito Sans Regular"), local("NunitoSans-Regular"), url(#{$nunito-font-path}/NunitoSans-Regular.ttf) format("woff2")
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF
/* latin */
@font-face
font-family: 'Nunito Sans'
font-family: "Nunito Sans"
font-style: normal
font-weight: normal
src: local('Nunito Sans Regular'), local('NunitoSans-Regular'), url(#{$nunito-font-path}/NunitoSans-Regular.ttf) format('woff2')
src: local("Nunito Sans Regular"), local("NunitoSans-Regular"), url(#{$nunito-font-path}/NunitoSans-Regular.ttf) format("woff2")
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD

77
assets/vendor/bulma/package.json vendored Normal file
View file

@ -0,0 +1,77 @@
{
"_from": "bulma@0.7.1",
"_id": "bulma@0.7.1",
"_inBundle": false,
"_integrity": "sha512-wRSO2LXB+qI9Pyz2id+uZr4quz5aftSN7Ay1ysr1+krzVp3utD+Ci4CeKuZdrYGc800t65b7heXBL6qw2Wo/lQ==",
"_location": "/bulma",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
"raw": "bulma@0.7.1",
"name": "bulma",
"escapedName": "bulma",
"rawSpec": "0.7.1",
"saveSpec": null,
"fetchSpec": "0.7.1"
},
"_requiredBy": [
"#USER",
"/"
],
"_resolved": "https://registry.npmjs.org/bulma/-/bulma-0.7.1.tgz",
"_shasum": "73c2e3b2930c90cc272029cbd19918b493fca486",
"_spec": "bulma@0.7.1",
"_where": "/Users/jthomas/Desktop",
"author": {
"name": "Jeremy Thomas",
"email": "bbxdesign@gmail.com",
"url": "https://jgthms.com"
},
"bugs": {
"url": "https://github.com/jgthms/bulma/issues"
},
"bundleDependencies": false,
"deprecated": false,
"description": "Modern CSS framework based on Flexbox",
"devDependencies": {
"autoprefixer": "^8.2.0",
"clean-css-cli": "^4.1.11",
"node-sass": "^4.8.3",
"postcss-cli": "^5.0.0",
"rimraf": "^2.6.2"
},
"files": [
"css",
"sass",
"bulma.sass",
"LICENSE",
"README.md"
],
"homepage": "https://bulma.io",
"keywords": [
"css",
"sass",
"flexbox",
"responsive",
"framework"
],
"license": "MIT",
"main": "bulma.sass",
"name": "bulma",
"repository": {
"type": "git",
"url": "git+https://github.com/jgthms/bulma.git"
},
"scripts": {
"build": "npm run build-clean && npm run build-sass && npm run build-autoprefix && npm run build-cleancss",
"build-autoprefix": "postcss --use autoprefixer --map false --output css/bulma.css css/bulma.css",
"build-clean": "rimraf css",
"build-cleancss": "cleancss -o css/bulma.min.css css/bulma.css",
"build-sass": "node-sass --output-style expanded --source-map true bulma.sass css/bulma.css",
"deploy": "npm run build",
"start": "npm run build-sass -- --watch"
},
"style": "bulma/css/bulma.min.css",
"version": "0.7.1"
}

View file

@ -0,0 +1,123 @@
{
"_args": [
[
"@fortawesome/fontawesome-free",
"/home/bschumacher/code/hugo/introduction"
]
],
"_from": "@fortawesome/fontawesome-free@latest",
"_id": "@fortawesome/fontawesome-free@5.1.0",
"_inCache": true,
"_installable": true,
"_location": "/@fortawesome/fontawesome-free",
"_nodeVersion": "8.9.1",
"_npmOperationalInternal": {
"host": "s3://npm-registry-packages",
"tmp": "tmp/fontawesome-free_5.1.0_1529524911845_0.6784977780003354"
},
"_npmUser": {
"email": "robmadole@gmail.com",
"name": "robmadole"
},
"_npmVersion": "6.0.0",
"_phantomChildren": {},
"_requested": {
"name": "@fortawesome/fontawesome-free",
"raw": "@fortawesome/fontawesome-free",
"rawSpec": "",
"scope": "@fortawesome",
"spec": "latest",
"type": "tag"
},
"_requiredBy": [
"/"
],
"_resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.1.0.tgz",
"_shasum": "f35f5ba91366b7a58b0b6a4f22ff0907fe002219",
"_shrinkwrap": null,
"_spec": "@fortawesome/fontawesome-free",
"_where": "/home/bschumacher/code/hugo/introduction",
"author": {
"email": "dave@fontawesome.com",
"name": "Dave Gandy",
"url": "http://twitter.com/davegandy"
},
"bugs": {
"url": "http://github.com/FortAwesome/Font-Awesome/issues"
},
"contributors": [
{
"name": "Brian Talbot",
"url": "http://twitter.com/talbs"
},
{
"name": "Travis Chase",
"url": "http://twitter.com/supercodepoet"
},
{
"name": "Rob Madole",
"url": "http://twitter.com/robmadole"
},
{
"name": "Geremia Taglialatela",
"url": "http://twitter.com/gtagliala"
},
{
"name": "Mike Wilkerson",
"url": "http://twitter.com/mw77"
}
],
"dependencies": {},
"description": "The iconic font, CSS, and SVG framework",
"devDependencies": {},
"directories": {},
"dist": {
"fileCount": 1335,
"integrity": "sha512-0XHj3cIq7OiG2v79UldqDHLFndLXxq0hbNTvsi7zDbLXiBtMkX+exuVUX466cajlSV8rkLiwa7GhTcMIKR1ajQ==",
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKrKwCRA9TVsSAnZWagAAec4P/3k6BJKDady9yrx1QtGJ\nLuzdX8awRd3JNBdHS3PcugEUOTHz6/XS3+lq5DFyXRpEFdeTirmmElUVBxeQ\nyw65AyT3cOEzWanJsXCCT4OfacRG05O74+g11f8+59f4Z8T4MpBlSo7ZAhis\nshPbw9W/yzxAkFrNnZ+NEGCq1CXaJG+SvNH+PVBX7SHUHsIbj9QVuYIdvgvI\nIM520ILmHCmdosIcKpFP06qmdvICE2xLNaEdYqRplBMQxXVdPKWfLQAbpbmD\n4XGN+A7YRhwywOpd+uqt4ou8rveSWBoZdFS4s6XGrRXAygY827+481gnSq5E\nm6RMylfpf1hkrQ+k4VQRnO0S/TlS3Sb21JSqOOFfF3rwnUT3GeLlimbaAK/I\nI9pOp0lpLKFdLPln/JYR5T880aRguW1ZjpAcwp5klNgnWq3A7C4O+hZ4HEBG\nYw1OvOL/swhUgTZ4VB7/iAxTwXsey0FmxjtCIelyH0p7BOgzLTf5MXM4LysP\ntNHr8FzplbsnxQ6d08WfZ//XFBGlb2xAbLjnXyYt81RMJ7lSviVIdk1iHYOn\nBS+4SXSFCVtWZRUEoTg19w9pJJXIk8K/E0kRv4qGwoAAANVBsfuYkLpNppYq\nEdIYZL9i2bBpTrdmBvbQdqbtaJ4DIlDkne+UUR8oGvh6M2MKFmuUstDtMZ9D\nxnjp\r\n=vZkU\r\n-----END PGP SIGNATURE-----\r\n",
"shasum": "f35f5ba91366b7a58b0b6a4f22ff0907fe002219",
"tarball": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.1.0.tgz",
"unpackedSize": 6844051
},
"engines": {
"node": ">=6"
},
"homepage": "https://fontawesome.com",
"keywords": [
"awesome",
"bootstrap",
"font",
"fontawesome",
"icon",
"svg"
],
"license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)",
"main": "js/fontawesome.js",
"maintainers": [
{
"name": "fortawesome-admin",
"email": "admin@fortawesome.com"
},
{
"name": "mwilkerson",
"email": "mwilkerson@gmail.com"
},
{
"name": "robmadole",
"email": "robmadole@gmail.com"
},
{
"name": "supercodepoet",
"email": "travis@travischase.me"
}
],
"name": "@fortawesome/fontawesome-free",
"optionalDependencies": {},
"readme": "ERROR: No README data found!",
"repository": {
"type": "git",
"url": "git+https://github.com/FortAwesome/Font-Awesome.git"
},
"style": "css/fontawesome.css",
"version": "5.1.0"
}

View file

@ -1 +0,0 @@
{"Target":"js/bundle.43be10f5b3a3e814bf07ce3fad76148fdd7184ea7b2e3f1d6b427828d24a56f2.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-Q74Q9bOj6BS/B84/rXYUj91xhOp7Lj8da0J4KNJKVvI="}}

View file

@ -1 +0,0 @@
{"Target":"js/bundleMoment.6d57a5711d10d4a2fa0d6c1ce0c0ce16ed263a85b195485a43b490f1badcaca4.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-bVelcR0Q1KL6DWwc4MDOFu0mOoWxlUhaQ7SQ8brcrKQ="}}

View file

@ -1 +0,0 @@
{"Target":"js/bundleOwlCarousel.cba358484a4a50bbc9c265ab71727cbcd15381bbb8cecdbcba357cb629f4e9c4.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-y6NYSEpKULvJwmWrcXJ8vNFTgbu4zs28ujV8tin06cQ="}}

View file

@ -1,2 +0,0 @@
document.addEventListener('DOMContentLoaded',function(){var $navbarBurgers=Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'),0);if($navbarBurgers.length>0){$navbarBurgers.forEach(function($el){$el.addEventListener('click',function(){var target=$el.dataset.target;var $target=document.getElementById(target);$el.classList.toggle('is-active');$target.classList.toggle('is-active');});});}});$('a[href^="#"]').click(function(e){e.preventDefault();$('html, body').animate({scrollTop:$(this.hash).offset().top},500);$("#nav-menu").removeClass("is-active");return true;})
$('.card').click(function(){$($(this).attr('data-target')).addClass('is-active');$("html").addClass("modal-open");});$('.modal-close').click(function(){$($(this).attr('data-target')).removeClass('is-active');$("html").removeClass("modal-open");});$(document).keypress(function(e){if(e.which==0){$('.modal.is-active').removeClass('is-active');$("html").removeClass("modal-open");}});

View file

@ -1 +0,0 @@
{"Target":"js/index.min.js","MediaType":"application/javascript","Data":{}}

View file

@ -1,4 +0,0 @@
$(document).ready(function() {
var time = moment().tz("America/Los_Angeles").format("h:mm A");
$('#time').html(time);
})

View file

@ -1 +0,0 @@
{"Target":"js/initMoment.tmp.js","MediaType":"application/javascript","Data":{}}

View file

@ -1 +0,0 @@
$(document).ready(function(){$(".owl-carousel").owlCarousel({loop:true,nav:true,margin:10,items:1,autoHeight:true});});

View file

@ -1 +0,0 @@
{"Target":"js/initOwlCarousel.min.js","MediaType":"application/javascript","Data":{}}

View file

@ -1 +0,0 @@
{"Target":"js/bundle.43be10f5b3a3e814bf07ce3fad76148fdd7184ea7b2e3f1d6b427828d24a56f2.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-Q74Q9bOj6BS/B84/rXYUj91xhOp7Lj8da0J4KNJKVvI="}}

View file

@ -1 +0,0 @@
{"Target":"js/bundleMoment.6d57a5711d10d4a2fa0d6c1ce0c0ce16ed263a85b195485a43b490f1badcaca4.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-bVelcR0Q1KL6DWwc4MDOFu0mOoWxlUhaQ7SQ8brcrKQ="}}

View file

@ -1 +0,0 @@
{"Target":"js/bundleOwlCarousel.cba358484a4a50bbc9c265ab71727cbcd15381bbb8cecdbcba357cb629f4e9c4.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-y6NYSEpKULvJwmWrcXJ8vNFTgbu4zs28ujV8tin06cQ="}}

View file

@ -1,2 +0,0 @@
document.addEventListener('DOMContentLoaded',function(){var $navbarBurgers=Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'),0);if($navbarBurgers.length>0){$navbarBurgers.forEach(function($el){$el.addEventListener('click',function(){var target=$el.dataset.target;var $target=document.getElementById(target);$el.classList.toggle('is-active');$target.classList.toggle('is-active');});});}});$('a[href^="#"]').click(function(e){e.preventDefault();$('html, body').animate({scrollTop:$(this.hash).offset().top},500);$("#nav-menu").removeClass("is-active");return true;})
$('.card').click(function(){$($(this).attr('data-target')).addClass('is-active');$("html").addClass("modal-open");});$('.modal-close').click(function(){$($(this).attr('data-target')).removeClass('is-active');$("html").removeClass("modal-open");});$(document).keypress(function(e){if(e.which==0){$('.modal.is-active').removeClass('is-active');$("html").removeClass("modal-open");}});

View file

@ -1 +0,0 @@
{"Target":"js/index.min.js","MediaType":"application/javascript","Data":{}}

View file

@ -1,4 +0,0 @@
$(document).ready(function() {
var time = moment().tz("America/Los_Angeles").format("h:mm A");
$('#time').html(time);
})

View file

@ -1 +0,0 @@
{"Target":"js/initMoment.tmp.js","MediaType":"application/javascript","Data":{}}

View file

@ -1 +0,0 @@
$(document).ready(function(){$(".owl-carousel").owlCarousel({loop:true,nav:true,margin:10,items:1,autoHeight:true});});

View file

@ -1 +0,0 @@
{"Target":"js/initOwlCarousel.min.js","MediaType":"application/javascript","Data":{}}

View file

@ -1 +1 @@
{"Target":"js/bundle.43be10f5b3a3e814bf07ce3fad76148fdd7184ea7b2e3f1d6b427828d24a56f2.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-Q74Q9bOj6BS/B84/rXYUj91xhOp7Lj8da0J4KNJKVvI="}}
{"Target":"js/bundle.4229c9bc1dddc27515d2b0e92ace2b52a5cf30b00aaccf4cf2b9d83ba5d69cc7.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-QinJvB3dwnUV0rDpKs4rUqXPMLAKrM9M8rnYO6XWnMc="}}

View file

@ -1 +1 @@
{"Target":"js/bundleMoment.6d57a5711d10d4a2fa0d6c1ce0c0ce16ed263a85b195485a43b490f1badcaca4.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-bVelcR0Q1KL6DWwc4MDOFu0mOoWxlUhaQ7SQ8brcrKQ="}}
{"Target":"js/bundleMoment.606f2d05cb65dec9d441d20611c4bf1f304ea60a66868809816e28783149ac58.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-YG8tBctl3snUQdIGEcS/HzBOpgpmhogJgW4oeDFJrFg="}}

View file

@ -1,2 +1,2 @@
document.addEventListener('DOMContentLoaded',function(){var $navbarBurgers=Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'),0);if($navbarBurgers.length>0){$navbarBurgers.forEach(function($el){$el.addEventListener('click',function(){var target=$el.dataset.target;var $target=document.getElementById(target);$el.classList.toggle('is-active');$target.classList.toggle('is-active');});});}});$('a[href^="#"]').click(function(e){e.preventDefault();$('html, body').animate({scrollTop:$(this.hash).offset().top},500);$("#nav-menu").removeClass("is-active");return true;})
$('.card').click(function(){$($(this).attr('data-target')).addClass('is-active');$("html").addClass("modal-open");});$('.modal-close').click(function(){$($(this).attr('data-target')).removeClass('is-active');$("html").removeClass("modal-open");});$(document).keypress(function(e){if(e.which==0){$('.modal.is-active').removeClass('is-active');$("html").removeClass("modal-open");}});
document.addEventListener("DOMContentLoaded",function(){var $navbarBurgers=Array.prototype.slice.call(document.querySelectorAll(".navbar-burger"),0);if($navbarBurgers.length>0){$navbarBurgers.forEach(function($el){$el.addEventListener("click",function(){var target=$el.dataset.target;var $target=document.getElementById(target);$el.classList.toggle("is-active");$target.classList.toggle("is-active");});});}});$("a[href^=\"#\"]").click(function(e){e.preventDefault();$("html, body").animate({scrollTop:$(this.hash).offset().top},500);$("#nav-menu").removeClass("is-active");return true;})
$(".card").click(function(){$($(this).attr("data-target")).addClass("is-active");$("html").addClass("modal-open");});$(".modal-close").click(function(){$($(this).attr("data-target")).removeClass("is-active");$("html").removeClass("modal-open");});$(document).keypress(function(e){if(e.which==0){$(".modal.is-active").removeClass("is-active");$("html").removeClass("modal-open");}});

View file

@ -1,4 +1,4 @@
$(document).ready(function() {
var time = moment().tz("America/Los_Angeles").format("h:mm A");
$('#time').html(time);
$("#time").html(time);
})

View file

@ -1 +0,0 @@
{"Target":"styles/main.min.88e4a525bef0c5911f208d47535e56f02a7e2658dd19eaab52840dde669f1dd3.css","MediaType":"text/css","Data":{"Integrity":"sha256-iOSlJb7wxZEfII1HU15W8Cp+JljdGeqrUoQN3mafHdM="}}

View file

@ -0,0 +1 @@
{"Target":"styles/main.css","MediaType":"text/css","Data":{}}

View file

@ -1 +0,0 @@
{"Target":"styles/main.min.88e4a525bef0c5911f208d47535e56f02a7e2658dd19eaab52840dde669f1dd3.css","MediaType":"text/css","Data":{"Integrity":"sha256-iOSlJb7wxZEfII1HU15W8Cp+JljdGeqrUoQN3mafHdM="}}

View file

@ -0,0 +1 @@
{"Target":"styles/main.css","MediaType":"text/css","Data":{}}

View file

@ -1 +0,0 @@
{"Target":"styles/main.min.88e4a525bef0c5911f208d47535e56f02a7e2658dd19eaab52840dde669f1dd3.css","MediaType":"text/css","Data":{"Integrity":"sha256-iOSlJb7wxZEfII1HU15W8Cp+JljdGeqrUoQN3mafHdM="}}

View file

@ -0,0 +1 @@
{"Target":"styles/main.css","MediaType":"text/css","Data":{}}

View file

@ -0,0 +1 @@
{"Target":"css/main.min.1e1cf2a6d69016a58a63a03a57bd56dd82f8f3f12b49d0c15fe7c2fb968ba333.css","MediaType":"text/css","Data":{"Integrity":"sha256-HhzyptaQFqWKY6A6V71W3YL48/ErSdDBX+fC+5aLozM="}}

View file

@ -12,7 +12,7 @@
{{ end }}
</head>
<body>
<section class="section" id="top">
<section id="top" class="section">
<!-- Begin Title -->
<div class="container hero {{ if .Site.Params.fadeIn | default true }} fade-in one {{ end }}">
{{ block "title" . }}

View file

@ -2,7 +2,7 @@
<div class="container">
<div class="section tags-list">
{{- range $key, $value:= .Data.Terms -}}
<a class="tag-cloud" href="{{ "/" | absLangURL }}{{ $.Data.Plural | urlize }}/{{ $key | urlize }}">{{ $key }}&nbsp;({{ $value.Count }})</a>
<a class="tag-cloud" href="{{ "/" | absLangURL }}{{ $.Data.Plural | urlize }}/{{ $key | urlize }}">{{ $key }}&nbsp;({{ $value.Count }})</a>
{{- end -}}
</div>
</div>

View file

@ -8,7 +8,7 @@
{{ partial "css/owlCarousel.html" . }}
</head>
<body>
<div id="top">
<section id="top" class="section">
{{ with .Site.GetPage "/home" }}
<div class="hero is-{{ .Site.Params.home.introHeight | default "large" }}">
<!-- Super sweet Hero body title -->
@ -73,9 +73,9 @@
{{ end }}
<!-- Now for some cool projects -->
{{ partial "home/projects.html" . }}
<!-- Let's show some blog posts -->
<!-- Let`s show some blog posts -->
{{ partial "home/blog.html" . }}
<!-- Let's chat, shall we? -->
<!-- Let`s chat, shall we? -->
{{ with .Resources.GetMatch "contact.md" }}
<div class="section" id="{{ .File.TranslationBaseName }}">
<div class="container has-text-centered">
@ -84,7 +84,7 @@
{{ .Content }}
</div>
{{ if .Site.Params.home.localTime }}
<p>{{ i18n "index_currentTime" . }} <span id='time'></span>.</p>
<p>{{ i18n "index_currentTime" . }} <span id="time"></span>.</p>
{{ end }}
{{ with .Site.Params.email }}
<h3 class="subtitle is-3 has-text-centered top-pad">
@ -103,16 +103,16 @@
{{ partial "footer/text.html" . }}
</div>
</div>
</section>
<!-- End of fade in three section -->
{{ partial "footer/scripts.html" . }}
{{ partial "js/owlCarousel.html" . }}
{{ if .Site.Params.home.localTime }}
{{ $momentjs := resources.Get "vendor/momentjs/moment.min.js" }}
{{ $momentTimezone := resources.Get "vendor/momentjs/moment-timezone.min.js" }}
{{ $momentTimezoneWithData := resources.Get "vendor/momentjs/moment-timezone-with-data-2012-2022.min.js" }}
{{ $initMomentjs := resources.Get "js/initMoment.js" | resources.ExecuteAsTemplate "js/initMoment.tmp.js" . }}
{{ $momentjs := resources.Get "/vendor/momentjs/moment.min.js" }}
{{ $momentTimezone := resources.Get "/vendor/momentjs/moment-timezone.min.js" }}
{{ $momentTimezoneWithData := resources.Get "/vendor/momentjs/moment-timezone-with-data-2012-2022.min.js" }}
{{ $initMomentjs := resources.Get "/js/initMoment.js" | resources.ExecuteAsTemplate "js/initMoment.tmp.js" . }}
{{ $bundleMoment := slice $momentjs $momentTimezone $momentTimezoneWithData $initMomentjs | resources.Concat "/js/bundleMoment.js" | fingerprint }}
<script src="{{ $bundleMoment.Permalink }}" integrity="{{ $bundleMoment.Data.Integrity }}"></script>
{{ end }}

View file

@ -1,5 +1,5 @@
{{ $jQuery := resources.Get "vendor/jquery/jquery-3.3.1.min.js" }}
{{ $index := resources.Get "js/index.js" | minify }}
{{ $jQuery := resources.Get "/vendor/jquery/jquery-3.3.1.min.js" }}
{{ $index := resources.Get "/js/index.js" | minify }}
{{ $scripts := slice $jQuery $index | resources.Concat "/js/bundle.js" | fingerprint }}
<script src="{{ $scripts.Permalink }}" integrity="{{ $scripts.Data.Integrity }}"></script>

View file

@ -1,11 +1,11 @@
{{ $bundleRaw := resources.Get "sass/style.sass" | resources.ExecuteAsTemplate "style/main.tmp.css" . }}
{{ $bundleRaw := resources.Get "/sass/style.sass" | resources.ExecuteAsTemplate "/css/main.tmp.css" . }}
{{ if .Site.IsServer }}
{{ $cssOpts := (dict "targetPath" "styles/main.css" "enableSourceMap" true ) }}
{{ $cssOpts := (dict "targetPath" "/css/main.css" "enableSourceMap" true ) }}
{{ $bundle := $bundleRaw | toCSS $cssOpts }}
<link rel="stylesheet" href="{{ $bundle.Permalink }}" media="screen">
{{ else }}
{{ $cssOpts := (dict "targetPath" "styles/main.css" ) }}
{{ $cssOpts := (dict "targetPath" "/css/main.css" ) }}
{{ $postCSSOpts := (dict "use" "autoprefixer" ) }}
{{ $bundle := $bundleRaw | toCSS $cssOpts | postCSS $postCSSOpts | minify | fingerprint }}
<link rel="stylesheet" href="{{ $bundle.Permalink }}" integrity="{{ $bundle.Data.Integrity }}" media="screen">

View file

@ -1,5 +1,4 @@
{{ $owlCarousel := resources.Get "vendor/owlCarousel/owl.carousel.min.js" }}
{{ $initOwlCarousel := resources.Get "js/initOwlCarousel.js" | minify }}
{{ $owlCarousel := resources.Get "/vendor/owlCarousel/owl.carousel.min.js" }}
{{ $initOwlCarousel := resources.Get "/js/initOwlCarousel.js" | minify }}
{{ $bundleOwlCarousel := slice $owlCarousel $initOwlCarousel | resources.Concat "/js/bundleOwlCarousel.js" | fingerprint }}
<script src="{{ $bundleOwlCarousel.Permalink }}" integrity="{{ $bundleOwlCarousel.Data.Integrity }}"></script>

View file

@ -43,7 +43,7 @@
{{ with .Site.GetPage "/home" }}
{{ range sort (.Resources.ByType "page") "Params.weight" }}
{{ if ne .Name "contact.md" }}
<a class="navbar-item" href="{{ if $isHome }}#{{ .File.TranslationBaseName }}{{ else }}{{ printf "/#%s" .File.TranslationBaseName | absLangURL }}{{ end }}">{{ .Title }}</a>
<a class="navbar-item" href="{{ if $isHome }}#{{ .File.TranslationBaseName }}{{ else }}{{ printf "/#%s" (.File.TranslationBaseName | urlize) | absLangURL }}{{ end }}">{{ .Title }}</a>
{{ end }}
{{ end }}
{{ end }}
@ -88,17 +88,17 @@
{{ with .Site.GetPage "/home" }}
{{ with .Resources.GetMatch "contact.md" }}
<a class="navbar-item" href="{{ if $isHome }}#{{ .File.TranslationBaseName }}{{ else }}{{ printf "/#%s" .File.TranslationBaseName | absLangURL }}{{ end }}">{{ .Title }}</a>
<a class="navbar-item" href="{{ if $isHome }}#{{ .File.TranslationBaseName }}{{ else }}{{ printf "/#%s" (.File.TranslationBaseName | urlize) | absLangURL }}{{ end }}">{{ .Title }}</a>
{{ end }}
{{ end }}
{{ if gt (len $.Site.Home.AllTranslations.ByWeight) 1 }}
{{ range $.Site.Home.AllTranslations.ByWeight }}
<a class="navbar-item" href="{{ .Permalink }}">{{ .Language.LanguageName }}</a>
{{ if ne .Language.LanguageName $.Language.LanguageName }}
<a class="navbar-item" href="{{ .Permalink }}">{{ .Language.LanguageName }}</a>
{{ end }}
{{ end }}
{{ if and .Site.Params.showRSSButton .Site.RSSLink }}
{{ if and .Site.Params.showRSSButton .Site.RSSLink }}
<a class="navbar-item" href="{{ .Site.RSSLink }}"><i class="fas fa-rss"></i></a>
{{ end }}
{{ end }}

View file

@ -5,7 +5,7 @@ description = "Minimal, single page, smooth scrolling theme for Hugo."
homepage = "https://github.com/vickylai/hugo-theme-introduction"
tags = ["blog", "bulma", "clean", "dark", "disqus", "font awesome", "gallery", "minimal", "minimalist", "mobile", "multilingual", "one page", "personal", "responsive", "simple", "single page", "starter", "syntax highlighting", "projects", "white" ]
features = ["responsive", "blog", "portfolio", "gallery"]
min_version = "0.45"
min_version = "0.46"
[author]
name = "Vicky Lai"