Skip to content

vanviethieuanh/vanviethieuanh.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

109 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

vanviethieuanh.github.io

πŸ‘‹ Personal portfolio and blog β€” vanviethieuanh.github.io

Tech Stack

Layer Technology
Static Site Gen Jekyll 4.3
Markup HTML + Liquid templates
Styling SCSS (Jekyll Sass)
Fonts Google Fonts β€” Oswald, Raleway, Roboto
Syntax Highlight Rouge (Kramdown)
Build Tool Taskfile
Hosting GitHub Pages

Design System

Gruvbox Light + Neo-brutalist aesthetic:

  • Color palette β€” Gruvbox Light with warm, retro tones
    • Background: #fbf1c7 (cream) β†’ #ebdbb2 (subtle)
    • Foreground: #282828 (dark) for text and borders
    • Accents: bright red, green, yellow, blue, purple, aqua, orange
  • Thick borders β€” 3px solid globally using Gruvbox dark0
  • Press effect β€” SCSS mixin for 3D inset shadow + :active shrink on interactive elements
  • Hover animations β€” cards translate up on hover with smooth transitions
  • Typography β€” Raleway (headings), Oswald (dense text), Roboto (body)

Site Structure

β”œβ”€β”€ index.html              # Blog listing page (11+ posts)
β”œβ”€β”€ projects.html           # Projects showcase with grid layout
β”œβ”€β”€ connect.html            # Social links and contact info
β”œβ”€β”€ pixel/                  # Pixel art gallery
β”‚   β”œβ”€β”€ index.html          # Gallery grid
β”‚   └── deer/               # Deer pixel art project
β”œβ”€β”€ _posts/                 # Blog posts (markdown)
β”‚   β”œβ”€β”€ 2024-11-08-github-pages-deployment.md
β”‚   β”œβ”€β”€ 2024-10-20-svg-animations.md
β”‚   └── ...
β”œβ”€β”€ _layouts/               # Jekyll layouts
β”‚   β”œβ”€β”€ default.html        # Base layout
β”‚   β”œβ”€β”€ page.html           # Page layout
β”‚   └── post.html           # Blog post layout
β”œβ”€β”€ _sass/                  # SCSS partials
β”‚   β”œβ”€β”€ _global.scss        # Design tokens, mixins, variables
β”‚   └── _syntax.scss        # Code syntax highlighting
└── assets/
    β”œβ”€β”€ css/main.scss       # Main stylesheet (imports _sass/)
    └── js/                 # JavaScript utilities
        β”œβ”€β”€ code-blocks.js  # Code block enhancements
        └── toc.js          # Table of contents generator

Development

Prerequisites

  • Ruby (rbenv recommended)
  • Bundler
  • Taskfile (optional, for convenience)

Setup

# Clone repository
git clone https://github.com/vanviethieuanh/vanviethieuanh.github.io.git
cd vanviethieuanh.github.io

# Install dependencies
bundle install
# Or with Taskfile
task install

Local Development

# Start development server with live reload
bundle exec jekyll serve --livereload

# Or with Taskfile
task serve

Visit http://localhost:4000 to preview the site.

Build

# Build for production
bundle exec jekyll build

# Or with Taskfile
task build

Available Tasks

task install    # Install Jekyll and dependencies
task serve      # Start dev server with live reload
task build      # Build for production (GitHub Pages)
task clean      # Clean build artifacts
task format     # Format all code files with Prettier

Writing Blog Posts

Create a new markdown file in _posts/ following the naming convention:

YYYY-MM-DD-post-title.md

Front matter example:

---
title: "Your Post Title"
date: 2024-11-08
layout: post
description: "Brief description for meta tags"
---
Your content here...

Deployment

The site automatically deploys to GitHub Pages on push to the main branch. Jekyll builds are handled by GitHub Actions.

About

🌼 My portfolio

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors