clean up and fix repo

This commit is contained in:
Chris Smith
2024-11-07 10:39:10 +01:00
parent c48b91c28b
commit 3dedb00370
46 changed files with 320 additions and 758 deletions

View File

@@ -1,33 +0,0 @@
# Update the arg in docker-compose.yml or devcontainer.json to switch arg versions
ARG NODE_VERSION=18
# main image
FROM mcr.microsoft.com/devcontainers/javascript-node:${NODE_VERSION}
# Update the arg in docker-compose.yml or devcontainer.json to switch arg versions
ARG GO_VERSION=latest
ARG HUGO_VERSION=latest
# Download necessary tools
RUN apt-get update && apt-get install -y \
ca-certificates openssl git curl && \
rm -rf /var/lib/apt/lists/* && \
# set architecture
case $(uname -m) in \
aarch64) \
export ARCH=arm64 ;; \
*) \
export ARCH=amd64 ;; \
esac && \
# install Hugo
wget -O hugo_extended_${HUGO_VERSION}.tar.gz https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-${ARCH}.tar.gz && \
tar xf hugo_extended_${HUGO_VERSION}.tar.gz && \
mv hugo /usr/bin/hugo && \
rm hugo_extended_${HUGO_VERSION}.tar.gz && \
# install Go
wget -O go${GO_VERSION}.linux-${ARCH}.tar.gz https://dl.google.com/go/go${GO_VERSION}.linux-${ARCH}.tar.gz && \
tar -C /usr/local -xzf go${GO_VERSION}.linux-${ARCH}.tar.gz && \
rm go${GO_VERSION}.linux-${ARCH}.tar.gz
# Export Go path
ENV PATH=$PATH:/usr/local/go/bin

View File

@@ -1,24 +0,0 @@
{
"name": "Hugo",
"build": {
"dockerfile": "Dockerfile",
"args": {
"NODE_VERSION": "20",
"GO_VERSION": "1.21.4",
"HUGO_VERSION": "0.120.4"
}
},
"customizations": {
"vscode": {
"settings": {},
"extensions": [
"bradlc.vscode-tailwindcss",
"budparr.language-hugo-vscode",
"tamasfe.even-better-toml"
]
}
},
"remoteUser": "node",
"postCreateCommand": "npm install && npm run dev:example",
"forwardPorts": [1313]
}

View File

@@ -1,14 +0,0 @@
; https://editorconfig.org
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false

14
.github/workflows/main.yml vendored Normal file → Executable file
View File

@@ -15,9 +15,9 @@ permissions:
# Environment variables available to all jobs and steps in this workflow
env:
HUGO_ENV: production
HUGO_VERSION: "0.118.2"
GO_VERSION: "1.20.5"
NODE_VERSION: "18.15.0"
HUGO_VERSION: "0.134.3"
GO_VERSION: "1.22.2"
NODE_VERSION: "20.0.0"
TINA_CLIENT_ID: ${{ vars.TINA_CLIENT_ID }}
TINA_TOKEN: ${{ vars.TINA_TOKEN }}
@@ -26,9 +26,9 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
@@ -58,7 +58,7 @@ jobs:
run: npm run build
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
uses: actions/upload-pages-artifact@v3
with:
path: ./public
@@ -72,4 +72,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
uses: actions/deploy-pages@v4

4
.gitignore vendored
View File

@@ -14,4 +14,6 @@ resources
jsconfig.json
hugo_stats.json
go.sum
yarn.lock
yarn.lock
.idea
.vscode

View File

@@ -1,38 +0,0 @@
stages:
- build
variables:
HUGO_ENV: production
HUGO_VERSION: "0.118.2"
GO_VERSION: "1.20.5"
NODE_VERSION: "18.16.1"
cache:
paths:
- node_modules/
default:
image: node:${NODE_VERSION}
before_script:
- echo "USING NODE ${NODE_VERSION}"
- apt-get update && apt-get install -y curl
- curl -LO "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz"
- tar -xvf hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz
- mv hugo /usr/local/bin/
- rm hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz
- echo "HUGO ${HUGO_VERSION} INSTALLED"
- curl -LO "https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz"
- tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz
- export PATH=$PATH:/usr/local/go/bin
- rm go${GO_VERSION}.linux-amd64.tar.gz
- echo "GO ${GO_VERSION} INSTALLED"
- npm install
pages:
stage: build
script:
- npm run project-setup
- npm run build
artifacts:
paths:
- public

View File

@@ -1,7 +0,0 @@
{
"recommendations": [
"bradlc.vscode-tailwindcss",
"budparr.language-hugo-vscode",
"tamasfe.even-better-toml"
]
}

25
.vscode/tasks.json vendored
View File

@@ -1,25 +0,0 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
"version": "2.0.0",
"tasks": [
{
"label": "Development",
"type": "shell",
"command": "yarn dev:example",
"isBackground": true,
"group": {
"kind": "test",
"isDefault": true
},
},
{
"label": "Build",
"type": "shell",
"command": "yarn build:example",
"group": {
"kind": "build",
"isDefault": true
}
}
]
}

1
_redirects Normal file
View File

@@ -0,0 +1 @@
/* /en/404.html 404

View File

@@ -4,16 +4,16 @@ frontend:
preBuild:
commands:
- yum install -y curl
- curl -LO "https://github.com/gohugoio/hugo/releases/download/v0.118.2/hugo_extended_0.118.2_Linux-64bit.tar.gz"
- tar -xvf hugo_extended_0.118.2_Linux-64bit.tar.gz
- curl -LO "https://github.com/gohugoio/hugo/releases/download/v0.134.3/hugo_extended_0.134.3_Linux-64bit.tar.gz"
- tar -xvf hugo_extended_0.134.3_Linux-64bit.tar.gz
- mv hugo /usr/local/bin/
- rm hugo_extended_0.118.2_Linux-64bit.tar.gz
- echo "HUGO 0.118.2 INSTALLED"
- curl -LO "https://dl.google.com/go/go1.20.5.linux-amd64.tar.gz"
- tar -C /usr/local -xzf go1.20.5.linux-amd64.tar.gz
- rm hugo_extended_0.134.3_Linux-64bit.tar.gz
- echo "HUGO 0.134.3 INSTALLED"
- curl -LO "https://dl.google.com/go/go1.22.2.linux-amd64.tar.gz"
- tar -C /usr/local -xzf go1.22.2.linux-amd64.tar.gz
- export PATH=$PATH:/usr/local/go/bin
- rm go1.20.5.linux-amd64.tar.gz
- echo "GO 1.20.5 INSTALLED"
- rm go1.22.2.linux-amd64.tar.gz
- echo "GO 1.22.2 INSTALLED"
- npm install
build:
commands:

View File

@@ -1,6 +1,6 @@
[hugoVersion]
extended = true
min = "0.115.2"
min = "0.134.3"
# [[imports]]
# path = "github.com/zeon-studio/hugoplate"
@@ -53,6 +53,9 @@ path = "github.com/gethugothemes/hugo-modules/components/social-share"
[[imports]]
path = "github.com/gethugothemes/hugo-modules/components/cookie-consent"
[[imports]]
path = "github.com/gethugothemes/hugo-modules/components/announcement"
[[imports]]
path = "github.com/gethugothemes/hugo-modules/components/custom-script"
@@ -80,14 +83,5 @@ path = "github.com/gethugothemes/hugo-modules/seo-tools/site-verifications"
[[imports]]
path = "github.com/gethugothemes/hugo-modules/seo-tools/google-tag-manager"
# [[imports]]
# path = "github.com/gethugothemes/hugo-modules/seo-tools/baidu-analytics"
# [[imports]]
# path = "github.com/gethugothemes/hugo-modules/seo-tools/matomo-analytics"
# [[imports]]
# path = "github.com/gethugothemes/hugo-modules/seo-tools/plausible-analytics"
# [[imports]]
# path = "github.com/gethugothemes/hugo-modules/seo-tools/counter-analytics"
[[imports]]
path = "github.com/hugomods/mermaid"

View File

@@ -0,0 +1,13 @@
# defaultContentLanguageInSubdir must be true for this to work.
# Other languages redirects
# [[redirects]]
# from = '/fr/**'
# to = '/fr/404.html'
# status = 404
# Default language must be last.
[[redirects]]
from = '/**'
to = '/en/404.html'
status = 404

View File

@@ -9,3 +9,14 @@ draft: false
I have been doing software development **since 2010**. I started working with PHP with local businesses and joined
multiple teams. I started **Five Devs, LLC** to help small and large businesses streamline their operations. If you have
a project that is just at the idea stage or an existing problem on a large application - I can help!
### 📬 Sending a letter?
Prefer to do things the old fashioned way? Sure thing! Just no fax 📠
```
Five Devs, LLC
1887 Whitney Mesa Dr. Pmb 7325
Henderson, NV 89014
USA
```

View File

@@ -1,20 +0,0 @@
---
title: John Doe
email: johndoe@email.com
image: "/images/avatar.png"
description: this is meta description
social:
- name: github
icon: fa-brands fa-github
link: https://github.com
- name: twitter
icon: fa-brands fa-twitter
link: https://twitter.com
- name: linkedin
icon: fa-brands fa-linkedin
link: https://linkedin.com
---
lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostr navigation et dolore magna aliqua.

View File

@@ -1,20 +0,0 @@
---
title: Sam Wilson
email: samwilson@email.com
image: "/images/avatar.png"
description: this is meta description
social:
- name: github
icon: fa-brands fa-github
link: https://github.com
- name: twitter
icon: fa-brands fa-twitter
link: https://twitter.com
- name: linkedin
icon: fa-brands fa-linkedin
link: https://linkedin.com
---
lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostr navigation et dolore magna aliqua.

View File

@@ -1,20 +0,0 @@
---
title: William Jacob
email: williamjacob@email.com
image: "/images/avatar.png"
description: this is meta description
social:
- name: github
icon: fa-brands fa-github
link: https://github.com
- name: twitter
icon: fa-brands fa-twitter
link: https://twitter.com
- name: linkedin
icon: fa-brands fa-linkedin
link: https://linkedin.com
---
lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostr navigation et dolore magna aliqua.

View File

@@ -1,23 +0,0 @@
---
title: "How to build an Application with modern Technology"
meta_title: ""
description: "this is meta description"
date: 2022-04-04T05:00:00Z
image: "/images/image-placeholder.png"
categories: ["Technology", "Data"]
author: "Sam Wilson"
tags: ["technology", "tailwind"]
draft: false
---
Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
## Creative Design
Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!

View File

@@ -1,23 +0,0 @@
---
title: "How to build an Application with modern Technology"
meta_title: ""
description: "this is meta description"
date: 2022-04-04T05:00:00Z
image: "/images/image-placeholder.png"
categories: ["Software"]
author: "John Doe"
tags: ["software", "tailwind"]
draft: false
---
Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
## Creative Design
Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!

View File

@@ -1,23 +0,0 @@
---
title: "How to build an Application with modern Technology"
meta_title: ""
description: "this is meta description"
date: 2022-04-04T05:00:00Z
image: "/images/image-placeholder.png"
categories: ["Architecture"]
author: "John Doe"
tags: ["silicon", "technology"]
draft: false
---
Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
## Creative Design
Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!

View File

@@ -1,239 +0,0 @@
---
title: "Elements"
# meta title
meta_title: ""
# meta description
description: "This is meta description"
# save as draft
draft: false
---
{{< toc >}}
Here is an example of headings. You can use this heading by the following markdown rules. For example: use `#` for heading 1 and use `######` for heading 6.
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6
<hr>
### Emphasis
The emphasis, aka italics, with _asterisks_ or _underscores_.
Strong emphasis, aka bold, with **asterisks** or **underscores**.
The combined emphasis with **asterisks and _underscores_**.
Strike through uses two tildes. ~~Scratch this.~~
<hr>
### Button
{{< button label="Button" link="/" style="solid" >}}
<hr>
### Link
[I'm an inline-style link](https://www.google.com)
[I'm an inline-style link with title](https://www.google.com "Google's Homepage")
[I'm a reference-style link][Arbitrary case-insensitive reference text]
[I'm a relative reference to a repository file](../blob/master/LICENSE)
[You can use numbers for reference-style link definitions][1]
Or leave it empty and use the [link text itself].
URLs and URLs in angle brackets will automatically get turned into links.
<http://www.example.com> or <http://www.example.com> and sometimes
example.com (but not on Github, for example).
Some text to show that the reference links can follow later.
[arbitrary case-insensitive reference text]: https://www.themefisher.com
[1]: https://gethugothemes.com
[link text itself]: https://www.getjekyllthemes.com
<hr>
### Paragraph
Lorem ipsum dolor sit amet consectetur adipisicing elit. Quam nihil enim maxime corporis cumque totam aliquid nam sint inventore optio modi neque laborum officiis necessitatibus, facilis placeat pariatur! Voluptatem, sed harum pariatur adipisci voluptates voluptatum cumque, porro sint minima similique magni perferendis fuga! Optio vel ipsum excepturi tempore reiciendis id quidem? Vel in, doloribus debitis nesciunt fugit sequi magnam accusantium modi neque quis, vitae velit, pariatur harum autem a! Velit impedit atque maiores animi possimus asperiores natus repellendus excepturi sint architecto eligendi non, omnis nihil. Facilis, doloremque illum. Fugit optio laborum minus debitis natus illo perspiciatis corporis voluptatum rerum laboriosam.
<hr>
### Ordered List
1. List item
2. List item
3. List item
4. List item
5. List item
<hr>
### Unordered List
- List item
- List item
- List item
- List item
- List item
<hr>
### Notice
{{< notice "note" >}}
This is a simple note.
{{< /notice >}}
{{< notice "tip" >}}
This is a simple tip.
{{< /notice >}}
{{< notice "info" >}}
This is a simple info.
{{< /notice >}}
{{< notice "warning" >}}
This is a simple warning.
{{< /notice >}}
<hr>
### Tab
{{< tabs >}}
{{< tab "Tab 1" >}}
#### Did you come here for something in particular?
Did you come here for something in particular or just general Riker-bashing? And blowing into maximum warp speed, you appeared for an instant to be in two places at once. We have a saboteur aboard. We know youre dealing in stolen ore. But I wanna talk about the assassination attempt on Lieutenant Worf.
{{< /tab >}}
{{< tab "Tab 2" >}}
#### I wanna talk about the assassination attempt
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
{{< /tab >}}
{{< tab "Tab 3" >}}
#### We know youre dealing in stolen ore
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo
{{< /tab >}}
{{< /tabs >}}
<hr>
### Accordions
{{< accordion "Why should you need to do this?" >}}
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
- Lorem ipsum dolor sit amet consectetur
{{< /accordion >}}
{{< accordion "How can I adjust Horizontal centering" >}}
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
- Lorem ipsum dolor sit amet consectetur
{{< /accordion >}}
{{< accordion "Should you use Negative margin?" >}}
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
- Lorem ipsum dolor sit amet consectetur
{{< /accordion >}}
<hr>
### Code and Syntax Highlighting
This is an `Inline code` sample.
```javascript
var s = "JavaScript syntax highlighting";
alert(s);
```
```python
s = "Python syntax highlighting"
print s
```
<hr>
### Blockquote
> Did you come here for something in particular or just general Riker-bashing? And blowing into maximum warp speed, you appeared for an instant to be in two places at once.
<hr>
### Tables
| Tables | Are | Cool |
| ------------- | :-----------: | ----: |
| col 3 is | right-aligned | $1600 |
| col 2 is | centered | $12 |
| zebra stripes | are neat | $1 |
<hr>
### Image
{{< image src="images/image-placeholder.png" caption="" alt="alter-text" height="" width="" position="center" command="fill" option="q100" class="img-fluid" title="image title" webp="false" >}}
<hr>
### Gallery
{{< gallery dir="images/gallery" class="" height="400" width="400" webp="true" command="Fit" option="" zoomable="true" >}}
<hr>
### Slider
{{< slider dir="images/gallery" class="max-w-[600px] ml-0" height="400" width="400" webp="true" command="Fit" option="" zoomable="true" >}}
<hr>
### Youtube video
{{< youtube ResipmZmpDU >}}
<hr>
### Custom video
{{< video src="https://www.w3schools.com/html/mov_bbb.mp4" width="100%" height="auto" autoplay="false" loop="false" muted="false" controls="true" class="rounded-lg" >}}

50
go.mod
View File

@@ -1,29 +1,31 @@
module hugoplate.netlify.app
go 1.20
go 1.21
require (
github.com/gethugothemes/hugo-modules/accordion v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/adsense v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/components/cookie-consent v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/components/custom-script v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/components/preloader v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/components/render-link v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/components/social-share v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/gallery-slider v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/gzip-caching v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/icons/font-awesome v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/images v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/modal v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/pwa v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/search v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/seo-tools/basic-seo v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/seo-tools/google-tag-manager v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/seo-tools/site-verifications v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/shortcodes/button v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/shortcodes/notice v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/tab v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/table-of-contents v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/gethugothemes/hugo-modules/videos v0.0.0-20231213094845-42e6b5af6245 // indirect
github.com/zeon-studio/hugoplate v0.0.0-20231212055432-69f6cdc7aa00 // indirect
github.com/gethugothemes/hugo-modules/accordion v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/adsense v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/components/announcement v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/components/cookie-consent v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/components/custom-script v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/components/preloader v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/components/render-link v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/components/social-share v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/gallery-slider v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/gzip-caching v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/icons/font-awesome v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/images v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/modal v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/pwa v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/search v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/seo-tools/basic-seo v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/seo-tools/google-tag-manager v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/seo-tools/site-verifications v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/shortcodes/button v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/shortcodes/notice v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/tab v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/table-of-contents v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/gethugothemes/hugo-modules/videos v0.0.0-20240925042433-d2b5d05977e8 // indirect
github.com/hugomods/mermaid v0.1.4 // indirect
github.com/zeon-studio/hugoplate v0.0.0-20240925044951-fe74d0e62893 // indirect
)

View File

@@ -7,25 +7,37 @@ title = "Five Devs"
theme = "hugoplate"
# Default time zone for time stamps; use any valid tz database name: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
timeZone = "America/Chicago"
# post pagination
paginate = 2 # see https://gohugo.io/extras/pagination/
# post excerpt
summaryLength = 10 # see https://gohugo.io/content-management/excerpts/
# google analytics
googleAnalytics = "G-MEASUREMENT_ID" # see https://gohugo.io/templates/internal/#configure-google-analytics
# disqus short name
disqusShortname = "themefisher-template" # we use disqus to show comments in blog posts . To install disqus please follow this tutorial https://portfolio.peter-baumgartner.net/2017/09/10/how-to-install-disqus-on-hugo/
# disable language
disableLanguages = [
] # example: ["fr"] for disable french language. see https://gohugo.io/content-management/multilingual/
hasCJKLanguage = false # If hasCJKLanguage true, auto-detect Chinese/Japanese/Korean Languages in the content. see: https://gohugo.io/getting-started/configuration/#hascjklanguage
# default language
defaultContentLanguage = 'en'
# defaultContentLanguageInSubdir need to be true if you want to use the language code as a subdirectory and language specific 404 page
defaultContentLanguageInSubdir = false
########################### Services #############################
[services]
[services.googleAnalytics]
ID = 'G-MEASUREMENT_ID' # see https://gohugo.io/templates/internal/#configure-google-analytics
[services.disqus]
shortname = 'themefisher-template' # we use disqus to show comments in blog posts . To install disqus please follow this tutorial https://portfolio.peter-baumgartner.net/2017/09/10/how-to-install-disqus-on-hugo/
########################## Permalinks ############################
[permalinks.page]
"pages" = "/:slugorfilename/"
########################## Pagination ############################
[pagination]
disableAliases = false
pagerSize = 10
path = 'page'
############################# Modules ############################
[module]
[[module.mounts]]
@@ -70,7 +82,7 @@ home = ["HTML", "RSS", "WebAppManifest", "SearchIndex"]
[imaging]
# See https://github.com/disintegration/imaging
# Default JPEG or WebP quality setting. Default is 75.
quality = 90
quality = 80
resampleFilter = "Lanczos"
############################ Caches ##############################
@@ -144,6 +156,9 @@ lazy = false
link = "plugins/swiper/swiper-bundle.js"
lazy = false
[[params.plugins.js]]
link = "plugins/cookie.js"
lazy = false
[[params.plugins.js]]
link = "plugins/glightbox/glightbox.js"
lazy = true
[[params.plugins.js]]
@@ -159,8 +174,5 @@ lazy = true
link = "js/modal.js"
lazy = true
[[params.plugins.js]]
link = "plugins/cookie.js"
lazy = true
[[params.plugins.js]]
link = "plugins/youtube-lite.js"
lazy = true

View File

@@ -1,32 +1,14 @@
- id: home
translation: Home
- id: read_more
translation: Read More
- id: send
translation: Send
- id: related_posts
translation: Related Posts
- id: categories
translation: Categories
- id: tags
translation: Tags
- id: toc
translation: Table of Contents
- id: share
translation: Share
- id: search_input_placeholder
translation: Search Post ...
- id: no_results_for
translation: No results for
- id: empty_search_results_placeholder
translation: Type something to search..
home: Home
read_more: Read More
send: Send
related_posts: Related Posts
categories: Categories
tags: Tags
toc: Table of Contents
share: Share
search_input_placeholder: Search Post...
search_no_results: No results for
search_initial_message: Type something to search..
search_navigate: to navigate
search_select: to select
search_close: to close

View File

@@ -1,33 +1,39 @@
{
"name": "hugoplate",
"description": "hugo tailwindcss boilerplate",
"version": "1.10.2",
"version": "1.17.0",
"license": "MIT",
"author": "zeon.studio",
"scripts": {
"dev": "hugo server",
"build": "hugo --gc --minify --templateMetrics --templateMetricsHints --forceSyncStatic",
"preview": "hugo server --disableFastRender --navigateToChanged --templateMetrics --templateMetricsHints --watch --forceSyncStatic -e production --minify",
"dev:example": "cd exampleSite; hugo server",
"build:example": "cd exampleSite; hugo --gc --minify --templateMetrics --templateMetricsHints --forceSyncStatic",
"preview:example": "cd exampleSite; hugo server --disableFastRender --navigateToChanged --templateMetrics --templateMetricsHints --watch --forceSyncStatic -e production --minify",
"dev:example": "cd exampleSite && hugo server",
"build:example": "cd exampleSite && hugo --gc --minify --templateMetrics --templateMetricsHints --forceSyncStatic",
"preview:example": "cd exampleSite && hugo server --disableFastRender --navigateToChanged --templateMetrics --templateMetricsHints --watch --forceSyncStatic -e production --minify",
"update-modules": "node ./scripts/clearModules.js && hugo mod clean --all && hugo mod get -u ./... && hugo mod tidy",
"remove-darkmode": "node ./scripts/removeDarkmode.js && yarn format",
"project-setup": "node ./scripts/projectSetup.js",
"theme-setup": "node ./scripts/themeSetup.js",
"update-theme": "node ./scripts/themeUpdate.js",
"format": "prettier -w ."
},
"devDependencies": {
"@fullhuman/postcss-purgecss": "^5.0.0",
"@tailwindcss/forms": "^0.5.7",
"@tailwindcss/typography": "^0.5.10",
"autoprefixer": "^10.4.16",
"postcss": "^8.4.32",
"@tailwindcss/forms": "^0.5.9",
"@tailwindcss/typography": "^0.5.15",
"autoprefixer": "^10.4.20",
"postcss": "^8.4.47",
"postcss-cli": "^11.0.0",
"prettier": "^3.1.1",
"prettier": "^3.3.3",
"prettier-plugin-go-template": "0.0.15",
"prettier-plugin-tailwindcss": "^0.5.9",
"prettier-plugin-tailwindcss": "^0.6.8",
"tailwind-bootstrap-grid": "^5.1.0",
"tailwindcss": "^3.4.0"
"tailwindcss": "^3.4.13"
},
"postcss": {
"plugins": {
"tailwindcss": {},
"autoprefixer": {}
}
}
}

View File

@@ -5,12 +5,12 @@
<p align="center">Made with ♥ by <a href="https://zeon.studio/"> Zeon Studio</a></p>
<p align=center> If you find this project useful, please give it a ⭐ to show your support.</p>
<h2 align="center"> <a target="_blank" href="https://hugoplate.netlify.app/" rel="nofollow">👀 Demo</a> | <a target="_blank" href="https://pagespeed.web.dev/analysis/https-hugoplate-netlify-app/6lyxjw6t4r?form_factor=desktop">Page Speed (95+)🚀</a>
<h2 align="center"> <a target="_blank" href="https://zeon.studio/preview?project=hugoplate" rel="nofollow">👀 Demo</a> | <a target="_blank" href="https://pagespeed.web.dev/analysis/https-hugoplate-netlify-app/6lyxjw6t4r?form_factor=desktop">Page Speed (95+)🚀</a>
</h2>
<p align="center">
<a href="https://github.com/gohugoio/hugo/releases/tag/v0.118.2" alt="Contributors">
<img src="https://img.shields.io/static/v1?label=min-HUGO-version&message=0.118.2&color=f00&logo=hugo" />
<a href="https://github.com/gohugoio/hugo/releases/tag/v0.126.0" alt="Contributors">
<img src="https://img.shields.io/static/v1?label=min-HUGO-version&message=0.126.0&color=f00&logo=hugo" />
</a>
<a href="https://github.com/zeon-studio/hugoplate/blob/main/LICENSE">
@@ -69,7 +69,7 @@ We have included almost everything you need to start your Hugo project. Let's se
- [PostCSS](https://postcss.org/)
- [PurgeCSS](https://purgecss.com/)
- [AutoPrefixer](https://autoprefixer.github.io/)
- [Hugo Modules](https://gohugo.io/hugo-modules/)
- [Hugo Modules](https://gohugo.io/hugo-modules/) by [Gethugothemes](https://gethugothemes.com/hugo-modules)
- [Markdown](https://markdownguide.org/)
- [Prettier](https://prettier.io/)
- [Jshint](https://jshint.com/)
@@ -89,9 +89,9 @@ First you need to [clone](https://github.com/zeon-studio/hugoplate) or [download
To start using this template, you need to have some prerequisites installed on your machine.
- [Hugo Extended v0.115+](https://gohugo.io/installation/)
- [Node v18+](https://nodejs.org/en/download/)
- [Go v1.20+](https://go.dev/doc/install)
- [Hugo Extended v0.124+](https://gohugo.io/installation/)
- [Node v20+](https://nodejs.org/en/download/)
- [Go v1.22+](https://go.dev/doc/install)
### 👉 Project Setup
@@ -149,6 +149,16 @@ You can change the social links from the `data/social.json` file. Add your socia
We have added some custom scripts to make your life easier. You can use these scripts to help you with your development.
### 👉 Update Theme
If you want to update the theme, then you can use the following command. It will update the theme to the latest version.
```bash
npm run update-theme
```
> **Note:** This command will work after running `project-setup` script.
### 👉 Update Modules
We have added a lot of modules to this template. You can update all the modules using the following command.
@@ -159,7 +169,7 @@ npm run update-modules
### 👉 Remove Dark Mode
If you want to remove dark mode from your project, then you have to do it manually from everywhere. So we build a custom script to do it for you. you can use the following command to remove dark mode from your project.
If you want to remove dark mode from your project, you can use the following command to remove dark mode from your project.
```bash
npm run remove-darkmode
@@ -216,8 +226,14 @@ Copyright (c) 2023 - Present, Designed & Developed by [Zeon Studio](https://zeon
## 🖼️ Showcase
List of projects people are building with **Hugoplate**! Have you built a project with Hugoplate? Submit it by creating a pull request and we'll feature it here!
List of some projects people are building with **Hugoplate**!
| [![Open Neuromorphic](https://tinyurl.com/hp7avtje)](https://open-neuromorphic.org/) | [![AI Models](https://tinyurl.com/mu4p7dhb)](https://aimodels.org/) | [![Hugobricks](https://tinyurl.com/4x3uwhm9)](https://www.hugobricks.preview.usecue.com/) |
|:---:|:---:|:---:|
| **Open Neuromorphic** | **AI Models** | **Hugobricks** |
| [![Open Neuromorphic](https://tinyurl.com/hp7avtje)](https://open-neuromorphic.org/) | [![AI Models](https://tinyurl.com/mu4p7dhb)](https://aimodels.org/) | [![Hugobricks](https://tinyurl.com/4x3uwhm9)](https://www.hugobricks.preview.usecue.com/) | [![ONO LLC](https://tinyurl.com/2fbjzwzn)](https://ono.day/)
|:---:|:---:|:---:|:---:|
| **Open Neuromorphic** | **AI Models** | **Hugobricks** | **ONO LLC** |
---
## 💻 Need Customization?
If you need a custom theme, theme customization, or complete website development services from scratch you can [Hire Us](https://zeon.studio/estimate-project).

19
scripts/themeUpdate.js Normal file
View File

@@ -0,0 +1,19 @@
const { exec } = require("child_process");
const repositoryUrl = "https://github.com/zeon-studio/hugoplate";
const localDirectory = "./themes/hugoplate";
const foldersToFetch = ["assets", "layouts"];
const foldersToSkip = ["exampleSite"];
const fetchFolder = (folder) => {
exec(
`curl -L ${repositoryUrl}/tarball/main | tar -xz --strip-components=1 --directory=${localDirectory} --exclude=$(curl -sL ${repositoryUrl}/tarball/main | tar -tz | grep -E "/(${foldersToSkip.join(
"|",
)})/") */${folder}`,
);
};
// Fetch each specified folder
foldersToFetch.forEach((folder) => {
fetchFolder(folder);
});

View File

@@ -6,7 +6,7 @@ const theme = JSON.parse(themeRead);
let font_base = Number(theme.fonts.font_size.base.replace("px", ""));
let font_scale = Number(theme.fonts.font_size.scale);
let h6 = font_base / font_base;
let h6 = font_scale;
let h5 = h6 * font_scale;
let h4 = h5 * font_scale;
let h3 = h4 * font_scale;
@@ -16,13 +16,13 @@ let fontPrimary, fontPrimaryType, fontSecondary, fontSecondaryType;
if (theme.fonts.font_family.primary) {
fontPrimary = theme.fonts.font_family.primary
.replace(/\+/g, " ")
.replace(/:[ital,]*[ital@]*[wght@]*[0-9,;]+/gi, "");
.replace(/:[ital,]*[ital@]*[wght@]*[0-9,;.]+/gi, "");
fontPrimaryType = theme.fonts.font_family.primary_type;
}
if (theme.fonts.font_family.secondary) {
fontSecondary = theme.fonts.font_family.secondary
.replace(/\+/g, " ")
.replace(/:[ital,]*[ital@]*[wght@]*[0-9,;]+/gi, "");
.replace(/:[ital,]*[ital@]*[wght@]*[0-9,;.]+/gi, "");
fontSecondaryType = theme.fonts.font_family.secondary_type;
}
@@ -68,12 +68,13 @@ module.exports = {
},
fontSize: {
base: font_base + "px",
"base-sm": font_base * 0.8 + "px",
h1: h1 + "rem",
"h1-sm": h1 * 0.8 + "rem",
"h1-sm": h1 * 0.9 + "rem",
h2: h2 + "rem",
"h2-sm": h2 * 0.8 + "rem",
"h2-sm": h2 * 0.9 + "rem",
h3: h3 + "rem",
"h3-sm": h3 * 0.8 + "rem",
"h3-sm": h3 * 0.9 + "rem",
h4: h4 + "rem",
h5: h5 + "rem",
h6: h6 + "rem",

View File

@@ -4,7 +4,7 @@ licenselink = "https://github.com/zeon-studio/hugoplate/blob/main/LICENSE"
description = "Hugoplate is a free starter template built with Hugo, and TailwindCSS, providing everything you need to jumpstart your Hugo project and save valuable time."
homepage = "https://github.com/zeon-studio/hugoplate"
demosite = "https://zeon.studio/preview?project=hugoplate"
min_version = "0.118.2"
min_version = "0.134.3"
tags = [
"blog",

View File

@@ -0,0 +1,26 @@
{{ define "main" }}
<section class="section-sm text-center">
<div class="container">
<div class="row justify-center">
<div class="sm:col-10 md:col-8 lg:col-6">
<span
class="text-[8rem] block font-bold text-dark dark:text-darkmode-dark">
404
</span>
<h1 class="h2 mb-4">Page not found</h1>
<div class="content">
<p>
The page you are looking for might have been removed, had its name
changed, or is temporarily unavailable.
</p>
</div>
<a
href="{{ site.BaseURL | relLangURL }}"
class="btn btn-primary mt-8">
Back to home
</a>
</div>
</div>
</div>
</section>
{{ end }}

View File

@@ -13,6 +13,7 @@
<!-- style (always cache it) -->
{{ partialCached "essentials/style.html" . }}
</head>
<body>
@@ -29,6 +30,10 @@
{{ end }}
<!-- announcement -->
{{ partialCached "announcement.html" . }}
<!-- header (don't cache it) -->
{{ partial "essentials/header.html" . }}
{{ partial "search-modal.html" (dict "Context" . ) }}
@@ -38,13 +43,11 @@
{{ block "main" . }}{{ end }}
</main>
<!-- cache partial only in production -->
{{ if hugo.IsProduction }}
{{ partialCached "essentials/footer.html" . }}
{{ partialCached "essentials/script.html" . }}
{{ else }}
{{ partial "essentials/footer.html" . }}
{{ partial "essentials/script.html" . }}
{{ end }}
<!-- footer -->
{{ partial "essentials/footer.html" . }}
<!-- script (always cache it) -->
{{ partialCached "essentials/script.html" . }}
</body>
</html>

View File

@@ -3,7 +3,7 @@
<div class="container">
<div class="row justify-center">
<div class="md:col-10 lg:col-7 text-center">
{{ partial "image" (dict "Src" .Params.image "Alt" .Title "Class" "mx-auto mb-6" "Size" "200x200") }}
{{ partial "image" (dict "Src" .Params.image "Context" .Page "Alt" .Title "Class" "mx-auto mb-6" "Size" "200x200") }}
<h2 class="h3 mb-6">{{ .Title }}</h2>
<div class="content">{{ .Content }}</div>
</div>

View File

@@ -6,7 +6,7 @@
<div class="lg:col-4 text-center">
{{ $image:= .Params.image }}
{{ if $image }}
{{ partial "image" (dict "Src" $image "Alt" .Title "Class" "mx-auto" "Size" "200x200") }}
{{ partial "image" (dict "Src" $image "Context" .Page "Alt" .Title "Class" "mx-auto" "Size" "200x200") }}
{{ else if .Params.Email }}
<img
class="mx-auto"

View File

@@ -6,7 +6,7 @@
{{ $image:= .Params.image }}
{{ if $image }}
<div class="mb-10">
{{ partial "image" (dict "Src" $image "Alt" .Title "Class" "w-full rounded") }}
{{ partial "image" (dict "Src" $image "Context" .Page "Alt" .Title "Class" "w-full rounded") }}
</div>
{{ end }}
<h1 class="h2 mb-4">
@@ -20,49 +20,54 @@
>{{ .Params.author }}
</a>
</li>
<li class="mr-4 inline-block">
<i class="fa-regular fa-folder mr-2"></i>
{{ $categories:= .Params.categories }}
{{ range $i,$p:= $categories }}
<a
href="{{ `categories/` | relLangURL }}{{ . | urlize | lower }}/"
class="ms-1"
>{{ . | humanize }}{{ if ne $i (sub (len $categories) 1) }}
{{ ", " }}
{{ end }}
</a>
{{ end }}
</li>
{{ $categories:= .Params.categories }}
{{ if $categories }}
<li class="mr-4 inline-block">
<i class="fa-regular fa-folder mr-2"></i>
{{ range $i,$p:= $categories }}
<a
href="{{ `categories/` | relLangURL }}{{ . | urlize | lower }}/"
class=""
>{{ . | humanize }}{{ if ne $i (sub (len $categories) 1) }}
{{ "," }}
{{ end }}
</a>
{{ end }}
</li>
{{ end }}
<li class="mr-4 inline-block">
<i class="fa-regular fa-clock mr-2"></i>
{{ time.Format ":date_long" .PublishDate }}
</li>
</ul>
<div class="content mb-10">
{{ partial "toc.html" (dict "Class" "blog" "Collapsed" false "TableOfContents" .TableOfContents ) }}
{{ .Content }}
</div>
<div class="row items-start justify-between">
<div class="lg:col-5 mb-10 flex items-center lg:mb-0">
<h5 class="mr-3">{{ i18n "tags" }} :</h5>
<ul>
{{ $tags:= .Params.tags }}
{{ range $i,$p:= $tags }}
<li class="inline-block">
<a
class="bg-theme-light hover:bg-primary dark:bg-darkmode-theme-light dark:hover:bg-darkmode-primary dark:hover:text-dark m-1 block rounded px-3 py-1 hover:text-white"
href="{{ `tags/` | relLangURL }}{{ . | urlize | lower }}/">
{{ . | humanize }}
</a>
</li>
{{ end }}
</ul>
</div>
{{ $tags:= .Params.tags }}
{{ if $tags }}
<div class="lg:col-5 mb-10 flex items-center lg:mb-0">
<h5 class="mr-3">{{ T "tags" }} :</h5>
<ul>
{{ range $i,$p:= $tags }}
<li class="inline-block">
<a
class="bg-theme-light hover:bg-primary dark:bg-darkmode-theme-light dark:hover:bg-darkmode-primary dark:hover:text-dark m-1 block rounded px-3 py-1 hover:text-white"
href="{{ `tags/` | relLangURL }}{{ . | urlize | lower }}/">
{{ . | humanize }}
</a>
</li>
{{ end }}
</ul>
</div>
{{ end }}
<div class="lg:col-4 flex items-center">
{{ partial "social-share" (dict "Context" . "Class" "share-icons" "Title" (i18n "share") "Whatsapp" false "Telegram" false) }}
{{ partial "social-share" (dict "Context" . "Class" "share-icons" "Title" (T "share") "Whatsapp" false "Telegram" false "Linkedin" false "Pinterest" false "Tumblr" false "Vk" false) }}
</div>
</div>
<!-- comments -->
{{ if site.DisqusShortname }}
{{ if site.Config.Services.Disqus.Shortname }}
<div class="mt-20">
{{ template "_internal/disqus.html" . }}
</div>
@@ -75,10 +80,10 @@
{{ $related = $related | shuffle | first 3 }}
{{ with $related }}
<div class="section pb-0">
<h2 class="h3 mb-12">{{ i18n "related_posts" }}</h2>
<h2 class="h3 mb-12">{{ T "related_posts" }}</h2>
<div class="row">
{{ range . }}
<div class="lg:col-4">
<div class="lg:col-4 md:col-6 mb-14">
{{ partial "components/blog-card" . }}
</div>
{{ end }}

View File

@@ -20,7 +20,7 @@
</div>
<div class="mb-6">
<label for="email" class="form-label">
Email <span class="text-red-500">*</span>
Working Mail <span class="text-red-500">*</span>
</label>
<input
id="email"
@@ -31,7 +31,7 @@
</div>
<div class="mb-6">
<label for="message" class="form-label">
Say a few kind words :) <span class="text-red-500">*</span>
Anything else? <span class="text-red-500">*</span>
</label>
<textarea
id="message"

View File

@@ -2,7 +2,7 @@
class="bg-theme-light dark:bg-darkmode-theme-light rounded p-8 text-center">
{{ $image:= .Params.image }}
{{ if $image }}
{{ partial "image" (dict "Src" $image "Alt" .Title "Class" "mx-auto mb-6 rounded" "size" "120x120") }}
{{ partial "image" (dict "Src" $image "Context" .Page "Alt" .Title "Class" "mx-auto mb-6 rounded" "size" "120x120") }}
{{ else if .Params.Email }}
<img
class="mx-auto mb-6 rounded"

View File

@@ -1,35 +1,37 @@
<div class="bg-body dark:bg-darkmode-body">
{{ $image:= .Params.image }}
{{ if $image }}
{{ partial "image" (dict "Src" $image "Alt" .Title "Class" "mb-6 w-full rounded") }}
{{ partial "image" (dict "Src" $image "Context" .Page "Alt" .Title "Class" "mb-6 w-full rounded") }}
{{ end }}
<h4 class="mb-3">
<a href="{{ .RelPermalink }}">
{{ .Title }}
</a>
</h4>
<ul class="mb-4">
<li class="mr-4 inline-block">
<a href="{{ `authors/` | relLangURL }}{{ .Params.Author | urlize }}/">
<i class="fa-regular fa-circle-user mr-2"></i>{{ .Params.author }}
</a>
</li>
<li class="mr-4 inline-block">
<i class="fa-regular fa-folder mr-2"></i>
{{ $categories:= .Params.categories }}
{{ range $i,$p:= $categories }}
<a
href="{{ `categories/` | relLangURL }}{{ . | urlize | lower }}/"
class="ms-1"
>{{ . | humanize }}{{ if ne $i (sub (len $categories) 1) }}
{{ ", " }}
{{ end }}
{{ $categories:= .Params.categories }}
{{ if $categories }}
<ul class="mb-4">
<li class="mr-4 inline-block">
<a href="{{ `authors/` | relLangURL }}{{ .Params.Author | urlize }}/">
<i class="fa-regular fa-circle-user mr-2"></i>{{ .Params.author }}
</a>
{{ end }}
</li>
</ul>
</li>
<li class="mr-4 inline-block">
<i class="fa-regular fa-folder mr-1"></i>
{{ range $i,$p:= $categories }}
<a
href="{{ `categories/` | relLangURL }}{{ . | urlize | lower }}/"
class="ms-1"
>{{ . | humanize }}{{ if ne $i (sub (len $categories) 1) }}
{{ "," }}
{{ end }}
</a>
{{ end }}
</li>
</ul>
{{ end }}
<p class="mb-6">{{ .Summary }}</p>
<a class="btn btn-outline-primary btn-sm" href="{{ .RelPermalink }}">
{{ i18n "read_more" }}
{{ T "read_more" }}
</a>
</div>

View File

@@ -6,7 +6,7 @@
<ul class="{{ $class }} inline-flex space-x-1 capitalize">
<li>
<a class="text-primary dark:text-darkmode-primary" href="{{ $base }}">
{{ i18n "home" | default "Home" }}
{{ T "home" | default "Home" }}
</a>
<span class="inlin-block mr-1">/</span>
</li>
@@ -16,7 +16,7 @@
<a
class="text-primary dark:text-darkmode-primary"
href="{{ .RelPermalink }}">
{{ .Title }}
{{ T (printf "%s" (lower .Title)) | default .Title }}
</a>
<span class="inlin-block mr-1">/</span>
</li>
@@ -24,7 +24,7 @@
{{ end }}
<li>
<span class="text-primary dark:text-darkmode-primary">
{{ $context.Title }}
{{ T (printf "%s" (lower $context.Title)) | default $context.Title }}
</span>
</li>
</ul>

View File

@@ -1,14 +1,14 @@
<!-- theme switcher -->
{{ $class := .Class }}
{{ if site.Params.theme_switcher }}
<div class="theme-switcher {{ $class }}">
<div class="theme-switcher {{ $class }} hidden">
<input id="theme-switcher" data-theme-switcher type="checkbox" />
<label for="theme-switcher">
<span class="sr-only">theme switcher</span>
<span>
<!-- sun -->
<svg
class="absolute left-[4px] top-[4px] z-10 opacity-100 dark:opacity-0"
class="absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-10 opacity-100 dark:opacity-0"
viewBox="0 0 56 56"
fill="#fff"
height="16"
@@ -18,7 +18,7 @@
</svg>
<!-- moon -->
<svg
class="absolute left-[4px] top-[4px] z-10 opacity-0 dark:opacity-100"
class="absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-10 opacity-0 dark:opacity-100"
viewBox="0 0 24 24"
fill="none"
height="16"
@@ -43,12 +43,17 @@
if (localStorage.getItem("theme") === "dark"){darkMode = true}
else if (localStorage.getItem("theme") === "light"){darkMode = false}
if (darkMode){document.documentElement.classList.toggle("dark")}
var themeSwitch = document.querySelectorAll("[data-theme-switcher]");
if (darkMode){document.documentElement.classList.add("dark")}
else {document.documentElement.classList.remove("dark")}
// Show theme switcher after applying theme
document.addEventListener("DOMContentLoaded", () => {
var themeSwitch = document.querySelectorAll("[data-theme-switcher]");
var themeSwitcherContainer = document.querySelector('.theme-switcher');
[].forEach.call(themeSwitch, function (ts) {
ts.checked = darkMode ? true : false;
ts.checked = darkMode;
ts.addEventListener("click", () => {
document.documentElement.classList.toggle("dark");
localStorage.setItem(
@@ -57,6 +62,9 @@
);
});
});
// Now make the switcher visible
themeSwitcherContainer.classList.remove('hidden');
});
</script>
{{ end }}

View File

@@ -56,3 +56,6 @@
<!-- Crisp Chat -->
{{/* {{ partialCached "crisp-chat.html" . }} */}}
<!-- Mermaid -->
{{ partial "mermaid/assets/js" . }}

View File

@@ -111,7 +111,11 @@
{{ if .enable }}
<button
aria-label="search"
{{ if and (not site.Params.navigation_button.enable) (not site.Params.theme_switcher)}}
class="border-border text-dark hover:text-primary dark:border-darkmode-border mr-5 inline-block border-r lg:border-r-0 pr-5 lg:pr-0 text-xl dark:text-white dark:hover:text-darkmode-primary"
{{ else }}
class="border-border text-dark hover:text-primary dark:border-darkmode-border mr-5 inline-block border-r pr-5 text-xl dark:text-white dark:hover:text-darkmode-primary"
{{ end }}
data-target="search-modal">
<i class="fa-solid fa-search"></i>
</button>

View File

@@ -52,3 +52,7 @@
<!-- google adsense -->
{{ partialCached "adsense-script.html" . }}
<!-- cookie consent -->
{{ partialCached "announcement-script.html" . }}

View File

@@ -52,10 +52,10 @@
{{/* main style */}}
{{ $styles = $styles | append (resources.Get "scss/main.scss" | toCSS) }}
{{ $styles = $styles | resources.Concat "css/style.css" }}
{{ $styles = $styles | resources.PostCSS }}
{{ $styles = $styles | css.PostCSS }}
{{ $stylesLazy = $stylesLazy | resources.Concat "css/style-lazy.css" }}
{{ $stylesLazy = $stylesLazy | resources.PostCSS }}
{{ $stylesLazy = $stylesLazy | css.PostCSS }}
{{ if hugo.IsProduction }}
{{ $styles = $styles | resources.ExecuteAsTemplate "css/style.css" . | minify | fingerprint | resources.PostProcess }}

View File

@@ -2,7 +2,7 @@
<div class="container text-center">
<div
class="from-body to-theme-light dark:from-darkmode-body dark:to-darkmode-theme-light rounded-2xl bg-gradient-to-b px-8 py-14">
<h1>{{ .Title | title }}</h1>
<h1>{{ T (printf "%s" (lower .Title)) | default .Title | title }}</h1>
{{ partial "components/breadcrumb" (dict "Context" . "Class" "mt-6") }}
</div>
</div>

View File

@@ -2,7 +2,7 @@
{{ if isset site.Taxonomies "categories" }}
{{ if not (eq (len site.Taxonomies.categories) 0) }}
<div class="mb-8">
<h5 class="mb-6">{{ i18n "categories" }}</h5>
<h5 class="mb-6">{{ T "categories" }}</h5>
<div class="bg-theme-light dark:bg-darkmode-theme-light rounded p-8">
<ul class="space-y-4">
{{ range $name, $items := site.Taxonomies.categories }}

View File

@@ -2,7 +2,7 @@
{{ if isset site.Taxonomies "tags" }}
{{ if not (eq (len site.Taxonomies.tags) 0) }}
<div class="mb-8">
<h5 class="mb-6">Tags</h5>
<h5 class="mb-6">{{ T "tags" }}</h5>
<div class="bg-theme-light dark:bg-darkmode-theme-light rounded p-6">
<ul>
{{ range $name, $items := site.Taxonomies.tags }}

View File

@@ -1,43 +0,0 @@
#!/bin/bash
# default versions
NODE_VERSION='18.16.1';
GO_VERSION='1.20.5';
HUGO_VERSION='0.118.2';
# install Node.js
# echo "Installing Node.js $NODE_VERSION..."
# curl -sSOL https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}.tar.gz
# tar -xzf node-v${NODE_VERSION}.tar.gz
# export PATH=$PATH:/usr/local/bin
# rm -rf node-v${NODE_VERSION}.tar.gz
echo "USING NODE VERSION: $(node -v)"
# install Go
echo "Installing Go $GO_VERSION..."
curl -sSOL https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz
tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
rm -rf go${GO_VERSION}.linux-amd64.tar.gz
go version
# install Hugo
echo "Installing Hugo $HUGO_VERSION..."
curl -sSOL https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz
tar -xzf hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz
mv hugo /usr/local/bin/
rm -rf hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz
hugo version
# project setup
echo "Project setting up..."
npm run project-setup
# install dependencies
echo "Installing project dependencies..."
npm install
# run the build command
echo "Running the build command..."
npm run build