Personal blog and portfolio website built with Jekyll and Beautiful Jekyll theme, hosted on GitHub Pages.
This is my personal space on the internet where I share insights and write about topics that interest me, including:
- π° Money & Finance
βοΈ Travel- π£οΈ English
- π» Code & Technology
- π Book Summaries
Visit the live site at: https://mazino2d.github.io
- Clean and responsive design using Beautiful Jekyll theme
- Blog posts with tags and categories
- About me page
- Social media integration
- Comment system support (Disqus, Giscus, Utterances)
- Google Analytics integration
- SEO optimized
- Jekyll: Static site generator
- Beautiful Jekyll: Theme template
- GitHub Pages: Hosting platform
- Markdown: Content writing
- HTML/CSS/JavaScript: Frontend
- Ruby (2.5.0 or higher)
- RubyGems
- Bundler
- Jekyll
-
Clone the repository:
git clone https://github.com/mazino2d/mazino2d.github.io.git cd mazino2d.github.io -
Install dependencies:
bundle install
-
Run the local server:
bundle exec jekyll serve -
Open your browser and navigate to:
http://localhost:4000
The site will automatically rebuild when you make changes to the source files.
This project uses pre-commit hooks to automatically check code quality before each commit.
- Markdown Linting: Uses
markdownlint-cli2(Node.js) to enforce Markdown style guidelines - YAML Linting: Uses
yamllint(Conda) to validate YAML syntax and formatting
-
Install pre-commit:
# macOS brew install pre-commit # or using pip pip install pre-commit
-
Install the git hook scripts:
pre-commit install
-
Pre-commit will automatically create isolated environments and install dependencies:
- Node.js environment for
markdownlint-cli2 - Conda environment for
yamllint
The first run will take time to set up these environments.
- Node.js environment for
To run pre-commit hooks on all files manually:
pre-commit run --all-filesTo run pre-commit on specific files:
pre-commit run --files path/to/file.mdTo run a specific hook:
# Lint Markdown only
pre-commit run lint-markdown --all-files
# Lint YAML only
pre-commit run lint-yaml --all-filesThe pre-commit configuration is in .pre-commit-config.yaml:
- lint-markdown: Checks all
.mdfiles using markdownlint-cli2 (runs in Node.js environment) - lint-yaml: Checks all
.yamland.ymlfiles using yamllint (runs in Conda environment)
Both tools run in isolated environments managed by pre-commit, so you don't need to install them manually.
If pre-commit fails:
- Review the error messages
- Fix the issues in your files
- Stage the fixes:
git add . - Try committing again
To skip pre-commit hooks (not recommended):
git commit --no-verify.
βββ _config.yml # Site configuration
βββ _posts/ # Blog posts
βββ _layouts/ # Page layouts
βββ _includes/ # Reusable components
βββ _data/ # Data files
βββ assets/ # Static assets (CSS, JS, images)
βββ aboutme.md # About page
βββ tags.html # Tags page
βββ index.html # Homepage
-
Create a new Markdown file in the
_postsdirectory with the naming format:YYYY-MM-DD-title.md -
Add front matter at the top of the file:
--- layout: post title: Your Post Title subtitle: Optional subtitle tags: [tag1, tag2] comments: true ---
-
Write your content in Markdown below the front matter.
-
Commit and push to GitHub. The site will automatically rebuild.
Edit _config.yml to customize:
- Site title and description
- Author information
- Navigation links
- Social media links
- Analytics tracking
- Comment system settings
This project uses the Beautiful Jekyll theme. See LICENSE for details.
- Email: mazino2d@gmail.com
- GitHub: @mazino2d
- Beautiful Jekyll - Theme by Dean Attali
- GitHub Pages - Hosting platform
- Jekyll - Static site generator