Personal academic/portfolio website built with Jekyll and hosted on GitHub Pages.
_config.yml # Main site configuration (title, author info, URLs, plugins)
_config_docker.yml # Overrides url for local Docker preview
Gemfile # Ruby gem dependencies
Dockerfile # Docker image definition
docker-compose.yaml # Docker Compose config for local preview
_data/ # Structured data files (navigation, CV, authors)
_pages/ # Static pages (about, CV, publications, projects, etc.)
_pages_content/ # Markdown source for page body content
_posts/ # Blog posts (YYYY-MM-DD-title.md)
_projects/ # Project entries (one .md file per project)
_publications/ # Publication entries (one .md file per publication)
_includes/ # Reusable HTML partials
_layouts/ # Page layout templates
assets/ # JS, CSS overrides
images/ # Images used across the site
files/ # Downloadable files (e.g. CV PDF)
Edit _config.yml to update:
title,name,description,urlauthorblock: avatar, bio, social links, email, ORCID, GitHub, etc.- Navigation and plugin settings
- Static page HTML/front matter:
_pages/<page>.html - Page body content (Markdown):
_pages_content/<page>.md
Create a new file in _posts/ following the naming convention:
_posts/YYYY-MM-DD-your-post-title.md
Minimal front matter:
---
title: "Post Title"
date: YYYY-MM-DD
permalink: /posts/YYYY/MM/your-post-title/
tags:
- tag1
---Add a new .md file to _projects/:
---
title: "Project Title"
excerpt: "Short description"
collection: projects
date: YYYY-MM-DD
header:
teaser: images/your-image.png
---
Full project description here.Add a new .md file to _publications/:
---
title: "Paper Title"
collection: publications
permalink: /publication/YYYY-MM-DD-short-title
date: YYYY-MM-DD
venue: "Conference or Journal Name"
paperurl: "https://link-to-paper"
excerpt: "Brief abstract or summary."
---- CV JSON data:
_data/cv.json - Navigation menus:
_data/navigation.yml
Prerequisites: Ruby ≥ 3.0, Bundler
# Install dependencies
bundle install
# Serve with live reload
bundle exec jekyll serve -l -H localhost --config _config.yml
# Site available at http://localhost:4000Prerequisites: Docker, Docker Compose
# Build and start the container
docker compose up --build
# Site available at http://localhost:4000The Docker setup mounts the repo directory into the container, so file changes are reflected live.
This site is automatically deployed to GitHub Pages when changes are pushed to the master branch.
git add .
git commit -m "your commit message"
git push origin masterGitHub Actions (or the built-in GitHub Pages Jekyll builder) will rebuild and publish the site at https://hiimmuc.github.io within a few minutes.
Note: Only commit built assets and source files. The
_site/directory is generated automatically by GitHub Pages and does not need to be committed.
LinkedIn: Phgnam Dang
Email: phgnam1811.vn@gmail.com
LeetCode: hiimmuc
HackerRank: hi_im_muc