Initial commit: Hugo site with PaperMod theme
This commit is contained in:
166
setup-cross-platform.sh
Executable file
166
setup-cross-platform.sh
Executable file
@ -0,0 +1,166 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Remove any previous setup to start fresh
|
||||
rm -rf site
|
||||
mkdir -p site
|
||||
|
||||
# Create hugo.yaml config file
|
||||
cat > site/hugo.yaml << EOF
|
||||
baseURL: "http://localhost:1313/"
|
||||
languageCode: "en-us"
|
||||
title: "Jens Bech's Blog"
|
||||
theme: "PaperMod"
|
||||
|
||||
# Menu items
|
||||
menu:
|
||||
main:
|
||||
- identifier: archive
|
||||
name: Archive
|
||||
url: /archive/
|
||||
weight: 10
|
||||
- identifier: categories
|
||||
name: Categories
|
||||
url: /categories/
|
||||
weight: 20
|
||||
- identifier: tags
|
||||
name: Tags
|
||||
url: /tags/
|
||||
weight: 30
|
||||
- identifier: search
|
||||
name: Search
|
||||
url: /search/
|
||||
weight: 40
|
||||
|
||||
# PaperMod theme specific parameters
|
||||
params:
|
||||
# Theme appearance
|
||||
defaultTheme: auto
|
||||
disableThemeToggle: false
|
||||
|
||||
# Homepage settings
|
||||
profileMode:
|
||||
enabled: true
|
||||
title: "Jens Bech"
|
||||
subtitle: "Welcome to my minimalist blog"
|
||||
imageUrl: "/images/profile.jpg"
|
||||
buttons:
|
||||
- name: Archive
|
||||
url: "/archive/"
|
||||
- name: Categories
|
||||
url: "/categories/"
|
||||
- name: Tags
|
||||
url: "/tags/"
|
||||
|
||||
# Display settings
|
||||
ShowReadingTime: true
|
||||
ShowShareButtons: false
|
||||
ShowPostNavLinks: true
|
||||
ShowBreadCrumbs: true
|
||||
ShowCodeCopyButtons: true
|
||||
hideFooter: false
|
||||
|
||||
# Search settings
|
||||
fuseOpts:
|
||||
isCaseSensitive: false
|
||||
shouldSort: true
|
||||
location: 0
|
||||
distance: 1000
|
||||
threshold: 0.4
|
||||
minMatchCharLength: 0
|
||||
keys: ["title", "permalink", "summary", "content"]
|
||||
EOF
|
||||
|
||||
# Create theme directory
|
||||
mkdir -p site/themes
|
||||
# Clone the PaperMod theme
|
||||
git clone https://github.com/adityatelange/hugo-PaperMod site/themes/PaperMod
|
||||
|
||||
# Create search page
|
||||
mkdir -p site/content
|
||||
cat > site/content/search.md << EOF
|
||||
---
|
||||
title: "Search"
|
||||
layout: "search"
|
||||
summary: "search"
|
||||
---
|
||||
EOF
|
||||
|
||||
# Create archive page
|
||||
cat > site/content/archive.md << EOF
|
||||
---
|
||||
title: "Archive"
|
||||
layout: "archives"
|
||||
url: "/archive/"
|
||||
summary: "archives"
|
||||
---
|
||||
EOF
|
||||
|
||||
# Create example blog posts
|
||||
mkdir -p site/content/posts
|
||||
|
||||
# Get current date - works on both systems
|
||||
CURRENT_DATE=$(date +"%Y-%m-%d")
|
||||
|
||||
# Calculate tomorrow's date in a cross-platform way
|
||||
# First try macOS syntax
|
||||
if date -v+1d &>/dev/null; then
|
||||
# macOS date command
|
||||
TOMORROW=$(date -v+1d +"%Y-%m-%d")
|
||||
elif date -d "+1 day" &>/dev/null; then
|
||||
# Linux date command
|
||||
TOMORROW=$(date -d "+1 day" +"%Y-%m-%d")
|
||||
else
|
||||
# Fallback - just use current date for both
|
||||
TOMORROW=$CURRENT_DATE
|
||||
fi
|
||||
|
||||
cat > site/content/posts/first-post.md << EOF
|
||||
---
|
||||
title: "My First Post"
|
||||
date: ${CURRENT_DATE}
|
||||
draft: false
|
||||
tags: ["blog", "tech"]
|
||||
categories: ["personal"]
|
||||
author: "Jens Bech"
|
||||
---
|
||||
|
||||
# Hello World!
|
||||
|
||||
This is my first blog post using the PaperMod theme. It's a clean, elegant theme with great features:
|
||||
|
||||
## Features
|
||||
|
||||
- Light/Dark mode toggle
|
||||
- Clean design with good typography
|
||||
- Mobile-friendly interface
|
||||
- Fast loading times
|
||||
- Search capability
|
||||
- Archive view for browsing all posts
|
||||
EOF
|
||||
|
||||
cat > site/content/posts/second-post.md << EOF
|
||||
---
|
||||
title: "Getting Started with Hugo"
|
||||
date: ${TOMORROW}
|
||||
draft: false
|
||||
tags: ["hugo", "guide"]
|
||||
categories: ["tutorials"]
|
||||
author: "Jens Bech"
|
||||
---
|
||||
|
||||
# Getting Started with Hugo
|
||||
|
||||
Hugo is an amazing static site generator that makes blogging a breeze!
|
||||
|
||||
## Why Hugo?
|
||||
|
||||
- Blazing fast performance
|
||||
- Flexible content management
|
||||
- Simple deployment
|
||||
- Great theme ecosystem
|
||||
EOF
|
||||
|
||||
# Create directory for images
|
||||
mkdir -p site/static/images
|
||||
|
||||
echo "Hugo site with PaperMod theme properly set up! Now run the Docker container."
|
Reference in New Issue
Block a user