Extends hugo-theme-sk2 with Google AdSense support
hugo-theme-sk3 — Hugo Starter Template
By J-Siu
A Hugo theme built as an extension of hugo-theme-sk2, adding configuration options for Google AdSense, Analytics, Disqus, social sharing, and PayPal buttons, with a dark minimalist layout.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Integrates Google Analytics, Disqus comments, and Iubenda (GDPR/CCPA)
Provides configuration for social links, social share buttons, and PayPal buttons
Dark color scheme by default, switchable to a light theme via Params.color
List page card layout with configurable date and summary display and desktop column width
Supports custom CSS, custom JavaScript, Open Graph, and Twitter Card
Template Details
hugo-theme-sk3 is the third version of the SK series of Hugo themes, built on hugo-theme-sk2 and positioned as a relatively full-featured blog theme. Compared with earlier themes in the series, it adds Google AdSense support and integrates configurable modules such as Google Analytics, Disqus comments, Iubenda (GDPR/CCPA), PayPal buttons, social links, and social sharing. The theme uses a dark color scheme by default, which can be switched to light via Params.color.
In terms of layout, the theme provides a card-style layout for list pages. Params.card controls whether dates and summaries are displayed, as well as the desktop column width (for example, 32% corresponds to three columns). Page width is controlled by Params.pagewidth, defaulting to 1200px and automatically becoming 100% on small screens. There is a convention for Markdown heading levels: the site title is H1 and the page title is H2, so body headings should start at level three (###).
Configuration is centralized under the site Params, covering custom CSS/JavaScript, Open Graph, Twitter Card, favicon, canonical links, the default expanded state of the table of contents, and the starting year for footer copyright. Social links and share buttons are enabled per platform via Params.sociallink and Params.socialshare, respectively. The theme also supports per-page override settings.
Usage limitations: when upgrading from v1.x.x to v2.x.x, the configuration file must be updated because many fields were renamed. The demo site content comes from hugoBasicExample. The theme code is MIT-licensed, but third-party assets such as demo images, fonts, and icons must be checked separately for their licenses.
Is it right for your project?
Use Cases
- Building a personal blog or content site centered on article lists
- Hugo sites that need to embed Google AdSense ad slots in pages
- Sites that want to integrate Disqus comments and Google Analytics through configuration files
- Blogs that need social share buttons and a PayPal donation entry point
- Sites that prefer a dark minimalist style and want to toggle social links per platform
Suitable For
- Developers using Hugo to build blogs who need common integrations such as ads, analytics, and comments
- Users who accept configuring the theme through site Params and do not require a visual admin panel
- Content sites that need switchable dark or light color schemes
- Users upgrading from SK series themes who are willing to adjust configuration files according to v2 field names
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Place the repository into the themes/sk3 directory in the site directory via git clone or git submodule
- 2
When upgrading from v1.x.x to v2.x.x, the configuration file must be updated because many fields were renamed
- 3
Body Markdown headings should start at level three (###); the site title is H1 and the page title is H2
- 4
The theme code is MIT-licensed, but third-party assets such as demo images, fonts, and icons must be checked against their respective licenses
- 5
The demo site content comes from hugoBasicExample; refer to its example site for local testing
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version in the public repository under the MIT license; the free scope is the code of this version and does not mean that external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version's code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- The PayPal donation button feature requires users to have their own PayPal account and complete the button creation process; the theme itself does not provide accounts or creation services.
- Enabling Google AdSense ads requires applying independently and filling in the AdSense ID/Tag; it is an external service and subject to Google's relevant terms.
- The Google Analytics feature requires independent registration and filling in the Analytics ID; it is an external service and subject to Google's relevant terms.
- The Disqus comment feature requires independent registration with Disqus and filling in the shortname; it is an external service and subject to Disqus's relevant terms.
- When upgrading from v1.x.x to v2.x.x, the configuration file must be updated because many fields were renamed, and old configurations cannot be used directly.
- Social icons depend on Font Awesome and must comply with its license; the README only points to free basic usage instructions and does not declare the authorization scope of all icon assets in the theme.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
You need your own Paypal account to go through the button creation process.
Original README
AdSenseId | text | "" | AdSense ID/Tag.
Original README
| id | text | "" | Google Analytics ID |
Original README
| shortname | text | "" | Disqus shortname. |
Original README
When upgrading from v1.x.x to v2.x.x, config file need to be updated as there are lot of name changes.
Original README
https://github.com/J-Siu/hugo-theme-sk3/blob/master/LICENSEhttps://github.com/J-Siu/hugo-theme-sk3/blob/master/README.mdSocial buttons provided by [Font Awesome](//github.com/FortAwesome/Font-Awesome) Brands([free](//fontawesome.com/how-to-use/on-the-web/referencing-icons/basic-use)).
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-03. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- Hugo Themes
- Documentation and maintenance reference score
- More documented · 79 / 100
- Technologies
- Hugo
- Website type
- Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-05-19
- Screenshot last checked
- 2026-10-03
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Hugo as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: [email protected] · 2026-10-04
Inspect the recorded source material
SHA-256: 915b7e02b7d158cd17ebd5827aa0dd6676e0fa6a7d64cbaf78d1305d5bc01c4e
2026-10-03T20:46:42.613Z
Source file / repository# Hugo Theme - SK3 (Skeleton 3) [](https://www.paypal.com/donate/?business=HZF49NM9D35SJ&no_recurring=0¤cy_code=CAD)
Full feature Hugo theme build on top of [hugo-theme-sk2](//github.com/J-Siu/hugo-theme-sk2) with Google AdSense (UA/GA4) support.
---
<!-- TOC -->
- [SK Themes](#sk-themes)
- [Sites](#sites)
- [Version 2 Breaking Changes](#version-2-breaking-changes)
- [Install](#install)
- [Testing](#testing)
- [Features](#features)
- [Layout](#layout)
- [Markdown Style](#markdown-style)
- [Site Config](#site-config)
- [Social Network](#social-network)
- [Share Button](#share-button)
- [Theme Color](#theme-color)
- [Layout Dimensions](#layout-dimensions)
- [Custom CSS](#custom-css)
- [Custom Javascript](#custom-javascript)
- [Favicon](#favicon)
- [Disqus](#disqus)
- [Google](#google)
- [AdSense](#adsense)
- [Analytics](#analytics)
- [Paypal Button](#paypal-button)
- [Per Page Settings](#per-page-settings)
- [Sample Config](#sample-config)
- [Font Awesome](#font-awesome)
- [Thank You](#thank-you)
- [Contributors](#contributors)
- [Change Log](#change-log)
- [License](#license)
<!-- /TOC -->
<!--more-->
### SK Themes
| Theme | GitHub | Hugo | Demo | Description |
| ----- | --------------------------------------------------- | ----------------------------------------- | ------------------------------- | ------------------------------------------------------------- |
| SK1 | [hugo-theme-sk1](//github.com/J-Siu/hugo-theme-sk1) | [SK1](//themes.gohugo.io/hugo-theme-sk1/) | [sk1.jsiu.dev](//sk1.jsiu.dev/) | Fully functional basic Hugo theme with no css, no javascript. |
| SK2 | [hugo-theme-sk2](//github.com/J-Siu/hugo-theme-sk2) | [SK2](//themes.gohugo.io/hugo-theme-sk2/) | [sk2.jsiu.dev](//sk2.jsiu.dev/) | Fully functional basic Hugo theme with minimum css. |
| SK3 | [hugo-theme-sk3](//github.com/J-Siu/hugo-theme-sk3) | [SK3](//themes.gohugo.io/hugo-theme-sk3/) | [sk3.jsiu.dev](//sk3.jsiu.dev/) | Full feature Hugo theme with Google AdSense support. |
### Sites
SK3 demo site: https://sk3.jsiu.dev/ with content from [hugoBasicExample](https://github.com/J-Siu/hugoBasicExample).
John Siu Blog: [JohnSiu.com](//JohnSiu.com/)
### Version 2 Breaking Changes
When upgrading from v1.x.x to v2.x.x, config file need to be updated as there are lot of name changes.
### Install
In site directory:
- Using clone
```sh
git clone https://github.com/J-Siu/hugo-theme-sk3 themes/sk3
```
- Using submodule
```sh
git submodule add https://github.com/J-Siu/hugo-theme-sk3 themes/sk3
```
- Update submodule
```sh
git submodule update --recursive --remote
```
### Testing
```sh
git clone https://github.com/J-Siu/hugo-theme-sk3 sk3
cd sk3
# Pull example site.
git submodule update --recursive --init
cd exampleSite
hugo server -D --bind :: \
--config config.toml,../config.demo.toml \
--disableFastRender \
--renderToMemory \
--theme sk3 \
--themesDir ../../
```
### Features
- [x] Blog
- [x] Custom CSS
- [x] Custom Javascript
- [x] Customizable
- [x] Disqus
- [x] Google AdSense
- [x] Google Analytics
- [x] Iubenda (GDPR/CCPA)
- [x] PayPal
- [x] Minimalist Design
- [x] Responsive
- [x] Social Links
- [x] Social Share
### Layout
#### Markdown Style
Headline in markdown should start at level 3 (###), as site title is H1 and page title is H2.
#### Site Config
**[Params]**
| Field | Type | Default Value | Description |
| -------------------- | ---------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| customCss | text array | [] | See [Custom CSS](#custom-css) |
| customJs | text array | [] | See [Custom Javascript](#custom-javascript) |
| description | text | "" | Open Graph / Twitter Card description |
| enableExternalSvg | bool | false | `true` will load social icon using Font Awesome external css. |
| enableInfoBox | bool | false | Enable page info box style |
| enableListLastModify | bool | false | Use last modify date in list page. |
| enableOpenGraph | bool | false | Enable Open Graph |
| enableOpenToc | bool | true | Control if table of content(Toc) is open By default |
| enableTwitterCard | bool | false | Enable Twitter Card |
| enableUserCanonical | bool | false | Add `rel="canonical"` meta link with absolute URL to each page. Only use this if site require **user-declared canonical** meta. This is not related to [Hugo Canonicalization](//gohugo.io/content-management/urls/#canonicalization) nor `canonifyurls`. |
| favicon | text | "" | See [Favicon](#favicon) |
| images | text array | [] | Open Graph / Twitter Card image |
| mainSections | text | n/a | Hugo default to section with most entries when For generating homepage list. |
| pagewidth | text(px) | "1200px" | Page width will automatically set to 100% on small screen(<993px). |
| startdate | text | "" | eg. "2012-12-02". Year is extracted and generate copyright line "2012-(current year)". Site `copyright` override this behavior. |
| subtitle | text | "" | If defined, sub-title appear after site title in smaller font. |
| title | text | "" | Open Graph / Twitter Card title |
#### Social Network
**[Params.sociallink]** Show social network buttons if IDs are provided.
| Field | Type | Default Value |
| -------------- | ---- | ------------- |
| facebook | text | "" |
| flickr | text | "" |
| instagram | text | "" |
| linkedin | text | "" |
| pinterest | text | "" |
| reddit | text | "" |
| rss | bool | false |
| tumblr | text | "" |
| twitter | text | "" |
| vimeo | text | "" |
| youtubechannel | text | "" |
| youtubeuser | text | "" |
#### Share Button
**[Params.socialshare]** Control if share buttons appear at the bottom of page.
| Field | Type | Default Value |
| --------- | ---- | ------------- |
| facebook | bool | false |
| instagram | bool | false |
| linkedin | bool | false |
| pinterest | bool | false |
| reddit | bool | false |
| telegram | bool | false |
| twitter | bool | false |
| vk | bool | false |
#### Theme Color
**[Params.color]** Control theme color. Default is a dark theme.
| Field | Type | Default Value | Light Theme\*\* |
| ------ | ---- | ------------- | --------------- |
| bg | text | "#181a1b" | "white" |
| border | text | "white" | ""black" |
| link | text | "#3d84ff" | "#3d84ff" |
| text | text | "white" | "black" |
#### Layout Dimensions
**[Params.card]** Control list page layout.
| Field | Type | Default Value | Description |
| ------- | ------- | ------------- | --------------------------------------------------------------------------------------------------------------------- |
| date | bool | true | Show data for each item in list |
| summary | bool | true | Show summary for each item in list |
| width | text(%) | "32%" | Control list page column width on desktop(>992px). 32% for 3 columns. 24% for 4 columns, etc. Single column use 100%. |
#### Custom CSS
If you add custom css files `abc.css` and `def.css` like following:
```sh
./
├── archetypes/
├── content/
├── public/
├── resources/
├── static/
│ └── css/
│ ├── abc.css
│ └── def.css
├── themes/
└── config.toml
```
The final path of your css files will be `/css/abc.css` and `/css/def.css`:
```toml
[Params]
customCss = ["/css/abc.css", "/css/def.css"]
```
#### Custom Javascript
If you add custom javascript `abc.js` and `def.js` like following:
```sh
./
├── archetypes/
├── content/
├── public/
├── resources/
├── static/
│ └── js/
│ ├── abc.js
│ └── def.js
├── themes/
└── config.toml
```
The final path of your javascript files will be `/js/abc.js` and `/js/def.js`:
```toml
[Params]
customJs = ["/js/abc.js", "/js/def.js"]
```
#### Favicon
Path of favicon of the published site.
If favicon `logo.svg` is put inside `static` like following:
```sh
./
├── archetypes/
├── content/
├── public/
├── resources/
├── static/
│ └── logo.svg
├── themes/
└── config.toml
```
The final path will be `/logo.svg`:
```toml
[Params]
favicon = "/logo.svg"
```
SK themes come with default favicon. To disable it:
```sh
# At Hugo site root
touch static/favicon.ico
```
#### Disqus
Section `[services.disqus]`
| Field | Type | Default Value | Description |
| --------- | ---- | ------------- | ----------------- |
| shortname | text | "" | Disqus shortname. |
#### Google
##### AdSense
Section `[Params.google]`
| Field | Type | Default Value | Description |
| ----------------- | ---- | ------------- | ------------------------------ |
| AdSenseId | text | "" | AdSense ID/Tag. |
| enablePageLevelAd | bool | false | Enable/Disable page level ads. |
##### Analytics
Section `[services.googleAnalytics]`:
| Field | Type | Default Value | Description |
| ----- | ---- | ------------- | ------------------- |
| id | text | "" | Google Analytics ID |
#### Paypal Button
**[Params.paypal]** Enable Paypal donation button along side share buttons.
| Field | Type | Default Value | Description |
| --------------- | ---- | ------------- | --------------------------------------------------------- |
| amount | text | "0" | Default amount. |
| businessId | text | "" | Paypal business Id. Button will only show if this is set. |
| currency | text | "" | Currency code, eg. "CAD", "USD". |
| enableRecurring | bool | false | Show recurring check-box. |
Information can be obtain by going through [Paypal Donate Button](https://www.paypal.com/donate/buttons?type=C&fromManage=true). You need your own Paypal account to go through the button creation process.
### Per Page Settings
- Disable Disqus
- Disable Prev/Next
- Disable Related
- Disable Table of Content
To disable the above, in front matter:
```yaml
comment = false
prevnext = false
related = false
toc = false
```
### Sample Config
- [config.demo.toml](config.demo.toml)
### Font Awesome
Social buttons provided by [Font Awesome](//github.com/FortAwesome/Font-Awesome) Brands([free](//fontawesome.com/how-to-use/on-the-web/referencing-icons/basic-use)).
`fa-svg-extract.sh` is used to extract icon from Font Awesome sprites/brands.svg and sprites/solid.svg.
```sh
./fa-svg-extract.sh brands.svg > sk3-fa.svg
./fa-svg-extract.sh solid.svg >> sk3-fa.svg
```
### Thank You
- SK3 inspired by [Vimux/Binario](//github.com/Vimux/Binario). Check it out too!
### Contributors
- [John Sing Dao Siu](//github.com/J-Siu)
### Change Log
- [CHANGELOG.md](CHANGELOG.md)
### License
The MIT License (MIT)
Copyright (c) 2025 John, Sing Dao, Siu
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.
Explore similar templates
Compare previews and descriptions within the same stack and category.

hugo-xmin
hugo-xmin is an extremely minimal Hugo theme written by Yihui Xie for template beginners. HTML and CSS total about 140 lines, with no external dependencies, and it uses the MIT license.
Hugo · Starter

hugo-theme-gallery
A Hugo Extended photo gallery theme that organizes images with Page Bundles, automatically generating album lists and gallery pages with a Justified layout and PhotoSwipe lightbox.
Hugo · Starter

reveal-hugo
reveal-hugo is a Hugo theme that converts Markdown content into Reveal.js-based HTML presentations. It supports slide separation with `---`, shortcodes for fragments, slides, sections, notes, Markdown, and MathJax, and organizes content as root or section presentations with order controlled by weight.
Hugo · Starter

anatole
Anatole is a minimalistic two-column Hugo theme ported from farbox-theme-Anatole, featuring dark mode, multilingual and RTL support, and optional portfolio, comments, analytics, KaTeX, and Mermaid integrations. It suits personal blogs, portfolios, or documentation sites built with Hugo.
Hugo · Starter

hugo-theme-diary
A Hugo diary-style theme ported from the Hexo theme Journal, with a grid homepage for essays and daily notes. It supports six languages, dark mode, table-of-contents scroll positioning, reading time, code highlighting, and configurable sidebar, fonts, and colors.
Hugo · Starter

risotto
risotto is a minimalist, responsive Hugo theme inspired by terminal ricing aesthetics. It uses semantic HTML and pure CSS with no JavaScript, and its layout relies on CSS Grid for native responsiveness without manual breakpoints.
Hugo · Starter
