reorganized folder structure

This commit is contained in:
2026-03-25 12:28:35 -04:00
parent 0d4833f940
commit 1f0f0fd8fe
1426 changed files with 348 additions and 9678 deletions

View File

@@ -0,0 +1,29 @@
# OS
.DS_Store
Thumbs.db
# IDEs
.buildpath
.project
.settings/
.build/
.idea/
public/
nbproject/
# Vagrant
.vagrant/
# FE Setup
/node_modules/
/npm-debug.log.*
/npm-debug.log
/npm-debug.log*
/bower_components/
/dist/
/src/client.config.json
/styleguide/
/docs/
/junit.xml
partials/structure/stylesheet.html

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2016 Raphael Wildhaber / https://github.com/wildhaber/
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,124 @@
# gohugo-amp
⚡ AMP starter theme for gohugo https://gohugo-amp.gohugohq.com
![gohugo-amp](https://github.com/wildhaber/gohugo-amp/blob/master/images/tn.png)
This Hugo theme is supposed to be a starter theme to make it easy to adapt to [Google's AMP-Project](https://www.ampproject.org/). Included in the theme are [**40+ shortcodes and partials**](https://gohugo-amp.gohugohq.com/shortcodes/) and [automatic Structured Data](https://gohugo-amp.gohugohq.com/schema/) making it a pleasure to embed AMP-Elements within your content files or your template.
## Installation
Go to the directory where you have your Hugo site and run:
```
$ mkdir themes
$ cd themes
$ git clone https://github.com/wildhaber/gohugo-amp.git
$ rm -rf gohugo-amp/.git
```
An extended [theme documentation](https://gohugo-amp.gohugohq.com) at [gohugo-amp.gohugohq.com](https://gohugo-amp.gohugohq.com). For more information about the theme installation read the official [setup guide](https://gohugo.io/overview/installing/) of Hugo.
## Configuration
After installing the theme successfully, we recommend you to take a look at the [Kitchen Sink](https://gohugo-amp.gohugohq.com/kitchen-sink). You find extensive documentation and a demonstration of all shortcodes and partials there.
For some features, you need to add configuration to your base `config.toml` params section:
```toml
[params]
amp = true # enables amp features
# define which amp-elements you are using globally, these elements will be included in every page
ampElements = ["amp-accordion","amp-ad","amp-analytics","amp-carousel","amp-iframe","amp-app-banner","amp-dynamic-css-classes","amp-form","amp-fx-flying-carpet","amp-image-lightbox","amp-lightbox","amp-sidebar","amp-social-share","amp-sticky-ad","amp-user-notification"]
themeColor = "#112233" # define a theme color (this will colorize the android address-bar)
adsensePublisher = "ca-pub-123456789" # required if you want to include google adsense
googleAnalytics = "UA-123456-78" # required if you want to use google analytics
appleItunesApp = "app-id=123456789, app-argument=app-name://link/to/app-content" # required if you want to add an app banner with iOS app
ampManifest = "/amp-manifest.json" # required if you want to add the app-banner feature
alternatePageName = "HUGO AMP" # alternative name for website structured data
organisationLogo = "https://gohugohq.com/logo.png" # set organisation logo for structured data
organisationName = "gohugohq.com" # set organisation name
organisationAddress = "Some Street 123, 12345 City" # set organisation address
socialProfiles = ["http://www.facebook.com/your-profile","http://instagram.com/yourProfile","http://www.linkedin.com/in/yourprofile","http://plus.google.com/your_profile"] # for sameAs in organisation's structured data
publisherName = "gohugohq.com" # publisher used in article schema
publisherLogo = "https://gohugo-amp.gohugohq.com/logo-publisher.png" # https://developers.google.com/search/docs/data-types/articles#logo-guidelines
publisherLogoWidth = 600 # logo width
publisherLogoHeight = 60 # logo height
stylesheetRegular = ["/base-styling.css"] # these styles are used when amp is disabled for a specific page
javascriptRegular = ["/script.js"] # these scripts are used when amp is disabled for a specific page
```
Sources for AMP references are managed in the [data/amp-modules.json](data/amp-modules.json)-File.
### Styling
AMP does not allow you to include CSS styles with the regular `link rel='stylesheet'`-tag we need to embed the CSS in the header section.
For this case add a file in your regular `layouts/partials/`-folder called `stylesheet.html`. In this file you can write pure CSS (no `<styles>`-Tags required)
Since its not a cool idea have to write your stylesheets in an HTML-File we provide an automated process rendering your Sass output directly in this file. You can read more in our [Guide about Styling](https://gohugo-amp.gohugohq.com/styling/) in the documentation.
### Google Analytics
Beside of adding the googleAnalytics in your base `config.toml` you also need to define triggers. Simply add a file in your base data section `/data/analytics/triggers.json`. For example:
```json
{
"trackPageview": {
"on": "visible",
"request": "pageview"
},
"trackEvent" : {
"selector": "body",
"on": "click",
"request": "event",
"vars": {
"eventCategory": "body-click",
"eventAction": "click"
}
}
}
```
Further information about AMP Analytics you will find in the [official documentation of the amp-project](https://www.ampproject.org/docs/reference/components/amp-analytics).
## App-Banners
App-Banners are very popular and help you to win your regular website's visitor downloading your app. Simply add a file in your base data section `/data/app/banner.json` for the configuration to display it in a mobile browser:
```json
{
"id" : "app-banner-id",
"src" : "https://placehold.it/60x51/ff3300/cccccc",
"name" : "My Apps Name",
"description" : "Short app description. Really short.",
"openText" : "get the app"
}
```
Further information about AMP App-Banners you will find in the [official documentation of the amp-project](https://www.ampproject.org/docs/reference/components/amp-app-banner).
## Demo and Example
A demonstration of the theme can be found at [gohugo-amp.gohugohq.com](https://gohugo-amp.gohugohq.com) and an example integration you will find here:
[wildhaber/gohugo-amp.gohugohq.com](https://github.com/wildhaber/gohugo-amp.gohugohq.com)
## Contributing
Have you found a bug or got an idea for a new feature? Feel free to use the [issue tracker](https://github.com/wildhaber/gohugo-amp/issues) to let me know. Alternatively, make a [pull request](https://github.com/wildhaber/gohugo-amp/pulls) directly.
## License
gohugo-amp released under the [MIT License](LICENSE).
## Thanks
Thanks to [Steve Francia](https://github.com/spf13) for creating Hugo and the awesome community around the project.

View File

@@ -0,0 +1,35 @@
+++
date = ""
publishdate = ""
title = ""
tags = []
[amp]
elements = []
[article]
lead = ""
category = ""
related = []
[author]
name = ""
image = ""
bio = ""
homepage = ""
[image]
src = ""
title = ""
author = ""
link = ""
license = ""
licenseLink = ""
[sitemap]
changefreq = "monthly"
priority = 0.5
filename = "sitemap.xml"
+++

View File

@@ -0,0 +1,25 @@
+++
publishdate = ""
draft = true
title = ""
tags = []
[amp]
elements = []
[image]
src = ""
title = ""
author = ""
link = ""
license = ""
licenseLink = ""
[sitemap]
changefreq = "monthly"
priority = 0.5
filename = "sitemap.xml"
+++

View File

@@ -0,0 +1,53 @@
{
"amp-core": "https://cdn.ampproject.org/v0.js",
"amp-access": "https://cdn.ampproject.org/v0/amp-access-0.1.js",
"amp-analytics": "https://cdn.ampproject.org/v0/amp-analytics-0.1.js",
"amp-accordion" : "https://cdn.ampproject.org/v0/amp-accordion-0.1.js",
"amp-ad" : "https://cdn.ampproject.org/v0/amp-ad-0.1.js",
"amp-anim" : "https://cdn.ampproject.org/v0/amp-anim-0.1.js",
"amp-animation" : "https://cdn.ampproject.org/v0/amp-animation-0.1.js",
"amp-apester-media" : "https://cdn.ampproject.org/v0/amp-apester-media-0.1.js",
"amp-app-banner" : "https://cdn.ampproject.org/v0/amp-app-banner-0.1.js",
"amp-audio" : "https://cdn.ampproject.org/v0/amp-audio-0.1.js",
"amp-bind" : "https://cdn.ampproject.org/v0/amp-bind-0.1.js",
"amp-brid-player" : "https://cdn.ampproject.org/v0/amp-brid-player-0.1.js",
"amp-brightcove" : "https://cdn.ampproject.org/v0/amp-brightcove-0.1.js",
"amp-carousel" : "https://cdn.ampproject.org/v0/amp-carousel-0.1.js",
"amp-dailymotion" : "https://cdn.ampproject.org/v0/amp-dailymotion-0.1.js",
"amp-dynamic-css-classes" : "https://cdn.ampproject.org/v0/amp-dynamic-css-classes-0.1.js",
"amp-experiment" : "https://cdn.ampproject.org/v0/amp-experiment-0.1.js",
"amp-facebook" : "https://cdn.ampproject.org/v0/amp-facebook-0.1.js",
"amp-fit-text" : "https://cdn.ampproject.org/v0/amp-fit-text-0.1.js",
"amp-font" : "https://cdn.ampproject.org/v0/amp-font-0.1.js",
"amp-form" : "https://cdn.ampproject.org/v0/amp-form-0.1.js",
"amp-fx-flying-carpet" : "https://cdn.ampproject.org/v0/amp-fx-flying-carpet-0.1.js",
"amp-gfycat" : "https://cdn.ampproject.org/v0/amp-gfycat-0.1.js",
"amp-google-vrview-image" : "https://cdn.ampproject.org/v0/amp-google-vrview-image-0.1.js",
"amp-hulu" : "https://cdn.ampproject.org/v0/amp-hulu-0.1.js",
"amp-iframe" : "https://cdn.ampproject.org/v0/amp-iframe-0.1.js",
"amp-image-lightbox" : "https://cdn.ampproject.org/v0/amp-image-lightbox-0.1.js",
"amp-instagram" : "https://cdn.ampproject.org/v0/amp-instagram-0.1.js",
"amp-install-serviceworker" : "https://cdn.ampproject.org/v0/amp-install-serviceworker-0.1.js",
"amp-jwplayer" : "https://cdn.ampproject.org/v0/amp-jwplayer-0.1.js",
"amp-kaltura-player" : "https://cdn.ampproject.org/v0/amp-kaltura-player-0.1.js",
"amp-lightbox" : "https://cdn.ampproject.org/v0/amp-lightbox-0.1.js",
"amp-list" : "https://cdn.ampproject.org/v0/amp-list-0.1.js",
"amp-live-list" : "https://cdn.ampproject.org/v0/amp-live-list-0.1.js",
"amp-o2-player" : "https://cdn.ampproject.org/v0/amp-o2-player-0.1.js",
"amp-ooyala-player" : "https://cdn.ampproject.org/v0/amp-ooyala-player-0.1.js",
"amp-pinterest" : "https://cdn.ampproject.org/v0/amp-pinterest-0.1.js",
"amp-reach-player" : "https://cdn.ampproject.org/v0/amp-reach-player-0.1.js",
"amp-reddit" : "https://cdn.ampproject.org/v0/amp-reddit-0.1.js",
"amp-selector" : "https://cdn.ampproject.org/v0/amp-selector-0.1.js",
"amp-sidebar" : "https://cdn.ampproject.org/v0/amp-sidebar-0.1.js",
"amp-social-share" : "https://cdn.ampproject.org/v0/amp-social-share-0.1.js",
"amp-soundcloud" : "https://cdn.ampproject.org/v0/amp-soundcloud-0.1.js",
"amp-springboard-player" : "https://cdn.ampproject.org/v0/amp-springboard-player-0.1.js",
"amp-sticky-ad" : "https://cdn.ampproject.org/v0/amp-sticky-ad-1.0.js",
"amp-twitter" : "https://cdn.ampproject.org/v0/amp-twitter-0.1.js",
"amp-user-notification" : "https://cdn.ampproject.org/v0/amp-user-notification-0.1.js",
"amp-vimeo" : "https://cdn.ampproject.org/v0/amp-vimeo-0.1.js",
"amp-vine" : "https://cdn.ampproject.org/v0/amp-vine-0.1.js",
"amp-viz-vega" : "https://cdn.ampproject.org/v0/amp-viz-vega-0.1.js",
"amp-youtube" : "https://cdn.ampproject.org/v0/amp-youtube-0.1.js"
}

View File

@@ -0,0 +1,32 @@
var sass = require('node-sass');
var postcss = require('postcss');
var fs = require('fs');
const inputFile = './layouts/src/styles.scss';
const outputFile = './layouts/partials/stylesheet.html';
sass.render({
file: inputFile,
outputStyle: 'compressed'
}, function(error, result) {
if (error) {
console.log(error.status);
console.log(error.column);
console.log(error.message);
console.log(error.line);
}
else {
let cssOutput = result.css.toString();
postcss([ require('autoprefixer'), require('cssnano') ])
.process(cssOutput)
.then((result) => {
fs.writeFile(outputFile, result.css, function(err) {
if(err) {
return console.log(err);
}
console.log('\u2611 file '+outputFile+' updated with current styling from '+ inputFile);
});
});
}
});

View File

@@ -0,0 +1,39 @@
{
"caseSensitive": false,
"collapseBooleanAttributes": true,
"collapseInlineTagWhitespace": false,
"collapseWhitespace": true,
"conservativeCollapse": false,
"customAttrCollapse": ".*",
"decodeEntities": true,
"html5": true,
"ignoreCustomFragments": [
"<#[\\s\\S]*?#>",
"<%[\\s\\S]*?%>",
"<\\?[\\s\\S]*?\\?>"
],
"includeAutoGeneratedTags": false,
"keepClosingSlash": false,
"maxLineLength": 0,
"minifyCSS": false,
"minifyJS": false,
"preserveLineBreaks": true,
"preventAttributesEscaping": false,
"processConditionalComments": true,
"processScripts": [
"text/html"
],
"removeAttributeQuotes": true,
"removeComments": true,
"removeEmptyAttributes": true,
"removeEmptyElements": false,
"removeOptionalTags": true,
"removeRedundantAttributes": true,
"removeScriptTypeAttributes": true,
"removeStyleLinkTypeAttributes": true,
"removeTagWhitespace": false,
"sortAttributes": false,
"sortClassName": false,
"trimCustomFragments": true,
"useShortDoctype": true
}

View File

@@ -0,0 +1,25 @@
baseurl = "https://gohugo-amp.gohugohq.com/"
languageCode = "en-us"
title = "gohugo-amp starter theme"
theme = "gohugo-amp"
enableRobotsTXT = true
[params]
amp = true
ampElements = ["amp-accordion","amp-ad","amp-analytics","amp-app-banner","amp-carousel","amp-iframe","amp-dynamic-css-classes","amp-form","amp-fx-flying-carpet","amp-image-lightbox","amp-lightbox","amp-sidebar","amp-social-share","amp-sticky-ad","amp-user-notification"]
themeColor = "#ff1d55"
adsensePublisher = "ca-pub-123456789"
googleAnalytics = "UA-12345678-123"
appleItunesApp = "app-id=123456789, app-argument=app-name://link/to/app-content"
ampManifest = "/amp-manifest.json"
alternatePageName = "HUGO AMP"
organizationLogo = "https://gohugo-amp.gohugohq.com/logo.png"
organizationName = "gohugohq.com"
organizationAddress = "Some Street 123, 12345 City"
socialProfiles = ["http://www.facebook.com/your-profile","http://instagram.com/yourProfile","http://www.linkedin.com/in/yourprofile","http://plus.google.com/your_profile"]
publisherName = "gohugohq.com"
publisherLogo = "https://gohugo-amp.gohugohq.com/logo-publisher.png" # https://developers.google.com/search/docs/data-types/articles#logo-guidelines
publisherLogoWidth = 600
publisherLogoHeight = 60
stylesheetRegular = ["/base-styling.css"] # these styles are used when amp is disabled for a specific page
javascriptRegular = ["/script.js"] # these scripts are used when amp is disabled for a specific page

View File

@@ -0,0 +1,75 @@
+++
date = "2016-11-18T19:28:41+02:00"
publishdate = "2016-11-18T19:28:41+02:00"
draft = false
title = "article example one"
description = "Short description of the article."
[amp]
elements = []
[structured]
type = "Article"
[author]
name = "John Doe"
[image]
src = "https://gohugo-amp.gohugohq.com/example-image.jpg"
width = 1600
height = 900
title = "Example Article image"
author = "gohugohq"
link = "https://gohugohq.com"
license = "CC BY 2.0"
license_link = "https://creativecommons.org/licenses/by/2.0/"
[sitemap]
changefreq = "monthly"
priority = 0.5
filename = "sitemap.xml"
+++
# This is an article example
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
To have a valid article you can simply follow the TOML-structure below:
```toml
date = "2016-11-18T19:28:41+02:00"
publishdate = "2016-11-18T19:28:41+02:00"
draft = false
title = "article example one"
description = "Short description of the article."
[amp]
elements = []
[structured]
type = "Article"
[author]
name = "John Doe"
[image]
src = "https://gohugo-amp.gohugohq.com/example-image.jpg"
width = 1600
height = 900
title = "Example Article image"
author = "gohugohq"
link = "https://gohugohq.com"
license = "CC BY 2.0"
license_link = "https://creativecommons.org/licenses/by/2.0/"
[sitemap]
changefreq = "monthly"
priority = 0.5
filename = "sitemap.xml"
```
Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.

View File

@@ -0,0 +1,77 @@
+++
date = "2016-11-26T19:28:41+02:00"
publishdate = "2016-11-18T19:28:41+02:00"
draft = false
title = "Disable amp on specific article."
description = "Short description of the article."
[amp]
enable = false
elements = []
[structured]
type = "Article"
[author]
name = "John Doe"
[image]
src = "https://gohugo-amp.gohugohq.com/example-image.jpg"
width = 1600
height = 900
title = "Example Article image"
author = "gohugohq"
link = "https://gohugohq.com"
license = "CC BY 2.0"
license_link = "https://creativecommons.org/licenses/by/2.0/"
[sitemap]
changefreq = "monthly"
priority = 0.5
filename = "sitemap.xml"
+++
# This is an article where amp is disabled
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
To have a valid article you can simply follow the TOML-structure below:
```toml
date = "2016-11-18T19:28:41+02:00"
publishdate = "2016-11-18T19:28:41+02:00"
draft = false
title = "article example one"
description = "Short description of the article."
[amp]
enable = false
elements = []
[structured]
type = "Article"
[author]
name = "John Doe"
[image]
src = "https://gohugo-amp.gohugohq.com/example-image.jpg"
width = 1600
height = 900
title = "Example Article image"
author = "gohugohq"
link = "https://gohugohq.com"
license = "CC BY 2.0"
license_link = "https://creativecommons.org/licenses/by/2.0/"
[sitemap]
changefreq = "monthly"
priority = 0.5
filename = "sitemap.xml"
```
Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.

View File

@@ -0,0 +1,57 @@
+++
date = "2016-11-18T19:28:41+02:00"
publishdate = "2016-11-18T19:28:41+02:00"
draft = false
title = "course example one"
description = "Short description of the course."
[amp]
elements = []
[structured]
type = "Course"
[provider]
name = "University of Example"
url = "https://gohugohq.com"
[sitemap]
changefreq = "monthly"
priority = 0.5
filename = "sitemap.xml"
+++
# This is a course example
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
To have a valid course example you can simply follow the TOML-structure below:
```toml
date = "2016-11-18T19:28:41+02:00"
publishdate = "2016-11-18T19:28:41+02:00"
draft = false
title = "course example one"
description = "Short description of the course."
[amp]
elements = []
[structured]
type = "Course"
[provider]
name = "University of Example"
url = "https://gohugohq.com"
[sitemap]
changefreq = "monthly"
priority = 0.5
filename = "sitemap.xml"
```
Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.

View File

@@ -0,0 +1,27 @@
+++
date = "2016-11-20T14:28:41+02:00"
draft = false
title = "gohugo-amp"
index = true
[sitemap]
changefreq = "daily"
priority = 1.0
filename = "sitemap.xml"
+++
# gohugo-amp
This Hugo theme is supposed to be a starter theme to make it easy to adapt to [Google's AMP-Project](https://www.ampproject.org/). Included in the theme are [**40+ shortcodes and partials**](https://gohugo-amp.gohugohq.com/shortcodes/) and [automatic Structured Data](https://gohugo-amp.gohugohq.com/schema/) making it a pleasure to embed AMP-Elements within your content files or your template.
Have a look at the [documentation](https://gohugo-amp.gohugohq.com) including the following starter-Guides:
### [1. Installation Guide](https://gohugo-amp.gohugohq.com/install/)
### [2. Configuration Guide](https://gohugo-amp.gohugohq.com/config/)
### [3. Styling Guide](https://gohugo-amp.gohugohq.com/styling/)
### [4. Structured Data Guide](https://gohugo-amp.gohugohq.com/schema/)
### [5. Shortcodes &amp; Partials Guide](https://gohugo-amp.gohugohq.com/shortcodes/)
### [**Last but not least! The Kitchen-Sink with all available AMP-Elements**](https://gohugo-amp.gohugohq.com/kitchen-sink/)
Further this Project is on [Github](https://github.com/wildhaber/gohugo-amp/) where you are very welcome to support the project.

View File

@@ -0,0 +1,130 @@
+++
date = "2016-11-18T19:28:41+02:00"
publishdate = "2016-11-18T19:28:41+02:00"
draft = false
title = "course example one"
description = "Short description of the course."
[amp]
elements = []
[structured]
type = "Recipe"
[author]
name = "John Doe"
[recipe]
category = "appetizer"
prepTime = "PT30M"
totalTime = "PT3H"
recipeYield = "8"
ingredients = ["1 box Pillsbury™ refrigerated pie crusts, softened as directed on box","6 cups thinly sliced, peeled apples (6 medium)","3/4 cup sugar","2 tablespoons all-purpose flour","3/4 teaspoon ground cinnamon","1/4 teaspoon salt","1/8 teaspoon ground nutmeg","1 tablespoon lemon juice"]
instructions = ["1 Heat oven to 425°F. Place 1 pie crust in ungreased 9-inch glass pie plate. Press firmly against side and bottom.","2 In large bowl, gently mix filling ingredients; spoon into crust-lined pie plate. Top with second crust. Wrap excess top crust under bottom crust edge, pressing edges together to seal; flute. Cut slits or shapes in several places in top crust.","3 Bake 40 to 45 minutes or until apples are tender and crust is golden brown. Cover edge of crust with 2- to 3-inch wide strips of foil after first 15 to 20 minutes of baking to prevent excessive browning. Cool on cooling rack at least 2 hours before serving."]
[rating]
value = "4.0"
reviewCount = "12"
best = "4.5"
worst = "2.5"
[nutrition]
"servingSize" = "1 medium slice"
"calories" = "230 calories"
"fatContent" = "1 g"
"carbohydrateContent" = "43 g"
"cholesterolContent" = "0 mg"
"fiberContent" = "1 g"
"proteinContent" = "1 g"
"saturatedFatContent" = "2 ½ g"
"sodiumContent" = "200 mg"
"sugarContent" = "27 g"
"transFatContent" = "0 g"
[image]
src = "https://gohugo-amp.gohugohq.com/example-square.jpg"
width = 900
height = 900
title = "Example Square image"
author = "gohugohq"
link = "https://gohugohq.com"
license = "CC BY 2.0"
license_link = "https://creativecommons.org/licenses/by/2.0/"
[sitemap]
changefreq = "monthly"
priority = 0.5
filename = "sitemap.xml"
+++
# This is a recipe example
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
To have a valid course example you can simply follow the TOML-structure below:
```toml
date = "2016-11-18T19:28:41+02:00"
publishdate = "2016-11-18T19:28:41+02:00"
draft = false
title = "course example one"
description = "Short description of the course."
[amp]
elements = []
[structured]
type = "Recipe"
[author]
name = "John Doe"
[recipe]
category = "appetizer"
prepTime = "PT30M"
totalTime = "PT3H"
recipeYield = "8"
ingredients = ["1 box Pillsbury™ refrigerated pie crusts, softened as directed on box","6 cups thinly sliced, peeled apples (6 medium)","3/4 cup sugar","2 tablespoons all-purpose flour","3/4 teaspoon ground cinnamon","1/4 teaspoon salt","1/8 teaspoon ground nutmeg","1 tablespoon lemon juice"]
instructions = ["1 Heat oven to 425°F. Place 1 pie crust in ungreased 9-inch glass pie plate. Press firmly against side and bottom.","2 In large bowl, gently mix filling ingredients; spoon into crust-lined pie plate. Top with second crust. Wrap excess top crust under bottom crust edge, pressing edges together to seal; flute. Cut slits or shapes in several places in top crust.","3 Bake 40 to 45 minutes or until apples are tender and crust is golden brown. Cover edge of crust with 2- to 3-inch wide strips of foil after first 15 to 20 minutes of baking to prevent excessive browning. Cool on cooling rack at least 2 hours before serving."]
[rating]
value = "4.0"
reviewCount = "12"
best = "4.5"
worst = "2.5"
[nutrition]
"servingSize" = "1 medium slice"
"calories" = "230 calories"
"fatContent" = "1 g"
"carbohydrateContent" = "43 g"
"cholesterolContent" = "0 mg"
"fiberContent" = "1 g"
"proteinContent" = "1 g"
"saturatedFatContent" = "2 ½ g"
"sodiumContent" = "200 mg"
"sugarContent" = "27 g"
"transFatContent" = "0 g"
[image]
src = "https://gohugo-amp.gohugohq.com/example-square.jpg"
width = 900
height = 900
title = "Example Square image"
author = "gohugohq"
link = "https://gohugohq.com"
license = "CC BY 2.0"
license_link = "https://creativecommons.org/licenses/by/2.0/"
[sitemap]
changefreq = "monthly"
priority = 0.5
filename = "sitemap.xml"
```
Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.

View File

@@ -0,0 +1,15 @@
{
"trackPageview": {
"on": "visible",
"request": "pageview"
},
"trackEvent" : {
"selector": "body",
"on": "click",
"request": "event",
"vars": {
"eventCategory": "body-click",
"eventAction": "click"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"id" : "app-banner-id",
"src" : "https://placehold.it/60x51/ff3300/cccccc",
"name" : "My Apps Name",
"description" : "Short app description. Really short.",
"openText" : "get the app"
}

View File

@@ -0,0 +1,44 @@
{
"contactPoint": [{
"@type": "ContactPoint",
"telephone": "+1-123-456-789",
"contactType": "customer service",
"contactOption": "TollFree",
"areaServed": "US"
},{
"@type": "ContactPoint",
"telephone": "+1-123-445-687",
"contactType": "customer service"
},{
"@type": "ContactPoint",
"telephone": "+1-123-296-1018",
"contactType": "customer service",
"contactOption": [
"HearingImpairedSupported",
"TollFree"
],
"areaServed": "US"
},{
"@type": "ContactPoint",
"telephone": "+1-123-234-1304",
"contactType": "technical support",
"contactOption": "TollFree",
"areaServed": [
"US",
"CA"
],
"availableLanguage": [
"English",
"French"
]
},{
"@type": "ContactPoint",
"telephone": "+1-123-333-234",
"contactType": "bill payment",
"contactOption": "TollFree",
"areaServed": [
"US",
"CA"
]
}]
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,14 @@
/*
gohugo-amp-starter
----
this is just a minimal styling entry point for your custom stylesheet
you can replace the following styles with your own stylesheet
or import them writing:
@import 'path/to/your/stylesheet.scss'
Read more about styling with AMP:
http://gohugo-amp.gohugohq.com/styling/
*/
// @import "your/stylings";

View File

@@ -0,0 +1,39 @@
{
"name": "your-project",
"version": "1.0.0",
"description": "describe your project",
"main": "index.js",
"scripts": {
"go": "npm run hugo:server",
"hugo:server": "hugo server --buildDrafts --buildFuture",
"test": "echo \"Error: no test specified\" && exit 1",
"build:prod": "npm run theme:build && hugo && npm run optimize:html",
"optimize:html": "./node_modules/.bin/html-minifier --input-dir ./public/ --output-dir ./public/ --file-ext html -c ./.html-minifier-config.json",
"theme:build": "node ./.bin/styling",
"theme:watch": "./node_modules/.bin/nodemon -e scss -w ./ -x npm run theme:build"
},
"author": "Your Name",
"license": "UNLICENSED",
"dependencies": {},
"devDependencies": {
"html-minifier": "^3.1.1",
"autoprefixer": "^6.5.3",
"cssnano": "^3.8.0",
"node-sass": "^3.11.3",
"nodemon": "^1.11.0",
"postcss": "^5.2.5"
},
"repository": {
"type": "git",
"url": "git+https://LINK-TO-YOUR-REPOSITORY"
},
"keywords": [
"kw1",
"kw2",
"kw3"
],
"bugs": {
"url": "https://LINK-TO-YOUR-BUG-TRACKER"
},
"homepage": "https://YOUR-HOMEPAGE.TLD"
}

View File

@@ -0,0 +1,10 @@
{
"prefer_related_applications": true,
"related_applications": [
{
"platform": "play",
"id": "com.app.path",
"url": "android-app://com.app.path/https/host.com/path/to/app-content"
}
]
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
console.log('this is an example script running when amp is diabled.');

Binary file not shown.

After

Width:  |  Height:  |  Size: 735 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

View File

@@ -0,0 +1,7 @@
{{ partial "structure/head" . }}
<main>
Default list
</main>
{{ partial "structure/foot" . }}

View File

@@ -0,0 +1,7 @@
{{ partial "structure/head" . }}
<main>
{{ .Content }}
</main>
{{ partial "structure/foot" . }}

View File

@@ -0,0 +1,11 @@
{{ partial "structure/head" . }}
<main>
{{ range .Data.Pages }}
{{ if eq .Params.index true }}
{{ .Content }}
{{ end }}
{{ end }}
</main>
{{ partial "structure/foot" . }}

View File

@@ -0,0 +1,29 @@
{{ if isset $.Site.Params "adsensepublisher" }}
{{ with .Params }}
{{ with .sticky }}<amp-sticky-ad layout="nodisplay">{{ end }}
<amp-ad type="adsense"
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
data-ad-client="{{ $.Site.Params.adsensePublisher }}"
{{ with .slot }}data-ad-slot="{{ . }}"{{ end }}>
</amp-ad>
{{ with .sticky }}</amp-sticky-ad>{{ end }}
{{ end }}
{{ else }}
{{ if isset . "context" }}
{{ $publisher := .context.Site.Params.adsensePublisher }}
{{ with .sticky }}<amp-sticky-ad layout="nodisplay">{{ end }}
<amp-ad type="adsense"
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
data-ad-client="{{ $publisher }}"
{{ with .slot }}data-ad-slot="{{ . }}"{{ end }}>
</amp-ad>
{{ with .sticky }}</amp-sticky-ad>{{ end }}
{{ end }}
{{ end }}

View File

@@ -0,0 +1,14 @@
<amp-anim src="{{ .src }}"
{{ if isset . "srcset" }}srcset="{{ range (split .srcset " ") }}{{ . }} {{ end }}"{{ end }}
{{ if isset . "alt" }}alt="{{ range (split .alt " ") }}{{ . }} {{ end }}"{{ end }}
{{ if isset . "attribution" }}attribution="{{ range (split .attribution " ") }}{{ . }} {{ end }}"{{ end }}
{{ if isset . "width" }}width="{{ .width }}"{{ end }}
{{ if isset . "height" }}height="{{ .height }}"{{ end }}
{{ if isset . "layout" }}layout="{{ .layout }}"{{ end }}>
{{ if isset . "placeholder" }}
<amp-img placeholder
{{ if isset . "width" }}width="{{ .width }}"{{ end }}
{{ if isset . "height" }}height="{{ .height }}"{{ end }}
{{ if isset . "placeholder" }}src="{{ .placeholder }}"{{ end }}></amp-img>
{{ end }}
</amp-anim>

View File

@@ -0,0 +1,6 @@
{{ if isset $.Site.Params "appleitunesapp" }}
<meta name="apple-itunes-app" content="{{ $.Site.Params.appleItunesApp }}">
{{ end }}
{{ if isset $.Site.Params "ampmanifest" }}
<link rel="amp-manifest" href="{{ $.Site.Params.ampManifest }}">
{{ end }}

View File

@@ -0,0 +1,10 @@
<amp-app-banner layout="nodisplay" id="{{ if isset . "id" }}{{ .id }}{{ else }}app-banner-id{{ end }}">
<amp-img src="{{ .src }}"
width="60" height="51">
</amp-img>
<h3>{{ .name }}</h3>
<p>{{ .description }}</p>
<div class="actions">
<button open-button>{{ if isset . "opentext" }}{{ .opentext }}{{ else }}Get the app{{ end }}</button>
</div>
</amp-app-banner>

View File

@@ -0,0 +1,14 @@
<amp-audio
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .src }}src="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .autoplay }}autoplay{{ end }}
{{ with .loop }}loop{{ end }}
{{ with .muted }}muted{{ end }}>
<div fallback>
<p>Your browser doesnt support HTML5 audio</p>
</div>
{{ with .mp3 }}<source type="audio/mpeg" src="{{ . }}">{{ end }}
{{ with .ogg }}<source type="audio/ogg" src="{{ . }}">{{ end }}
</amp-audio>

View File

@@ -0,0 +1,8 @@
<amp-brid-player
{{ with .partner }}data-partner="{{ . }}"{{ end }}
{{ with .player }}data-player="{{ . }}"{{ end }}
{{ with .video }}data-video="{{ . }}"{{ end }}
{{ with .playlist }}data-playlist="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}></amp-brid-player>

View File

@@ -0,0 +1,7 @@
<amp-brightcove
{{ with .account }}data-account="{{ . }}"{{ end }}
{{ with .video }}data-video-id="{{ . }}"{{ end }}
{{ with .player }}data-player-id="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}></amp-brightcove>

View File

@@ -0,0 +1 @@
<button {{ with .onTap }}on="tap:{{ . }}"{{ end }}>{{ with .text }}{{ . }}{{ end }}</button>

View File

@@ -0,0 +1,12 @@
<amp-dailymotion
{{ with .video }}data-videoid="{{ . }}"{{ end }}
{{ with .logo }}data-ui-logo="{{ . }}"{{ end }}
{{ with .info }}data-info="{{ . }}"{{ end }}
{{ with .highlight }}data-highlight="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .mute }}data-mute="{{ . }}"{{ end }}
{{ with .endscreen }}data-endscreen-enable="{{ . }}"{{ end }}
{{ with .sharing }}data-sharing="{{ . }}"{{ end }}
{{ with .start }}data-start="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}></amp-dailymotion>

View File

@@ -0,0 +1,31 @@
<amp-accordion>
<section>
<h2>Section 1</h2>
<p>Bunch of awesome content</p>
</section>
<section>
<h2>Section 2</h2>
<div>Bunch of awesome content</div>
</section>
<section>
<h2>Section 3</h2>
<amp-img src="https://placehold.it/400x600" width="300" height="300"></amp-img>
</section>
<section>
<h4>Section 3</h4>
<p>Bunch of content.</p>
</section>
<section>
<h4>Section 4</h4>
<amp-accordion class="nested-accordion">
<section>
<h4>Nested Section 2.1</h4>
<p>Bunch of content.</p>
</section>
<section>
<h4>Nested Section 2.2</h4>
<p>Bunch of more content.</p>
</section>
</amp-accordion>
</section>
</amp-accordion>

View File

@@ -0,0 +1,32 @@
<amp-carousel class="carousel2"
layout="responsive"
height="400"
width="500"
type="slides">
<div class="slide">
<amp-img src="https://placehold.it/400x600/ff0066/ffffff/Border_Collie.jpg"
layout="fill"></amp-img>
<div class="caption">
The Border Collie is a working and herding dog breed developed in the Anglo-Scottish border region for herding livestock, especially sheep. It was specifically bred for intelligence and obedience.
</div>
</div>
<div class="slide">
<amp-img src="https://placehold.it/400x600/ff0066/ffffff/Shetland_Sheepdog.jpg"
layout="fill"></amp-img>
<div class="caption">
The Shetland Sheepdog, often known as the Sheltie, is a breed of herding dog. Less favored nicknames are the Toy Collie and the Miniature Collie. They are small dogs, and come in a variety of colors, such as sable, tri-color, and blue merle. They are
very intelligent, vocal, excitable, energetic dogs who are always willing to please and work hard.
</div>
</div>
<div class="slide">
<amp-img src="https://placehold.it/400x600/ff0066/ffffff/Hovawart.jpg"
layout="fill"></amp-img>
<div class="caption">
The Hovawart is a medium to large size German dog breed. The name of the breed means "an estate guard dog", which is the original use for the breed. The breed originated in the Black Forest region and was first described in text and paintings in medieval
times.
</div>
</div>
</amp-carousel>

View File

@@ -0,0 +1,26 @@
<button class="hamburger" on='tap:sidebar1.toggle'>Toggle</button>
<button on="tap:sidebar1.open">Open</button>
<button on="tap:sidebar1.close">x</button>
<amp-sidebar id="sidebar1"
layout="nodisplay"
side="right">
<ul>
<li tabindex="0">
<a href="/">Home</a>
</li>
<li tabindex="0">
<a href="/">Nav 2</a>
</li>
<li tabindex="0">
<a href="/">Nav 7</a>
</li>
<li tabindex="0">
<a href="/">Nav 2</a>
</li>
<li tabindex="0" role="close" on="tap:sidebar1.close"> Close</li>
</ul>
</amp-sidebar>

View File

@@ -0,0 +1,6 @@
<amp-facebook
{{ with .href }}data-href="{{ . }}"{{ end }}
data-embed-as="video"
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}></amp-facebook>

View File

@@ -0,0 +1,5 @@
<amp-facebook
{{ with .href }}data-href="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}></amp-facebook>

View File

@@ -0,0 +1,8 @@
<amp-fx-flying-carpet {{ with .height }}height="{{ . }}"{{ end }}>
<amp-img {{ with .imgSrc }}src="{{ . }}"{{ end }}
{{ with .imgWidth }}width="{{ . }}"{{ end }}
{{ with .imgHeight }}height="{{ . }}"{{ end }}
{{ with .imgAlt }}alt="{{ range (split . " ") }}{{ . }} {{ end }}"{{ end }}
{{ with .imgSrcSet }}alt="{{ range (split . " ") }}{{ . }} {{ end }}"{{ end }}
{{ with .imgAttribution }}attribution="{{ . }}"{{ end }}></amp-img>
</amp-fx-flying-carpet>

View File

@@ -0,0 +1,6 @@
<amp-gfycat
{{ with .id }}data-gfyid="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}>
</amp-gfycat>

View File

@@ -0,0 +1,14 @@
{{ if isset $.Site.Params "googleanalytics" }}
<amp-analytics type="googleanalytics">
<script type="application/json">
{
"vars": {
"account": "{{ $.Site.Params.googleAnalytics }}"
},
"triggers": {{ .Site.Data.analytics.triggers }}
}
</script>
</amp-analytics>
{{ else }}
You must set a googleAnalytics UA-Code within the global config.toml Params.
{{ end }}

View File

@@ -0,0 +1,10 @@
<amp-google-vrview-image
{{ with .stereo }}stereo {{ end }}
{{ with .mono }}mono {{ end }}
{{ with .src }}src="{{ . }}"{{ end }}
{{ with .yaw }}yaw="{{ . }}"{{ end }}
{{ with .yawOnly }} yaw-only {{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}>
</amp-google-vrview-image>

View File

@@ -0,0 +1,27 @@
{{ if isset $.Site.Params "amp" }}
{{- range $.Site.Params.ampElements -}}
{{- if (index (index $.Site.Data "amp-modules") .) -}}
<script async custom-element="{{ . }}" src="{{ (index (index $.Site.Data "amp-modules") .) }}"></script>
{{- end }}
{{- end }}
{{ with .Params.amp.elements }}
{{ range . }}
{{ if in $.Site.Params.ampElements . }}
{{ else }}
{{- if (index (index $.Site.Data "amp-modules") .) -}}
<script async custom-element="{{ . }}" src="{{ (index (index $.Site.Data "amp-modules") .) }}"></script>
{{- end }}
{{ end }}
{{ end }}
{{ end }}
{{- $ampCorePath := index (index $.Site.Data "amp-modules") "amp-core" -}}
<script async src="{{ $ampCorePath }}"></script>
{{ if isset $.Site.Params "ampmanifest" }}
{{ partial "amp/app-banner-header" . }}
{{ end }}
{{ end }}

View File

@@ -0,0 +1,5 @@
<amp-hulu {{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .id }}data-eid="{{ . }}"{{ end }}>
</amp-hulu>

View File

@@ -0,0 +1,9 @@
<amp-iframe {{ with .src }}src="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .frameborder }}frameborder="{{ . }}"{{ end }}
{{ with .resizable }} resizable {{ end }}
{{ with .sandbox }}sandbox="{{ range (split . " ") }}{{ . }} {{ end }}"{{ end }}>
{{ with .overflow }}<div overflow tabindex=0 role=button aria-label="Read more">{{ . }}</div>{{ end }}
</amp-iframe>

View File

@@ -0,0 +1 @@
<amp-image-lightbox id="{{ with .id }}{{ . }}{{ else }}lightbox-example-please-set-id{{ end }}" layout="nodisplay"></amp-image-lightbox>

View File

@@ -0,0 +1,12 @@
<amp-img
{{ with .src }}src="{{ . }}"{{ end }}
{{ with .alt }}alt="{{ range (split . " ") }}{{ . }} {{ end }}"{{ end }}
{{ with .attribution }}attribution="{{ range (split . " ") }}{{ . }} {{ end }}"{{ end }}
{{ with .srcset }}srcset="{{ range (split . " ") }}{{ . }} {{ end }}"{{ end }}
{{ with .tabindex }}tabindex="{{ . }}"{{ end }}
{{ with .onTap }}on="tap:{{- . -}}"{{ end }}
{{ with .role }}role="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}>
</amp-img>

View File

@@ -0,0 +1,6 @@
<amp-instagram
{{ with .shortcode }}data-shortcode="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}>
</amp-instagram>

View File

@@ -0,0 +1,8 @@
<amp-jwplayer
{{ with .player }}data-player-id="{{ . }}"{{ end }}
{{ with .media }}data-media-id="{{ . }}"{{ end }}
{{ with .playlist }}data-playlist-id="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}>
</amp-jwplayer>

View File

@@ -0,0 +1,9 @@
<amp-kaltura-player
{{ with .uiconf }}data-uiconf="{{ . }}"{{ end }}
{{ with .partner }}data-partner="{{ . }}"{{ end }}
{{ with .entry }}data-entryid="{{ . }}"{{ end }}
{{ with .streamerType }}data-param-streamerType="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}>
</amp-kaltura-player>

View File

@@ -0,0 +1,9 @@
<amp-o2-player {{ with .pid }}data-pid="{{ . }}"{{ end }}
{{ with .bcid }}data-bcid="{{ . }}"{{ end }}
{{ with .vid }}data-vid="{{ . }}"{{ end }}
{{ with .bid }}data-bid="{{ . }}"{{ end }}
{{ with .macros }}data-macros="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}>
</amp-o2-player>

View File

@@ -0,0 +1,10 @@
<amp-pinterest {{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .profile }}data-href="{{ . }}"{{ end }}
{{ with .label }}data-label="{{ . }}"{{ end }}
{{ with .count }}data-count="{{ . }}"{{ end }}
{{ with .tall }}data-tall="{{ . }}"{{ end }}
{{ with .tall }}data-height="tall"{{ end }}
{{ with .round }}data-round="{{ . }}"{{ end }}
data-do="buttonFollow">
</amp-pinterest>

View File

@@ -0,0 +1,11 @@
<amp-pinterest {{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .url }}data-url="{{ . }}"{{ end }}
{{ with .media }}data-media="{{ . }}"{{ end }}
{{ with .description }}data-description="{{ . }}"{{ end }}
{{ with .count }}data-count="{{ . }}"{{ end }}
{{ with .tall }}data-tall="{{ . }}"{{ end }}
{{ with .tall }}data-height="tall"{{ end }}
{{ with .round }}data-round="{{ . }}"{{ end }}
data-do="buttonPin">
</amp-pinterest>

View File

@@ -0,0 +1,6 @@
<amp-pinterest {{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .url }}data-url="{{ . }}"{{ end }}
data-do="embedPin">
</amp-pinterest>

View File

@@ -0,0 +1 @@
{{ if isset . "src" }}<amp-pixel src="{{ .src }}"></amp-pixel>{{ end }}

View File

@@ -0,0 +1,10 @@
<amp-reddit
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
data-embedtype="comment"
{{ with .src }}data-src="{{ . }}"{{ end }}
{{ with .uuid }}data-uuid="{{ . }}"{{ end }}
{{ with .created }}data-embedcreated="{{ . }}"{{ end }}
{{ with .parent }}data-embedparent="{{ . }}"{{ end }}
{{ with .live }}data-embedlive="{{ . }}"{{ end }}></amp-reddit>

View File

@@ -0,0 +1,6 @@
<amp-reddit
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
data-embedtype="post"
{{ with .src }}data-src="{{ . }}"{{ end }}></amp-reddit>

View File

@@ -0,0 +1,32 @@
<div class="social">
{{ with .twitter }}
<amp-social-share type="twitter"
width="60"
height="44"> </amp-social-share>
{{ end }}
{{ with .gplus }}
<amp-social-share type="gplus"
width="60"
height="44"></amp-social-share>
{{ end }}
{{ with .email }}
<amp-social-share type="email"
width="60"
height="44"></amp-social-share>
{{ end }}
{{ with .pinterest }}
<amp-social-share type="pinterest"
width="60"
height="44"></amp-social-share>
{{ end }}
{{ with .linkedin }}
<amp-social-share type="linkedin"
width="60"
height="44"></amp-social-share>
{{ end }}
{{ with .facebook }}
<amp-social-share type="facebook"
width="60"
height="44"></amp-social-share>
{{ end }}
</div>

View File

@@ -0,0 +1,7 @@
<amp-soundcloud {{ with .height }}height="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
layout="fixed-height"
{{ with .track }}data-trackid="{{ . }}"{{ end }}
{{ with .secret }}data-secret-token="{{ . }}"{{ end }}
{{ with .visual }}data-visual="{{ . }}"{{ end }}
{{ with .color }}data-color="{{ . }}"{{ end }}></amp-soundcloud>

View File

@@ -0,0 +1,11 @@
<amp-springboard-player
{{ with .site }}data-site-id="{{ . }}"{{ end }}
{{ with .mode }}data-mode="{{ . }}"{{ end }}
{{ with .content }}data-content-id="{{ . }}"{{ end }}
{{ with .player }}data-player-id="{{ . }}"{{ end }}
{{ with .domain }}data-domain="{{ . }}"{{ end }}
{{ with .items }}data-items="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}>
</amp-springboard-player>

View File

@@ -0,0 +1,9 @@
<amp-twitter {{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .tweet }}data-tweetid="{{ . }}"{{ end }}
{{ with .cards }}data-cards="{{ . }}"{{ end }}>
<blockquote placeholder class="twitter-tweet" data-lang="en">
<p lang="en" dir="ltr">Twitter placeholder. Tweet is loading very soon...</p>&mdash; Optimistic Developer (@optdev) <a href="https://gohugohq.com">November 12, 2016</a>
</blockquote>
</amp-twitter>

View File

@@ -0,0 +1,5 @@
<amp-user-notification layout=nodisplay
id="{{ with .id }}{{ . }}{{ else }}amp-user-notification-id-please-set-id{{ end }}">
{{ with .message }}{{ . }}{{ end }}
<button on="tap:{{ with .id }}{{ . }}{{ else }}amp-user-notification-id-please-set-id{{ end }}.dismiss">{{ with .dismiss }}{{ . }}{{ end }}</button>
</amp-user-notification>

View File

@@ -0,0 +1,17 @@
<amp-video
{{ if isset . "src" }}src="{{ .src }}"{{ end }}
{{ if isset . "poster" }}poster="{{ .poster }}"{{ end }}
{{ if isset . "width" }}width="{{ .width }}"{{ end }}
{{ if isset . "height" }}height="{{ .height }}"{{ end }}
{{ if isset . "layout" }}layout="{{ .layout }}"{{ end }}
{{ if isset . "controls" }} controls {{ end }}
{{ if isset . "autoplay" }} autoplay {{ end }}
{{ if isset . "muted" }} muted {{ end }}
{{ if isset . "loop" }} loop {{ end }}>
<div fallback>
<p>Your browser doesn't support HTML5 video.</p>
</div>
{{ if isset . "source" }}
{{ .source | safeHTML }}
{{ end }}
</amp-video>

View File

@@ -0,0 +1,5 @@
<amp-vimeo
{{ with .video }}data-videoid="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}></amp-vimeo>

View File

@@ -0,0 +1,5 @@
<amp-vimeo
{{ with .vine }}data-vineid="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}></amp-vimeo>

View File

@@ -0,0 +1,21 @@
<amp-youtube
{{ with .video }}data-videoid="{{ . }}"{{ end }}
{{ with .autoplay }}autoplay{{ end }}
{{ with .controls }}data-param-controls="1"{{ end }}
{{ with .color }}data-param-color="{{ . }}"{{ end }}
{{ with .disablekb }}data-param-disablekb="{{ . }}"{{ end }}
{{ with .end }}data-param-end="{{ . }}"{{ end }}
{{ with .fs }}data-param-fs="{{ . }}"{{ end }}
{{ with .hl }}data-param-hl="{{ . }}"{{ end }}
{{ with .list }}data-param-list="{{ . }}"{{ end }}
{{ with .listType }}data-param-listType="{{ . }}"{{ end }}
{{ with .loop }}data-param-loop="{{ . }}"{{ end }}
{{ with .modestbranding }}data-param-modestbranding="{{ . }}"{{ end }}
{{ with .playlist }}data-param-playlist="{{ . }}"{{ end }}
{{ with .playsinline }}data-param-playsinline="{{ . }}"{{ end }}
{{ with .rel }}data-param-rel="{{ . }}"{{ end }}
{{ with .showinfo }}data-param-showinfo="{{ . }}"{{ end }}
{{ with .start }}data-param-start="{{ . }}"{{ end }}
{{ with .layout }}layout="{{ . }}"{{ end }}
{{ with .width }}width="{{ . }}"{{ end }}
{{ with .height }}height="{{ . }}"{{ end }}></amp-youtube>

View File

@@ -0,0 +1,19 @@
{{ $siteUrl := replace .Permalink ( printf "%s" .Site.BaseURL) "" }}
{{ $.Scratch.Add "sitePath" .Site.BaseURL }}
{{ $.Scratch.Add "siteBreadcrumbs" (slice (dict "url" .Site.BaseURL "name" "home" "position" 1 )) }}
{{ range $index, $element := split $siteUrl "/" }}
{{ $.Scratch.Add "sitePath" $element }}
{{ $.Scratch.Add "sitePath" "/" }}
{{ if ne $element "" }}
{{ $.Scratch.Add "siteBreadcrumbs" (slice (dict "url" ($.Scratch.Get "sitePath") "name" . "position" (add $index 2))) }}
{{ end }}
{{ end }}
<nav class="breadcrumbs">
<ul>
{{ range $.Scratch.Get "siteBreadcrumbs" }}
<li><a href="{{ .url }}">{{ .name }}</a></li>
{{ end }}
</ul>
</nav>

View File

@@ -0,0 +1,20 @@
{{ $pag := $.Paginator }}
{{ if gt $pag.TotalPages 1 }}
<nav class="pagination">
<ul>
{{ if $pag.HasPrev }}
<li><a href="{{ if $pag.HasPrev }}{{ $pag.Prev.URL }}{{ end }}" aria-label="Previous">prev</a></li>
{{ end }}
{{ range $pag.Pagers }}
<li {{ if eq . $pag }}class="active"{{ end }}><a href="{{ .URL }}">{{ .PageNumber }}</a></li>
{{ end }}
{{ if $pag.HasNext }}
<li><a href="{{ if $pag.HasNext }}{{ $pag.Next.URL }}{{ end }}" aria-label="Next">next</a></li>
{{ end }}
</ul>
</nav>
{{ end }}

View File

@@ -0,0 +1,8 @@
{{ if ne .Params.amp.enable false }}
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
<style amp-custom>
{{ partial "stylesheet" | safeCSS }}
</style>
{{ else }}
{{ partial "stylesheet.regular" . }}
{{ end }}

View File

@@ -0,0 +1,3 @@
{{ partial "seo/opengraph" . }}
{{ partial "seo/schema" . }}
{{ partial "seo/above-the-fold" . }}

View File

@@ -0,0 +1 @@
<!-- TODO: opengraph !-->

View File

@@ -0,0 +1,7 @@
{{ partial "seo/structured/website" . }}
{{ partial "seo/structured/organization" . }}
{{ partial "seo/structured/breadcrumb" . }}
{{ if eq .Params.structured.type "Article" }}{{ partial "seo/structured/article" . }}{{ end }}
{{ if eq .Params.structured.type "Course" }}{{ partial "seo/structured/course" . }}{{ end }}
{{ if eq .Params.structured.type "Recipe" }}{{ partial "seo/structured/recipe" . }}{{ end }}

View File

@@ -0,0 +1,37 @@
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Article",
"author": {
"name" : "{{ .Params.author.name }}"
},
"headline": "{{ .Title }}",
"description": "{{ .Params.description }}",
"wordCount": {{ .WordCount }},
"datePublished" : "{{ .PublishDate.Format "2006-01-02T15:04:05" }}",
"dateModified" : "{{ .Date.Format "2006-01-02T15:04:05" }}",
"image" : {
"@context": "http://schema.org",
"@type": "ImageObject",
"author": "{{ .Params.image.author }}",
"url": "{{ .Params.image.src }}",
"datePublished": "{{ .PublishDate.Format "2006-01-02T15:04:05" }}",
"name": "{{ .Params.image.title }}",
"height" : {{ .Params.image.height }},
"width" : {{ .Params.image.width }},
"license" : "{{ .Params.image.license_link }}",
"isBasedOn" : "{{ .Params.image.link }}"
},
"mainEntityOfPage" : "{{ .Permalink }}",
"publisher" : {
"@type": "Organization",
"name" : "{{ $.Site.Params.publisherName }}",
"logo" : {
"@type" : "ImageObject",
"url" : "{{ $.Site.Params.publisherLogo }}",
"height" : {{ $.Site.Params.publisherLogoHeight }},
"width" : {{ $.Site.Params.publisherLogoWidth }}
}
}
}
</script>

View File

@@ -0,0 +1,26 @@
{{ $url := replace .Permalink ( printf "%s" .Site.BaseURL) "" }}
{{ $.Scratch.Add "path" .Site.BaseURL }}
{{ $.Scratch.Add "breadcrumb" (slice (dict "url" .Site.BaseURL "name" "home" "position" 1 )) }}
{{ range $index, $element := split $url "/" }}
{{ $.Scratch.Add "path" $element }}
{{ $.Scratch.Add "path" "/" }}
{{ if ne $element "" }}
{{ $.Scratch.Add "breadcrumb" (slice (dict "url" ($.Scratch.Get "path") "name" . "position" (add $index 2))) }}
{{ end }}
{{ end }}
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{{ range $.Scratch.Get "breadcrumb" }}{{ if ne .position 1 }},{{ end }}{
"@type": "ListItem",
"position": {{ .position }},
"item": {
"@id": "{{ .url }}",
"name": "{{ .name }}"
}
}{{ end }}]
}
</script>

View File

@@ -0,0 +1,13 @@
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Course",
"name" : "{{ .Title }}",
"description": "{{ .Params.description }}",
"provider" : {
"@type": "Organization",
"name" : "{{ .Params.provider.name }}",
"sameAs" : "{{ .Params.provider.url }}"
}
}
</script>

View File

@@ -0,0 +1,12 @@
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Organization",
"name": "{{ .Site.Params.organizationName }}",
"url": "{{ .Site.BaseURL }}"
{{ with .Site.Params.socialProfiles }}, "sameAs": {{ . }}{{ end }}
{{ with .Site.Params.organizationLogo }}, "logo": "{{ . }}"{{ end }}
{{ with .Site.Params.organizationAddress }}, "address": "{{ . }}"{{ end }}
{{ with .Site.Data.organization.contacts.contactPoint }}, "contactPoint": {{ . }}{{ end }}
}
</script>

View File

@@ -0,0 +1,54 @@
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Recipe",
"name": "{{ .Title }}",
"description": "{{ .Params.description }}",
"recipeCategory": "{{ .Params.recipe.category }}",
"author": {
"name" : "{{ .Params.author.name }}"
},
"description": "{{ .Params.description }}",
"datePublished" : "{{ .PublishDate.Format "2006-01-02T15:04:05" }}",
"dateModified" : "{{ .Date.Format "2006-01-02T15:04:05" }}",
"prepTime": "{{ .Params.recipe.prepTime }}",
"totalTime": "{{ .Params.recipe.totalTime }}",
"recipeYield": "{{ .Params.recipe.recipeYield }}",
"recipeIngredient": {{ .Params.recipe.ingredients }},
"recipeInstructions": {{ .Params.recipe.instructions }},
"aggregateRating" : {
"@context": "http://schema.org",
"@type": "AggregateRating",
"ratingValue": "{{ .Params.rating.value }}",
"reviewCount": "{{ .Params.rating.reviewCount }}",
"bestRating": "{{ .Params.rating.best }}",
"worstRating": "{{ .Params.rating.worst }}"
},
"image" : {
"@context": "http://schema.org",
"@type": "ImageObject",
"author": "{{ .Params.image.author }}",
"url": "{{ .Params.image.src }}",
"datePublished": "{{ .PublishDate.Format "2006-01-02T15:04:05" }}",
"name": "{{ .Params.image.title }}",
"height" : {{ .Params.image.height }},
"width" : {{ .Params.image.width }},
"license" : "{{ .Params.image.license_link }}",
"isBasedOn" : "{{ .Params.image.link }}"
},
"nutrition": {
"@type": "NutritionInformation",
"servingSize": "{{ .Params.nutrition.servingSize }}",
"calories": "{{ .Params.nutrition.calories }}",
"fatContent": "{{ .Params.nutrition.fatContent }}",
"carbohydrateContent": "{{ .Params.nutrition.carbohydrateContent }}",
"cholesterolContent": "{{ .Params.nutrition.cholesterolContent }}",
"fiberContent": "{{ .Params.nutrition.fiberContent }}",
"proteinContent": "{{ .Params.nutrition.proteinContent }}",
"saturatedFatContent": "{{ .Params.nutrition.saturatedFatContent }}",
"sodiumContent": "{{ .Params.nutrition.sodiumContent }}",
"sugarContent": "{{ .Params.nutrition.sugarContent }}",
"transFatContent": "{{ .Params.nutrition.transFatContent }}"
}
}
</script>

View File

@@ -0,0 +1,9 @@
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"name": "{{ .Site.Title }}",
{{ with .Site.Params.alternatePageName }}"alternateName": "{{ . }}",{{ end }}
"url": "{{ .Site.BaseURL }}"
}
</script>

View File

@@ -0,0 +1,7 @@
{{ if ne .Params.amp.enable false }}
{{ partial "amp/google-analytics" . }}
</body>
</html>
{{ else }}
{{ partial "structure/foot.no-amp" . }}
{{ end }}

View File

@@ -0,0 +1,37 @@
{{ with $.Site.Params.stylesheetRegular }}
<script>
(function() {
var styles = [{{ range . }}"{{- . -}}",{{ end }}];
window.setTimeout(function() {
styles.forEach(function(style) {
var styleNode = document.createElement('link');
styleNode.setAttribute('href', style);
styleNode.setAttribute('media', 'screen');
styleNode.setAttribute('rel', 'stylesheet');
styleNode.setAttribute('async', 'true');
styleNode.setAttribute('type', 'text/css');
document.head.appendChild(styleNode);
});
});
})();
</script>
{{ end }}
{{ with $.Site.Params.javascriptRegular }}
<script>
(function() {
var scripts = [{{ range . }}"{{- . -}}",{{ end }}];
window.setTimeout(function() {
scripts.forEach(function(script) {
var scriptNode = document.createElement('script');
scriptNode.setAttribute('src', script);
scriptNode.setAttribute('async', 'true');
document.body.appendChild(scriptNode);
});
});
})();
</script>
{{ end }}
</body>
</html>

View File

@@ -0,0 +1,38 @@
{{ if ne .Params.amp.enable false }}
<!DOCTYPE html>
<!--[if lt IE 8 ]><html {{ if isset $.Site.Params "amp" }}amp{{ end }} lang="en" class="no-js oldie"><![endif]-->
<!--[if IE 8 ]><html {{ if isset $.Site.Params "amp" }}amp{{ end }} lang="en" class="no-js ie8"><![endif]-->
<!--[if IE 9 ]><html {{ if isset $.Site.Params "amp" }}amp{{ end }} lang="en" class="no-js ie9"><![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--><html {{ if isset $.Site.Params "amp" }}amp{{ end }} lang="{{ with $.Site.LanguageCode }}{{ . }}{{ else }}en{{ end }}" class="no-js"><!--<![endif]-->
<head>
<title>{{ .Title }}</title>
<meta charset="utf-8">
{{ partial "amp/header" . }}
<link rel="canonical" href="{{ .Permalink }}">
<link rel="icon" href="/favicon.png" type="image/png" sizes="144x144">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
{{ if .RSSLink }}
<link href="{{ .RSSLink }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" />
<link href="{{ .RSSLink }}" rel="feed" type="application/rss+xml" title="{{ .Site.Title }}" />
{{ end }}
<meta name="theme-color" content="{{ $.Site.Params.themeColor }}" />
{{ partial "seo/main" . }}
</head>
<body>
{{ if isset $.Site.Params "ampmanifest" }}
{{ with $.Site.Data.app.banner }}{{ partial "amp/app-banner" . }}{{ end }}
{{ end }}
{{ else }}
{{ partial "structure/head.no-amp" . }}
{{ end }}

View File

@@ -0,0 +1,27 @@
<!DOCTYPE html>
<!--[if lt IE 8 ]><html lang="en" class="no-js oldie"><![endif]-->
<!--[if IE 8 ]><html lang="en" class="no-js ie8"><![endif]-->
<!--[if IE 9 ]><html lang="en" class="no-js ie9"><![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--><html lang="en" class="no-js"><!--<![endif]-->
<head>
<title>{{ .Title }}</title>
<meta charset="utf-8">
<link rel="canonical" href="{{ .Permalink }}">
<link rel="icon" href="/favicon.png" type="image/png" sizes="144x144">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
{{ if .RSSLink }}
<link href="{{ .RSSLink }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" />
<link href="{{ .RSSLink }}" rel="feed" type="application/rss+xml" title="{{ .Site.Title }}" />
{{ end }}
<meta name="theme-color" content="{{ $.Site.Params.themeColor }}" />
{{ partial "seo/main" . }}
</head>
<body>

View File

@@ -0,0 +1,12 @@
/**
* stylesheet.html
* ---------------
* This is the stylesheet that gets injected as a fallback if no layouts/partials/stylesheet.html file is available
* in your project file.
*
* For further details, please have a look at:
* https://gohugo-amp.gohugohq.com/install/
*
**/
body { background-color: #ffffff; }

View File

@@ -0,0 +1 @@
<!-- inject your link rel stylesheet here !-->

View File

@@ -0,0 +1 @@
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam cum ducimus eum ex explicabo iste itaque, laudantium nihil possimus, praesentium provident quidem, saepe tenetur! Autem distinctio non omnis ut voluptate?

View File

@@ -0,0 +1 @@
{{ partial "amp/adsense" . }}

View File

@@ -0,0 +1 @@
{{ partial "amp/anim" .Params }}

View File

@@ -0,0 +1 @@
{{ partial "amp/audio" .Params }}

View File

@@ -0,0 +1 @@
{{ partial "amp/brid-player" .Params }}

View File

@@ -0,0 +1 @@
{{ partial "amp/brightcove" .Params }}

View File

@@ -0,0 +1 @@
{{ partial "amp/button" .Params }}

View File

@@ -0,0 +1 @@
{{ partial "amp/dailymotion" .Params }}

View File

@@ -0,0 +1 @@
{{ partial "amp/facebook-video" .Params }}

View File

@@ -0,0 +1 @@
{{ partial "amp/facebook" .Params }}

View File

@@ -0,0 +1,7 @@
<amp-fit-text {{ with .Params.width }}width="{{ . }}"{{ end }}
{{ with .Params.height }}height="{{ . }}"{{ end }}
{{ with .Params.layout }}layout="{{ . }}"{{ end }}
{{ with .Params.min }}min-font-size="{{ . }}"{{ end }}
{{ with .Params.max }}max-font-size="{{ . }}"{{ end }}>
{{ .Inner }}
</amp-fit-text>

Some files were not shown because too many files have changed in this diff Show More