mirror of
https://github.com/adityatelange/hugo-PaperMod.git
synced 2023-12-21 10:22:58 +01:00
v3.0
parent
f44cb29b49
commit
7a3f914f0b
0
ChangeLog.md
Normal file
0
ChangeLog.md
Normal file
276
FAQs.md
Normal file
276
FAQs.md
Normal file
@ -0,0 +1,276 @@
|
|||||||
|
- [Intro](#intro)
|
||||||
|
- [Override theme template](#override-theme-template)
|
||||||
|
- [Enable Social-Metadata and SEO](#enable-social-metadata-and-seo)
|
||||||
|
- [Failed to find a valid digest in the 'integrity' attribute for resource ... ?](#failed-to-find-a-valid-digest-in-the-integrity-attribute-for-resource--)
|
||||||
|
- [Archive Page](#archive-page)
|
||||||
|
- [Bundling Custom css with theme's assets](#bundling-custom-css-with-themes-assets)
|
||||||
|
- [Custom Head / Footer](#custom-head--footer)
|
||||||
|
- [Add menu to site](#add-menu-to-site)
|
||||||
|
- [Pin a Post](#pin-a-post)
|
||||||
|
- [Adding Custom Favicon(s)](#adding-custom-favicons)
|
||||||
|
- [Centering image in markdown](#centering-image-in-markdown)
|
||||||
|
- [References](#references)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Intro
|
||||||
|
|
||||||
|
- **We'll be using `yml/yaml` format for all examples down below, I recommend using `yml` over `toml` as it is easier to read.**
|
||||||
|
|
||||||
|
- You can find any [YML to TOML](https://www.google.com/search?q=yml+to+toml) converters if necessary.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Override theme template
|
||||||
|
|
||||||
|
By Hugo's Lookup Order, you can override any part of a theme that you want. The following is a quick example.
|
||||||
|
|
||||||
|
Let's say you wish the `list` was different. All you have to do is copy the `list` template:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
your-site/themes/papermod/layouts/_defaults/list.html
|
||||||
|
```
|
||||||
|
|
||||||
|
And paste it under your own `layouts` folder:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
your-site/layouts/_defaults/list.html
|
||||||
|
```
|
||||||
|
|
||||||
|
Then you're free to make any changes you want to the `list`.
|
||||||
|
When Hugo builds your site, your copy of `list.html` will be used instead of the theme's `list.html`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Enable Social-Metadata and SEO
|
||||||
|
|
||||||
|
These include OpenGraph, Twitter Cards and Schema.
|
||||||
|
|
||||||
|
```yml
|
||||||
|
params:
|
||||||
|
env: production
|
||||||
|
```
|
||||||
|
|
||||||
|
or set `HUGO_ENV` as "production" in system env-vars
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Failed to find a valid digest in the 'integrity' attribute for resource ... ?
|
||||||
|
|
||||||
|
Read about How Subresource Integrity helps: [Subresource_Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity)
|
||||||
|
|
||||||
|
Why was the `asset` not loading ? : [How_browsers_handle_Subresource_Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity#How_browsers_handle_Subresource_Integrity)
|
||||||
|
|
||||||
|
**Solution:**
|
||||||
|
|
||||||
|
Set the following in `config.yml`
|
||||||
|
|
||||||
|
```yml
|
||||||
|
params:
|
||||||
|
assets:
|
||||||
|
disableFingerprinting: true
|
||||||
|
```
|
||||||
|
|
||||||
|
Linked Issues:
|
||||||
|
|
||||||
|
- https://stackoverflow.com/questions/65056585/hugo-theme-not-loading
|
||||||
|
- https://stackoverflow.com/questions/65040931/hugo-failed-to-find-a-valid-digest-in-the-integrity-attribute-for-resource
|
||||||
|
- https://blog.gerardbeckerleg.com/posts/hugo-failed-to-find-a-valid-digest-in-the-integrity-attribute-for-resource/
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Archive Page
|
||||||
|
|
||||||
|
```shell
|
||||||
|
.
|
||||||
|
├── config.yml
|
||||||
|
├── content/
|
||||||
|
│ ├── archives.md <--- Create archive.md here
|
||||||
|
│ └── posts/
|
||||||
|
├── static/
|
||||||
|
└── themes/
|
||||||
|
└── hugo-PaperMod/
|
||||||
|
```
|
||||||
|
|
||||||
|
and add the following to it
|
||||||
|
|
||||||
|
```yml
|
||||||
|
---
|
||||||
|
title: "Archive"
|
||||||
|
layout: "archives"
|
||||||
|
url: "/archives/"
|
||||||
|
summary: archives
|
||||||
|
---
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Bundling Custom css with theme's assets
|
||||||
|
|
||||||
|
- For adding custom css to be bundled inside one minimized css
|
||||||
|
|
||||||
|
Create folder in yout project directory as
|
||||||
|
|
||||||
|
```
|
||||||
|
.(site root)
|
||||||
|
├── config.yml
|
||||||
|
├── content/
|
||||||
|
├── theme/hugo-PaperMod/
|
||||||
|
└── assets/
|
||||||
|
└── css/
|
||||||
|
└── extended/ <---
|
||||||
|
│ ├── custom_css1.css <---
|
||||||
|
│ └── any_name.css <---
|
||||||
|
```
|
||||||
|
|
||||||
|
All `css` files inside `assets/css/extended` will be bundled !
|
||||||
|
|
||||||
|
**Note**: blank.css is just the placeholder so that it doesn't break the theme when no files are present under `assets/css/extended`
|
||||||
|
|
||||||
|
Linked Issues:
|
||||||
|
|
||||||
|
- [Papermod Theme: How to add custom CSS?](https://discourse.gohugo.io/t/papermod-theme-how-to-add-custom-css/30165)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Custom Head / Footer
|
||||||
|
|
||||||
|
Custom css/js can be added by way mentioned below.
|
||||||
|
|
||||||
|
```
|
||||||
|
.(site root)
|
||||||
|
├── config.yml
|
||||||
|
├── content/
|
||||||
|
├── theme/hugo-PaperMod/
|
||||||
|
└── layouts
|
||||||
|
├── partials
|
||||||
|
│ ├── comments.html
|
||||||
|
│ ├── extend_footer.html <---
|
||||||
|
│ └── extend_head.html <---
|
||||||
|
└── robots.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
Create a html page in directory structure as shown above.
|
||||||
|
|
||||||
|
Contents of `extend_head.html` will be added to `head` of page.
|
||||||
|
|
||||||
|
and contents of `extend_footer.html` will be added to bottom of page.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Add menu to site
|
||||||
|
|
||||||
|
You can add menu entries which will appear in the header of every page.
|
||||||
|
|
||||||
|
To do so, add a `menu` section to your site's `config.yml`:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
menu:
|
||||||
|
main:
|
||||||
|
- identifier: categories
|
||||||
|
name: categories
|
||||||
|
url: /categories/
|
||||||
|
weight: 10
|
||||||
|
- identifier: tags
|
||||||
|
name: tags
|
||||||
|
url: /tags/
|
||||||
|
weight: 20
|
||||||
|
- identifier: example
|
||||||
|
name: example.org
|
||||||
|
url: https://example.org
|
||||||
|
weight: 30
|
||||||
|
```
|
||||||
|
|
||||||
|
`name` controls what will be displayed for the menu entry.
|
||||||
|
`url` sets the URL that the entry points to.
|
||||||
|
`weight` is used to control the positioning of entries.
|
||||||
|
|
||||||
|
For more information on menus, see the [Hugo wiki page](https://gohugo.io/content-management/menus/).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Pin a Post
|
||||||
|
|
||||||
|
Post can be pinned/ displayed top on the list by adding a `weight=<num>` var to page-variables
|
||||||
|
|
||||||
|
example:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
---
|
||||||
|
title: "My Important post"
|
||||||
|
date: 2020-09-15T11:30:03+00:00
|
||||||
|
weight: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
```yml
|
||||||
|
---
|
||||||
|
title: "My 2nd Important post"
|
||||||
|
date: 2020-09-15T11:30:03+00:00
|
||||||
|
weight: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Adding Custom Favicon(s)
|
||||||
|
|
||||||
|
We support the following paths under `/static` directory
|
||||||
|
and can be added accordingly.
|
||||||
|
|
||||||
|
- `favicon.ico`
|
||||||
|
- `favicon-16x16.png`
|
||||||
|
- `favicon-32x32.png`
|
||||||
|
- `apple-touch-icon.png`
|
||||||
|
- `safari-pinned-tab.svg`
|
||||||
|
|
||||||
|
1. Favicon(s) can be generated by [Favicon.io](https://favicon.io)
|
||||||
|
|
||||||
|
and can be simply put in `/static` folder.
|
||||||
|
|
||||||
|
2. Other way is to add favicon(s) NOT located in `/static` folder.
|
||||||
|
|
||||||
|
In site config add the following:
|
||||||
|
|
||||||
|
```
|
||||||
|
params:
|
||||||
|
assets:
|
||||||
|
favicon: "<link / absolute url>"
|
||||||
|
favicon16x16: "<link / absolute url>"
|
||||||
|
favicon32x32: "<link / absolute url>"
|
||||||
|
apple_touch_icon: "<link / absolute url>"
|
||||||
|
safari_pinned_tab: "<link / absolute url>"
|
||||||
|
```
|
||||||
|
|
||||||
|
- `absolute url` means direct links to external resource: ex. https://web.site/someimage.png
|
||||||
|
|
||||||
|
example:
|
||||||
|
|
||||||
|
```
|
||||||
|
params:
|
||||||
|
assets:
|
||||||
|
favicon: "/favicon.ico"
|
||||||
|
favicon16x16: "/favicon-16x16.png"
|
||||||
|
favicon32x32: "/favicon-32x32.png"
|
||||||
|
apple_touch_icon: "/apple-touch-icon.png"
|
||||||
|
safari_pinned_tab: "/safari-pinned-tab.svg"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Centering image in markdown
|
||||||
|
|
||||||
|
Add `#center` after image to center align an image
|
||||||
|
|
||||||
|
```md
|
||||||
|
![name](path/to/image.png#center)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- [Override a Hugo theme](https://zwbetz.com/override-a-hugo-theme/)
|
377
Features.md
Normal file
377
Features.md
Normal file
@ -0,0 +1,377 @@
|
|||||||
|
- [Assets (js/css)](#assets-jscss)
|
||||||
|
- [Default Theme light/dark/auto](#default-theme-lightdarkauto)
|
||||||
|
- [Theme Switch Toggle (enabled by default)](#theme-switch-toggle-enabled-by-default)
|
||||||
|
- [Archives Layout](#archives-layout)
|
||||||
|
- [Regular Mode (default-mode)](#regular-mode-default-mode)
|
||||||
|
- [Home-Info Mode](#home-info-mode)
|
||||||
|
- [Profile Mode](#profile-mode)
|
||||||
|
- [Search](#search)
|
||||||
|
- [Draft Page indication](#draft-page-indication)
|
||||||
|
- [Post Cover Image](#post-cover-image)
|
||||||
|
- [Share Buttons on post](#share-buttons-on-post)
|
||||||
|
- [Show post reading time](#show-post-reading-time)
|
||||||
|
- [Show Table of Contents (Toc) on blog post](#show-table-of-contents-toc-on-blog-post)
|
||||||
|
- [Multiple Authors](#multiple-authors)
|
||||||
|
- [Comments](#comments)
|
||||||
|
- [AccessKeys](#accesskeys)
|
||||||
|
- [Enhanced SEO](#enhanced-seo)
|
||||||
|
- [Multilingual Support](#multilingual-support)
|
||||||
|
- [Misc](#misc)
|
||||||
|
- [Scroll-Bar themed (by default)](#scroll-bar-themed-by-default)
|
||||||
|
- [Smooth Scroll between in-page links (by default)](#smooth-scroll-between-in-page-links-by-default)
|
||||||
|
- [Scroll-to-Top Button (by default)](#scroll-to-top-button-by-default)
|
||||||
|
- [Google Analytics integration](#google-analytics-integration)
|
||||||
|
- [Syntax highlighting](#syntax-highlighting)
|
||||||
|
- [RSS feeds](#rss-feeds)
|
||||||
|
|
||||||
|
View demo [here](https://adityatelange.github.io/hugo-PaperMod/)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Assets (js/css)
|
||||||
|
|
||||||
|
The following is enabled by default
|
||||||
|
|
||||||
|
- [minification](https://gohugo.io/hugo-pipes/minification/) - makes the assets size smallest as possible.
|
||||||
|
- [bundling](https://gohugo.io/hugo-pipes/bundling/) - bundles all the styles in one single asset
|
||||||
|
- [fingerprint/intergity](https://gohugo.io/hugo-pipes/fingerprint/) check.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Default Theme light/dark/auto
|
||||||
|
|
||||||
|
```yml
|
||||||
|
params:
|
||||||
|
# defaultTheme: light
|
||||||
|
# defaultTheme: dark
|
||||||
|
defaultTheme: auto # to switch between dark or light according to browser theme
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Theme Switch Toggle (enabled by default)
|
||||||
|
|
||||||
|
Shows icon besides title of page to change theme
|
||||||
|
|
||||||
|
To disable it :
|
||||||
|
|
||||||
|
```yml
|
||||||
|
disableThemeToggle: true
|
||||||
|
```
|
||||||
|
|
||||||
|
You can refer following table for better understanding...
|
||||||
|
|
||||||
|
| `defaultTheme` | `disableThemeToggle` | checks local storage? | checks system theme? | Info |
|
||||||
|
| -------------- | -------------------- | --------------------- | -------------------- | ----------------- |
|
||||||
|
| `auto` | true | No | Yes | only system theme |
|
||||||
|
| | false | Yes (if not->2) | Yes (2) | _switch present_ |
|
||||||
|
| `dark` | true | No | No | force dark only |
|
||||||
|
| | false | Yes | No | _switch present_ |
|
||||||
|
| `light` | true | No | No | force light only |
|
||||||
|
| | false | Yes | No | _switch present_ |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Archives Layout
|
||||||
|
|
||||||
|
Create a page with `archive.md` in `content` directory with following content
|
||||||
|
|
||||||
|
```yml
|
||||||
|
---
|
||||||
|
title: "Archive" # in any language you want
|
||||||
|
layout: "archives" # is necessary
|
||||||
|
url: "/archive"
|
||||||
|
summary: "archive"
|
||||||
|
---
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note:** Archives Layout does not support Multilingual Month Translations.
|
||||||
|
|
||||||
|
ex: [archives.md](https://raw.githubusercontent.com/adityatelange/hugo-PaperMod/exampleSite/content/archives.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Regular Mode (default-mode)
|
||||||
|
|
||||||
|
![regular](images/regular.webp)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Home-Info Mode
|
||||||
|
|
||||||
|
![homeinfo](images/homeinfo.webp)
|
||||||
|
|
||||||
|
Use 1st entry as some Information
|
||||||
|
|
||||||
|
add following to config file
|
||||||
|
|
||||||
|
```yml
|
||||||
|
params:
|
||||||
|
homeInfoParams:
|
||||||
|
Title: Hi there wave
|
||||||
|
Content: Can be Info, links, about...
|
||||||
|
|
||||||
|
socialIcons: # optional
|
||||||
|
- name: "<platform>"
|
||||||
|
url: "<link>"
|
||||||
|
- name: "<platform 2>"
|
||||||
|
url: "<link2>"
|
||||||
|
```
|
||||||
|
|
||||||
|
ex. [config.yml#L106](https://github.com/adityatelange/hugo-PaperMod/blob/exampleSite/config.yml#L106)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Profile Mode
|
||||||
|
|
||||||
|
![profile](images/profile.webp)
|
||||||
|
|
||||||
|
Shows Index/Home page as Full Page with Social Links and Image
|
||||||
|
|
||||||
|
add following to config file
|
||||||
|
|
||||||
|
```yml
|
||||||
|
params:
|
||||||
|
profileMode:
|
||||||
|
enabled: true
|
||||||
|
title: "<Title>" # optional default will be site title
|
||||||
|
imageUrl: "<image link>" # optional
|
||||||
|
imageTitle: "<title of image as alt>" # optional
|
||||||
|
imageWidth: 120 # custom size
|
||||||
|
imageHeight: 120 # custom size
|
||||||
|
buttons:
|
||||||
|
- name: Archive
|
||||||
|
url: "/archive"
|
||||||
|
- name: Github
|
||||||
|
url: "https://github.com/"
|
||||||
|
|
||||||
|
socialIcons: # optional
|
||||||
|
- name: "<platform>"
|
||||||
|
url: "<link>"
|
||||||
|
- name: "<platform 2>"
|
||||||
|
url: "<link2>"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Search
|
||||||
|
|
||||||
|
Add the following to site config, `config.yml`
|
||||||
|
|
||||||
|
```yml
|
||||||
|
outputs:
|
||||||
|
home:
|
||||||
|
- HTML
|
||||||
|
- RSS
|
||||||
|
- JSON # is necessary
|
||||||
|
```
|
||||||
|
|
||||||
|
Create a page with `search.md` in `content` directory with following content
|
||||||
|
|
||||||
|
```yml
|
||||||
|
---
|
||||||
|
title: "Search" # in any language you want
|
||||||
|
layout: "search" # is necessary
|
||||||
|
# url: "/archive"
|
||||||
|
summary: "search"
|
||||||
|
---
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
For Multilingual use `search.<lang>.md` ex. `search.es.md`.
|
||||||
|
|
||||||
|
**Note:** Search will work only on current language, user is currently on !
|
||||||
|
|
||||||
|
**Customizing Fusejs Options**
|
||||||
|
|
||||||
|
Refer https://fusejs.io/api/options.html for Options, Add those as shown below.
|
||||||
|
|
||||||
|
```yml
|
||||||
|
params:
|
||||||
|
fuseOpts:
|
||||||
|
isCaseSensitive: false
|
||||||
|
shouldSort: true
|
||||||
|
location: 0
|
||||||
|
distance: 1000
|
||||||
|
threshold: 0.4
|
||||||
|
minMatchCharLength: 0
|
||||||
|
keys: ["title", "permalink", "summary", "content"]
|
||||||
|
```
|
||||||
|
|
||||||
|
ex: [search.md](https://raw.githubusercontent.com/adityatelange/hugo-PaperMod/exampleSite/content/search.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Draft Page indication
|
||||||
|
|
||||||
|
adds `[draft]` mark to indicate draft pages.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Post Cover Image
|
||||||
|
|
||||||
|
In post's page-variables add :
|
||||||
|
|
||||||
|
```yml
|
||||||
|
cover:
|
||||||
|
image: "<image path/url>"
|
||||||
|
# can also paste direct link from external site
|
||||||
|
# ex. https://i.ibb.co/K0HVPBd/paper-mod-profilemode.png
|
||||||
|
alt: "<alt text>"
|
||||||
|
caption: "<text>"
|
||||||
|
relative: false # To use relative path for cover image, used in hugo Page-bundles
|
||||||
|
```
|
||||||
|
|
||||||
|
When you include images in the [Page Bundle](https://gohugo.io/content-management/page-bundles/), multiple sizes of the image will automatically be provided using the HTML5 `srcset` field.
|
||||||
|
|
||||||
|
To reduce generation time and size of the site, you can disable this feature using
|
||||||
|
|
||||||
|
```yml
|
||||||
|
params:
|
||||||
|
cover:
|
||||||
|
responsiveImages: false
|
||||||
|
```
|
||||||
|
|
||||||
|
To enable hyperlinks to the full image size on post pages, use
|
||||||
|
|
||||||
|
```yml
|
||||||
|
params:
|
||||||
|
cover:
|
||||||
|
linkFullImages: true
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Share Buttons on post
|
||||||
|
|
||||||
|
Displays Share Buttons at Bottom of each post
|
||||||
|
|
||||||
|
to show share buttons add
|
||||||
|
|
||||||
|
```yml
|
||||||
|
params:
|
||||||
|
ShowShareButtons: true
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Show post reading time
|
||||||
|
|
||||||
|
Displays Reading Time (the estimated time, in minutes, it takes to read the content.)
|
||||||
|
|
||||||
|
To show reading time add
|
||||||
|
|
||||||
|
```yml
|
||||||
|
Params:
|
||||||
|
ShowReadingTime: true
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Show Table of Contents (Toc) on blog post
|
||||||
|
|
||||||
|
Displays ToC on blog-pages
|
||||||
|
|
||||||
|
To show ToC add following to page-variables
|
||||||
|
|
||||||
|
```yml
|
||||||
|
ShowToc: true
|
||||||
|
```
|
||||||
|
|
||||||
|
To keep Toc Open **by default** on a post add following to page-variables:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
TocOpen: true
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Multiple Authors
|
||||||
|
|
||||||
|
To Use multiple authors for a post, in post-variables:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
---
|
||||||
|
author: ["Me", "You"]
|
||||||
|
---
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
To use Multiple Authors Site-wide, in `config.yml`:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
params:
|
||||||
|
author: ["Me", "You"]
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Comments
|
||||||
|
|
||||||
|
to add comments, create a html file
|
||||||
|
|
||||||
|
`layouts/partials/comments.html`
|
||||||
|
|
||||||
|
and paste code provided by your comments provider
|
||||||
|
|
||||||
|
also in config add this
|
||||||
|
|
||||||
|
```yml
|
||||||
|
params:
|
||||||
|
comments: true
|
||||||
|
```
|
||||||
|
|
||||||
|
read more about this [hugo-comments](https://gohugo.io/content-management/comments/)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### AccessKeys
|
||||||
|
|
||||||
|
```text
|
||||||
|
c - ToC Open/Close
|
||||||
|
g - Go To Top
|
||||||
|
h - Home (according to current lang)
|
||||||
|
t - Theme toggle
|
||||||
|
/ - Jumps to search page if in menu
|
||||||
|
```
|
||||||
|
|
||||||
|
[What's AccessKeys ?](https://www.w3schools.com/tags/att_global_accesskey.asp)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Enhanced SEO
|
||||||
|
|
||||||
|
**Enabled only when `env: production`**
|
||||||
|
|
||||||
|
- [Rich Results/Snippets Support](https://support.google.com/webmasters/answer/7506797?hl=en)
|
||||||
|
|
||||||
|
- Twitter Cards Support
|
||||||
|
|
||||||
|
- Open-Graph support
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Multilingual Support
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Misc
|
||||||
|
|
||||||
|
#### Scroll-Bar themed (by default)
|
||||||
|
|
||||||
|
#### Smooth Scroll between in-page links (by default)
|
||||||
|
|
||||||
|
#### Scroll-to-Top Button (by default)
|
||||||
|
|
||||||
|
```text
|
||||||
|
Displays a Scroll-to-Top button in right-bottom corner
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Google Analytics integration
|
||||||
|
|
||||||
|
#### Syntax highlighting
|
||||||
|
|
||||||
|
#### RSS feeds
|
38
Home.md
38
Home.md
@ -1 +1,37 @@
|
|||||||
Welcome to the hugo-PaperMod wiki!
|
# Welcome to the hugo-PaperMod wiki!
|
||||||
|
|
||||||
|
## What is hugo-PaperMod ?
|
||||||
|
|
||||||
|
This is a modified theme for [Hugo static site generator](https://gohugo.io/), modded from [hugo-paper](https://github.com/nanxiaobei/hugo-paper) by [nanxiaobei](https://github.com/nanxiaobei).
|
||||||
|
|
||||||
|
Demo Site : https://adityatelange.github.io/hugo-PaperMod/
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
Read Wiki => [hugo-PaperMod - Installation](./Installation)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Features/Mods
|
||||||
|
|
||||||
|
Read Wiki => [hugo-PaperMod - Features](./Features)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Icons
|
||||||
|
|
||||||
|
Read Wiki => [hugo-PaperMod - Icons](./Icons)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## FAQs
|
||||||
|
|
||||||
|
Read Wiki => [hugo-PaperMod - FAQs](./FAQs)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Variables
|
||||||
|
|
||||||
|
Read Wiki => [hugo-PaperMod - Variables](./Variables)
|
||||||
|
78
Icons.md
Normal file
78
Icons.md
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
- [Social Icons](#social-icons)
|
||||||
|
- [Share Icons](#share-icons)
|
||||||
|
|
||||||
|
## Social Icons
|
||||||
|
|
||||||
|
Usage :
|
||||||
|
|
||||||
|
```
|
||||||
|
socialIcons: # optional
|
||||||
|
- name: "<NAME>"
|
||||||
|
url: "<link>"
|
||||||
|
- name: "<NAME>"
|
||||||
|
url: "<link2>"
|
||||||
|
```
|
||||||
|
|
||||||
|
| No. | name | platform link |
|
||||||
|
| --- | ------------- | ------------------------------- |
|
||||||
|
| 1 | 123rf | 123rf.com |
|
||||||
|
| 2 | adobestock | stock.adobe.com |
|
||||||
|
| 3 | behance | behance.net |
|
||||||
|
| 4 | buymeacoffee | buymeacoffee.com |
|
||||||
|
| 5 | codepen | codepen.io |
|
||||||
|
| 6 | cryptohack | cryptohack.org |
|
||||||
|
| 7 | dev | dev.to |
|
||||||
|
| 8 | discogs | discogs.com |
|
||||||
|
| 9 | discord | discord.com |
|
||||||
|
| 10 | dreamstime | dreamstime.com |
|
||||||
|
| 11 | dribbble | dribbble.com |
|
||||||
|
| 12 | email | - |
|
||||||
|
| 13 | facebook | facebook.com |
|
||||||
|
| 14 | freepik | freepik.com |
|
||||||
|
| 15 | github | github.com |
|
||||||
|
| 16 | gitlab | gitlab.com |
|
||||||
|
| 17 | hackerrank | hackerrank.com |
|
||||||
|
| 18 | hackthebox | hackthebox.eu |
|
||||||
|
| 19 | instagram | instagram.com |
|
||||||
|
| 20 | kakaotalk | kakaocorp.com/service/KakaoTalk |
|
||||||
|
| 21 | keybase | keybase.io |
|
||||||
|
| 22 | kofi | ko-fi.com |
|
||||||
|
| 23 | lastfm | last.fm |
|
||||||
|
| 24 | linkedin | linkedin.com |
|
||||||
|
| 25 | mastodon | mastodon.social |
|
||||||
|
| 26 | medium | medium.com |
|
||||||
|
| 27 | mixcloud | mixcloud.com |
|
||||||
|
| 28 | paypal | paypal.com |
|
||||||
|
| 29 | qq | qq.com |
|
||||||
|
| 30 | rss | - |
|
||||||
|
| 31 | soundcloud | soundcloud.com |
|
||||||
|
| 32 | shutterstock | shutterstock.com |
|
||||||
|
| 33 | slack | slack.com |
|
||||||
|
| 34 | sourcerer | sourcerer.io |
|
||||||
|
| 35 | stackoverflow | stackoverflow.com |
|
||||||
|
| 36 | steam | steampowered.com |
|
||||||
|
| 37 | telegram | telegram.org |
|
||||||
|
| 38 | twitch | twitch.tv |
|
||||||
|
| 39 | twitter | twitter.com |
|
||||||
|
| 40 | youtube | youtube.com |
|
||||||
|
| 41 | other | - |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Share Icons
|
||||||
|
|
||||||
|
| No. | Platform |
|
||||||
|
| --- | -------- |
|
||||||
|
| 1 | twitter |
|
||||||
|
| 2 | linkedin |
|
||||||
|
| 3 | reddit |
|
||||||
|
| 4 | facebook |
|
||||||
|
| 5 | whatsapp |
|
||||||
|
| 6 | telegram |
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
params:
|
||||||
|
ShowShareButtons: true
|
||||||
|
```
|
210
Installation.md
Normal file
210
Installation.md
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
- [Guide](#guide)
|
||||||
|
- [Method 1](#method-1)
|
||||||
|
- [Method 2](#method-2)
|
||||||
|
- [Method 3](#method-3)
|
||||||
|
- [Finally ...](#finally-)
|
||||||
|
- [Sample config.yml](#sample-configyml)
|
||||||
|
- [Sample Page.md](#sample-pagemd)
|
||||||
|
|
||||||
|
## Guide
|
||||||
|
|
||||||
|
Follow [Quick Start](https://gohugo.io/getting-started/quick-start/) guide to setup hugo and create a new site.
|
||||||
|
Make sure you install latest version of **`hugo(>=0.74.0)`**.
|
||||||
|
|
||||||
|
After you have created a new site, at [Step 3](https://gohugo.io/getting-started/quick-start/#step-3-add-a-theme) follow the steps:
|
||||||
|
|
||||||
|
### Method 1
|
||||||
|
|
||||||
|
Inside the folder of your Hugo site, run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/adityatelange/hugo-PaperMod themes/PaperMod --depth=1
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note**: You may use ` --branch v3.0` to end of above command if you want to stick to specific release.
|
||||||
|
|
||||||
|
> Updating theme :
|
||||||
|
>
|
||||||
|
> ```bash
|
||||||
|
> cd themes/PaperMod
|
||||||
|
> git pull
|
||||||
|
> ```
|
||||||
|
|
||||||
|
### Method 2
|
||||||
|
|
||||||
|
you can use as [submodule](https://www.atlassian.com/git/tutorials/git-submodule) with
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git submodule add https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod --depth=1
|
||||||
|
git submodule update --init --recursive
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note**: You may use ` --branch v3.0` to end of above command if you want to stick to specific release.
|
||||||
|
|
||||||
|
> Updating theme :
|
||||||
|
>
|
||||||
|
> ```bash
|
||||||
|
> git submodule update --remote --merge
|
||||||
|
> ```
|
||||||
|
|
||||||
|
### Method 3
|
||||||
|
|
||||||
|
Or you can Download as Zip from Github Page and extract in your themes directory
|
||||||
|
|
||||||
|
### Finally ...
|
||||||
|
|
||||||
|
Add in `config.yml`:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
theme: "PaperMod"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Sample `config.yml`
|
||||||
|
|
||||||
|
> **Example Site Structure is present here**: [exampleSite](https://github.com/adityatelange/hugo-PaperMod/tree/exampleSite/)
|
||||||
|
|
||||||
|
**Use appropriately**
|
||||||
|
|
||||||
|
```yml
|
||||||
|
baseURL: "https://examplesite.com"
|
||||||
|
title: ExampleSite
|
||||||
|
paginate: 5
|
||||||
|
theme: hugo-PaperMod
|
||||||
|
|
||||||
|
enableRobotsTXT: true
|
||||||
|
buildDrafts: false
|
||||||
|
buildFuture: false
|
||||||
|
buildExpired: false
|
||||||
|
|
||||||
|
googleAnalytics: UA-123-45
|
||||||
|
|
||||||
|
minify:
|
||||||
|
disableXML: true
|
||||||
|
minifyOutput: true
|
||||||
|
|
||||||
|
params:
|
||||||
|
env: production # to enable google analytics, opengraph, twitter-cards and schema.
|
||||||
|
title: ExampleSite
|
||||||
|
description: "ExampleSite description"
|
||||||
|
author: Me
|
||||||
|
# author: ["Me", "You"] # multiple authors
|
||||||
|
|
||||||
|
images: ["<link or path of image for opengraph, twitter-cards>"]
|
||||||
|
|
||||||
|
ShowReadingTime: true
|
||||||
|
ShowShareButtons: true
|
||||||
|
comments: false
|
||||||
|
defaultTheme: auto
|
||||||
|
disableThemeToggle: false
|
||||||
|
disableSpecial1stPost: false
|
||||||
|
|
||||||
|
assets:
|
||||||
|
# disableHLJS: true # to disable highlightjs
|
||||||
|
# disableFingerprinting: true
|
||||||
|
favicon: "<link / abs url>"
|
||||||
|
favicon16x16: "<link / abs url>"
|
||||||
|
favicon32x32: "<link / abs url>"
|
||||||
|
apple_touch_icon: "<link / abs url>"
|
||||||
|
safari_pinned_tab: "<link / abs url>"
|
||||||
|
|
||||||
|
label:
|
||||||
|
text: "Home"
|
||||||
|
icon: /apple-touch-icon.png
|
||||||
|
iconHeight: 35
|
||||||
|
|
||||||
|
# profile-mode
|
||||||
|
profileMode:
|
||||||
|
enabled: false # needs to be explicitly set
|
||||||
|
title: ExampleSite
|
||||||
|
imageUrl: "<img location>"
|
||||||
|
imageWidth: 120
|
||||||
|
imageHeight: 120
|
||||||
|
imageTitle: my image
|
||||||
|
buttons:
|
||||||
|
- name: Posts
|
||||||
|
url: posts
|
||||||
|
- name: Tags
|
||||||
|
url: tags
|
||||||
|
|
||||||
|
# home-info mode
|
||||||
|
homeInfoParams:
|
||||||
|
Title: "Hi there \U0001F44B"
|
||||||
|
Content: Welcome to my blog
|
||||||
|
|
||||||
|
socialIcons:
|
||||||
|
- name: twitter
|
||||||
|
url: "https://twitter.com/"
|
||||||
|
- name: stackoverflow
|
||||||
|
url: "https://stackoverflow.com"
|
||||||
|
- name: github
|
||||||
|
url: "https://github.com/"
|
||||||
|
|
||||||
|
analytics:
|
||||||
|
google:
|
||||||
|
SiteVerificationTag: "XYZabc"
|
||||||
|
|
||||||
|
cover:
|
||||||
|
hidden: true # hide everywhere but not in structured data
|
||||||
|
hiddenInList: true # hide on list pages and home
|
||||||
|
hiddenInSingle: true # hide on single page
|
||||||
|
|
||||||
|
# for search
|
||||||
|
# https://fusejs.io/api/options.html
|
||||||
|
fuseOpts:
|
||||||
|
isCaseSensitive: false
|
||||||
|
shouldSort: true
|
||||||
|
location: 0
|
||||||
|
distance: 1000
|
||||||
|
threshold: 0.4
|
||||||
|
minMatchCharLength: 0
|
||||||
|
keys: ["title", "permalink", "summary", "content"]
|
||||||
|
menu:
|
||||||
|
main:
|
||||||
|
- identifier: categories
|
||||||
|
name: categories
|
||||||
|
url: /categories/
|
||||||
|
weight: 10
|
||||||
|
- identifier: tags
|
||||||
|
name: tags
|
||||||
|
url: /tags/
|
||||||
|
weight: 20
|
||||||
|
- identifier: example
|
||||||
|
name: example.org
|
||||||
|
url: https://example.org
|
||||||
|
weight: 30
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Sample `Page.md`
|
||||||
|
|
||||||
|
```yml
|
||||||
|
---
|
||||||
|
title: "My 1st post"
|
||||||
|
date: 2020-09-15T11:30:03+00:00
|
||||||
|
weight: 1
|
||||||
|
aliases: ["/first"]
|
||||||
|
tags: ["first"]
|
||||||
|
author: "Me"
|
||||||
|
# author: ["Me", "You"] # multiple authors
|
||||||
|
showToc: true
|
||||||
|
TocOpen: false
|
||||||
|
draft: false
|
||||||
|
hidemeta: false
|
||||||
|
disableShare: false
|
||||||
|
cover:
|
||||||
|
image: "<image path/url>" # image path/url
|
||||||
|
alt: "<alt text>" # alt text
|
||||||
|
caption: "<text>" # display caption under cover
|
||||||
|
relative: false # when using page bundles set this to true
|
||||||
|
hidden: true # only hide on current single page
|
||||||
|
comments: false
|
||||||
|
description: "Desc Text."
|
||||||
|
disableHLJS: true # to disable highlightjs
|
||||||
|
---
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
49
Variables.md
Normal file
49
Variables.md
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
- [Site Variables](#site-variables)
|
||||||
|
- [Page Variables](#page-variables)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Site Variables
|
||||||
|
|
||||||
|
| name | type | example | Description |
|
||||||
|
| ---------------------- | ------------ | ------------------------ | ----------------------------------------------------------------------------------- |
|
||||||
|
| env | string | 'production' | To set env to production |
|
||||||
|
| title | string | 'My Blog' | To set title |
|
||||||
|
| description | string | 'This is a blog of mine' | To set site description |
|
||||||
|
| author | ["Me","You"] | list | To show multiple Authors |
|
||||||
|
| images | string | 'myimage.png' | Link or path of image for opengraph, twitter-cards |
|
||||||
|
| ShowReadingTime | boolean | true \| false | To show read time in post meta |
|
||||||
|
| ShowShareButtons | boolean | true \| false | To show/hide share buttons under post |
|
||||||
|
| defaultTheme | string | light \| dark \| auto | To set default theme |
|
||||||
|
| disableThemeToggle | boolean | true \| false | To disable theme toggle icon shown besides label |
|
||||||
|
| disableSpecial1stPost | boolean | true \| false | To disable no-card special appearance of 1st post |
|
||||||
|
| hidemeta | boolean | true \| false | To Hide meta elements : date, read-time, author and available-translations for page |
|
||||||
|
| showtoc | boolean | true \| false | To show/hide Table of Contents |
|
||||||
|
| tocopen | boolean | true \| false | To keep open ToC by default on page load |
|
||||||
|
| comments | boolean | true \| false | To show/hide comments |
|
||||||
|
| | | | |
|
||||||
|
| label.text | string | 'Home' | To display different label text other than title |
|
||||||
|
| label.icon | string | '/apple-touch-icon.png' | To display a logo image in label |
|
||||||
|
| label.iconHeight | integer | 35 | To set size of label logo image |
|
||||||
|
| assets.favicon | string | 'icon.ico' | To set favicon, can be path or external link |
|
||||||
|
| cover.linkFullImages | boolean | true \| false | To open full size cover images on click on cover |
|
||||||
|
| cover.responsiveImages | boolean | true \| false | To enable/disable generation of responsive cover images |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Page Variables
|
||||||
|
|
||||||
|
| Name | Type | Example | Description |
|
||||||
|
| -------------- | ------------ | --------------------- | ----------------------------------------------------------------------------------- |
|
||||||
|
| showtoc | boolean | true \| false | To show/hide Table of Contents |
|
||||||
|
| tocopen | boolean | true \| false | To keep open ToC by default on page load |
|
||||||
|
| hidemeta | boolean | true \| false | To Hide meta elements : date, read-time, author and available-translations for page |
|
||||||
|
| cover.image | string | 'featured.jpg' | To add a cover image |
|
||||||
|
| cover.caption | string | 'caption for image' | To add caption to cover image |
|
||||||
|
| cover.alt | string | 'this is cover image' | Alternate text to show if image doesn't load/show up |
|
||||||
|
| cover.relative | boolean | true \| false | To use relative path for cover image, used in hugo Page-bundles |
|
||||||
|
| comments | boolean | true \| false | To show/hide comments |
|
||||||
|
| disableShare | boolean | true \| false | To hide/show share icons under a page |
|
||||||
|
| author | ["Me","You"] | list | To show multiple Authors |
|
||||||
|
| | | | |
|
||||||
|
| weight | integer | 5 | To set page order or to pin a post to Top of list |
|
5
_Footer.md
Normal file
5
_Footer.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
![Build GH-Pages](https://github.com/adityatelange/hugo-PaperMod/workflows/Build%20GH-Pages/badge.svg)
|
||||||
|
![GitHub](https://img.shields.io/github/license/adityatelange/hugo-PaperMod)
|
||||||
|
![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/adityatelange/hugo-PaperMod)
|
||||||
|
![GitHub contributors](https://img.shields.io/github/contributors-anon/adityatelange/hugo-paperMod)
|
||||||
|
![GitHub stars](https://img.shields.io/github/stars/adityatelange/hugo-paperMod?style=social)
|
7
_Sidebar.md
Normal file
7
_Sidebar.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
- **[Home](./Home)**
|
||||||
|
- [Installation](./Installation)
|
||||||
|
- [Features](./Features)
|
||||||
|
- [FAQs](./FAQs)
|
||||||
|
- [Variables](./Variables)
|
||||||
|
- [Icons](./Icons)
|
||||||
|
- **[ChangeLog](./ChangeLog)**
|
Loading…
Reference in New Issue
Block a user