Skip to content

Commit 55ddb4b

Browse files
Initial commit: Academic website setup
Set up Hugo academic website with PaperMod theme including: - Profile page with bio and social links - Publications section with example - Blog section with welcome post - GitHub Actions workflow for automated deployment - Search functionality 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
0 parents  commit 55ddb4b

18 files changed

Lines changed: 673 additions & 0 deletions

File tree

.github/workflows/hugo.yml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# Workflow for building and deploying a Hugo site to GitHub Pages
2+
name: Deploy Hugo site to Pages
3+
4+
on:
5+
# Runs on pushes targeting the default branch
6+
push:
7+
branches:
8+
- main
9+
10+
# Allows you to run this workflow manually from the Actions tab
11+
workflow_dispatch:
12+
13+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
14+
permissions:
15+
contents: read
16+
pages: write
17+
id-token: write
18+
19+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
20+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
21+
concurrency:
22+
group: "pages"
23+
cancel-in-progress: false
24+
25+
# Default to bash
26+
defaults:
27+
run:
28+
shell: bash
29+
30+
jobs:
31+
# Build job
32+
build:
33+
runs-on: ubuntu-latest
34+
env:
35+
HUGO_VERSION: 0.152.2
36+
steps:
37+
- name: Install Hugo CLI
38+
run: |
39+
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
40+
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
41+
- name: Install Dart Sass
42+
run: sudo snap install dart-sass
43+
- name: Checkout
44+
uses: actions/checkout@v4
45+
with:
46+
submodules: recursive
47+
fetch-depth: 0
48+
- name: Setup Pages
49+
id: pages
50+
uses: actions/configure-pages@v4
51+
- name: Install Node.js dependencies
52+
run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
53+
- name: Build with Hugo
54+
env:
55+
HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache
56+
HUGO_ENVIRONMENT: production
57+
TZ: America/Los_Angeles
58+
run: |
59+
hugo \
60+
--gc \
61+
--minify \
62+
--baseURL "${{ steps.pages.outputs.base_url }}/"
63+
- name: Upload artifact
64+
uses: actions/upload-pages-artifact@v3
65+
with:
66+
path: ./public
67+
68+
# Deployment job
69+
deploy:
70+
environment:
71+
name: github-pages
72+
url: ${{ steps.deployment.outputs.page_url }}
73+
runs-on: ubuntu-latest
74+
needs: build
75+
steps:
76+
- name: Deploy to GitHub Pages
77+
id: deployment
78+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Hugo
2+
/public/
3+
/resources/_gen/
4+
/assets/jsconfig.json
5+
hugo_stats.json
6+
7+
# OS
8+
.DS_Store
9+
Thumbs.db
10+
11+
# Temporary files
12+
*~
13+
*.swp
14+
*.swo
15+
.hugo_build.lock
16+
17+
# IDE
18+
.vscode/
19+
.idea/
20+
21+
# Node
22+
node_modules/
23+
package-lock.json

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[submodule "themes/hugo-blox-builder"]
2+
path = themes/hugo-blox-builder
3+
url = https://github.com/HugoBlox/hugo-blox-builder.git
4+
[submodule "themes/PaperMod"]
5+
path = themes/PaperMod
6+
url = https://github.com/adityatelange/hugo-PaperMod.git

README.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Academic Website
2+
3+
Personal academic website built with Hugo and the Hugo Blox (Academic) theme.
4+
5+
## Quick Start
6+
7+
### Preview Locally
8+
9+
To preview your site locally:
10+
11+
```bash
12+
./hugo server -D
13+
```
14+
15+
Then visit `http://localhost:1313` in your browser.
16+
17+
### Content Structure
18+
19+
- `content/authors/admin/_index.md` - Your bio and profile information
20+
- `content/publication/` - Your publications
21+
- `content/post/` - Blog posts
22+
- `hugo.toml` - Main site configuration
23+
24+
### Customization
25+
26+
1. **Update your profile**: Edit `content/authors/admin/_index.md`
27+
2. **Site settings**: Edit `hugo.toml` to change:
28+
- `baseURL` to your GitHub Pages URL (e.g., `https://username.github.io/`)
29+
- `title` to your name
30+
- Contact information in the `[params]` section
31+
3. **Add publications**: Create new folders in `content/publication/` with an `index.md` file
32+
4. **Write blog posts**: Create new folders in `content/post/` with an `index.md` file
33+
34+
### Deployment to GitHub Pages
35+
36+
1. Create a new repository on GitHub (e.g., `username.github.io`)
37+
2. Push this code to the repository:
38+
```bash
39+
git add .
40+
git commit -m "Initial commit"
41+
git branch -M main
42+
git remote add origin https://github.com/username/username.github.io.git
43+
git push -u origin main
44+
```
45+
3. In your GitHub repository, go to Settings > Pages
46+
4. Under "Build and deployment", set Source to "GitHub Actions"
47+
5. The site will automatically deploy when you push changes to the main branch
48+
49+
### Adding Content
50+
51+
#### Add a Publication
52+
53+
```bash
54+
./hugo new content/publication/my-paper/index.md
55+
```
56+
57+
Then edit the created file with your publication details.
58+
59+
#### Add a Blog Post
60+
61+
```bash
62+
./hugo new content/post/my-post/index.md
63+
```
64+
65+
Then edit the created file with your post content.
66+
67+
## Resources
68+
69+
- [Hugo Documentation](https://gohugo.io/documentation/)
70+
- [Hugo Blox Documentation](https://docs.hugoblox.com/)
71+
- [Markdown Guide](https://www.markdownguide.org/)
72+
73+
## License
74+
75+
This website template is based on Hugo Blox, which is licensed under the MIT License.

archetypes/default.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
+++
2+
date = '{{ .Date }}'
3+
draft = true
4+
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
5+
+++

content/_index.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
# Leave the homepage title empty to use the site title
3+
title: ''
4+
date: 2024-10-30
5+
type: landing
6+
7+
design:
8+
# Default section spacing
9+
spacing: "6rem"
10+
11+
sections:
12+
- block: resume-biography-3
13+
content:
14+
# Choose a user profile to display (a folder name within `content/authors/`)
15+
username: admin
16+
text: ""
17+
design:
18+
css_class: dark
19+
background:
20+
color: black
21+
image:
22+
# Add your image background to `assets/media/`.
23+
filename: bg-triangles.svg
24+
filters:
25+
brightness: 1.0
26+
size: cover
27+
position: center
28+
parallax: false
29+
30+
- block: collection
31+
content:
32+
title: Recent Publications
33+
text: ""
34+
filters:
35+
folders:
36+
- publication
37+
exclude_featured: false
38+
design:
39+
view: citation
40+
41+
- block: collection
42+
id: posts
43+
content:
44+
title: Recent Posts
45+
subtitle: ''
46+
text: ''
47+
# Page type to display. E.g. post, talk, publication...
48+
page_type: post
49+
# Choose how many pages you would like to display (0 = all pages)
50+
count: 5
51+
# Filter on criteria
52+
filters:
53+
author: ""
54+
category: ""
55+
tag: ""
56+
exclude_featured: false
57+
exclude_future: false
58+
exclude_past: false
59+
publication_type: ""
60+
# Choose how many pages you would like to offset by
61+
offset: 0
62+
# Page order: descending (desc) or ascending (asc) date.
63+
order: desc
64+
design:
65+
# Choose a layout view
66+
view: compact
67+
columns: '2'
68+
---

content/about.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
title: "About"
3+
layout: "about"
4+
url: "/about/"
5+
summary: about
6+
---
7+
8+
## About Me
9+
10+
I am an academic researcher at the University of Warwick. My research focuses on [your research areas].
11+
12+
## Research Interests
13+
14+
- Research Area 1
15+
- Research Area 2
16+
- Research Area 3
17+
18+
## Education
19+
20+
- **PhD in [Your Field]**, University Name, 2020
21+
- **MSc in [Your Field]**, University Name, 2015
22+
- **BSc in [Your Field]**, University Name, 2013
23+
24+
## Contact
25+
26+
- **Email**: your.email@warwick.ac.uk
27+
- **Office**: Department, University of Warwick, Coventry, UK
28+
29+
Feel free to reach out if you'd like to discuss potential collaborations or have questions about my research.

content/authors/admin/_index.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
# Display name
3+
title: Your Name
4+
5+
# Full name (for SEO)
6+
first_name: Your
7+
last_name: Name
8+
9+
# Status emoji
10+
status:
11+
icon: 🎓
12+
13+
# Is this the primary user of the site?
14+
superuser: true
15+
16+
# Role/position/tagline
17+
role: Academic Researcher
18+
19+
# Organizations/Affiliations to display in biography blox
20+
organizations:
21+
- name: University of Warwick
22+
url: https://warwick.ac.uk/
23+
24+
# Short bio (displayed in user profile at end of posts)
25+
bio: My research interests include [your research areas].
26+
27+
# Interests to show in About widget
28+
interests:
29+
- Artificial Intelligence
30+
- Computational Linguistics
31+
- Information Retrieval
32+
33+
# Education to show in About widget
34+
education:
35+
courses:
36+
- course: PhD in [Your Field]
37+
institution: University Name
38+
year: 2020
39+
- course: MSc in [Your Field]
40+
institution: University Name
41+
year: 2015
42+
- course: BSc in [Your Field]
43+
institution: University Name
44+
year: 2013
45+
46+
# Social/Academic Networking
47+
profiles:
48+
- icon: at-symbol
49+
url: 'mailto:your.email@warwick.ac.uk'
50+
label: E-mail Me
51+
- icon: brands/x
52+
url: https://twitter.com/yourusername
53+
- icon: brands/github
54+
url: https://github.com/yourusername
55+
- icon: brands/linkedin
56+
url: https://www.linkedin.com/in/yourprofile
57+
- icon: academicons/google-scholar
58+
url: https://scholar.google.com/
59+
- icon: academicons/orcid
60+
url: https://orcid.org/
61+
62+
# Highlight the author in author lists? (true/false)
63+
highlight_name: true
64+
---
65+
66+
## About Me
67+
68+
I am an academic researcher at the University of Warwick. My research focuses on [your research areas].
69+
70+
I am currently working on [brief description of current research].
71+
72+
## Research Interests
73+
74+
- Research Area 1
75+
- Research Area 2
76+
- Research Area 3
77+
78+
## Contact
79+
80+
Feel free to reach out if you'd like to discuss potential collaborations or have questions about my research.

content/post/_index.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: "Blog"
3+
---
4+
5+
Welcome to my blog where I share thoughts on research, teaching, and academic life.

0 commit comments

Comments
 (0)