diff --git a/Features.md b/Features.md index 1815bbe..a3781ef 100644 --- a/Features.md +++ b/Features.md @@ -7,7 +7,7 @@ - [Regular Mode (default-mode)](#regular-mode-default-mode) - [Home-Info Mode](#home-info-mode) - [Profile Mode](#profile-mode) -- [Search](#search) +- [Search Page](#search-page) - [Draft Page indication](#draft-page-indication) - [Post Cover Image](#post-cover-image) - [Share Buttons on post](#share-buttons-on-post) @@ -183,7 +183,7 @@ params: --- -### Search +### Search Page PaperMod uses [Fuse.js Basic](https://fusejs.io/getting-started/different-builds.html#explanation-of-different-builds) for seach functionality @@ -219,6 +219,12 @@ searchHidden: true ex: [search.md](https://raw.githubusercontent.com/adityatelange/hugo-PaperMod/exampleSite/content/search.md) +> Search Page also has Key bindings: +> +> - Arrow keys to move up/down the list +> - Enter key (return) or Right Arrow key to Go to highlighted page +> - Escape key to clear searchbox and results + For Multilingual use `search..md` ex. `search.es.md`. **Note:** Search will work only on current language, user is currently on ! @@ -343,6 +349,8 @@ ShowBreadCrumbs: false ``` +--- + ### Other Posts suggestion below a post Adds a Previous / Next post suggestion under a single post @@ -352,6 +360,8 @@ params: ShowPostNavLinks: true ``` +--- + ### Multiple Authors To Use multiple authors for a post, in post-variables: diff --git a/Home.md b/Home.md index 93dc173..521388b 100644 --- a/Home.md +++ b/Home.md @@ -1,6 +1,4 @@ -# Welcome to the hugo-PaperMod wiki! - -## What is hugo-PaperMod ? +# Welcome to the PaperMod's wiki! Hugo PaperMod is a theme based on [hugo-paper](https://github.com/nanxiaobei/hugo-paper). The goal of this project is add more Features and customization to the og theme. diff --git a/Icons.md b/Icons.md index 129baa5..d8ae8d9 100644 --- a/Icons.md +++ b/Icons.md @@ -5,74 +5,75 @@ ## Social Icons -| 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 | nuget | nuget.org | -| 29 | paypal | paypal.com | -| 30 | qq | qq.com | -| 31 | reddit | reddit.com | -| 32 | rss | - | -| 33 | soundcloud | soundcloud.com | -| 34 | shutterstock | shutterstock.com | -| 35 | slack | slack.com | -| 36 | snapchat | snapchat.com/add | -| 37 | sourcerer | sourcerer.io | -| 38 | stackoverflow | stackoverflow.com | -| 39 | steam | steampowered.com | -| 40 | telegram | telegram.org | -| 41 | twitch | twitch.tv | -| 42 | twitter | twitter.com | -| 43 | youtube | youtube.com | -| 44 | other | - | +| 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 | `nuget` | nuget.org | +| 29 | `paypal` | paypal.com | +| 30 | `qq` | qq.com | +| 31 | `reddit` | reddit.com | +| 32 | `rss` | - | +| 33 | `soundcloud` | soundcloud.com | +| 34 | `shutterstock` | shutterstock.com | +| 35 | `slack` | slack.com | +| 36 | `snapchat` | snapchat.com/add | +| 37 | `sourcerer` | sourcerer.io | +| 38 | `stackoverflow` | stackoverflow.com | +| 39 | `steam` | steampowered.com | +| 40 | `telegram` | telegram.org | +| 41 | `twitch` | twitch.tv | +| 42 | `twitter` | twitter.com | +| 43 | `youtube` | youtube.com | +| 44 | `other` | - | + Usage : ``` -socialIcons: # optional - - name: "" - url: "" - - name: "" - url: "" +socialIcons: + - name: "kofi" + url: "https://kofi.com" + - name: "twitter" + url: "https://twitter.com" ``` --- ## Share Icons -| No. | Platform | -| --- | -------- | -| 1 | twitter | -| 2 | linkedin | -| 3 | reddit | -| 4 | facebook | -| 5 | whatsapp | -| 6 | telegram | +| No. | Platform | +| --- | --------------------------------------------------------------- | +| 1 | `twitter` (also generates hash tags from tags linked with post) | +| 2 | `linkedin` | +| 3 | `reddit` | +| 4 | `facebook` | +| 5 | `whatsapp` | +| 6 | `telegram` | Usage: diff --git a/Installation.md b/Installation.md index c8d71f9..742aa1d 100644 --- a/Installation.md +++ b/Installation.md @@ -8,9 +8,23 @@ - [Sample config.yml](#sample-configyml) - [Sample Page.md](#sample-pagemd) +--- + +## 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. + +--- + ## Guide Follow [Quick Start](https://gohugo.io/getting-started/quick-start/) guide to setup hugo and create a new site. + +> Note: Use -f to select yml format +> +> `hugo new site -f yml` + 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: @@ -38,7 +52,7 @@ you can use as [submodule](https://www.atlassian.com/git/tutorials/git-submodule ```bash git submodule add https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod --depth=1 -git submodule update --init --recursive +git submodule update --init --recursive # needed when you reclone your repo (submodules may not get cloned automatically) ``` **Note**: You may use ` --branch v4.0` to end of above command if you want to stick to specific release. diff --git a/Translations.md b/Translations.md index a4eadeb..1d5b358 100644 --- a/Translations.md +++ b/Translations.md @@ -19,6 +19,8 @@ ## Want to add your Language ? +Fork the theme, add `langcode.yaml` and submit a Pull Request. + Sample `langcode.yaml` ISO codes can be found here: https://www.w3schools.com/tags/ref_language_codes.asp diff --git a/Variables.md b/Variables.md index 92ebed6..fc68f1b 100644 --- a/Variables.md +++ b/Variables.md @@ -7,76 +7,88 @@ ### Site Variables under `Params` -| 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 | string \|list | 'Me' \| ['Me','You'] | 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 | -| ShowPostNavLinks | boolean | true \| false | Show Previous and Next Posts below a Post | -| ShowBreadCrumbs | boolean | true \| false | Show BreadCrumb Navigation above single post/page | -| comments | boolean | true \| false | To show/hide comments | -| analytics.google.SiteVerificationTag | string | "XYZabc" | Site Verification Tag for Google Analytics | -| analytics.bing.SiteVerificationTag | string | "XYZabc" | Site Verification Tag for Bing | -| analytics.yandex.SiteVerificationTag | string | "XYZabc" | Site Verification Tag for Yandex | -| | | | | -| fuseOpts | - | - | [Details](#fuseOpts) | -| socialIcons | - | - | [Details](#socialIcons) | -| label | - | - | [Details](#label) | -| assets | - | - | [Details](#assets) | -| cover | - | - | [Details](#cover) | -| profileMode | - | - | [Details](#profilemode) | +| 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` | string \|list | 'Me' \| ['Me','You'] | 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 | +| `ShowPostNavLinks` | boolean | true \| false | Show Previous and Next Posts below a Post | +| `ShowBreadCrumbs` | boolean | true \| false | Show BreadCrumb Navigation above single post/page | +| `comments` | boolean | true \| false | To show/hide comments | +| `analytics.google.SiteVerificationTag` | string | "XYZabc" | Site Verification Tag for Google Analytics | +| `analytics.bing.SiteVerificationTag` | string | "XYZabc" | Site Verification Tag for Bing | +| `analytics.yandex.SiteVerificationTag` | string | "XYZabc" | Site Verification Tag for Yandex | +| `fuseOpts` | - | - | [Details](#fuseOpts) | +| `socialIcons` | - | - | [Details](#socialIcons) | +| `label` | - | - | [Details](#label) | +| `assets` | - | - | [Details](#assets) | +| `cover` | - | - | [Details](#cover) | +| `profileMode` | - | - | [Details](#profilemode) | #### label -| name | type | example | Description | -| ---------------- | ------- | ----------------------- | ------------------------------------------------ | -| 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 | +| name | type | example | Description | +| ------------------ | ------- | ----------------------- | ------------------------------------------------ | +| `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 | #### profileMode -| name | type | example | Description | -| ----------------------- | ------- | ---------------------------------------------- | ---------------------------------------------------- | -| profileMode.enabled | boolean | true \| false | For enabling profileMode, needs to be explicitly set | -| profileMode.title | string | "Title" | Title | -| profileMode.subtitle | string | "subtitle here" | Subtitle | -| profileMode.imageUrl | string | "image.png" \| "https://example.com/image.jpg" | Image URL or Link | -| profileMode.imageWidth | string | "150" | Width of image | -| profileMode.imageHeight | string | "150" | Height of image | -| profileMode.imageTitle | string | "This image is a picture of .." | Title of image | -| profileMode.buttons | - | - | [Details](#profileModebuttons) | +| name | type | example | Description | +| ------------------------- | ------- | ---------------------------------------------- | ---------------------------------------------------- | +| `profileMode.enabled` | boolean | true \| false | For enabling profileMode, needs to be explicitly set | +| `profileMode.title` | string | "Title" | Title | +| `profileMode.subtitle` | string | "subtitle here" | Subtitle | +| `profileMode.imageUrl` | string | "image.png" \| "https://example.com/image.jpg" | Image URL or Link | +| `profileMode.imageWidth ` | string | "150" | Width of image | +| `profileMode.imageHeight` | string | "150" | Height of image | +| `profileMode.imageTitle` | string | "This image is a picture of .." | Title of image | +| `profileMode.buttons` | - | - | [Details](#profileModebuttons) | + +##### profileMode.buttons + +```yml +profileMode: + buttons: + - name: Archive + url: "/archive" + - name: Github + url: "https://github.com/" +``` #### assets -| name | type | example | Description | -| ---------------------------- | ------- | ---------- | -------------------------------------------- | -| assets.favicon | string | 'icon.ico' | To set favicon, can be path or external link | -| assets.disableHLJS | boolean | | | -| assets.disableFingerprinting | boolean | | | +| name | type | example | Description | +| ------------------------------ | ------- | ------------- | -------------------------------------------- | +| `assets.favicon` | string | 'icon.ico' | To set favicon, can be path or external link | +| `assets.disableHLJS` | boolean | true \| false | To disable Highlight.js loading | +| `assets.disableFingerprinting` | boolean | true \| false | To disable Sub-Resource integrity for assets | #### cover -| name | type | example | Description | -| ---------------------- | ------- | ------------- | ------------------------------------------------------- | -| 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 | -| cover.hidden | boolean | true \| false | | -| cover.hiddenInList | boolean | true \| false | | -| cover.hiddenInSingle | boolean | true \| false | | +| name | type | example | Description | +| ------------------------ | ------- | ------------- | ------------------------------------------------------- | +| `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 | +| `cover.hidden` | boolean | true \| false | To hide everywhere but not in structured data | +| `cover.hiddenInList` | boolean | true \| false | To hide on list pages and home | +| `cover.hiddenInSingle ` | boolean | true \| false | To hide on list pages and home | #### fuseOpts +Refer: https://fusejs.io/api/options.html + ```yml fuseOpts: isCaseSensitive: false @@ -98,37 +110,25 @@ socialIcons: url: "" ``` -#### profileMode.buttons - -```yml -profileMode: - buttons: - - name: Archive - url: "/archive" - - name: Github - url: "https://github.com/" -``` - --- ### 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 | -| comments | boolean | true \| false | To show/hide comments | -| description | string | 'description text' | Show Post Description under Title | -| disableShare | boolean | true \| false | To hide/show share icons under a page | -| disableHLJS | boolean | true \| false | | -| searchHidden | boolean | true \| false | | -| ShowBreadCrumbs | boolean | true \| false | Show BreadCrumb Navigation above single post/page | -| author | string \|list | 'Me' \| ['Me','You'] | To show multiple Authors | -| 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 | -| cover.hidden | boolean | true \| false | | -| | | | | -| weight | integer | 5 | To set page order or to pin a post to Top of list | +| 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 | +| `comments` | boolean | true \| false | To show/hide comments | +| `description` | string | 'description text' | Show Post Description under Title | +| `disableShare` | boolean | true \| false | To hide/show share icons under a page | +| `disableHLJS` | boolean | true \| false | To disable Highlight.js loading | +| `searchHidden` | boolean | true \| false | Hide page from search | +| `ShowBreadCrumbs` | boolean | true \| false | Show BreadCrumb Navigation above single post/page | +| `author` | string \|list | 'Me' \| ['Me','You'] | To show multiple Authors | +| `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 | +| `cover.hidden ` | boolean | true \| false | To hide on current single page | +| `weight ` | integer | 5 | To set page order or to pin a post to Top of list |