Personal blog generated by jekyll on github pages
- Jekyll 4.2.0 - Static site generator
- GitHub Pages - Hosting and deployment
- SCSS/Sass - CSS preprocessing
- Markdown - Content authoring
- HTMLHint & Stylelint - Code quality
- Google Analytics - Traffic tracking
- GitHub Actions - Automated workflows
This project uses HTMLHint and Stylelint for code quality. A pre-commit hook automatically runs linters before committing.
Available commands:
npm run lint- Run HTML lintingnpm run lint:scss- Run SCSS lintingnpm run lint:scss:fix- Auto-fix SCSS issues
Configuration:
- HTML rules:
.htmlhintrc - SCSS rules:
.stylelintrc.json
Automated code quality checks run before each commit using Husky:
Setup location: .husky/pre-commit
To modify the hooks:
- Edit
.husky/pre-committo add/remove linting steps - Use
npm run prepareto reinstall hooks after changes - Add
--no-verifyto git commit to skip hooks temporarily
Create blog posts from anywhere using GitHub Issues:
-
Create a new issue:
- Open GitHub mobile app
- Navigate to repository and tap "+" for new issue
- Title: Your post title
- Body: Your post content in markdown
-
Add tags (optional):
- Include line:
Tags: tag1, tag2in the issue body
- Include line:
-
Working with drafts:
- Create issue without the "new-post" label
- Continue editing until ready
- Add the "new-post" label when ready to publish
-
Publish post:
- First create the issue WITHOUT the "new-post" label
- Add the "new-post" label when ready to publish
- Workflow creates properly formatted post file
- Issue is automatically closed with link to published post
-
Edit existing posts:
- Navigate to
_postsfolder in GitHub - Edit the markdown file directly
- Navigate to
Images are automatically optimized when added or modified in the repository:
-
How it works:
- GitHub Actions workflow runs whenever images are added or modified
- Uses the Calibre image optimization engine to compress images
- JPEG and PNG files are compressed to 80% quality (good balance of size/quality)
- Optimized images are automatically committed back to the repository
-
Adding images:
- Place images in the
assetsfolder - Reference in posts using markdown:
 - Optimization happens automatically on commit
- Place images in the
-
Manual optimization:
- You can manually trigger optimization by running the workflow from the Actions tab
- Select the "optimize-images" workflow and click "Run workflow"