Adding theme using git clone
8
blog/themes/hugo-theme-chunky-poster/.babelrc
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"presets": [
|
||||||
|
"@babel/preset-env",
|
||||||
|
],
|
||||||
|
"plugins": [
|
||||||
|
"@babel/plugin-transform-runtime",
|
||||||
|
],
|
||||||
|
}
|
||||||
2
blog/themes/hugo-theme-chunky-poster/.browserslistrc
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
> 1%
|
||||||
|
last 2 versions
|
||||||
52
blog/themes/hugo-theme-chunky-poster/.circleci/config.yml
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
orbs:
|
||||||
|
hugo: circleci/hugo@0
|
||||||
|
node: circleci/node@1.1
|
||||||
|
version: 2.1
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
executor:
|
||||||
|
name: node/default
|
||||||
|
tag: '13.6.0'
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- node/with-cache:
|
||||||
|
steps:
|
||||||
|
- run: yarn
|
||||||
|
- run: yarn build
|
||||||
|
build:
|
||||||
|
docker:
|
||||||
|
- image: cibuilds/hugo:latest
|
||||||
|
working_directory: ~/hugo-theme-chunky-poster
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- hugo/hugo-build:
|
||||||
|
source: exampleSite
|
||||||
|
extra-flags: '--themesDir ../.. -t "hugo-theme-chunky-poster" --baseURL "https://hugo-theme-chunky-poster.netlify.com"'
|
||||||
|
- persist_to_workspace:
|
||||||
|
root: .
|
||||||
|
paths:
|
||||||
|
- exampleSite/public
|
||||||
|
- netlify.toml
|
||||||
|
deploy:
|
||||||
|
executor:
|
||||||
|
name: node/default
|
||||||
|
tag: '13.1.0'
|
||||||
|
working_directory: ~/site
|
||||||
|
steps:
|
||||||
|
- attach_workspace:
|
||||||
|
at: ~/site
|
||||||
|
- run: npm i netlify-cli
|
||||||
|
- run: ./node_modules/.bin/netlify deploy --site $NETLIFY_SITE_ID --auth $NETLIFY_AUTH_TOKEN --prod --message "Deploy via Circle CI."
|
||||||
|
|
||||||
|
workflows:
|
||||||
|
main:
|
||||||
|
jobs:
|
||||||
|
- test
|
||||||
|
- build
|
||||||
|
- deploy:
|
||||||
|
filters:
|
||||||
|
branches:
|
||||||
|
only: master
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
15
blog/themes/hugo-theme-chunky-poster/.gitignore
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
node_modules/
|
||||||
|
.npm
|
||||||
|
.yarn-integrity
|
||||||
|
.sass-cache/
|
||||||
|
*.css.map
|
||||||
|
*.sass.map
|
||||||
|
*.scss.map
|
||||||
|
|
||||||
|
# Local Netlify folder
|
||||||
|
.netlify
|
||||||
1
blog/themes/hugo-theme-chunky-poster/.nvmrc
Normal file
@@ -0,0 +1 @@
|
|||||||
|
v13.6.0
|
||||||
20
blog/themes/hugo-theme-chunky-poster/LICENSE
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2019 YOUR_NAME_HERE
|
||||||
|
|
||||||
|
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.
|
||||||
133
blog/themes/hugo-theme-chunky-poster/README.md
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
# Chunky poster
|
||||||
|
|
||||||
|
[](https://circleci.com/gh/puresyntax71/hugo-theme-chunky-poster/tree/master)
|
||||||
|
|
||||||
|
A simple, bootstrap 4 based blog theme. The structure and design is based on the [Prisma blog](https://www.prisma.io/blog/).
|
||||||
|
|
||||||
|
[Demo](https://hugo-theme-chunky-poster.netlify.com) | [Demo 2](https://themes.gohugo.io/theme/hugo-theme-chunky-poster)
|
||||||
|
|
||||||
|
# Screenshot
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
# Features
|
||||||
|
|
||||||
|
* Multi-author
|
||||||
|
* Image processing
|
||||||
|
* Basic i18n
|
||||||
|
* Prism
|
||||||
|
* LazyLoad
|
||||||
|
* Commento
|
||||||
|
* Image gallery
|
||||||
|
|
||||||
|
# Usage
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git clone https://github.com/puresyntax71/hugo-theme-chunky-poster.git
|
||||||
|
```
|
||||||
|
|
||||||
|
Check out the configuration at [`exampleSite/config.toml`](exampleSite/config.toml) for configuring your Hugo site.
|
||||||
|
|
||||||
|
## Authors
|
||||||
|
|
||||||
|
The authors structure is based on this [blog post](https://www.netlify.com/blog/2018/07/24/hugo-tips-how-to-create-author-pages/).
|
||||||
|
|
||||||
|
1. Add the taxonomy ["author"](exampleSite/config.toml#L28).
|
||||||
|
2. `hugo new authors/john-doe/_index.md`
|
||||||
|
3. Configure the author metadata `twitter`.
|
||||||
|
4. Configure the author metadata `images`. First image on the list will be used as the avatar and on the profile page. Images are page resources under the author e.g. `content/authors/john-doe/image.png`.
|
||||||
|
5. Assign the author to a content:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
authors: ["John Doe"]
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
## Content images
|
||||||
|
|
||||||
|
The images structure is based on this [blog post](https://forestry.io/blog/how-to-use-hugo-s-image-processing-with-forestry/).
|
||||||
|
|
||||||
|
Upload the images that will be used on content pages under `content/images` and create the file `content/images/index.md` with the front matter:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
headless: true
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
Set the path to the image in a `post` content under the `images` property:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
images: ["/images/image.png"]
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
The first image on the list will be used as the "cover" image on a post.
|
||||||
|
|
||||||
|
## Prism
|
||||||
|
|
||||||
|
Configure [Prism](https://prismjs.com/) under `[params.prismJS]` and set `enable` to `true`. Change the theme under `theme`.
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[params]
|
||||||
|
[params.prismJS]
|
||||||
|
enable = true
|
||||||
|
theme = "okaidia"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Commento
|
||||||
|
|
||||||
|
Configure [Commento](https://commento.io/) under `[params.commento]`. Set `enable` to `true` and add the URL at `url`:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[params]
|
||||||
|
[params.commento]
|
||||||
|
enable = true
|
||||||
|
url = "https://somename.commento.io"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Share
|
||||||
|
|
||||||
|
Enable sharing under `params` with `share` set to `true` and disable per-post sharing by setting `share` to `false` in the front matter.
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[params]
|
||||||
|
share = true
|
||||||
|
```
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
share: false
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
## Image gallery
|
||||||
|
|
||||||
|
The image gallery feature uses the [`ekko-lightbox`](https://github.com/ashleydw/lightbox/) and `figure` shortcode. This is just a simple implementation of the lightbox gallery feature from the library.
|
||||||
|
|
||||||
|
# Customization
|
||||||
|
|
||||||
|
Fork the project and run `yarn watch` during development.
|
||||||
|
|
||||||
|
> The project has an `.nvmrc` if you wish to use [`nvm`](https://github.com/nvm-sh/nvm).
|
||||||
|
|
||||||
|
The application javascript file is located at `src/js/app.js`.
|
||||||
|
|
||||||
|
For customizing SCSS, the main entrypoint is at `src/scss/style.scss`. Bootstrap variables can be overridden in the `_variables.scss` file. The theme's styles are located at `src/scss/chunky-poster.scss`.
|
||||||
|
|
||||||
|
For production, you can run `yarn build` for the assets to be updated.
|
||||||
|
|
||||||
|
# Credits
|
||||||
|
|
||||||
|
* [Victor Hugo](https://github.com/netlify-templates/victor-hugo)
|
||||||
|
* [hugo-theme-even](https://github.com/olOwOlo/hugo-theme-even)
|
||||||
|
* [Blank](https://github.com/vimux/blank/)
|
||||||
|
* [CleanWhite](https://github.com/zhaohuabing/hugo-theme-cleanwhite)
|
||||||
|
|
||||||
|
Images from [Unsplash](https://unsplash.com/) and [Freepik](https://www.freepik.com/).
|
||||||
|
|
||||||
|
# License
|
||||||
|
|
||||||
|
This theme is released under the [MIT license](LICENSE).
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
name: "{{ replace .Name "-" " " | title }}"
|
||||||
|
images: []
|
||||||
|
twitter: ""
|
||||||
|
---
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
title: "{{ replace .Name "-" " " | title }}"
|
||||||
|
date: {{ .Date }}
|
||||||
|
---
|
||||||
8
blog/themes/hugo-theme-chunky-poster/archetypes/post.md
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
title: "{{ replace .Name "-" " " | title }}"
|
||||||
|
date: {{ .Date }}
|
||||||
|
images: []
|
||||||
|
categories: []
|
||||||
|
tags: []
|
||||||
|
authors: []
|
||||||
|
---
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"css": "main.37ab3f61b95417873748.min.css",
|
||||||
|
"js": "main.d608eadfe5ac0688902e.min.js"
|
||||||
|
}
|
||||||
|
}
|
||||||
27
blog/themes/hugo-theme-chunky-poster/exampleSite/.gitignore
vendored
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
# Compiled Object files, Static and Dynamic libs (Shared Objects)
|
||||||
|
*.o
|
||||||
|
*.a
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Folders
|
||||||
|
_obj
|
||||||
|
_test
|
||||||
|
|
||||||
|
# Architecture specific extensions/prefixes
|
||||||
|
*.[568vq]
|
||||||
|
[568vq].out
|
||||||
|
|
||||||
|
*.cgo1.go
|
||||||
|
*.cgo2.c
|
||||||
|
_cgo_defun.c
|
||||||
|
_cgo_gotypes.go
|
||||||
|
_cgo_export.*
|
||||||
|
|
||||||
|
_testmain.go
|
||||||
|
|
||||||
|
*.exe
|
||||||
|
*.test
|
||||||
|
|
||||||
|
/public
|
||||||
|
/themes
|
||||||
|
.DS_Store
|
||||||
21
blog/themes/hugo-theme-chunky-poster/exampleSite/LICENSE
Executable file
@@ -0,0 +1,21 @@
|
|||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2014 Steve Francia
|
||||||
|
|
||||||
|
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.
|
||||||
22
blog/themes/hugo-theme-chunky-poster/exampleSite/README.md
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
# hugoBasicExample
|
||||||
|
|
||||||
|
This repository offers an example site for [Hugo](https://gohugo.io/) and also it provides the default content for demos hosted on the [Hugo Themes Showcase](https://themes.gohugo.io/).
|
||||||
|
|
||||||
|
# Using
|
||||||
|
|
||||||
|
1. [Install Hugo](https://gohugo.io/overview/installing/)
|
||||||
|
2. Clone this repository
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/gohugoio/hugoBasicExample.git
|
||||||
|
cd hugoBasicExample
|
||||||
|
```
|
||||||
|
3. Clone the repository you want to test. If you want to test all Hugo Themes then follow the instructions provided [here](https://github.com/gohugoio/hugoThemes#installing-all-themes)
|
||||||
|
4. Run Hugo and select the theme of your choosing
|
||||||
|
```bash
|
||||||
|
hugo server -t YOURTHEME
|
||||||
|
```
|
||||||
|
5. Under `/content/` this repository contains the following:
|
||||||
|
- A section called `/post/` with sample markdown content
|
||||||
|
- A headless bundle called `homepage` that you may want to use for single page applications. You can find instructions about headless bundles over [here](https://gohugo.io/content-management/page-bundles/#headless-bundle)
|
||||||
|
- An `about.md` that is intended to provide the `/about/` page for a theme demo
|
||||||
|
6. If you intend to build a theme that does not fit in the content structure provided in this repository, then you are still more than welcome to submit it for review at the [Hugo Themes](https://github.com/gohugoio/hugoThemes/issues) respository
|
||||||
76
blog/themes/hugo-theme-chunky-poster/exampleSite/config.toml
Executable file
@@ -0,0 +1,76 @@
|
|||||||
|
baseURL = "https://example.com"
|
||||||
|
title = "Hugo Themes"
|
||||||
|
copyright = "Copyright © 2008–2019, Steve Francia and the Hugo Authors; all rights reserved."
|
||||||
|
paginate = 2
|
||||||
|
languageCode = "en"
|
||||||
|
DefaultContentLanguage = "en"
|
||||||
|
enableInlineShortcodes = true
|
||||||
|
footnoteReturnLinkContents = "^"
|
||||||
|
googleAnalytics = "UA-XXXX"
|
||||||
|
DisqusShortname = ""
|
||||||
|
theme = "hugo-theme-chunky-poster"
|
||||||
|
|
||||||
|
[menu]
|
||||||
|
[[menu.main]]
|
||||||
|
identifier = "home"
|
||||||
|
name = "Home"
|
||||||
|
url = "/"
|
||||||
|
weight = 10
|
||||||
|
[[menu.main]]
|
||||||
|
identifier = "about"
|
||||||
|
name = "About"
|
||||||
|
url = "/about/"
|
||||||
|
weight = 0
|
||||||
|
|
||||||
|
[taxonomies]
|
||||||
|
category = "categories"
|
||||||
|
tag = "tags"
|
||||||
|
series = "series"
|
||||||
|
author = "authors"
|
||||||
|
|
||||||
|
[params]
|
||||||
|
author = "Hugo Authors"
|
||||||
|
description = "Lorem ipsum dolor sit amet."
|
||||||
|
homepageImage = "/images/homepage-image.jpg"
|
||||||
|
share = true
|
||||||
|
showLanguageSwitcher = false
|
||||||
|
|
||||||
|
# Custom CSS and JS. Relative to /static/css and /static/js respectively.
|
||||||
|
customCSS = []
|
||||||
|
customJS = []
|
||||||
|
|
||||||
|
[params.social]
|
||||||
|
rss = true
|
||||||
|
email = "example@example.com"
|
||||||
|
facebook = "https://facebook.com"
|
||||||
|
twitter = "https://twitter.com"
|
||||||
|
linkedin = "https://linkedin.com"
|
||||||
|
stack-overflow = "https://stackoverflow.com"
|
||||||
|
instagram = "https://stackoverflow.com"
|
||||||
|
github = "https://github.com"
|
||||||
|
weibo = "https://www.weibo.com"
|
||||||
|
medium = "https://medium.com"
|
||||||
|
pinterest = "https://pinterest.com"
|
||||||
|
reddit = "https://reddit.com"
|
||||||
|
gitlab = "https://gitlab.com"
|
||||||
|
mastodon = "https://mastodon.social"
|
||||||
|
keybase = "https://keybase.io/"
|
||||||
|
|
||||||
|
[params.prismJS]
|
||||||
|
enable = true
|
||||||
|
theme = ""
|
||||||
|
|
||||||
|
[params.commento]
|
||||||
|
enable = true
|
||||||
|
url = "https://commento.io"
|
||||||
|
|
||||||
|
[markup]
|
||||||
|
[markup.highlight]
|
||||||
|
codeFences = false
|
||||||
|
|
||||||
|
[services]
|
||||||
|
[services.instagram]
|
||||||
|
disableInlineCSS = true
|
||||||
|
|
||||||
|
[services.twitter]
|
||||||
|
disableInlineCSS = true
|
||||||
28
blog/themes/hugo-theme-chunky-poster/exampleSite/configTaxo.toml
Executable file
@@ -0,0 +1,28 @@
|
|||||||
|
timeout = 30000
|
||||||
|
enableInlineShortcodes = true
|
||||||
|
footnoteReturnLinkContents = "^"
|
||||||
|
|
||||||
|
[taxonomies]
|
||||||
|
category = "categories"
|
||||||
|
tag = "tags"
|
||||||
|
series = "series"
|
||||||
|
|
||||||
|
[privacy]
|
||||||
|
|
||||||
|
[privacy.vimeo]
|
||||||
|
disabled = false
|
||||||
|
simple = true
|
||||||
|
|
||||||
|
[privacy.twitter]
|
||||||
|
disabled = false
|
||||||
|
enableDNT = true
|
||||||
|
simple = true
|
||||||
|
disableInlineCSS = true
|
||||||
|
|
||||||
|
[privacy.instagram]
|
||||||
|
disabled = false
|
||||||
|
simple = true
|
||||||
|
|
||||||
|
[privacy.youtube]
|
||||||
|
disabled = false
|
||||||
|
privacyEnhanced = true
|
||||||
4
blog/themes/hugo-theme-chunky-poster/exampleSite/content/_index.md
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
+++
|
||||||
|
author = "Hugo Authors"
|
||||||
|
+++
|
||||||
|
|
||||||
28
blog/themes/hugo-theme-chunky-poster/exampleSite/content/about.md
Executable file
@@ -0,0 +1,28 @@
|
|||||||
|
+++
|
||||||
|
title = "About"
|
||||||
|
description = "Hugo, the world’s fastest framework for building websites"
|
||||||
|
date = "2019-02-28"
|
||||||
|
aliases = ["about-us","about-hugo","contact"]
|
||||||
|
author = "Hugo Authors"
|
||||||
|
+++
|
||||||
|
|
||||||
|
Written in Go, Hugo is an open source static site generator available under the [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows.
|
||||||
|
|
||||||
|
Hugo makes use of a variety of open source projects including:
|
||||||
|
|
||||||
|
* https://github.com/russross/blackfriday
|
||||||
|
* https://github.com/alecthomas/chroma
|
||||||
|
* https://github.com/muesli/smartcrop
|
||||||
|
* https://github.com/spf13/cobra
|
||||||
|
* https://github.com/spf13/viper
|
||||||
|
|
||||||
|
Hugo is ideal for blogs, corporate websites, creative portfolios, online magazines, single page applications or even a website with thousands of pages.
|
||||||
|
|
||||||
|
Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases.
|
||||||
|
|
||||||
|
Websites built with Hugo are extremelly fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider.
|
||||||
|
|
||||||
|
Learn more and contribute on [GitHub](https://github.com/gohugoio).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
name: Hugo Authors
|
||||||
|
images: ["hugo-authors.png"]
|
||||||
|
twitter: 'hugo_authors'
|
||||||
|
---
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam odio justo, interdum eu ex sit amet, rhoncus interdum magna. Nullam at magna tempor, suscipit ipsum ac, egestas tellus. Maecenas non orci ut velit consectetur feugiat. Proin dignissim ullamcorper eros, at commodo orci eleifend at. Donec luctus diam et interdum finibus. Nullam vel elit hendrerit, aliquet massa eget, vestibulum arcu. Etiam fermentum, sem in interdum scelerisque, massa risus rhoncus turpis, quis efficitur nibh dolor vel dolor. Integer aliquet semper urna, nec malesuada libero mollis dictum. Donec sit amet dui vulputate, porta orci eget, ullamcorper mi. Aliquam erat volutpat. Vivamus sodales lobortis molestie. Donec in elementum tortor. Nullam quis ante risus. Pellentesque ac nisl et tellus suscipit auctor.
|
||||||
|
|
||||||
|
Pellentesque accumsan nisi et feugiat sodales. Fusce maximus vehicula est, ut rutrum sem. Suspendisse placerat odio sit amet malesuada finibus. Integer feugiat leo nec volutpat placerat. Fusce cursus libero eu urna congue, nec condimentum libero tincidunt. Etiam et mi ac diam dignissim pretium. Donec eget fermentum leo. Nunc maximus facilisis risus at venenatis. Aenean tincidunt semper nibh, ut semper ipsum finibus in.
|
||||||
|
|
||||||
|
Mauris posuere sem arcu, vel sollicitudin dui finibus eu. Cras ut ante in orci dignissim luctus auctor ac purus. Quisque quis aliquam justo, id maximus lorem. Suspendisse ac commodo quam. Aliquam ultricies eleifend feugiat. Aenean rhoncus suscipit lectus dapibus rutrum. Etiam at ultricies tellus. Aliquam erat volutpat. Morbi a arcu ullamcorper turpis sodales commodo at sit amet orci. Morbi eros odio, posuere quis tortor sit amet, finibus dapibus urna. Curabitur ac ullamcorper leo. Suspendisse vel faucibus nunc. Ut congue vitae nisl at congue.
|
||||||
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
name: Jane Smith
|
||||||
|
images: ["jane-smith.jpg"]
|
||||||
|
twitter: 'jane_smith'
|
||||||
|
---
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam odio justo, interdum eu ex sit amet, rhoncus interdum magna. Nullam at magna tempor, suscipit ipsum ac, egestas tellus. Maecenas non orci ut velit consectetur feugiat. Proin dignissim ullamcorper eros, at commodo orci eleifend at. Donec luctus diam et interdum finibus. Nullam vel elit hendrerit, aliquet massa eget, vestibulum arcu. Etiam fermentum, sem in interdum scelerisque, massa risus rhoncus turpis, quis efficitur nibh dolor vel dolor. Integer aliquet semper urna, nec malesuada libero mollis dictum. Donec sit amet dui vulputate, porta orci eget, ullamcorper mi. Aliquam erat volutpat. Vivamus sodales lobortis molestie. Donec in elementum tortor. Nullam quis ante risus. Pellentesque ac nisl et tellus suscipit auctor.
|
||||||
|
|
||||||
|
Pellentesque accumsan nisi et feugiat sodales. Fusce maximus vehicula est, ut rutrum sem. Suspendisse placerat odio sit amet malesuada finibus. Integer feugiat leo nec volutpat placerat. Fusce cursus libero eu urna congue, nec condimentum libero tincidunt. Etiam et mi ac diam dignissim pretium. Donec eget fermentum leo. Nunc maximus facilisis risus at venenatis. Aenean tincidunt semper nibh, ut semper ipsum finibus in.
|
||||||
|
|
||||||
|
Mauris posuere sem arcu, vel sollicitudin dui finibus eu. Cras ut ante in orci dignissim luctus auctor ac purus. Quisque quis aliquam justo, id maximus lorem. Suspendisse ac commodo quam. Aliquam ultricies eleifend feugiat. Aenean rhoncus suscipit lectus dapibus rutrum. Etiam at ultricies tellus. Aliquam erat volutpat. Morbi a arcu ullamcorper turpis sodales commodo at sit amet orci. Morbi eros odio, posuere quis tortor sit amet, finibus dapibus urna. Curabitur ac ullamcorper leo. Suspendisse vel faucibus nunc. Ut congue vitae nisl at congue.
|
||||||
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
name: John Doe
|
||||||
|
images: ["john-doe.jpg"]
|
||||||
|
twitter: 'john_doe'
|
||||||
|
---
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam odio justo, interdum eu ex sit amet, rhoncus interdum magna. Nullam at magna tempor, suscipit ipsum ac, egestas tellus. Maecenas non orci ut velit consectetur feugiat. Proin dignissim ullamcorper eros, at commodo orci eleifend at. Donec luctus diam et interdum finibus. Nullam vel elit hendrerit, aliquet massa eget, vestibulum arcu. Etiam fermentum, sem in interdum scelerisque, massa risus rhoncus turpis, quis efficitur nibh dolor vel dolor. Integer aliquet semper urna, nec malesuada libero mollis dictum. Donec sit amet dui vulputate, porta orci eget, ullamcorper mi. Aliquam erat volutpat. Vivamus sodales lobortis molestie. Donec in elementum tortor. Nullam quis ante risus. Pellentesque ac nisl et tellus suscipit auctor.
|
||||||
|
|
||||||
|
Pellentesque accumsan nisi et feugiat sodales. Fusce maximus vehicula est, ut rutrum sem. Suspendisse placerat odio sit amet malesuada finibus. Integer feugiat leo nec volutpat placerat. Fusce cursus libero eu urna congue, nec condimentum libero tincidunt. Etiam et mi ac diam dignissim pretium. Donec eget fermentum leo. Nunc maximus facilisis risus at venenatis. Aenean tincidunt semper nibh, ut semper ipsum finibus in.
|
||||||
|
|
||||||
|
Mauris posuere sem arcu, vel sollicitudin dui finibus eu. Cras ut ante in orci dignissim luctus auctor ac purus. Quisque quis aliquam justo, id maximus lorem. Suspendisse ac commodo quam. Aliquam ultricies eleifend feugiat. Aenean rhoncus suscipit lectus dapibus rutrum. Etiam at ultricies tellus. Aliquam erat volutpat. Morbi a arcu ullamcorper turpis sodales commodo at sit amet orci. Morbi eros odio, posuere quis tortor sit amet, finibus dapibus urna. Curabitur ac ullamcorper leo. Suspendisse vel faucibus nunc. Ut congue vitae nisl at congue.
|
||||||
|
After Width: | Height: | Size: 34 KiB |
@@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
title: 'Our Difference'
|
||||||
|
button: 'About us'
|
||||||
|
weight: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, et essent mediocritatem quo, choro volumus oporteat an mei. ipsum dolor sit amet, et essent mediocritatem quo,
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
headless : true
|
||||||
|
---
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
title: 'We Help Business Grow'
|
||||||
|
button: 'Our Work'
|
||||||
|
weight: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, et essent mediocritatem quo, choro volumus oporteat an mei. Numquam dolores mel eu, mea docendi omittantur et, mea ea duis erat. Elit melius cu ius. Per ex novum tantas putant, ei his nullam aliquam apeirian. Aeterno quaestio constituto sea an, no eum intellegat assueverit.
|
||||||
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 76 KiB |
@@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
headless: true
|
||||||
|
---
|
||||||
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 58 KiB |
6
blog/themes/hugo-theme-chunky-poster/exampleSite/content/post/_index.md
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
aliases = ["posts","articles","blog","showcase","docs"]
|
||||||
|
title = "Posts"
|
||||||
|
author = "Hugo Authors"
|
||||||
|
tags = ["index"]
|
||||||
|
+++
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
+++
|
||||||
|
authors = [
|
||||||
|
"Hugo Authors",
|
||||||
|
"John Doe",
|
||||||
|
]
|
||||||
|
title = "Emoji Support"
|
||||||
|
date = "2019-03-05"
|
||||||
|
description = "Guide to emoji usage in Hugo"
|
||||||
|
tags = [
|
||||||
|
"emoji",
|
||||||
|
]
|
||||||
|
images = [
|
||||||
|
"emoji-support.jpg",
|
||||||
|
]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Emoji can be enabled in a Hugo project in a number of ways.
|
||||||
|
<!--more-->
|
||||||
|
The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes).
|
||||||
|
|
||||||
|
To enable emoji globally, set `enableEmoji` to `true` in your site’s [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g.
|
||||||
|
|
||||||
|
|
||||||
|
<p><span class="nowrap"><span class="emojify">🙈</span> <code>:see_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙉</span> <code>:hear_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙊</span> <code>:speak_no_evil:</code></span></p>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
The [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
**N.B.** The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g.
|
||||||
|
|
||||||
|
{{< highlight html >}}
|
||||||
|
.emoji {
|
||||||
|
font-family: Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;
|
||||||
|
}
|
||||||
|
{{< /highlight >}}
|
||||||
|
|
||||||
|
{{< css.inline >}}
|
||||||
|
<style>
|
||||||
|
.emojify {
|
||||||
|
font-family: Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;
|
||||||
|
font-size: 2rem;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
@media screen and (max-width:650px) {
|
||||||
|
.nowrap {
|
||||||
|
display: block;
|
||||||
|
margin: 25px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
{{< /css.inline >}}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
+++
|
||||||
|
authors = [
|
||||||
|
"Hugo Authors",
|
||||||
|
]
|
||||||
|
title = "Image Gallery"
|
||||||
|
date = "2020-01-02"
|
||||||
|
description = "Showcase the image gallery feature."
|
||||||
|
tags = [
|
||||||
|
"gallery",
|
||||||
|
"lightbox",
|
||||||
|
]
|
||||||
|
images = [
|
||||||
|
"image-gallery.jpg",
|
||||||
|
]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Showcase the image gallery feature using the `Figure` shortcode. Images using the `Figure` shortcode will be rendered through [`ekko-lightbox`](https://ashleydw.github.io/lightbox/).
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
{{< figure src="https://unsplash.it/1200/768.jpg?image=251" >}}
|
||||||
|
{{< figure src="https://unsplash.it/1200/768.jpg?image=252" >}}
|
||||||
|
{{< figure src="https://unsplash.it/1200/768.jpg?image=253" >}}
|
||||||
151
blog/themes/hugo-theme-chunky-poster/exampleSite/content/post/markdown-syntax.md
Executable file
@@ -0,0 +1,151 @@
|
|||||||
|
+++
|
||||||
|
authors = [
|
||||||
|
"Hugo Authors",
|
||||||
|
]
|
||||||
|
title = "Markdown Syntax Guide"
|
||||||
|
date = "2019-03-11"
|
||||||
|
description = "Sample article showcasing basic Markdown syntax and formatting for HTML elements."
|
||||||
|
tags = [
|
||||||
|
"markdown",
|
||||||
|
"css",
|
||||||
|
"html",
|
||||||
|
"themes",
|
||||||
|
]
|
||||||
|
categories = [
|
||||||
|
"themes",
|
||||||
|
"syntax",
|
||||||
|
]
|
||||||
|
series = ["Themes Guide"]
|
||||||
|
aliases = ["migrate-from-jekyl"]
|
||||||
|
images = [
|
||||||
|
"markdown-syntax.jpg",
|
||||||
|
]
|
||||||
|
+++
|
||||||
|
|
||||||
|
This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme.
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
## Headings
|
||||||
|
|
||||||
|
The following HTML `<h1>`—`<h6>` elements represent six levels of section headings. `<h1>` is the highest section level while `<h6>` is the lowest.
|
||||||
|
|
||||||
|
# H1
|
||||||
|
## H2
|
||||||
|
### H3
|
||||||
|
#### H4
|
||||||
|
##### H5
|
||||||
|
###### H6
|
||||||
|
|
||||||
|
## Paragraph
|
||||||
|
|
||||||
|
Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.
|
||||||
|
|
||||||
|
Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.
|
||||||
|
|
||||||
|
## Blockquotes
|
||||||
|
|
||||||
|
The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations.
|
||||||
|
|
||||||
|
#### Blockquote without attribution
|
||||||
|
|
||||||
|
> Tiam, ad mint andaepu dandae nostion secatur sequo quae.
|
||||||
|
> **Note** that you can use *Markdown syntax* within a blockquote.
|
||||||
|
|
||||||
|
#### Blockquote with attribution
|
||||||
|
|
||||||
|
> Don't communicate by sharing memory, share memory by communicating.</p>
|
||||||
|
> — <cite>Rob Pike[^1]</cite>
|
||||||
|
|
||||||
|
|
||||||
|
[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015.
|
||||||
|
|
||||||
|
## Tables
|
||||||
|
|
||||||
|
Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box.
|
||||||
|
|
||||||
|
Name | Age
|
||||||
|
--------|------
|
||||||
|
Bob | 27
|
||||||
|
Alice | 23
|
||||||
|
|
||||||
|
#### Inline Markdown within tables
|
||||||
|
|
||||||
|
| Inline | Markdown | In | Table |
|
||||||
|
| ---------- | --------- | ----------------- | ---------- |
|
||||||
|
| *italics* | **bold** | ~~strikethrough~~ | `code` |
|
||||||
|
|
||||||
|
## Code Blocks
|
||||||
|
|
||||||
|
#### Code block with backticks
|
||||||
|
|
||||||
|
```html
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Example HTML5 Document</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Test</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
```
|
||||||
|
#### Code block indented with four spaces
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Example HTML5 Document</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Test</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
#### Code block with Hugo's internal highlight shortcode
|
||||||
|
{{< highlight html >}}
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Example HTML5 Document</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Test</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
{{< /highlight >}}
|
||||||
|
|
||||||
|
## List Types
|
||||||
|
|
||||||
|
#### Ordered List
|
||||||
|
|
||||||
|
1. First item
|
||||||
|
2. Second item
|
||||||
|
3. Third item
|
||||||
|
|
||||||
|
#### Unordered List
|
||||||
|
|
||||||
|
* List item
|
||||||
|
* Another item
|
||||||
|
* And another item
|
||||||
|
|
||||||
|
#### Nested list
|
||||||
|
|
||||||
|
* Item
|
||||||
|
1. First Sub-item
|
||||||
|
2. Second Sub-item
|
||||||
|
|
||||||
|
## Other Elements — abbr, sub, sup, kbd, mark
|
||||||
|
|
||||||
|
<abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format.
|
||||||
|
|
||||||
|
H<sub>2</sub>O
|
||||||
|
|
||||||
|
X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
|
||||||
|
|
||||||
|
Press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> to end the session.
|
||||||
|
|
||||||
|
Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures.
|
||||||
|
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
---
|
||||||
|
authors:
|
||||||
|
- "Hugo Authors"
|
||||||
|
title: Math Typesetting
|
||||||
|
date: 2019-03-08
|
||||||
|
description: A brief guide to setup KaTeX
|
||||||
|
markup: mmark
|
||||||
|
math: true
|
||||||
|
images:
|
||||||
|
- math-typesetting.jpg
|
||||||
|
---
|
||||||
|
|
||||||
|
Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries.
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
In this example we will be using [KaTeX](https://katex.org/)
|
||||||
|
|
||||||
|
- Create a partial under `/layouts/partials/math.html`
|
||||||
|
- Within this partial reference the [Auto-render Extension](https://katex.org/docs/autorender.html) or host these scripts locally.
|
||||||
|
- Include the partial in your templates like so:
|
||||||
|
|
||||||
|
```
|
||||||
|
{{ if or .Params.math .Site.Params.math }}
|
||||||
|
{{ partial "math.html" . }}
|
||||||
|
{{ end }}
|
||||||
|
```
|
||||||
|
- To enable KaTex globally set the parameter `math` to `true` in a project's configuration
|
||||||
|
- To enable KaTex on a per page basis include the parameter `math: true` in content files.
|
||||||
|
|
||||||
|
**Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html)
|
||||||
|
{{< math.inline >}}
|
||||||
|
{{ if or .Page.Params.math .Site.Params.math }}
|
||||||
|
<!-- KaTeX -->
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.1/dist/katex.min.css" integrity="sha384-dbVIfZGuN1Yq7/1Ocstc1lUEm+AT+/rCkibIcC/OmWo5f0EA48Vf8CytHzGrSwbQ" crossorigin="anonymous">
|
||||||
|
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.1/dist/katex.min.js" integrity="sha384-2BKqo+exmr9su6dir+qCw08N2ZKRucY4PrGQPPWU1A7FtlCGjmEGFqXCv5nyM5Ij" crossorigin="anonymous"></script>
|
||||||
|
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
|
||||||
|
{{ end }}
|
||||||
|
{{</ math.inline >}}
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
Inline math: $$ \varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887… $$
|
||||||
|
|
||||||
|
Block math:
|
||||||
|
|
||||||
|
$$
|
||||||
|
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
|
||||||
|
$$
|
||||||
|
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
+++
|
||||||
|
authors = [
|
||||||
|
"Hugo Authors",
|
||||||
|
]
|
||||||
|
title = "Placeholder Text"
|
||||||
|
date = "2019-03-09"
|
||||||
|
description = "Lorem Ipsum Dolor Si Amet"
|
||||||
|
tags = [
|
||||||
|
"markdown",
|
||||||
|
"text",
|
||||||
|
]
|
||||||
|
images = [
|
||||||
|
"placeholder-text.jpg",
|
||||||
|
]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Lorem est tota propiore conpellat pectoribus de
|
||||||
|
pectora summo. <!--more-->Redit teque digerit hominumque toris verebor lumina non cervice
|
||||||
|
subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc
|
||||||
|
caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis
|
||||||
|
lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum.
|
||||||
|
|
||||||
|
1. Exierant elisi ambit vivere dedere
|
||||||
|
2. Duce pollice
|
||||||
|
3. Eris modo
|
||||||
|
4. Spargitque ferrea quos palude
|
||||||
|
|
||||||
|
Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus
|
||||||
|
silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria
|
||||||
|
tractus malis.
|
||||||
|
|
||||||
|
1. Comas hunc haec pietate fetum procerum dixit
|
||||||
|
2. Post torum vates letum Tiresia
|
||||||
|
3. Flumen querellas
|
||||||
|
4. Arcanaque montibus omnes
|
||||||
|
5. Quidem et
|
||||||
|
|
||||||
|
# Vagus elidunt
|
||||||
|
|
||||||
|
<svg class="canon" xmlns="http://www.w3.org/2000/svg" overflow="visible" viewBox="0 0 496 373" height="373" width="496"><g fill="none"><path stroke="#000" stroke-width=".75" d="M.599 372.348L495.263 1.206M.312.633l494.95 370.853M.312 372.633L247.643.92M248.502.92l246.76 370.566M330.828 123.869V1.134M330.396 1.134L165.104 124.515"></path><path stroke="#ED1C24" stroke-width=".75" d="M275.73 41.616h166.224v249.05H275.73zM54.478 41.616h166.225v249.052H54.478z"></path><path stroke="#000" stroke-width=".75" d="M.479.375h495v372h-495zM247.979.875v372"></path><ellipse cx="498.729" cy="177.625" rx=".75" ry="1.25"></ellipse><ellipse cx="247.229" cy="377.375" rx=".75" ry="1.25"></ellipse></g></svg>
|
||||||
|
|
||||||
|
[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon)
|
||||||
|
|
||||||
|
## Mane refeci capiebant unda mulcebat
|
||||||
|
|
||||||
|
Victa caducifer, malo vulnere contra
|
||||||
|
dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere
|
||||||
|
furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis.
|
||||||
|
|
||||||
|
Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli
|
||||||
|
Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare
|
||||||
|
Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert
|
||||||
|
ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae
|
||||||
|
vulnus haerentia iuste et exercebat, sui et.
|
||||||
|
|
||||||
|
Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, *oculos nomen* non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem
|
||||||
|
Propoetides **parte**.
|
||||||
|
|
||||||
|
{{< css.inline >}}
|
||||||
|
<style>
|
||||||
|
.canon { background: white; width: 100%; height: auto;}
|
||||||
|
</style>
|
||||||
|
{{< /css.inline >}}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
+++
|
||||||
|
authors = [
|
||||||
|
"Hugo Authors",
|
||||||
|
"Jane Smith",
|
||||||
|
]
|
||||||
|
title = "Rich Content"
|
||||||
|
date = "2019-03-10"
|
||||||
|
description = "A brief description of Hugo Shortcodes"
|
||||||
|
tags = [
|
||||||
|
"shortcodes",
|
||||||
|
"privacy",
|
||||||
|
]
|
||||||
|
images = [
|
||||||
|
"rich-content.jpg",
|
||||||
|
]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugo-s-built-in-shortcodes) for rich content, along with a [Privacy Config](https://gohugo.io/about/hugo-and-gdpr/) and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds.
|
||||||
|
<!--more-->
|
||||||
|
---
|
||||||
|
|
||||||
|
## Instagram Simple Shortcode
|
||||||
|
|
||||||
|
{{< instagram_simple BGvuInzyFAe hidecaption >}}
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## YouTube Privacy Enhanced Shortcode
|
||||||
|
|
||||||
|
{{< youtube ZJthWmvUzzc >}}
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Twitter Simple Shortcode
|
||||||
|
|
||||||
|
{{< twitter_simple 1085870671291310081 >}}
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Vimeo Simple Shortcode
|
||||||
|
|
||||||
|
{{< vimeo_simple 48912912 >}}
|
||||||
0
blog/themes/hugo-theme-chunky-poster/exampleSite/layouts/.gitkeep
Executable file
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 43 KiB |
0
blog/themes/hugo-theme-chunky-poster/exampleSite/static/.gitignore
vendored
Executable file
|
After Width: | Height: | Size: 331 KiB |
12
blog/themes/hugo-theme-chunky-poster/i18n/en.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# Single
|
||||||
|
wordCount:
|
||||||
|
one: "{{ .Count }} word"
|
||||||
|
other: "{{ .Count }} words"
|
||||||
|
|
||||||
|
readingTime:
|
||||||
|
one: "{{ .Count }} min read"
|
||||||
|
other: "{{ .Count }} mins read"
|
||||||
|
|
||||||
|
# Author
|
||||||
|
articles:
|
||||||
|
other: "Articles"
|
||||||
12
blog/themes/hugo-theme-chunky-poster/i18n/ja.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# Single
|
||||||
|
wordCount:
|
||||||
|
one: "{{ .Count }} letter"
|
||||||
|
other: "{{ .Count }} letters"
|
||||||
|
|
||||||
|
readingTime:
|
||||||
|
one: "{{ .Count }} min read"
|
||||||
|
other: "{{ .Count }} mins read"
|
||||||
|
|
||||||
|
# Author
|
||||||
|
articles:
|
||||||
|
other: "Articles"
|
||||||
|
After Width: | Height: | Size: 302 KiB |
BIN
blog/themes/hugo-theme-chunky-poster/images/screenshot.png
Normal file
|
After Width: | Height: | Size: 331 KiB |
BIN
blog/themes/hugo-theme-chunky-poster/images/tn.png
Normal file
|
After Width: | Height: | Size: 158 KiB |
@@ -0,0 +1,16 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="{{ .Site.LanguageCode | default "en-us" }}">
|
||||||
|
<head>
|
||||||
|
{{ partial "head.html" . }}
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
{{ partial "header.html" . }}
|
||||||
|
|
||||||
|
{{ block "main" . }}{{ end }}
|
||||||
|
|
||||||
|
{{ partial "footer.html" . }}
|
||||||
|
{{ partial "foot.html" . }}
|
||||||
|
|
||||||
|
{{ template "_internal/google_analytics.html" . }}
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
<div class="card h-100">
|
||||||
|
{{ $page := . }}
|
||||||
|
<a href="{{ $page.RelPermalink }}" class="d-block">
|
||||||
|
{{- with $page.Params.images -}}
|
||||||
|
{{- $images := . -}}
|
||||||
|
{{- with $page.Site.GetPage "section" "images" -}}
|
||||||
|
{{- with .Resources.GetMatch (strings.TrimPrefix "/images/" (index $images 0)) -}}
|
||||||
|
{{- $image := .Resize "700x350" -}}
|
||||||
|
<img data-src="{{ $image.RelPermalink }}" class="card-img-top mx-auto d-block" alt="{{ $page.Title }}">
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
<div class="card-body">
|
||||||
|
<h4 class="card-title">{{ $page.Title }}</h4>
|
||||||
|
<p class="card-text text-muted text-uppercase">{{ $page.Date.Format "January 2, 2006" }}</p>
|
||||||
|
<div class="card-text">
|
||||||
|
{{ $page.Summary | plainify }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
{{ define "main" }}
|
||||||
|
<main class="list container py-6">
|
||||||
|
{{- if or .Title .Content -}}
|
||||||
|
<div class="row py-3">
|
||||||
|
<div class="col">
|
||||||
|
{{ with .Title }}<h3 class="display-4">{{ . }}</h3>{{ end }}
|
||||||
|
|
||||||
|
{{- with .Content -}}
|
||||||
|
<div class="content">
|
||||||
|
{{ . }}
|
||||||
|
</div>
|
||||||
|
{{- end -}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
<div class="row row-cols-1 row-cols-lg-3">
|
||||||
|
{{ range .Pages }}
|
||||||
|
<div class="col mb-3">
|
||||||
|
{{ .Render "card" }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
{{ end }}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{{ define "main" }}
|
||||||
|
<main class="content-page container pt-7 pb-5">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col">
|
||||||
|
<article>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-lg-8">
|
||||||
|
<h2 class="mb-3">{{ .Title }}</h2>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
{{ .Content }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
{{ end }}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
{{ define "main" }}
|
||||||
|
<main class="content-page container pt-7 pb-5">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col">
|
||||||
|
<article>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-lg-8">
|
||||||
|
{{- $term := . -}}
|
||||||
|
{{- if $term.Params.images -}}
|
||||||
|
{{- with .Resources.GetMatch (index $term.Params.images 0) -}}
|
||||||
|
{{- $image := .Resize "300x" -}}
|
||||||
|
<p class="text-center my-5">
|
||||||
|
<img data-src="{{ $image.RelPermalink }}" class="img-thumbnail rounded-circle" alt="{{ $term.Params.name }}">
|
||||||
|
</p>
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- .Scratch.Set "name" .Title -}}
|
||||||
|
{{- if $term.Params.name -}}
|
||||||
|
{{- .Scratch.Set "name" $term.Params.name -}}
|
||||||
|
{{- end -}}
|
||||||
|
<h2 class="mb-3">{{ .Scratch.Get "name" }}</h2>
|
||||||
|
|
||||||
|
{{- with $term.Params.twitter -}}
|
||||||
|
<p class="text-muted">
|
||||||
|
<a href="https://twitter.com/@{{ . | urlize }}">@{{ .}}</a>
|
||||||
|
</p>
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
{{ $term.Content }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="articles">
|
||||||
|
<h3>{{ T "articles" }}</h3>
|
||||||
|
|
||||||
|
{{- with .Data.Pages -}}
|
||||||
|
<ul>
|
||||||
|
{{- range . -}}
|
||||||
|
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
|
||||||
|
{{- end -}}
|
||||||
|
</ul>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
{{ end }}
|
||||||
56
blog/themes/hugo-theme-chunky-poster/layouts/index.html
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
{{ define "main" }}
|
||||||
|
<main class="homepage container py-6">
|
||||||
|
<!-- Hero -->
|
||||||
|
<div class="hero row">
|
||||||
|
<div class="col position-relative py-lg-7{{ if not .Site.Params.homepageImage }} py-7{{ else }} pb-5{{ end }}">
|
||||||
|
{{- with .Site.Params.homepageImage -}}
|
||||||
|
<div class="homepage-image">
|
||||||
|
<img src="{{ . | relURL }}" class="img-fluid">
|
||||||
|
</div>
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
<h1 class="display-4">{{ .Site.Title }}</h1>
|
||||||
|
{{- with .Site.Params.description -}}
|
||||||
|
<h3 class="font-weight-normal">{{ . | safeHTML }}</h3>
|
||||||
|
{{- end -}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Latest article -->
|
||||||
|
{{- range first 1 (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) -}}
|
||||||
|
{{ $page := . }}
|
||||||
|
<div class="latest row py-lg-5">
|
||||||
|
<div class="col-lg-6 mb-3">
|
||||||
|
{{- with $page.Params.images -}}
|
||||||
|
{{- $images := . -}}
|
||||||
|
{{- with $page.Site.GetPage "section" "images" -}}
|
||||||
|
{{- with .Resources.GetMatch (strings.TrimPrefix "/images/" (index $images 0)) -}}
|
||||||
|
{{- $image := .Fill "700x450" -}}
|
||||||
|
<a href="{{ $page.RelPermalink }}" class="d-block">
|
||||||
|
<img data-src="{{ $image.RelPermalink }}" class="img-fluid rounded" alt="{{ $page.Title }}">
|
||||||
|
</a>
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 mb-3">
|
||||||
|
<h5 class="created text-muted text-uppercase font-weight-bold">{{ $page.Date.Format "January 2, 2006" }}</h5>
|
||||||
|
<h2><a href="{{ $page.RelPermalink }}">{{ $page.Title }}</a></h2>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
{{ $page.Summary }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
<!-- Articles -->
|
||||||
|
<div class="articles row row-cols-1 row-cols-lg-3">
|
||||||
|
{{ range after 1 (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) }}
|
||||||
|
<div class="col mb-3">
|
||||||
|
{{ .Render "card" }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
{{ end }}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
{{- if .Params.authors -}}
|
||||||
|
<ul class="authors list-inline">
|
||||||
|
{{- range .Params.authors -}}
|
||||||
|
{{- with $.Site.GetPage (printf "/authors/%s" (. | urlize)) -}}
|
||||||
|
{{- $term := . -}}
|
||||||
|
<li class="list-inline-item mr-3">
|
||||||
|
<div class="media author">
|
||||||
|
{{- if $term.Params.images -}}
|
||||||
|
{{- with .Resources.GetMatch (index $term.Params.images 0) -}}
|
||||||
|
{{- $image := .Resize "64x" -}}
|
||||||
|
{{- $2ximage := .Resize "128x q100" -}}
|
||||||
|
{{- $3ximage := .Resize "192x q100" -}}
|
||||||
|
<a href="{{ $term.RelPermalink }}" class="mr-3">
|
||||||
|
<picture>
|
||||||
|
<source srcset="{{ $image.RelPermalink }} 1x, {{ $2ximage.RelPermalink }} 2x, {{ $3ximage.RelPermalink }} 3x">
|
||||||
|
<img src="{{ $image.RelPermalink }}" class="rounded-circle" alt="{{ $term.Params.name }}">
|
||||||
|
</picture>
|
||||||
|
</a>
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
<div class="media-body">
|
||||||
|
<h5 class="name my-0">
|
||||||
|
{{- .Scratch.Set "name" .Title -}}
|
||||||
|
{{- if $term.Params.name -}}
|
||||||
|
{{- .Scratch.Set "name" $term.Params.name -}}
|
||||||
|
{{- end -}}
|
||||||
|
<a href="{{ $term.RelPermalink }}" class="small">{{ .Scratch.Get "name" }}</a>
|
||||||
|
</h5>
|
||||||
|
{{- with $term.Params.twitter -}}
|
||||||
|
<p class="social small text-muted">
|
||||||
|
<a href="https://twitter.com/@{{ . | urlize }}">@{{ . }}</a>
|
||||||
|
</p>
|
||||||
|
{{- end -}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
</ul>
|
||||||
|
{{- end -}}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{{ with index .Site.Data "chunky-poster" }}
|
||||||
|
{{ range $vendor := .assets }}
|
||||||
|
{{ if $vendor.js }}
|
||||||
|
<script src="{{ print "dist/" $vendor.js | relURL }}"></script>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ if .Site.Params.prismJS.enable }}
|
||||||
|
<script>
|
||||||
|
window.Prism = window.Prism || {};
|
||||||
|
window.Prism.manual = true;
|
||||||
|
</script>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/components/prism-core.min.js"></script>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/plugins/autoloader/prism-autoloader.min.js"></script>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ range .Site.Params.customJS -}}
|
||||||
|
<script src="{{ "js/" | relURL }}{{ . }}"></script>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
<footer class="footer text-center bg-dark py-6">
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col">
|
||||||
|
<ul class="list-inline">
|
||||||
|
{{ if .Site.Params.social.rss -}}
|
||||||
|
<li class="list-inline-item">
|
||||||
|
{{- with .Site.GetPage "" -}}
|
||||||
|
{{- with .OutputFormats.Get "RSS" -}}
|
||||||
|
<a href="{{ .Permalink }}" rel="alternate" type="application/rss+xml" class="icons d-block">
|
||||||
|
<span class="fa-stack fa-lg">
|
||||||
|
<i class="fa fa-circle fa-stack-2x"></i>
|
||||||
|
<i class="fa fa-rss fa-stack-1x fa-inverse"></i>
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
</li>
|
||||||
|
{{- end -}}
|
||||||
|
{{- if .Site.Params.social.email -}}
|
||||||
|
<li class="list-inline-item">
|
||||||
|
<a href="mailto:{{ .Site.Params.social.email }}" class="icons d-block">
|
||||||
|
<span class="fa-stack fa-lg">
|
||||||
|
<i class="fa fa-circle fa-stack-2x"></i>
|
||||||
|
<i class="fa fa-envelope fa-stack-1x fa-inverse"></i>
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{- end -}}
|
||||||
|
{{- range $name, $path := .Site.Params.social -}}
|
||||||
|
{{- if and $path (not (in (slice "rss" "email") $name)) -}}
|
||||||
|
<li class="list-inline-item">
|
||||||
|
<a href="{{ $path | safeURL }}" class="icons d-block">
|
||||||
|
<span class="fa-stack fa-lg">
|
||||||
|
<i class="fa fa-circle fa-stack-2x"></i>
|
||||||
|
<i class="fab fa-{{ $name }} fa-stack-1x fa-inverse"></i>
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{- end -}}
|
||||||
|
{{- end }}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p class="text-muted">
|
||||||
|
{{ if .Site.Copyright }}
|
||||||
|
{{ .Site.Copyright | safeHTML }}
|
||||||
|
{{ else }}
|
||||||
|
Copyright © {{ .Site.Title }} {{ now.Year }}
|
||||||
|
{{ end }}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="text-muted">
|
||||||
|
Powered by <a href="https://gohugo.io" target="_blank">Hugo</a> with <a href="https://github.com/puresyntax71/hugo-theme-chunky-poster" target="_blank">Chunky Poster</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
|
||||||
|
<title>
|
||||||
|
{{ block "title" . }}
|
||||||
|
{{ with .Params.Title }} {{ . }} | {{ end }}
|
||||||
|
{{ .Site.Title }}
|
||||||
|
{{ end }}
|
||||||
|
</title>
|
||||||
|
|
||||||
|
{{- if .Description -}}
|
||||||
|
<meta name="description" content="{{ .Description }}">
|
||||||
|
{{- else if .Site.Params.description -}}
|
||||||
|
<meta name="description" content="{{ .Site.Params.description }}">
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
<meta name="author" content="{{ if .Params.authors }}{{ delimit .Params.authors ", " }}{{ else }}{{ .Site.Params.author }}{{ end }}">
|
||||||
|
|
||||||
|
<link rel="apple-touch-icon" href="{{ "apple-touch-icon.png" | relURL }}" sizes="180x180">
|
||||||
|
<link rel="icon" href="{{ "favicon-32x32.png" | relURL }} " sizes="32x32" type="image/png">
|
||||||
|
<link rel="icon" href="{{ "favicon-16x16.png" | relURL }}" sizes="16x16" type="image/png">
|
||||||
|
<link rel="manifest" href="{{ "manifest.json" | relURL }}">
|
||||||
|
<link rel="mask-icon" href="{{ "safari-pinned-tab.svg" | relURL }}" color="#0c344b">
|
||||||
|
<link rel="icon" href="{{ "favicon.ico" | relURL }}">
|
||||||
|
|
||||||
|
{{ if .Site.Params.prismJS.enable }}
|
||||||
|
{{ if .Site.Params.prismJS.theme }}
|
||||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/themes/prism-{{ .Site.Params.prismJS.theme }}.min.css">
|
||||||
|
{{ else }}
|
||||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/themes/prism.min.css">
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ with index .Site.Data "chunky-poster" }}
|
||||||
|
{{ range $vendor := .assets }}
|
||||||
|
{{ if $vendor.css }}
|
||||||
|
<link rel="stylesheet" href="{{ print "dist/" $vendor.css | relURL }}">
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ range .Site.Params.customCSS -}}
|
||||||
|
<link rel="stylesheet" href="{{ "css/" | relURL }}{{ . }}">
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<link rel="canonical" href="{{ .Permalink }}">
|
||||||
|
{{- with .OutputFormats.Get "RSS" }}
|
||||||
|
<link href="{{ .Permalink }}" rel="alternate" type="application/rss+xml" title="{{ $.Site.Title }}">
|
||||||
|
<link href="{{ .Permalink }}" rel="feed" type="application/rss+xml" title="{{ $.Site.Title }}">
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- template "_internal/opengraph.html" . -}}
|
||||||
|
{{- template "_internal/google_news.html" . -}}
|
||||||
|
{{- template "_internal/schema.html" . -}}
|
||||||
|
{{- template "_internal/twitter_cards.html" . -}}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{{ $current := . }}
|
||||||
|
<nav class="navbar navbar-expand-md navbar-light bg-light fixed-top shadow-sm" id="navbar-main-menu">
|
||||||
|
<div class="container">
|
||||||
|
<a class="navbar-brand font-weight-bold" href="{{ .Site.BaseURL }}">{{ .Site.Title }}</a>
|
||||||
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#main-menu" aria-controls="main-menu" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="main-menu">
|
||||||
|
<ul class="navbar-nav ml-auto">
|
||||||
|
{{- if .Site.Params.showLanguageSwitcher -}}
|
||||||
|
{{ partial "i18nlist.html" . }}
|
||||||
|
{{- end -}}
|
||||||
|
{{ with .Site.Menus.main }}
|
||||||
|
{{ range . }}
|
||||||
|
<li class="nav-item{{ if $current.IsMenuCurrent "main" . }} active{{ end }}"><a class="nav-link" href="{{ .URL | relLangURL }}">{{ .Name }}</a></li>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{{ if .IsTranslated }}
|
||||||
|
{{ range .Translations }}
|
||||||
|
<li class="nav-item"><a class="nav-link" href="{{ .Permalink }}">{{ .Lang }}</a>
|
||||||
|
</li>
|
||||||
|
{{ end}}
|
||||||
|
{{ end }}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{{- $related := .Site.RegularPages.Related . | first 3 -}}
|
||||||
|
{{- with $related -}}
|
||||||
|
<div class="related-content row mt-5 row-cols-1 row-cols-lg-3">
|
||||||
|
{{- range . -}}
|
||||||
|
<div class="col mb-3">
|
||||||
|
{{ .Render "card" }}
|
||||||
|
</div>
|
||||||
|
{{- end -}}
|
||||||
|
</div>
|
||||||
|
{{- end -}}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
{{- if and .Site.Params.share (ne .Params.share false) -}}
|
||||||
|
<ul class="share nav my-3 justify-content-end">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" target="_blank" href="https://twitter.com/intent/tweet?url={{ .Permalink | htmlEscape }}&text={{ .Title | htmlEscape }}">
|
||||||
|
<i class="fa-fw fab fa-twitter"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" target="_blank" href="https://www.linkedin.com/shareArticle?url={{ .Permalink | htmlEscape }}&title={{ .Title | htmlEscape }}">
|
||||||
|
<i class="fa-fw fab fa-linkedin-in"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" target="_blank" href="https://www.facebook.com/sharer.php?u={{ .Permalink | htmlEscape }}&t={{ .Title | htmlEscape }}">
|
||||||
|
<i class="fa-fw fab fa-facebook-f"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" target="_blank" href="https://reddit.com/submit?url={{ .Permalink | htmlEscape }}&title={{ .Title | htmlEscape }}">
|
||||||
|
<i class="fa-fw fab fa-reddit-alien"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</nav>
|
||||||
|
{{- end -}}
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
{{ define "main" }}
|
||||||
|
<main class="content-page container pt-7 pb-5">
|
||||||
|
{{ $page := . }}
|
||||||
|
<div class="row">
|
||||||
|
<div class="col">
|
||||||
|
<article>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-lg-8">
|
||||||
|
<div class="meta text-muted mb-3">
|
||||||
|
<p class="created text-muted text-uppercase font-weight-bold mb-1">{{ $page.Date.Format "January 2, 2006" }}</p>
|
||||||
|
<span class="mr-2"><i class="fas fa-book-open mr-2"></i>{{ T "wordCount" $page.WordCount }}</span>
|
||||||
|
<span><i class="fas fa-clock mr-2"></i>{{ T "readingTime" $page.ReadingTime }}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h1>{{ $page.Title }}</h1>
|
||||||
|
|
||||||
|
{{ partial "authors.html" $page }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{- with $page.Params.images -}}
|
||||||
|
{{- $images := . -}}
|
||||||
|
{{- with $page.Site.GetPage "section" "images" -}}
|
||||||
|
{{- with .Resources.GetMatch (strings.TrimPrefix "/images/" (index $images 0)) -}}
|
||||||
|
{{- $image := .Fit "900x500" -}}
|
||||||
|
<div class="row justify-content-center mb-3">
|
||||||
|
<div class="col-lg-10">
|
||||||
|
<img data-src="{{ $image.RelPermalink }}" class="img-fluid rounded mx-auto d-block" alt="{{ $page.Title }}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-lg-8">
|
||||||
|
<div class="content">
|
||||||
|
{{ $page.Content }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{- with $page.Params.tags -}}
|
||||||
|
<div class="tags my-3">
|
||||||
|
{{- range . -}}
|
||||||
|
<a class="badge badge-pill badge-light border mr-2" href="{{ "/tags/" | relLangURL }}{{ . | urlize }}">
|
||||||
|
<i class="fas fa-tag mr-2"></i>{{ . }}
|
||||||
|
</a>
|
||||||
|
{{- end -}}
|
||||||
|
</div>
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{ partial "sharer.html" . }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-lg-8">
|
||||||
|
{{ template "_internal/disqus.html" . }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{- if .Site.Params.commento.enable -}}
|
||||||
|
<div class="row justify-content-center my-3">
|
||||||
|
<div class="col-lg-8">
|
||||||
|
<div id="commento"></div>
|
||||||
|
<script src="{{ .Site.Params.commento.url }}"></script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{- end -}}
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{ partial "related.html" $page }}
|
||||||
|
</main>
|
||||||
|
{{ end }}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
<figure class="figure{{ with .Get "class" }} {{ . }}{{ end }}">
|
||||||
|
<a href="{{ .Get "src" }}" class="d-block" data-toggle="lightbox" data-gallery="post-gallery">
|
||||||
|
<img src="{{ .Get "src" }}"
|
||||||
|
{{- if or (.Get "alt") (.Get "caption") }}
|
||||||
|
alt="{{ with .Get "alt" }}{{ . }}{{ else }}{{ .Get "caption" | markdownify| plainify }}{{ end }}"
|
||||||
|
{{- end -}}
|
||||||
|
{{- with .Get "width" }} width="{{ . }}"{{ end -}}
|
||||||
|
{{- with .Get "height" }} height="{{ . }}"{{ end -}}
|
||||||
|
class="figure-img img-fluid"
|
||||||
|
/> <!-- Closing img tag -->
|
||||||
|
</a>
|
||||||
|
{{- if or (or (.Get "title") (.Get "caption")) (.Get "attr") -}}
|
||||||
|
<figcaption class="figure-caption text-center">
|
||||||
|
{{ with (.Get "title") -}}
|
||||||
|
{{ . }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- if or (.Get "caption") (.Get "attr") -}}<p>
|
||||||
|
{{- .Get "caption" | markdownify -}}
|
||||||
|
{{- with .Get "attrlink" }}
|
||||||
|
<a href="{{ . }}">
|
||||||
|
{{- end -}}
|
||||||
|
{{- .Get "attr" | markdownify -}}
|
||||||
|
{{- if .Get "attrlink" }}</a>{{ end }}</p>
|
||||||
|
{{- end }}
|
||||||
|
</figcaption>
|
||||||
|
{{- end }}
|
||||||
|
</figure>
|
||||||
2
blog/themes/hugo-theme-chunky-poster/netlify.toml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
[build]
|
||||||
|
publish = "exampleSite/public"
|
||||||
42
blog/themes/hugo-theme-chunky-poster/package.json
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
"name": "chunky-poster",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"main": "webpack.config.js",
|
||||||
|
"license": "MIT",
|
||||||
|
"scripts": {
|
||||||
|
"build": "webpack --config webpack.prod.js",
|
||||||
|
"watch": "webpack --watch --progress --colors --config webpack.dev.js"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/core": "^7.9.0",
|
||||||
|
"@babel/preset-env": "^7.9.5",
|
||||||
|
"@babel/runtime": "^7.9.2",
|
||||||
|
"@fortawesome/fontawesome-free": "^5.13.0",
|
||||||
|
"@fortawesome/fontawesome-svg-core": "^1.2.28",
|
||||||
|
"@fortawesome/free-brands-svg-icons": "^5.13.0",
|
||||||
|
"@fortawesome/free-solid-svg-icons": "^5.13.0",
|
||||||
|
"assets-webpack-plugin": "^3.9.12",
|
||||||
|
"babel-loader": "^8.1.0",
|
||||||
|
"bootstrap": "^4.4.1",
|
||||||
|
"clean-webpack-plugin": "^3.0.0",
|
||||||
|
"css-loader": "^3.5.2",
|
||||||
|
"ekko-lightbox": "^5.3.0",
|
||||||
|
"jquery": "^3.5.0",
|
||||||
|
"mini-css-extract-plugin": "^0.9.0",
|
||||||
|
"node-sass": "^4.13.1",
|
||||||
|
"optimize-css-assets-webpack-plugin": "^5.0.3",
|
||||||
|
"popper.js": "^1.16.1",
|
||||||
|
"postcss-loader": "^3.0.0",
|
||||||
|
"postcss-preset-env": "^6.7.0",
|
||||||
|
"sass-loader": "^8.0.2",
|
||||||
|
"style-loader": "^1.1.3",
|
||||||
|
"uglifyjs-webpack-plugin": "^2.2.0",
|
||||||
|
"vanilla-lazyload": "^15.1.1",
|
||||||
|
"webpack": "^4.42.1",
|
||||||
|
"webpack-cli": "^3.3.10",
|
||||||
|
"webpack-merge": "^4.2.2"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@babel/plugin-transform-runtime": "^7.9.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
8
blog/themes/hugo-theme-chunky-poster/postcss.config.js
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
module.exports = {
|
||||||
|
plugins: {
|
||||||
|
"postcss-preset-env": {
|
||||||
|
browsers: "last 2 versions"
|
||||||
|
},
|
||||||
|
autoprefixer: {}
|
||||||
|
}
|
||||||
|
};
|
||||||
118
blog/themes/hugo-theme-chunky-poster/src/js/App.js
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
import $ from 'jquery';
|
||||||
|
import { library, dom } from '@fortawesome/fontawesome-svg-core';
|
||||||
|
import {
|
||||||
|
faBookOpen,
|
||||||
|
faChevronLeft,
|
||||||
|
faChevronRight,
|
||||||
|
faCircle,
|
||||||
|
faClock,
|
||||||
|
faEnvelope,
|
||||||
|
faRss,
|
||||||
|
faTag,
|
||||||
|
} from '@fortawesome/free-solid-svg-icons';
|
||||||
|
import {
|
||||||
|
faFacebook,
|
||||||
|
faFacebookF,
|
||||||
|
faGithub,
|
||||||
|
faGitlab,
|
||||||
|
faInstagram,
|
||||||
|
faKeybase,
|
||||||
|
faLinkedin,
|
||||||
|
faLinkedinIn,
|
||||||
|
faMastodon,
|
||||||
|
faMedium,
|
||||||
|
faPinterest,
|
||||||
|
faReddit,
|
||||||
|
faRedditAlien,
|
||||||
|
faStackOverflow,
|
||||||
|
faTwitter,
|
||||||
|
faWeibo,
|
||||||
|
} from '@fortawesome/free-brands-svg-icons';
|
||||||
|
|
||||||
|
library.add(
|
||||||
|
faBookOpen,
|
||||||
|
faChevronLeft,
|
||||||
|
faChevronRight,
|
||||||
|
faCircle,
|
||||||
|
faClock,
|
||||||
|
faEnvelope,
|
||||||
|
faFacebook,
|
||||||
|
faFacebookF,
|
||||||
|
faGithub,
|
||||||
|
faGitlab,
|
||||||
|
faInstagram,
|
||||||
|
faKeybase,
|
||||||
|
faLinkedin,
|
||||||
|
faLinkedinIn,
|
||||||
|
faMastodon,
|
||||||
|
faMedium,
|
||||||
|
faPinterest,
|
||||||
|
faReddit,
|
||||||
|
faRedditAlien,
|
||||||
|
faRss,
|
||||||
|
faStackOverflow,
|
||||||
|
faTag,
|
||||||
|
faTwitter,
|
||||||
|
faWeibo,
|
||||||
|
);
|
||||||
|
|
||||||
|
export default {
|
||||||
|
loadFontAwesome: () => {
|
||||||
|
dom.watch();
|
||||||
|
},
|
||||||
|
bootstrapify: () => {
|
||||||
|
$('.content blockquote').addClass('blockquote');
|
||||||
|
$('.content table').addClass('table');
|
||||||
|
$('.content table').wrap('<div class="table-responsive" />');
|
||||||
|
$('.content table thead').addClass('thead-dark');
|
||||||
|
$('.content pre').wrap('<figure class="highlight" />');
|
||||||
|
$('.content figure > img').addClass('img-fluid');
|
||||||
|
},
|
||||||
|
lazyload: async () => {
|
||||||
|
const { default: LazyLoad } = await import(/* webpackChunkName: "lazyload" */ 'vanilla-lazyload');
|
||||||
|
new LazyLoad({
|
||||||
|
thresholds: "40px 10%",
|
||||||
|
load_delay: 100,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
navbarFade: () => {
|
||||||
|
let $position = $(window).scrollTop();
|
||||||
|
|
||||||
|
$(window).scroll(() => {
|
||||||
|
const $scroll = $(window).scrollTop();
|
||||||
|
const $navbarHeight = $('#navbar-main-menu.fixed-top').outerHeight();
|
||||||
|
|
||||||
|
$scroll > $position ? $('#navbar-main-menu.fixed-top').css('top', -$navbarHeight) :
|
||||||
|
$('#navbar-main-menu.fixed-top').css('top', 0);
|
||||||
|
|
||||||
|
if ($scroll <= 0) {
|
||||||
|
$('#navbar-main-menu.fixed-top').css('top', 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
$position = $scroll;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
lightbox: async () => {
|
||||||
|
const { default: ekkoLightbox } = await import(/* webpackChunkName: "ekkoLightbox" */ 'ekko-lightbox');
|
||||||
|
$('[data-toggle="lightbox"]').click(function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
$(this).ekkoLightbox();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
syntaxHighlight: () => {
|
||||||
|
if (!window.Prism) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Prism.highlightAll();
|
||||||
|
|
||||||
|
$('pre:has(> code[class*=language-])').removeAttr('style');
|
||||||
|
|
||||||
|
const element = $('pre:has(> code:not([class*=language-]))');
|
||||||
|
|
||||||
|
element.addClass('language-none');
|
||||||
|
$('> code', element).addClass('language-none');
|
||||||
|
}
|
||||||
|
};
|
||||||
14
blog/themes/hugo-theme-chunky-poster/src/main.js
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import './scss/styles.scss';
|
||||||
|
|
||||||
|
import(/* webpackChunkName: "bootstrap" */ 'bootstrap');
|
||||||
|
|
||||||
|
window.addEventListener('DOMContentLoaded', async (event) => {
|
||||||
|
const { default: App } = await import(/* webpackChunkName: "app" */ './js/App');
|
||||||
|
|
||||||
|
App.loadFontAwesome();
|
||||||
|
App.bootstrapify();
|
||||||
|
App.lazyload();
|
||||||
|
App.navbarFade();
|
||||||
|
App.lightbox();
|
||||||
|
App.syntaxHighlight();
|
||||||
|
});
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
$enable-responsive-font-sizes: true;
|
||||||
|
|
||||||
|
$white: #fff;
|
||||||
|
$gray-100: #e9edf0;
|
||||||
|
$gray-200: #adbcc4;
|
||||||
|
$gray-300: #adbcc4;
|
||||||
|
$gray-400: #8fa6b2;
|
||||||
|
$gray-500: #5d7c8c;
|
||||||
|
$gray-600: #3d6478;
|
||||||
|
$gray-700: #264d61;
|
||||||
|
$gray-800: #0c344b;
|
||||||
|
$gray-900: #082333;
|
||||||
|
|
||||||
|
$text-muted: $gray-400;
|
||||||
|
$body-color: $gray-800;
|
||||||
|
$light: $white;
|
||||||
|
$dark: $gray-900;
|
||||||
|
$headings-color: $gray-900;
|
||||||
|
$headings-font-family: 'Open Sans', sans-serif;
|
||||||
|
$headings-font-weight: 700;
|
||||||
|
|
||||||
|
$font-family-sans-serif: 'Roboto', sans-serif;
|
||||||
|
$font-family-monospace: 'Roboto Mono', monospace;
|
||||||
|
$font-family-serif: 'Roboto Slab', serif;
|
||||||
|
|
||||||
|
$link-color: $gray-800;
|
||||||
|
$link-decoration: underline;
|
||||||
|
|
||||||
|
$font-size-base: 1.125rem;
|
||||||
|
|
||||||
|
$headings-margin-bottom: 1.25rem;
|
||||||
|
$paragraph-margin-bottom: 1.5rem;
|
||||||
|
$spacer: 1.125rem;
|
||||||
|
$spacers: (
|
||||||
|
0: 0,
|
||||||
|
1: ($spacer * .25),
|
||||||
|
2: ($spacer * .5),
|
||||||
|
3: $spacer,
|
||||||
|
4: ($spacer * 1.5),
|
||||||
|
5: ($spacer * 3),
|
||||||
|
6: ($spacer * 5),
|
||||||
|
7: ($spacer * 6),
|
||||||
|
8: ($spacer * 7),
|
||||||
|
9: ($spacer * 8),
|
||||||
|
);
|
||||||
|
|
||||||
|
$border-radius: .45rem;
|
||||||
|
$border-radius-lg: .5rem;
|
||||||
|
$border-radius-sm: .3rem;
|
||||||
|
$blockquote-font-size: $font-size-base;
|
||||||
|
|
||||||
|
$code-color: $body-color;
|
||||||
|
$navbar-brand-font-size: 1rem;
|
||||||
|
$navbar-nav-link-padding-x: 1.25rem;
|
||||||
|
$navbar-padding-y: .4rem;
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
.homepage-image {
|
||||||
|
@include media-breakpoint-up(lg) {
|
||||||
|
position: absolute;
|
||||||
|
width: 400px;
|
||||||
|
right: 100px;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.author .name a, .author .social a {
|
||||||
|
color: $gray-900;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
color: $gray-400;
|
||||||
|
border-left: 6px solid $gray-400;
|
||||||
|
padding-left: $spacer;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
background-color: $gray-100;
|
||||||
|
border-radius: $border-radius-sm;
|
||||||
|
padding: .125rem .2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
code[class*=language-], pre[class*=language-] {
|
||||||
|
font-family: $font-family-monospace;
|
||||||
|
@include font-size($code-font-size);
|
||||||
|
}
|
||||||
|
|
||||||
|
figure.highlight pre:not([class*=language-]) {
|
||||||
|
padding: 1em;
|
||||||
|
margin: .5em 0;
|
||||||
|
overflow: auto;
|
||||||
|
background-color: $gray-100;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre code {
|
||||||
|
padding: 0;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.latest h2 a, .navbar a, .card > a, a.badge {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
figure.highlight {
|
||||||
|
margin-left: -($grid-gutter-width / 2);
|
||||||
|
margin-right: -($grid-gutter-width / 2);
|
||||||
|
|
||||||
|
@include media-breakpoint-up(md) {
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
img[data-src] {
|
||||||
|
opacity: 0;
|
||||||
|
@include transition($transition-fade);
|
||||||
|
|
||||||
|
&.loaded {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#navbar-main-menu {
|
||||||
|
transition: top 0.2s ease;
|
||||||
|
|
||||||
|
.nav-item .nav-link {
|
||||||
|
font-size: $navbar-brand-font-size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.share.nav {
|
||||||
|
.nav-link {
|
||||||
|
padding: $nav-link-padding-y 0.2rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
footer a:not(.icons) {
|
||||||
|
color: $gray-200;
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
@import url('https://fonts.googleapis.com/css?family=Roboto+Mono:400,400i,700,700i|Open+Sans:400,700|Roboto:400,600,700&display=swap');
|
||||||
|
|
||||||
|
@import "_variables";
|
||||||
|
@import "~bootstrap/scss/bootstrap";
|
||||||
|
@import '~ekko-lightbox/dist/ekko-lightbox.css';
|
||||||
|
@import "chunky-poster";
|
||||||
|
After Width: | Height: | Size: 5.3 KiB |