or ([5ce5e25](https://github.com/hugo-sid/hugo-blog-awesome/commit/5ce5e25e30784565665779b5b7d7d31768c542ee))
+
+
+### :bug: Bug Fixes
+
+* add title for homepage ([89e35ff](https://github.com/hugo-sid/hugo-blog-awesome/commit/89e35ff2f71b868f6d1af2e07ddb482c53209e9c))
+* change baseURL to hba.sid.one ([d0ed717](https://github.com/hugo-sid/hugo-blog-awesome/commit/d0ed71798c3bd5f0ed795237564d03266f51f132))
+* **CI:** fix pr-labeler GitHub action ([3618655](https://github.com/hugo-sid/hugo-blog-awesome/commit/36186552efe196420270be1a810f5c363d96c9e6))
+* **CI:** Netlify non-deployment issue ([8427b9d](https://github.com/hugo-sid/hugo-blog-awesome/commit/8427b9d60e26034ac82745b8e690a488c6663f64))
+* **CI:** Netlify non-deployment issue ([918c84a](https://github.com/hugo-sid/hugo-blog-awesome/commit/918c84a1075eebc22cd15e2aa0653200b9667414))
+* **CI:** Netlify publish dir ([db63f5c](https://github.com/hugo-sid/hugo-blog-awesome/commit/db63f5c31d09eda4c7f1ea92e35a34043f938c9e))
+* **ci:** use Netlify `$DEPLOY_PRIME_URL` as `baseURL` for deploy previews ([64bfa09](https://github.com/hugo-sid/hugo-blog-awesome/commit/64bfa099743ca3cb1d3359d11ced5db0ab3678b1))
+* fix 404 page layout on small screens ([a9c1130](https://github.com/hugo-sid/hugo-blog-awesome/commit/a9c1130e46fe111ab8292c0eefcf45c83f4c890e))
+* fix abbr tag style ([f103396](https://github.com/hugo-sid/hugo-blog-awesome/commit/f103396409631b6e39183f16bafb5bb65108dd5c))
+* fix links and 404 page style ([#24](https://github.com/hugo-sid/hugo-blog-awesome/issues/24)) ([2e78155](https://github.com/hugo-sid/hugo-blog-awesome/commit/2e78155aa52ddeeb59207f4d575932d46abb89d0))
+* **html:** add href for <a> tag ([fc936ae](https://github.com/hugo-sid/hugo-blog-awesome/commit/fc936ae1374e11f9e3447acff73dae69d4eeb889))
+* link to license in readme ([91e0cd9](https://github.com/hugo-sid/hugo-blog-awesome/commit/91e0cd972c2c2f6c061c9c0ddd00712fbf7f0c69))
+* meta description ([340bd14](https://github.com/hugo-sid/hugo-blog-awesome/commit/340bd14a97dc9665d1b9d0749b9aa54be72690e5))
+* recent posts on home page is not correctly filtered ([#23](https://github.com/hugo-sid/hugo-blog-awesome/issues/23)) ([4afdfcb](https://github.com/hugo-sid/hugo-blog-awesome/commit/4afdfcbb47a302395929c3cf015f6b705978e48f))
+* stretched image ([87c7756](https://github.com/hugo-sid/hugo-blog-awesome/commit/87c775645a5b002e9c9c4e5e0581e11e87f78d54))
+* stretched image ([#3](https://github.com/hugo-sid/hugo-blog-awesome/issues/3)) ([5eb9b07](https://github.com/hugo-sid/hugo-blog-awesome/commit/5eb9b07e569fb04080d13a47c5cce4557f36a0f5))
+* template failure in bio.html when avatar is not found/defined ([#15](https://github.com/hugo-sid/hugo-blog-awesome/issues/15)) ([295c8a1](https://github.com/hugo-sid/hugo-blog-awesome/commit/295c8a13cdf3f5e928cbc1275dc19e053585d232))
+* theme name ([58d6bae](https://github.com/hugo-sid/hugo-blog-awesome/commit/58d6bae8e0cdb296f784d5494386931e39c93e8e))
+
+
+### :construction_worker: CI/CD
+
+* setup CI based release ([6b68d1e](https://github.com/hugo-sid/hugo-blog-awesome/commit/6b68d1eb9ed83c8fab13bbb3b284b542e28de98d))
+* use GitHub PAT ([f2d98c8](https://github.com/hugo-sid/hugo-blog-awesome/commit/f2d98c8245a38a297855aff158979a4064e0b35c))
diff --git a/themes/hugo-blog-awesome/CODE_OF_CONDUCT.md b/themes/hugo-blog-awesome/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..18c9147
--- /dev/null
+++ b/themes/hugo-blog-awesome/CODE_OF_CONDUCT.md
@@ -0,0 +1,128 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+We as members, contributors, and leaders pledge to make participation in our
+community a harassment-free experience for everyone, regardless of age, body
+size, visible or invisible disability, ethnicity, sex characteristics, gender
+identity and expression, level of experience, education, socio-economic status,
+nationality, personal appearance, race, religion, or sexual identity
+and orientation.
+
+We pledge to act and interact in ways that contribute to an open, welcoming,
+diverse, inclusive, and healthy community.
+
+## Our Standards
+
+Examples of behavior that contributes to a positive environment for our
+community include:
+
+* Demonstrating empathy and kindness toward other people
+* Being respectful of differing opinions, viewpoints, and experiences
+* Giving and gracefully accepting constructive feedback
+* Accepting responsibility and apologizing to those affected by our mistakes,
+ and learning from the experience
+* Focusing on what is best not just for us as individuals, but for the
+ overall community
+
+Examples of unacceptable behavior include:
+
+* The use of sexualized language or imagery, and sexual attention or
+ advances of any kind
+* Trolling, insulting or derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or email
+ address, without their explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Enforcement Responsibilities
+
+Community leaders are responsible for clarifying and enforcing our standards of
+acceptable behavior and will take appropriate and fair corrective action in
+response to any behavior that they deem inappropriate, threatening, offensive,
+or harmful.
+
+Community leaders have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, and will communicate reasons for moderation
+decisions when appropriate.
+
+## Scope
+
+This Code of Conduct applies within all community spaces, and also applies when
+an individual is officially representing the community in public spaces.
+Examples of representing our community include using an official e-mail address,
+posting via an official social media account, or acting as an appointed
+representative at an online or offline event.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported to the community leaders responsible for enforcement at
+.
+All complaints will be reviewed and investigated promptly and fairly.
+
+All community leaders are obligated to respect the privacy and security of the
+reporter of any incident.
+
+## Enforcement Guidelines
+
+Community leaders will follow these Community Impact Guidelines in determining
+the consequences for any action they deem in violation of this Code of Conduct:
+
+### 1. Correction
+
+**Community Impact**: Use of inappropriate language or other behavior deemed
+unprofessional or unwelcome in the community.
+
+**Consequence**: A private, written warning from community leaders, providing
+clarity around the nature of the violation and an explanation of why the
+behavior was inappropriate. A public apology may be requested.
+
+### 2. Warning
+
+**Community Impact**: A violation through a single incident or series
+of actions.
+
+**Consequence**: A warning with consequences for continued behavior. No
+interaction with the people involved, including unsolicited interaction with
+those enforcing the Code of Conduct, for a specified period of time. This
+includes avoiding interactions in community spaces as well as external channels
+like social media. Violating these terms may lead to a temporary or
+permanent ban.
+
+### 3. Temporary Ban
+
+**Community Impact**: A serious violation of community standards, including
+sustained inappropriate behavior.
+
+**Consequence**: A temporary ban from any sort of interaction or public
+communication with the community for a specified period of time. No public or
+private interaction with the people involved, including unsolicited interaction
+with those enforcing the Code of Conduct, is allowed during this period.
+Violating these terms may lead to a permanent ban.
+
+### 4. Permanent Ban
+
+**Community Impact**: Demonstrating a pattern of violation of community
+standards, including sustained inappropriate behavior, harassment of an
+individual, or aggression toward or disparagement of classes of individuals.
+
+**Consequence**: A permanent ban from any sort of public interaction within
+the community.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage],
+version 2.0, available at
+https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
+
+Community Impact Guidelines were inspired by [Mozilla's code of conduct
+enforcement ladder](https://github.com/mozilla/diversity).
+
+[homepage]: https://www.contributor-covenant.org
+
+For answers to common questions about this code of conduct, see the FAQ at
+https://www.contributor-covenant.org/faq. Translations are available at
+https://www.contributor-covenant.org/translations.
diff --git a/themes/hugo-blog-awesome/CONTRIBUTING.md b/themes/hugo-blog-awesome/CONTRIBUTING.md
new file mode 100644
index 0000000..16107eb
--- /dev/null
+++ b/themes/hugo-blog-awesome/CONTRIBUTING.md
@@ -0,0 +1,46 @@
+# Welcome to contribution guidelines
+
+Thank you for taking time to contribute to Hugo blog awesome!
+
+Following the contribution guidelines helps both owners and contributors. The guidelines save time and hassle caused by improperly created pull requests or issues that might have to be rejected and re-submitted.
+
+## When to use issues?
+
+We prefer to use issues for reporting real 'issues' or bugs. For feature requests you can visit the [feature request section](https://github.com/hugo-sid/hugo-blog-awesome/discussions/categories/feature-requests) of Discussions and start a new thread.
+For questions you can visit [Q&A section](https://github.com/hugo-sid/hugo-blog-awesome/discussions/categories/q-a) of Discussions.
+
+## Pull requests (PR)
+
+- Please ensure that you have filled answers to as many questions as applicable, while creating a PR.
+- We recommend you to create atomic PRs which focus on a single change.
+- We do recommend PRs to not exceed 200 lines (includes additions and deletions) of code.
+- Kindly ensure that you are **NOT** addressing multiple issues in one PR.
+
+## Adding a new language
+
+If you are adding support for a new language, you have to do the following:
+
+1. Add language specific configuration and parameters in `exampleSite/hugo.toml`
+2. Translate specific terms by creating a new language-specific file in the `i18n` directory
+3. Add translated content in `exampleSite/content` directory
+
+You can take a look at this [Pull request](https://github.com/hugo-sid/hugo-blog-awesome/pull/145) for reference.
+
+## Commits
+
+This project adheres to [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/).
+
+## Releases
+
+We use [Semantic Versioning](https://semver.org/) for releases.
+
+## Changelog
+
+You don't have to edit the `CHANGELOG.md` file. The changelong is auto generated. A GitHub action workflow is in place, which:
+
+- analyses the commits (from last release)
+- determines the version to bump (it's doable since this project adheres to conventional commit specification)
+- updates the changelog
+- creates a git tag corresponding to the version
+
+Finally it creates a PR with the above changes. So, there is no manual editing required.
diff --git a/themes/hugo-blog-awesome/LICENSE b/themes/hugo-blog-awesome/LICENSE
new file mode 100644
index 0000000..e992522
--- /dev/null
+++ b/themes/hugo-blog-awesome/LICENSE
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2023 Sidharth R.
+
+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.
diff --git a/themes/hugo-blog-awesome/README.md b/themes/hugo-blog-awesome/README.md
new file mode 100644
index 0000000..e218d5a
--- /dev/null
+++ b/themes/hugo-blog-awesome/README.md
@@ -0,0 +1,307 @@
+
instead of
+
+############################## English language ################################
+[Languages.en-gb]
+ languageName = "English"
+ languageCode = "en-gb"
+ contentDir = "content/en"
+ weight = 1
+
+ [Languages.en-gb.menu]
+ [[Languages.en-gb.menu.main]]
+ # The page reference (pageRef) is useful for menu highlighting
+ # When pageRef is set, setting `url` is optional; it will be used as a fallback if the page is not found.
+ pageRef="/"
+ name = 'Home'
+ url = '/'
+ weight = 10
+ [[Languages.en-gb.menu.main]]
+ pageRef="posts"
+ name = 'Posts'
+ url = '/posts/'
+ weight = 20
+ [[Languages.en-gb.menu.main]]
+ pageRef="about"
+ name = 'About'
+ url = '/about/'
+ weight = 30
+
+[Languages.en-gb.params]
+ sitename = "Awesome hugo blog"
+ defaultColor = "dark" # set color mode: dark, light, auto
+ # Setting it to 'auto' applies the color scheme based on the visitor's device color preference.If you don't specify anything, ignore this parameter, or leave it blank,
+ # the default value is set to 'auto'.
+ # You can take a look at layouts/index.html for more information.
+ description = "Minimal Hugo blog theme with light and dark mode support"
+ mainSections = ['posts']
+ toc = true # set to false to disable table of contents 'globally'
+ tocOpen = false # set to true to open table of contents by default
+ goToTop = true # set to false to disable 'go to top' button
+ additionalScripts = ['js/custom.js', 'js/custom-2.js']
+ # Will try to load 'assets/js/custom.js' and 'assets/js/custom-2.js'.
+ # Your custom scripts will be concatenated to one file `custom.js`.
+ # When building for production it will be minified.
+ # The file `custom.js` is loaded on each page (before body tag ends).
+ dateFormat = "" # date format used to show dates on various pages. If nothing is specified, then "2 Jan 2006" format is used.
+ # See https://gohugo.io/functions/format/#hugo-date-and-time-templating-reference for available date formats.
+ rssFeedDescription = "summary" # available options: 1) summary 2) full
+ # summary - includes a short summary of the blog post in the RSS feed. Generated using Hugo .Summary .
+ # full - includes full blog post in the RSS feed. Generated using Hugo .Content .
+ # By default (or if nothing is specified), summary is used.
+
+[Languages.en-gb.params.author]
+ avatar = "avatar.jpg" # put the file in assets folder; also ensure that image has same height and width
+ # Note: image is not rendered if the resource(avatar image) is not found. No error is displayed.
+ intro = "Awesome hugo blog"
+ name = "Sidharth R"
+ description = "A fast, minimalistic Hugo theme with light and dark mode support, for running a personal site or blog."
+
+# Allow to override webmanifest options
+[Languages.en-gb.params.webmanifest]
+ name = "sitename" # will use "params.sitename" or "title" by default
+ short_name = "sitename" # same as name
+ start_url = "/" # will use homepage url by default
+ theme_color = "#434648" # default is "#434648" (base color of text). Also will override html ``
+ background_color = "#fff" # by default depend on "params.defaultColor" for "light" or "auto" will be set to "#fff" for dark will be "#131418" (color of dark mode background)
+ display = "standalone"
+
+############################## Italian language ################################
+[Languages.it]
+ languageName = "Italian"
+ languageCode = "it"
+ contentDir = "content/it"
+ weight = 2
+ [Languages.it.menu]
+ [[Languages.it.menu.main]]
+ # The page reference (pageRef) is useful for menu highlighting
+ # When pageRef is set, setting `url` is optional; it will be used as a fallback if the page is not found.
+ pageRef="/"
+ name = 'Inizio'
+ url = '/'
+ weight = 10
+ [[Languages.it.menu.main]]
+ pageRef="posts"
+ name = 'Articoli'
+ url = '/posts/'
+ weight = 20
+ [[Languages.it.menu.main]]
+ pageRef="about"
+ name = 'Chi Sono'
+ url = '/about/'
+ weight = 30
+
+[Languages.it.params]
+ sitename = "Awesome hugo blog"
+ defaultColor = "dark" # set color mode: dark, light, auto
+ # Setting it to 'auto' applies the color scheme based on the visitor's device color preference.If you don't specify anything, ignore this parameter, or leave it blank,
+ # the default value is set to 'auto'.
+ # You can take a look at layouts/index.html for more information.
+ description = "Un tema Hugo veloce e minimalista con supporto per la modalità chiara e scura, per la gestione di un sito o di un blog personale"
+ mainSections = ['posts']
+ toc = true # set to false to disable table of contents 'globally'
+ tocOpen = false # set to true to open table of contents by default
+ goToTop = true # set to false to disable 'go to top' button
+ additionalScripts = ['js/custom.js', 'js/custom-2.js']
+ # Will try to load 'assets/js/custom.js' and 'assets/js/custom-2.js'.
+ # Your custom scripts will be concatenated to one file `custom.js`.
+ # When building for production it will be minified.
+ # The file `custom.js` is loaded on each page (before body tag ends).
+ dateFormat = "2 January 2006" # default date format used on various pages
+ # See https://gohugo.io/functions/format/#hugo-date-and-time-templating-reference for available date formats.
+ rssFeedDescription = "summary" # available options: 1) summary 2) full
+ # summary - includes a short summary of the blog post in the RSS feed. Generated using Hugo .Summary .
+ # full - includes full blog post in the RSS feed. Generated using Hugo .Content .
+ # By default (or if nothing is specified), summary is used.
+
+[Languages.it.params.author]
+ avatar = "avatar.jpg" # put the file in assets folder; also ensure that image has same height and width
+ # Note: image is not rendered if the resource(avatar image) is not found. No error is displayed.
+ intro = "Awesome hugo blog"
+ name = "Sidharth R"
+ description = "Un tema Hugo veloce e minimalista con supporto per la modalità chiara e scura, per la gestione di un sito o di un blog personale."
+
+# Allow to override webmanifest options
+[Languages.it.params.webmanifest]
+ name = "sitename" # will use "params.sitename" or "title" by default
+ short_name = "sitename" # same as name
+ start_url = "/" # will use homepage url by default
+ theme_color = "#434648" # default is "#434648" (base color of text). Also will override html ``
+ background_color = "#fff" # by default depend on "params.defaultColor" for "light" or "auto" will be set to "#fff" for dark will be "#131418" (color of dark mode background)
+ display = "standalone"
+
+############################## Russian language ################################
+[Languages.ru-ru]
+ languageName = "Russian"
+ languageCode = "ru-ru"
+ contentDir = "content/ru"
+ weight = 1
+
+ [Languages.ru-ru.menu]
+ [[Languages.ru-ru.menu.main]]
+ # The page reference (pageRef) is useful for menu highlighting
+ # When pageRef is set, setting `url` is optional; it will be used as a fallback if the page is not found.
+ pageRef="/"
+ name = 'Главная'
+ url = '/'
+ weight = 10
+ [[Languages.ru-ru.menu.main]]
+ pageRef="posts"
+ name = 'Записи'
+ url = '/posts/'
+ weight = 20
+ [[Languages.ru-ru.menu.main]]
+ pageRef="about"
+ name = 'О проекте'
+ url = '/about/'
+ weight = 30
+
+[Languages.ru-ru.params]
+ sitename = "Превосходный hugo блог"
+ defaultColor = "dark" # set color mode: dark, light, auto
+ # Setting it to 'auto' applies the color scheme based on the visitor's device color preference.If you don't specify anything, ignore this parameter, or leave it blank,
+ # the default value is set to 'auto'.
+ # You can take a look at layouts/index.html for more information.
+ description = "Минималистичная тема для блога на Hugo с поддержкой светлого и тёмного режима"
+ mainSections = ['posts']
+ toc = true # set to false to disable table of contents 'globally'
+ tocOpen = false # set to true to open table of contents by default
+ goToTop = true # set to false to disable 'go to top' button
+ additionalScripts = ['js/custom.js', 'js/custom-2.js']
+ # Will try to load 'assets/js/custom.js' and 'assets/js/custom-2.js'.
+ # Your custom scripts will be concatenated to one file `custom.js`.
+ # When building for production it will be minified.
+ # The file `custom.js` is loaded on each page (before body tag ends).
+ dateFormat = "" # date format used to show dates on various pages. If nothing is specified, then "2 Jan 2006" format is used.
+ # See https://gohugo.io/functions/format/#hugo-date-and-time-templating-reference for available date formats.
+ rssFeedDescription = "summary" # available options: 1) summary 2) full
+ # summary - includes a short summary of the blog post in the RSS feed. Generated using Hugo .Summary .
+ # full - includes full blog post in the RSS feed. Generated using Hugo .Content .
+ # By default (or if nothing is specified), summary is used.
+
+[Languages.ru-ru.params.author]
+ avatar = "avatar.jpg" # put the file in assets folder; also ensure that image has same height and width
+ # Note: image is not rendered if the resource(avatar image) is not found. No error is displayed.
+ intro = "Превосходный hugo блог"
+ name = "Sidharth R"
+ description = "Быстрая, минималистичная тема для Hugo с поддержкой светлого и тёмного режима для использования на персональных сайтах и блогах."
+
+# Allow to override webmanifest options
+[Languages.ru-ru.params.webmanifest]
+ name = "sitename" # will use "params.sitename" or "title" by default
+ short_name = "sitename" # same as name
+ start_url = "/" # will use homepage url by default
+ theme_color = "#434648" # default is "#434648" (base color of text). Also will override html ``
+ background_color = "#fff" # by default depend on "params.defaultColor" for "light" or "auto" will be set to "#fff" for dark will be "#131418" (color of dark mode background)
+ display = "standalone"
+
+############################## French language ################################
+[Languages.fr-fr]
+ languageName = "French"
+ languageCode = "fr-fr"
+ contentDir = "content/fr"
+ weight = 1
+
+ [Languages.fr-fr.menu]
+ [[Languages.fr-fr.menu.main]]
+ pageRef="/"
+ name = 'Accueil'
+ url = '/'
+ weight = 10
+ [[Languages.fr-fr.menu.main]]
+ pageRef="posts"
+ name = 'Articles'
+ url = '/posts/'
+ weight = 20
+ [[Languages.fr-fr.menu.main]]
+ pageRef="about"
+ name = 'À propos'
+ url = '/about/'
+ weight = 30
+
+[Languages.fr-fr.params]
+ sitename = "Awesome hugo blog"
+ defaultColor = "dark" # set color mode: dark, light, auto
+ # Setting it to 'auto' applies the color scheme based on the visitor's device color preference.If you don't specify anything, ignore this parameter, or leave it blank,
+ # the default value is set to 'auto'.
+ # You can take a look at layouts/index.html for more information.
+ description = "Thème minimal pour blog Hugo avec prise en charge des modes clair et sombre"
+ mainSections = ['posts']
+ toc = true # set to false to disable table of contents 'globally'
+ tocOpen = false # set to true to open table of contents by default
+ goToTop = true # set to false to disable 'go to top' button
+ additionalScripts = ['js/custom.js', 'js/custom-2.js']
+ # Will try to load 'assets/js/custom.js' and 'assets/js/custom-2.js'.
+ # Your custom scripts will be concatenated to one file `custom.js`.
+ # When building for production it will be minified.
+ # The file `custom.js` is loaded on each page (before body tag ends).
+ dateFormat = "" # date format used to show dates on various pages. If nothing is specified, then "2 Jan 2006" format is used.
+ # See https://gohugo.io/functions/format/#hugo-date-and-time-templating-reference for available date formats.
+ rssFeedDescription = "summary" # available options: 1) summary 2) full
+ # summary - includes a short summary of the blog post in the RSS feed. Generated using Hugo .Summary .
+ # full - includes full blog post in the RSS feed. Generated using Hugo .Content .
+ # By default (or if nothing is specified), summary is used.
+
+[Languages.fr-fr.params.author]
+ avatar = "avatar.jpg" # put the file in assets folder; also ensure that image has same height and width
+ # Note: image is not rendered if the resource(avatar image) is not found. No error is displayed.
+ intro = "Awesome hugo blog"
+ name = "Sidharth R"
+ description = "Un thème Hugo rapide et minimaliste avec un mode clair et sombre, pour un site personnel ou un blog."
+
+# Allow to override webmanifest options
+[Languages.fr-fr.params.webmanifest]
+ name = "sitename" # will use "params.sitename" or "title" by default
+ short_name = "sitename" # same as name
+ start_url = "/" # will use homepage url by default
+ theme_color = "#434648" # default is "#434648" (base color of text). Also will override html ``
+ background_color = "#fff" # by default depend on "params.defaultColor" for "light" or "auto" will be set to "#fff" for dark will be "#131418" (color of dark mode background)
+ display = "standalone"
+
+############################## German language ################################
+[Languages.de-de]
+ languageName = "German"
+ languageCode = "de-de"
+ contentDir = "content/de"
+ weight = 1
+
+ [Languages.de-de.menu]
+ [[Languages.de-de.menu.main]]
+ # The page reference (pageRef) is useful for menu highlighting
+ # When pageRef is set, setting `url` is optional; it will be used as a fallback if the page is not found.
+ pageRef="/"
+ name = 'Startseite'
+ url = '/'
+ weight = 10
+ [[Languages.de-de.menu.main]]
+ pageRef="posts"
+ name = 'Beiträge'
+ url = '/posts/'
+ weight = 20
+ [[Languages.de-de.menu.main]]
+ pageRef="about"
+ name = 'Über mich'
+ url = '/about/'
+ weight = 30
+
+[Languages.de-de.params]
+ sitename = "Awesome hugo blog"
+ defaultColor = "dark" # set color mode: dark, light, auto
+ # Setting it to 'auto' applies the color scheme based on the visitor's device color preference.If you don't specify anything, ignore this parameter, or leave it blank,
+ # the default value is set to 'auto'.
+ # You can take a look at layouts/index.html for more information.
+ description = "Minimales Hugo-Blog-Theme mit hellem und dunklem Modus"
+ mainSections = ['posts']
+ toc = true # set to false to disable table of contents 'globally'
+ tocOpen = false # set to true to open table of contents by default
+ goToTop = true # set to false to disable 'go to top' button
+ additionalScripts = ['js/custom.js', 'js/custom-2.js']
+ # Will try to load 'assets/js/custom.js' and 'assets/js/custom-2.js'.
+ # Your custom scripts will be concatenated to one file `custom.js`.
+ # When building for production it will be minified.
+ # The file `custom.js` is loaded on each page (before body tag ends).
+ dateFormat = "" # date format used to show dates on various pages. If nothing is specified, then "2 Jan 2006" format is used.
+ # See https://gohugo.io/functions/format/#hugo-date-and-time-templating-reference for available date formats.
+ rssFeedDescription = "summary" # available options: 1) summary 2) full
+ # summary - includes a short summary of the blog post in the RSS feed. Generated using Hugo .Summary .
+ # full - includes full blog post in the RSS feed. Generated using Hugo .Content .
+ # By default (or if nothing is specified), summary is used.
+
+[Languages.de-de.params.author]
+ avatar = "avatar.jpg" # put the file in assets folder; also ensure that image has same height and width
+ # Note: image is not rendered if the resource(avatar image) is not found. No error is displayed.
+ intro = "Awesome hugo blog"
+ name = "Sidharth R"
+ description = "Ein schnelles, minimalistisches Hugo-Theme mit hellem und dunklem Modus, für eine persönliche Website oder Blog."
+
+# Allow to override webmanifest options
+[Languages.de-de.params.webmanifest]
+ name = "sitename" # will use "params.sitename" or "title" by default
+ short_name = "sitename" # same as name
+ start_url = "/" # will use homepage url by default
+ theme_color = "#434648" # default is "#434648" (base color of text). Also will override html ``
+ background_color = "#fff" # by default depend on "params.defaultColor" for "light" or "auto" will be set to "#fff" for dark will be "#131418" (color of dark mode background)
+ display = "standalone"
+
+############################## Brazilian language ################################
+[Languages.pt-br]
+ languageName = "Brazilian"
+ languageCode = "pt-br"
+ contentDir = "content/br"
+ weight = 1
+
+ [Languages.pt-br.menu]
+ [[Languages.pt-br.menu.main]]
+ # The page reference (pageRef) is useful for menu highlighting
+ # When pageRef is set, setting `url` is optional; it will be used as a fallback if the page is not found.
+ pageRef="/"
+ name = 'Início'
+ url = '/'
+ weight = 10
+ [[Languages.pt-br.menu.main]]
+ pageRef="posts"
+ name = 'Publicações'
+ url = '/posts/'
+ weight = 20
+ [[Languages.pt-br.menu.main]]
+ pageRef="about"
+ name = 'Sobre'
+ url = '/about/'
+ weight = 30
+
+[Languages.pt-br.params]
+ sitename = "Awesome hugo blog"
+ defaultColor = "dark" # set color mode: dark, light, auto
+ # Setting it to 'auto' applies the color scheme based on the visitor's device color preference.If you don't specify anything, ignore this parameter, or leave it blank,
+ # the default value is set to 'auto'.
+ # You can take a look at layouts/index.html for more information.
+ description = "Um tema Hugo veloz e minimalista com suporte a modo claro e escuro para rodar um blog ou site pessoal"
+ mainSections = ['posts']
+ toc = true # set to false to disable table of contents 'globally'
+ tocOpen = false # set to true to open table of contents by default
+ goToTop = true # set to false to disable 'go to top' button
+ additionalScripts = ['js/custom.js', 'js/custom-2.js']
+ # Will try to load 'assets/js/custom.js' and 'assets/js/custom-2.js'.
+ # Your custom scripts will be concatenated to one file `custom.js`.
+ # When building for production it will be minified.
+ # The file `custom.js` is loaded on each page (before body tag ends).
+ dateFormat = "2 January 2006" # date format used to show dates on various pages. If nothing is specified, then "2 Jan 2006" format is used.
+ # See https://gohugo.io/functions/format/#hugo-date-and-time-templating-reference for available date formats.
+ rssFeedDescription = "summary" # available options: 1) summary 2) full
+ # summary - includes a short summary of the blog post in the RSS feed. Generated using Hugo .Summary .
+ # full - includes full blog post in the RSS feed. Generated using Hugo .Content .
+ # By default (or if nothing is specified), summary is used.
+
+[Languages.pt-br.params.author]
+ avatar = "avatar.jpg" # put the file in assets folder; also ensure that image has same height and width
+ # Note: image is not rendered if the resource(avatar image) is not found. No error is displayed.
+ intro = "Awesome hugo blog"
+ name = "Sidharth R"
+ description = "Um tema Hugo veloz e minimalista com suporte a modo claro e escuro para rodar um blog ou site pessoal"
+
+# Allow to override webmanifest options
+[Languages.pt-br.params.webmanifest]
+ name = "sitename" # will use "params.sitename" or "title" by default
+ short_name = "sitename" # same as name
+ start_url = "/" # will use homepage url by default
+ theme_color = "#434648" # default is "#434648" (base color of text). Also will override html ``
+ background_color = "#fff" # by default depend on "params.defaultColor" for "light" or "auto" will be set to "#fff" for dark will be "#131418" (color of dark mode background)
+ display = "standalone"
+
+###################################################################
+
+# Allow to override `browserconfig.xml` params (configuration for windows embedded browsers)
+[params.browserconfig]
+ TileColor = "#2d89ef" # default windows 10 blue tile color
+
+[[params.socialIcons]]
+name = "github"
+url = "https://github.com/hugo-sid"
+
+[[params.socialIcons]]
+name = "twitter"
+url = "https://twitter.com"
+
+[[params.socialIcons]]
+name = "Rss"
+url = "/index.xml"
+
diff --git a/themes/hugo-blog-awesome/go.mod b/themes/hugo-blog-awesome/go.mod
new file mode 100644
index 0000000..d206dc1
--- /dev/null
+++ b/themes/hugo-blog-awesome/go.mod
@@ -0,0 +1,3 @@
+module github.com/hugo-sid/hugo-blog-awesome
+
+go 1.22.0
diff --git a/themes/hugo-blog-awesome/i18n/de-de.yaml b/themes/hugo-blog-awesome/i18n/de-de.yaml
new file mode 100644
index 0000000..a79a564
--- /dev/null
+++ b/themes/hugo-blog-awesome/i18n/de-de.yaml
@@ -0,0 +1,27 @@
+## HOME ##
+- id: "home.home"
+ translation: "Startseite"
+
+- id: "home.recent_posts"
+ translation: "Letzte Beiträge"
+
+- id: "home.see_all_posts"
+ translation: "Alle Beiträge anzeigen"
+
+## SINGLE ##
+- id: "single.table_of_contents"
+ translation: "Inhaltsverzeichnis"
+
+## FOOTER ##
+- id: "footer.go_to_top"
+ translation: "Zum Seitenanfang"
+
+- id: "footer.disclaimer"
+ translation: "Unterstützt durch Hugo blog awesome."
+
+## ERRORS ##
+- id: "errors.404"
+ translation: "404 NICHT GEFUNDEN"
+
+- id: "errors.404_description"
+ translation: "Die Seite konnte nicht gefunden werden."
\ No newline at end of file
diff --git a/themes/hugo-blog-awesome/i18n/en-gb.yaml b/themes/hugo-blog-awesome/i18n/en-gb.yaml
new file mode 100644
index 0000000..f55c950
--- /dev/null
+++ b/themes/hugo-blog-awesome/i18n/en-gb.yaml
@@ -0,0 +1,27 @@
+## HOME ##
+- id: "home.home"
+ translation: "Home"
+
+- id: "home.recent_posts"
+ translation: "Recent Posts"
+
+- id: "home.see_all_posts"
+ translation: "See all posts"
+
+## SINGLE ##
+- id: "single.table_of_contents"
+ translation: "Table of Contents"
+
+## FOOTER ##
+- id: "footer.go_to_top"
+ translation: "Go to top"
+
+- id: "footer.disclaimer"
+ translation: "Powered by Hugo blog awesome."
+
+## ERRORS ##
+- id: "errors.404"
+ translation: "404 NOT FOUND"
+
+- id: "errors.404_description"
+ translation: "You just hit a route that doesn't exist."
\ No newline at end of file
diff --git a/themes/hugo-blog-awesome/i18n/en-us.yaml b/themes/hugo-blog-awesome/i18n/en-us.yaml
new file mode 100644
index 0000000..f55c950
--- /dev/null
+++ b/themes/hugo-blog-awesome/i18n/en-us.yaml
@@ -0,0 +1,27 @@
+## HOME ##
+- id: "home.home"
+ translation: "Home"
+
+- id: "home.recent_posts"
+ translation: "Recent Posts"
+
+- id: "home.see_all_posts"
+ translation: "See all posts"
+
+## SINGLE ##
+- id: "single.table_of_contents"
+ translation: "Table of Contents"
+
+## FOOTER ##
+- id: "footer.go_to_top"
+ translation: "Go to top"
+
+- id: "footer.disclaimer"
+ translation: "Powered by Hugo blog awesome."
+
+## ERRORS ##
+- id: "errors.404"
+ translation: "404 NOT FOUND"
+
+- id: "errors.404_description"
+ translation: "You just hit a route that doesn't exist."
\ No newline at end of file
diff --git a/themes/hugo-blog-awesome/i18n/fr-fr.yaml b/themes/hugo-blog-awesome/i18n/fr-fr.yaml
new file mode 100644
index 0000000..aaa96c9
--- /dev/null
+++ b/themes/hugo-blog-awesome/i18n/fr-fr.yaml
@@ -0,0 +1,27 @@
+## HOME ##
+- id: "home.home"
+ translation: "Accueil"
+
+- id: "home.recent_posts"
+ translation: "Articles récents"
+
+- id: "home.see_all_posts"
+ translation: "Voir tous les articles"
+
+## SINGLE ##
+- id: "single.table_of_contents"
+ translation: "Table des matières"
+
+## FOOTER ##
+- id: "footer.go_to_top"
+ translation: "Aller en haut"
+
+- id: "footer.disclaimer"
+ translation: "Les photos ne sont pas libres de droit. Réalisé avec ♥️ par un debianeu à poil dur."
+
+## ERRORS ##
+- id: "errors.404"
+ translation: "404 PAGE NON TROUVÉE"
+
+- id: "errors.404_description"
+ translation: "Vous avez suivi une adresse qui n'existe pas."
\ No newline at end of file
diff --git a/themes/hugo-blog-awesome/i18n/it.yaml b/themes/hugo-blog-awesome/i18n/it.yaml
new file mode 100644
index 0000000..5f4f615
--- /dev/null
+++ b/themes/hugo-blog-awesome/i18n/it.yaml
@@ -0,0 +1,27 @@
+## HOME ##
+- id: "home.home"
+ translation: "Inizio"
+
+- id: "home.recent_posts"
+ translation: "Articoli Recenti"
+
+- id: "home.see_all_posts"
+ translation: "Visualizza tutti gli articoli"
+
+## SINGLE ##
+- id: "single.table_of_contents"
+ translation: "Sommario"
+
+## FOOTER ##
+- id: "footer.go_to_top"
+ translation: "Torna all'inizio"
+
+- id: "footer.disclaimer"
+ translation: "Generato dal tema Hugo blog awesome."
+
+## ERRORS ##
+- id: "errors.404"
+ translation: "404 NON TROVATO"
+
+- id: "errors.404_description"
+ translation: "Hai appena svoltato in una strada che non esiste."
\ No newline at end of file
diff --git a/themes/hugo-blog-awesome/i18n/pt-br.yaml b/themes/hugo-blog-awesome/i18n/pt-br.yaml
new file mode 100644
index 0000000..442374e
--- /dev/null
+++ b/themes/hugo-blog-awesome/i18n/pt-br.yaml
@@ -0,0 +1,27 @@
+## HOME ##
+- id: "home.home"
+ translation: "Início"
+
+- id: "home.recent_posts"
+ translation: "Publicações recentes"
+
+- id: "home.see_all_posts"
+ translation: "Todas as publicações"
+
+## SINGLE ##
+- id: "single.table_of_contents"
+ translation: "Tabela de Conteúdo"
+
+## FOOTER ##
+- id: "footer.go_to_top"
+ translation: "Ir para cima"
+
+- id: "footer.disclaimer"
+ translation: "Criado por Hugo blog awesome."
+
+## ERRORS ##
+- id: "errors.404"
+ translation: "404 PÁGINA NÃO ENCONTRADA"
+
+- id: "errors.404_description"
+ translation: "O caminho que você acessou não existe"
\ No newline at end of file
diff --git a/themes/hugo-blog-awesome/i18n/ru-ru.yaml b/themes/hugo-blog-awesome/i18n/ru-ru.yaml
new file mode 100644
index 0000000..c7cbde7
--- /dev/null
+++ b/themes/hugo-blog-awesome/i18n/ru-ru.yaml
@@ -0,0 +1,27 @@
+## HOME ##
+- id: "home.home"
+ translation: "Домой"
+
+- id: "home.recent_posts"
+ translation: "Последние записи"
+
+- id: "home.see_all_posts"
+ translation: "Посмотреть все записи"
+
+## SINGLE ##
+- id: "single.table_of_contents"
+ translation: "Содержание"
+
+## FOOTER ##
+- id: "footer.go_to_top"
+ translation: "Перейти наверх"
+
+- id: "footer.disclaimer"
+ translation: "Создано с помощью Hugo blog awesome."
+
+## ERRORS ##
+- id: "errors.404"
+ translation: "Запись не найдена"
+
+- id: "errors.404_description"
+ translation: "Вы перешли по ссылке, которая не существует."
\ No newline at end of file
diff --git a/themes/hugo-blog-awesome/images/dark.png b/themes/hugo-blog-awesome/images/dark.png
new file mode 100644
index 0000000..a0bba77
Binary files /dev/null and b/themes/hugo-blog-awesome/images/dark.png differ
diff --git a/themes/hugo-blog-awesome/images/light.png b/themes/hugo-blog-awesome/images/light.png
new file mode 100644
index 0000000..3860b5b
Binary files /dev/null and b/themes/hugo-blog-awesome/images/light.png differ
diff --git a/themes/hugo-blog-awesome/images/pagespeed.png b/themes/hugo-blog-awesome/images/pagespeed.png
new file mode 100644
index 0000000..920068b
Binary files /dev/null and b/themes/hugo-blog-awesome/images/pagespeed.png differ
diff --git a/themes/hugo-blog-awesome/images/screenshot.png b/themes/hugo-blog-awesome/images/screenshot.png
new file mode 100644
index 0000000..db7904a
Binary files /dev/null and b/themes/hugo-blog-awesome/images/screenshot.png differ
diff --git a/themes/hugo-blog-awesome/images/tn.png b/themes/hugo-blog-awesome/images/tn.png
new file mode 100644
index 0000000..ef486ac
Binary files /dev/null and b/themes/hugo-blog-awesome/images/tn.png differ
diff --git a/themes/hugo-blog-awesome/layouts/404.html b/themes/hugo-blog-awesome/layouts/404.html
new file mode 100644
index 0000000..17ba3cf
--- /dev/null
+++ b/themes/hugo-blog-awesome/layouts/404.html
@@ -0,0 +1,12 @@
+{{ define "title"}}
+ 404 | NOT FOUND
+{{ end }}
+
+{{ define "main"}}
+
+
+ {{/* create a list of posts for each month, with month as heading */}}
+
+ {{ range .Pages }}
+
+ {{ partial "postCard" . }}
+
+ {{ end }} {{/* end range .Pages */}}
+
+ {{ end }} {{/* end range .Pages.GroupByDate "2006" */}}
+
+
+
+{{- end -}}
diff --git a/themes/hugo-blog-awesome/layouts/_default/rss.xml b/themes/hugo-blog-awesome/layouts/_default/rss.xml
new file mode 100644
index 0000000..e2aed73
--- /dev/null
+++ b/themes/hugo-blog-awesome/layouts/_default/rss.xml
@@ -0,0 +1,46 @@
+
+{{- $pctx := . -}}
+{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
+{{- $pages := slice -}}
+{{- if or $.IsHome $.IsSection -}}
+{{- $pages = $pctx.RegularPages -}}
+{{- else -}}
+{{- $pages = $pctx.Pages -}}
+{{- end -}}
+{{- $limit := .Site.Config.Services.RSS.Limit -}}
+{{- if ge $limit 1 -}}
+{{- $pages = $pages | first $limit -}}
+{{- end -}}
+{{- $rssFeedDescription := .Site.Params.rssFeedDescription | default "summary" -}}
+{{- printf "" | safeHTML }}
+
+
+ {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}
+ {{ .Permalink }}
+ Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}
+ Hugo -- gohugo.io
+ {{ site.Language.LanguageCode }}{{ with .Site.Author.email }}
+ {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Author.email }}
+ {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }}
+ {{.}}{{end}}{{ if not .Date.IsZero }}
+ {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }}
+ {{- with .OutputFormats.Get "RSS" -}}
+ {{ printf "" .Permalink .MediaType | safeHTML }}
+ {{- end -}}
+ {{ range $pages }}
+
+ {{ .Title }}
+ {{ .Permalink }}
+ {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}
+ {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}
+ {{ .Permalink }}
+ {{ if eq $rssFeedDescription "summary"}}
+ {{ .Summary | html }}
+ {{ else if (eq $rssFeedDescription "full")}}
+ {{ .Content | html }}
+ {{ else }} {{ errorf "Error in RSS feed generation %q" .Path }}
+ {{ end }}
+
+ {{ end }}
+
+
diff --git a/themes/hugo-blog-awesome/layouts/_default/single.html b/themes/hugo-blog-awesome/layouts/_default/single.html
new file mode 100644
index 0000000..654596e
--- /dev/null
+++ b/themes/hugo-blog-awesome/layouts/_default/single.html
@@ -0,0 +1,23 @@
+{{ define "main" }}
+
+ {{/* format date string to create an ISO 8601 string */}}
+ {{ $ISO_date := "2006-01-02T15:04:05Z0700" }}
+ {{ $configDateFormat := .Site.Params.dateFormat | default "2 Jan 2006" }}
+ {{ if .Params.isStarred }}
+
+
+
+ {{ end }}
+
+
diff --git a/themes/hugo-blog-awesome/layouts/partials/scriptsBodyEnd.html b/themes/hugo-blog-awesome/layouts/partials/scriptsBodyEnd.html
new file mode 100644
index 0000000..b8e39e0
--- /dev/null
+++ b/themes/hugo-blog-awesome/layouts/partials/scriptsBodyEnd.html
@@ -0,0 +1,33 @@
+{{ $main := slice (resources.Get "js/main.js") }}
+
+{{ if .Site.Params.goToTop }}
+ {{ $main = $main | append (resources.Get "js/goToTop.js") }}
+{{ end }}
+
+{{ $custom := slice }}
+{{ range $script := .Site.Params.additionalScripts }}
+ {{ $script_res := resources.Get $script }}
+ {{ if not $script_res}}
+ {{ erroridf "additional-script-loading-error" "Failed to load script \"%s\"" $script }}
+ {{ else }}
+ {{ $custom = $custom | append (resources.Get .) }}
+ {{ end }}
+{{ end }}
+
+{{ if hugo.IsProduction }}
+ {{ $main = $main | resources.Concat "js/main.js" | resources.Minify | resources.Fingerprint }}
+
+
+ {{ if gt (len $custom) 0 }}
+ {{ $custom = $custom | resources.Concat "js/custom.js" | resources.Minify | resources.Fingerprint }}
+
+ {{ end }}
+{{ else }}
+ {{ $main = $main | resources.Concat "js/main.js" }}
+
+
+ {{ if gt (len $custom) 0 }}
+ {{ $custom = $custom | resources.Concat "js/custom.js" }}
+
+ {{ end }}
+{{ end }}
diff --git a/themes/hugo-blog-awesome/layouts/partials/scriptsBodyStart.html b/themes/hugo-blog-awesome/layouts/partials/scriptsBodyStart.html
new file mode 100644
index 0000000..785457d
--- /dev/null
+++ b/themes/hugo-blog-awesome/layouts/partials/scriptsBodyStart.html
@@ -0,0 +1,7 @@
+{{ if hugo.IsProduction }}
+{{ $theme_script := resources.Get "js/theme.js" | minify | fingerprint }}
+
+{{ else }}
+{{ $theme_script := resources.Get "js/theme.js" }}
+
+{{ end}}
diff --git a/themes/hugo-blog-awesome/layouts/partials/socialIcons.html b/themes/hugo-blog-awesome/layouts/partials/socialIcons.html
new file mode 100644
index 0000000..65da49c
--- /dev/null
+++ b/themes/hugo-blog-awesome/layouts/partials/socialIcons.html
@@ -0,0 +1,6 @@
+{{- range . }}
+
+ {{ partial "svgs/svgs.html" . }}
+
+{{- end }}
diff --git a/themes/hugo-blog-awesome/layouts/partials/svgs/arrowUp.svg b/themes/hugo-blog-awesome/layouts/partials/svgs/arrowUp.svg
new file mode 100644
index 0000000..5bcd51c
--- /dev/null
+++ b/themes/hugo-blog-awesome/layouts/partials/svgs/arrowUp.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/themes/hugo-blog-awesome/layouts/partials/svgs/home.svg b/themes/hugo-blog-awesome/layouts/partials/svgs/home.svg
new file mode 100644
index 0000000..8f97e2e
--- /dev/null
+++ b/themes/hugo-blog-awesome/layouts/partials/svgs/home.svg
@@ -0,0 +1,7 @@
+
+{{ T "home.home" }}
+
+
+
\ No newline at end of file
diff --git a/themes/hugo-blog-awesome/layouts/partials/svgs/menu.svg b/themes/hugo-blog-awesome/layouts/partials/svgs/menu.svg
new file mode 100644
index 0000000..03278f5
--- /dev/null
+++ b/themes/hugo-blog-awesome/layouts/partials/svgs/menu.svg
@@ -0,0 +1 @@
+Menu
\ No newline at end of file
diff --git a/themes/hugo-blog-awesome/layouts/partials/svgs/sun.svg b/themes/hugo-blog-awesome/layouts/partials/svgs/sun.svg
new file mode 100644
index 0000000..87873e4
--- /dev/null
+++ b/themes/hugo-blog-awesome/layouts/partials/svgs/sun.svg
@@ -0,0 +1,2 @@
+
+{{ .title }}
\ No newline at end of file
diff --git a/themes/hugo-blog-awesome/layouts/partials/svgs/svgs.html b/themes/hugo-blog-awesome/layouts/partials/svgs/svgs.html
new file mode 100644
index 0000000..0238f5a
--- /dev/null
+++ b/themes/hugo-blog-awesome/layouts/partials/svgs/svgs.html
@@ -0,0 +1,723 @@
+{{- $icon_name := ( trim .name " " | lower )}}
+{{- if (eq $icon_name "123rf") -}}
+
+
+
+
+{{- else if (eq $icon_name "adobestock") -}}
+
+
+
+
+{{- else if (eq $icon_name "anilist") -}}
+
+
+
+{{- else if (eq $icon_name "applemusic") -}}
+
+
+
+{{- else if (eq $icon_name "applepodcasts") -}}
+
+
+
+{{- else if (eq $icon_name "behance") -}}
+
+
+
+{{- else if (eq $icon_name "bilibili") -}}
+
+
+
+
+
+
+
+{{- else if (eq $icon_name "bitcoin") -}}
+
+
+
+{{- else if (eq $icon_name "bluesky") -}}
+
+
+
+{{- else if (eq $icon_name "buymeacoffee") -}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{{- else if (eq $icon_name "codepen") -}}
+
+
+
+
+
+
+
+{{- else if (eq $icon_name "codeforces") -}}
+
+
+
+{{- else if (eq $icon_name "cryptohack") -}}
+
+
+
+
+
+
+{{- else if (eq $icon_name "ctftime") -}}
+
+
+
+
+
+
+{{- else if (eq $icon_name "cv") -}}
+
+
+
+
+
+
+{{- else if (eq $icon_name "dev") -}}
+
+
+
+{{- else if (eq $icon_name "deviantart") -}}
+
+
+
+{{- else if (eq $icon_name "deezer") -}}
+
+
+
+{{- else if (eq $icon_name "discogs") -}}
+
+
+
+{{- else if (eq $icon_name "discord") -}}
+
+
+
+
+{{- else if (eq $icon_name "douban") -}}
+
+
+
+
+
+{{- else if (eq $icon_name "dreamstime") -}}
+
+
+
+{{- else if (eq $icon_name "dribbble") -}}
+
+
+
+
+
+{{- else if (eq $icon_name "email") -}}
+
+
+
+
+{{- else if (eq $icon_name "facebook") -}}
+
+
+
+{{- else if (eq $icon_name "flickr") -}}
+
+
+
+{{- else if (eq $icon_name "freepik") -}}
+
+
+
+
+
+
+{{- else if (eq $icon_name "gitea") -}}
+
+
+
+{{- else if (eq $icon_name "forgejo") -}}
+
+
+
+{{- else if (eq $icon_name "github") -}}
+
+
+
+
+{{- else if (eq $icon_name "gitlab") -}}
+
+
+
+
+{{- else if (eq $icon_name "goodreads") -}}
+
+
+
+{{- else if (eq $icon_name "googlepodcasts") -}}
+
+
+
+{{- else if (eq $icon_name "googlescholar") -}}
+
+
+
+{{- else if (eq $icon_name "gurushots") -}}
+
+
+
+
+
+
+
+
+
+
+
+
+{{- else if (eq $icon_name "hackerone") -}}
+
+
+
+{{- else if (eq $icon_name "hackerrank") -}}
+
+
+
+
+
+
+{{- else if (eq $icon_name "hackthebox") -}}
+
+
+
+
+
+
+{{- else if (eq $icon_name "health") -}}
+
+{{- else if (eq $icon_name "instagram") -}}
+
+
+
+
+
+{{- else if (eq $icon_name "irc") -}}
+
+{{- else if (eq $icon_name "itchio") -}}
+
+
+
+{{- else if (eq $icon_name "kaggle") -}}
+
+
+
+{{- else if (eq $icon_name "kakaotalk") -}}
+
+
+
+
+
+
+
+{{- else if (eq $icon_name "keybase") -}}
+
+
+
+{{- else if (eq $icon_name "kofi") -}}
+
+
+
+{{- else if (eq $icon_name "komoot") -}}
+
+
+
+{{- else if (eq $icon_name "lastfm") -}}
+
+
+
+{{- else if (eq $icon_name "letterboxd") -}}
+
+
+
+{{- else if (eq $icon_name "liberapay") -}}
+
+
+
+
+
+
+{{- else if (eq $icon_name "lichess" ) -}}
+
+
+
+{{- else if (eq $icon_name "linkedin") -}}
+
+
+
+
+
+{{- else if (eq $icon_name "mastodon") -}}
+
+
+
+
+{{- else if (eq $icon_name "matrix") -}}
+
+
+
+{{- else if (eq $icon_name "medium") -}}
+
+
+
+
+
+{{- else if (eq $icon_name "microblog") -}}
+
+
+
+
+
+
+{{- else if (eq $icon_name "mixcloud") -}}
+
+
+
+{{- else if (eq $icon_name "monero") -}}
+
+
+
+{{- else if (eq $icon_name "neteasecloudmusic") -}}
+
+
+
+{{- else if (eq $icon_name "nostr")}}
+
+
+
+{{- else if (eq $icon_name "nuget") -}}
+
+
+
+
+
+
+
+
+{{- else if (eq $icon_name "orcid") -}}
+
+
+
+{{- else if (eq $icon_name "osu!") -}}
+
+
+
+
+
+
+{{- else if (eq $icon_name "overcast") -}}
+
+
+
+{{- else if (eq $icon_name "patreon") -}}
+
+
+
+{{- else if (eq $icon_name "paypal") -}}
+
+
+
+{{- else if (eq $icon_name "peertube") -}}
+
+
+
+{{- else if or (eq $icon_name "pgpkey") (eq $icon_name "key") -}}
+
+
+
+
+{{- else if (eq $icon_name "phone") -}}
+
+
+
+
+
+{{- else if (eq $icon_name "pocketcasts") -}}
+
+
+
+{{- else if (eq $icon_name "polywork") -}}
+
+
+
+{{- else if (eq $icon_name "qq") -}}
+
+
+
+
+{{- else if (eq $icon_name "reddit") -}}
+
+
+
+{{- else if (eq $icon_name "researchgate") -}}
+
+
+
+{{- else if (eq $icon_name "rss") -}}
+
+
+
+
+
+{{- else if (eq $icon_name "serverfault") -}}
+
+
+
+{{- else if (eq $icon_name "sessionmessenger") -}}
+
+
+
+
+{{- else if (eq $icon_name "soundcloud") -}}
+
+
+
+{{- else if (eq $icon_name "shutterstock") -}}
+
+
+
+
+{{- else if (eq $icon_name "signal") -}}
+
+
+
+{{- else if (eq $icon_name "sketchfab") -}}
+
+
+
+{{- else if (eq $icon_name "slack") -}}
+
+
+
+
+
+
+
+{{- else if (eq $icon_name "snapchat") -}}
+
+
+
+{{- else if (eq $icon_name "sourcehut") -}}
+
+
+
+
+{{- else if (eq $icon_name "spotify") -}}
+
+
+
+{{- else if (eq $icon_name "stackoverflow") -}}
+
+
+
+{{- else if (eq $icon_name "stackshare") -}}
+
+
+
+{{- else if (eq $icon_name "steam") -}}
+
+
+
+
+
+
+
+
+
+{{- else if (eq $icon_name "strava") -}}
+
+
+
+{{- else if (eq $icon_name "telegram") -}}
+
+
+
+{{- else if (eq $icon_name "threads") -}}
+
+
+
+{{- else if (eq $icon_name "threema") -}}
+
+
+
+{{- else if (eq $icon_name "tiktok") -}}
+
+
+
+{{- else if (eq $icon_name "tryhackme") -}}
+
+
+
+{{- else if (eq $icon_name "tumblr") -}}
+
+
+
+{{- else if (eq $icon_name "twitch") -}}
+
+
+
+{{- else if (eq $icon_name "twitter") -}}
+
+
+
+
+{{- else if (eq $icon_name "unsplash") -}}
+
+
+
+
+{{- else if (eq $icon_name "vimeo") -}}
+
+
+
+{{- else if (eq $icon_name "x") -}}
+
+
+
+{{- else if (eq $icon_name "xda") -}}
+
+
+
+{{- else if (eq $icon_name "xing") -}}
+
+
+
+
+{{- else if (eq $icon_name "xmpp") -}}
+
+
+
+
+{{- else if (eq $icon_name "ycombinator") -}}
+
+
+
+{{- else if (eq $icon_name "youtube") -}}
+
+
+
+
+
+{{- else if (eq $icon_name "zhihu") -}}
+
+
+
+{{- else if (eq $icon_name "radicle") -}}
+
+
+
+{{- else if $icon_name -}}
+
+
+
+
+{{- end -}}
diff --git a/themes/hugo-blog-awesome/layouts/partials/toc.html b/themes/hugo-blog-awesome/layouts/partials/toc.html
new file mode 100644
index 0000000..11bb00a
--- /dev/null
+++ b/themes/hugo-blog-awesome/layouts/partials/toc.html
@@ -0,0 +1,18 @@
+{{- $toc := .Site.Params.toc -}}
+
+{{- if isset .Params "toc" -}}
+ {{ $toc = .Params.toc }}
+{{- end -}}
+
+{{- if $toc -}}
+ {{ $tocOpen := "" }}
+ {{ if or .Site.Params.tocOpen .Params.tocOpen }}
+ {{ if not (eq .Params.tocOpen false) }}
+ {{ $tocOpen = "open" }}
+ {{ end }}
+ {{ end }}
+
+ {{ T "single.table_of_contents" }}
+ {{ .TableOfContents }}
+
+{{- end -}}
\ No newline at end of file
diff --git a/themes/hugo-blog-awesome/layouts/partials/webmanifest.html b/themes/hugo-blog-awesome/layouts/partials/webmanifest.html
new file mode 100644
index 0000000..70841fd
--- /dev/null
+++ b/themes/hugo-blog-awesome/layouts/partials/webmanifest.html
@@ -0,0 +1,26 @@
+{{ define "partials/hugo-blog-awesome/manifest-background-color" }}
+ {{ $bg := ""}}
+ {{ if .Site.Params.webmanifest.background_color }}
+ {{ $bg = .Site.Params.webmanifest.background_color }}
+ {{ else if eq .Site.Params.defaultColor "dark" }}
+ {{ $bg = "#131418" }}
+ {{ else }}
+ {{ $bg = "#ffffff"}}
+ {{ end}}
+ {{ return $bg }}
+{{ end }}
+
+{{ $background_color := partial "hugo-blog-awesome/manifest-background-color" . }}
+
+{{
+ $ctx := merge (.Site.Params.webmanifest | default dict)
+ (dict
+ "name" (.Site.Params.webmanifest.name | default .Site.Params.sitename | default .Site.Title)
+ "short_name" (.Site.Params.webmanifest.short_name | default .Site.Params.sitename | default .Site.Title)
+ "start_url" (.Site.Params.webmanifest.start_url | default .Site.Home.Permalink)
+ "theme_color" (.Site.Params.webmanifest.theme_color | default "#434648")
+ "background_color" $background_color
+ "display" (.Site.Params.webmanifest.display | default "standalone")
+ )
+}}
+
diff --git a/themes/hugo-blog-awesome/netlify.toml b/themes/hugo-blog-awesome/netlify.toml
new file mode 100644
index 0000000..a18f830
--- /dev/null
+++ b/themes/hugo-blog-awesome/netlify.toml
@@ -0,0 +1,18 @@
+# Settings in the [build] context are global and are applied to
+# all contexts unless otherwise overridden by more specific contexts.
+
+[build]
+ base = "/"
+ publish = "exampleSite/public"
+ command = "cd exampleSite && hugo --gc --themesDir ../.."
+
+[build.environment]
+ HUGO_VERSION = "0.123.8"
+ GO_VERSION = "1.22.1"
+ NODE_VERSION = "20"
+ HUGO_THEME = "repo"
+
+# Deploy Preview context: all deploys generated from
+# a pull/merge request will inherit these settings.
+[context.deploy-preview]
+command = "cd exampleSite && hugo --gc --themesDir ../.. -b $DEPLOY_PRIME_URL"
diff --git a/themes/hugo-blog-awesome/renovate.json b/themes/hugo-blog-awesome/renovate.json
new file mode 100644
index 0000000..93afd4a
--- /dev/null
+++ b/themes/hugo-blog-awesome/renovate.json
@@ -0,0 +1,6 @@
+{
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
+ "extends": [
+ "config:recommended"
+ ]
+}
diff --git a/themes/hugo-blog-awesome/theme.toml b/themes/hugo-blog-awesome/theme.toml
new file mode 100644
index 0000000..28cdabf
--- /dev/null
+++ b/themes/hugo-blog-awesome/theme.toml
@@ -0,0 +1,20 @@
+name = "Hugo blog awesome"
+license = "MIT"
+licenselink = "https://github.com/hugo-sid/hugo-blog-awesome/blob/main/LICENSE"
+description = "Minimal Hugo blog theme with light and dark mode support"
+
+# The home page of the theme, where the source can be found.
+homepage = "https://github.com/hugo-sid/hugo-blog-awesome/"
+
+# If you have a running demo of the theme.
+demosite = "https://hugo-blog-awesome.netlify.app/"
+
+tags = ["blog", "responsive", "minimal", "dark", "light", "multilingual"]
+features = ["blog", "sass", "dark"]
+
+min_version = "0.87.0"
+
+# If the theme has a single author
+[author]
+ name = "Sidharth R"
+ homepage = "https://sidh.dev"