A personal blog documenting vulnerability research, web security, mobile security, and application security writeups.
Live site: https://thuri.10.github.io
The CI build pins specific versions. Use these for local development:
- Hugo extended
0.161.1(must be the extended variant for Dart Sass support) - Dart Sass
1.90.0 - Go
1.26.1 - Node.js
22.18.0
# Install Node.js dependencies (husky, prettier, lint-staged)
npm install
# Start the development server
hugo serverhugo --gc --minify --enableGitInfo --forceSyncStaticUses the DoIt Hugo theme as a git submodule.
# Add theme (one-time setup)
git submodule add https://github.com/HEIGE-PCloud/DoIt.git themes/DoIt
# Update to latest theme version
git submodule update --remote --merge- Posts:
content/posts/- Markdown files with YAML frontmatter - About page:
content/about/index.md - Author data:
data/authors/ - Images:
assets/directory (referenced via{{< image >}}shortcode)
hugo new posts/my-new-post.mdThe archetype generates YAML frontmatter with sensible defaults. Posts are created as drafts - set draft: false when ready to publish.
---
title: "Post Title"
date: 2025-07-14T17:22:36+03:00
draft: true
authors: [Thuri]
lightgallery: true
tags: ["appsec", "websec"]
series: ["PortSwigger Labs"]
summary: "Short summary for SEO."
description: "Longer description for SEO."
toc:
enable: true
auto: false
---- Prettier runs on
*.{js,css,md}via lint-staged + husky pre-commit hook - Config in
.prettierrc.json: 4-space indent, double quotes, ES5 trailing commas
Pushing to the development branch triggers the GitHub Actions workflow which builds Hugo and deploys to GitHub Pages.
Pull requests to development trigger a build validation without deployment.
Content is licensed under CC BY-NC 4.0.