Merge branch 'next_gen' of https://github.com/Hanzei/hugo-theme-introduction into Hanzei-next_gen
3
.gitignore
vendored
|
@ -1,4 +1 @@
|
|||
node_modules/
|
||||
gulpfile.js
|
||||
package.json
|
||||
exampleSite/public
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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!*
|
||||
|
||||
|
|
87
README.md
|
@ -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
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "{{ replace .TranslationBaseName "-" " " | title }}"
|
||||
draft: true
|
||||
weight: 0
|
||||
---
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
title: "{{ replace .TranslationBaseName "-" " " | title }}"
|
||||
external_link: ""
|
||||
date: {{ .Date }}
|
||||
weight: 0
|
||||
external_link: ""
|
||||
draft: true
|
||||
---
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
});
|
||||
|
|
|
@ -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);
|
||||
})
|
||||
|
|
|
@ -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%
|
||||
|
|
|
@ -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
|
@ -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"
|
||||
}
|
123
assets/vendor/fontawesome-free/package.json
vendored
Normal 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"
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
{"Target":"js/bundle.43be10f5b3a3e814bf07ce3fad76148fdd7184ea7b2e3f1d6b427828d24a56f2.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-Q74Q9bOj6BS/B84/rXYUj91xhOp7Lj8da0J4KNJKVvI="}}
|
|
@ -1 +0,0 @@
|
|||
{"Target":"js/bundleMoment.6d57a5711d10d4a2fa0d6c1ce0c0ce16ed263a85b195485a43b490f1badcaca4.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-bVelcR0Q1KL6DWwc4MDOFu0mOoWxlUhaQ7SQ8brcrKQ="}}
|
|
@ -1 +0,0 @@
|
|||
{"Target":"js/bundleOwlCarousel.cba358484a4a50bbc9c265ab71727cbcd15381bbb8cecdbcba357cb629f4e9c4.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-y6NYSEpKULvJwmWrcXJ8vNFTgbu4zs28ujV8tin06cQ="}}
|
|
@ -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");}});
|
|
@ -1 +0,0 @@
|
|||
{"Target":"js/index.min.js","MediaType":"application/javascript","Data":{}}
|
|
@ -1,4 +0,0 @@
|
|||
$(document).ready(function() {
|
||||
var time = moment().tz("America/Los_Angeles").format("h:mm A");
|
||||
$('#time').html(time);
|
||||
})
|
|
@ -1 +0,0 @@
|
|||
{"Target":"js/initMoment.tmp.js","MediaType":"application/javascript","Data":{}}
|
|
@ -1 +0,0 @@
|
|||
$(document).ready(function(){$(".owl-carousel").owlCarousel({loop:true,nav:true,margin:10,items:1,autoHeight:true});});
|
|
@ -1 +0,0 @@
|
|||
{"Target":"js/initOwlCarousel.min.js","MediaType":"application/javascript","Data":{}}
|
|
@ -1 +0,0 @@
|
|||
{"Target":"js/bundle.43be10f5b3a3e814bf07ce3fad76148fdd7184ea7b2e3f1d6b427828d24a56f2.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-Q74Q9bOj6BS/B84/rXYUj91xhOp7Lj8da0J4KNJKVvI="}}
|
|
@ -1 +0,0 @@
|
|||
{"Target":"js/bundleMoment.6d57a5711d10d4a2fa0d6c1ce0c0ce16ed263a85b195485a43b490f1badcaca4.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-bVelcR0Q1KL6DWwc4MDOFu0mOoWxlUhaQ7SQ8brcrKQ="}}
|
|
@ -1 +0,0 @@
|
|||
{"Target":"js/bundleOwlCarousel.cba358484a4a50bbc9c265ab71727cbcd15381bbb8cecdbcba357cb629f4e9c4.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-y6NYSEpKULvJwmWrcXJ8vNFTgbu4zs28ujV8tin06cQ="}}
|
|
@ -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");}});
|
|
@ -1 +0,0 @@
|
|||
{"Target":"js/index.min.js","MediaType":"application/javascript","Data":{}}
|
|
@ -1,4 +0,0 @@
|
|||
$(document).ready(function() {
|
||||
var time = moment().tz("America/Los_Angeles").format("h:mm A");
|
||||
$('#time').html(time);
|
||||
})
|
|
@ -1 +0,0 @@
|
|||
{"Target":"js/initMoment.tmp.js","MediaType":"application/javascript","Data":{}}
|
|
@ -1 +0,0 @@
|
|||
$(document).ready(function(){$(".owl-carousel").owlCarousel({loop:true,nav:true,margin:10,items:1,autoHeight:true});});
|
|
@ -1 +0,0 @@
|
|||
{"Target":"js/initOwlCarousel.min.js","MediaType":"application/javascript","Data":{}}
|
|
@ -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="}}
|
|
@ -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="}}
|
|
@ -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");}});
|
|
@ -1,4 +1,4 @@
|
|||
$(document).ready(function() {
|
||||
var time = moment().tz("America/Los_Angeles").format("h:mm A");
|
||||
$('#time').html(time);
|
||||
$("#time").html(time);
|
||||
})
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
{"Target":"styles/main.min.88e4a525bef0c5911f208d47535e56f02a7e2658dd19eaab52840dde669f1dd3.css","MediaType":"text/css","Data":{"Integrity":"sha256-iOSlJb7wxZEfII1HU15W8Cp+JljdGeqrUoQN3mafHdM="}}
|
|
@ -0,0 +1 @@
|
|||
{"Target":"styles/main.css","MediaType":"text/css","Data":{}}
|
|
@ -1 +0,0 @@
|
|||
{"Target":"styles/main.min.88e4a525bef0c5911f208d47535e56f02a7e2658dd19eaab52840dde669f1dd3.css","MediaType":"text/css","Data":{"Integrity":"sha256-iOSlJb7wxZEfII1HU15W8Cp+JljdGeqrUoQN3mafHdM="}}
|
|
@ -0,0 +1 @@
|
|||
{"Target":"styles/main.css","MediaType":"text/css","Data":{}}
|
|
@ -1 +0,0 @@
|
|||
{"Target":"styles/main.min.88e4a525bef0c5911f208d47535e56f02a7e2658dd19eaab52840dde669f1dd3.css","MediaType":"text/css","Data":{"Integrity":"sha256-iOSlJb7wxZEfII1HU15W8Cp+JljdGeqrUoQN3mafHdM="}}
|
|
@ -0,0 +1 @@
|
|||
{"Target":"styles/main.css","MediaType":"text/css","Data":{}}
|
|
@ -0,0 +1 @@
|
|||
{"Target":"css/main.min.1e1cf2a6d69016a58a63a03a57bd56dd82f8f3f12b49d0c15fe7c2fb968ba333.css","MediaType":"text/css","Data":{"Integrity":"sha256-HhzyptaQFqWKY6A6V71W3YL48/ErSdDBX+fC+5aLozM="}}
|
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 13 KiB |
|
@ -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" . }}
|
||||
|
|
|
@ -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 }} ({{ $value.Count }})</a>
|
||||
<a class="tag-cloud" href="{{ "/" | absLangURL }}{{ $.Data.Plural | urlize }}/{{ $key | urlize }}">{{ $key }} ({{ $value.Count }})</a>
|
||||
{{- end -}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -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 }}
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 }}
|
||||
|
|
|
@ -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"
|
||||
|
|