Personal cybersecurity & growth website + open-source CyberShark Jekyll theme with hacker/cyberpunk aesthetic.
This repository hosts my personal website, https://nima.ninja, a digital diary and knowledge hub for practical cybersecurity, technology, and personal growth.
The website is organized into three main sections:
- Blog: Practical insights, tutorials, and notes on technology, cybersecurity, personal growth, and more.
- Books: Curated book recommendations covering technology, cybersecurity, science, personal growth, and other practical learning topics.
- Links: Curated web resources on technology, cybersecurity, productivity, and life, designed to help you learn, grow, and stay inspired.
The website is:
- Fully open-source — reusable theme
- Privacy-focused — no tracking by default
- Lightning-fast — optimized build & critical CSS
- Responsive — works on mobile & desktop
- SEO-friendly — structured for discoverability
It is powered by CyberShark Edition, a custom enhanced version of the Jekyll Hacker Theme, combining minimalistic hacker aesthetics with modern features, cyberpunk neon styling, and developer-friendly optimizations.
- Jekyll — fast static site generator
- Ruby — programming language for Jekyll
- GitHub Pages — hosting platform
- Modern cyberpunk/neon aesthetics
- Developer-friendly features: pagination, table of contents, automated RSS, smart image handling
The site uses Jekyll plugins like: jekyll-seo-tag
, jekyll-paginate
, jekyll-sitemap
, jekyll-toc
for optimized functionality.
You can preview your changes locally, run the full automated build pipeline, and deploy the site to gh-pages
. The site uses Jekyll for static site generation, PostCSS & PurgeCSS for optimized CSS, Critical CSS inlining, and JS minification via npm scripts.
git clone https://github.com/cSh4rk/cSh4rk.github.io.git
cd nima.ninja
bundle install # Install Ruby gems (including Jekyll)
npm install # Install Node dependencies
To see your changes live before final build:
bundle exec jekyll serve
- Access the site at
http://127.0.0.1:4000
. - Make edits, then refresh the page to preview updates.
Note: Local preview rewrites URLs to 127.0.0.1
, so do not use this version for final deployment.
Run the full automated build pipeline:
npm run build
This will:
- Build the site with Jekyll (first pass).
- Remove unused CSS via PostCSS + PurgeCSS.
- Copy a temporary minified CSS backup.
- Generate critical CSS for home, posts, and pages (mobile, tablet, desktop).
- Minify inline JS scripts.
- Rebuild Jekyll site (second pass) to inject critical CSS and inline JS.
- Minify JS files.
- Restore the full PurgeCSS-generated CSS to the
_site
folder.
After the build completes, the fully optimized site is ready in _site
and can be deployed.
# Switch to gh-pages branch
git checkout gh-pages
# Ensure .gitignore contains only:
# _site/, CNAME, css/main.original.css, node_modules/, .jekyll-cache/
git add .gitignore
git commit -m "Fix .gitignore for gh-pages"
# Clean branch root while keeping .git, .gitignore, CNAME, node_modules
Get-ChildItem -Force | Where-Object {
$_.Name -notin @('.git', '.gitignore', 'node_modules', '_site')
} | Remove-Item -Recurse -Force
# Remove temporary Jekyll cache if exists
if (Test-Path ".jekyll-cache") { Remove-Item -Recurse -Force .jekyll-cache }
# Copy freshly built _site contents into repo root
robocopy "_site" "." /E
# Stage all changes
git add .
# Show staged changes
git status
# Commit & push automatically if there are changes
if (-not (git diff --cached --quiet)) {
git commit -m "Update site from _site"
git push origin gh-pages
} else {
Write-Output "No changes to commit. Nothing to push."
}
CyberShark Edition is a fully open-source, enhanced version of the Hacker theme and the Hacker-Blog theme. It introduces multiple improvements while preserving the minimalistic, hacker-friendly design:
- ✔ Multiple post categories (Blog, Books, Links, or more).
- ✔ Post tags with counts display.
- ✔ Site footer with social media links: Discord, GitHub, X, Mastodon, and optional TryHackMe and HackTheBox profile badges, configurable via
_config.yml
. - ✔ Show updated date in posts in addition to published date.
- ✔ Smart image format selector plugin: AVIF → WebP → original format, with customizable attributes (
width
,height
,alt
,loading
,fetchpriority
,first_format
,decoding
,classname
). - ✔ Expanded page styles: hover effects, fragment highlight animations, responsive classes, and more.
- ✔ Fully automated local build pipeline: PurgeCSS for CSS, Terser for JS, custom PostCSS for pre-Critical CSS sanitizing, Critical CSS inlining for multiple layouts/viewports.
- ✔ Favicon automatically chosen based on device.
- ✔ Fixed and completed RSS feed.
- ✔ Modern Cyberpunk Neon navigation buttons.
- ✔ security.txt file with automated expire date update.
- ✔ SEO and accessibility improvements: ARIA attributes, robots rules, pagination, smooth fragment scroll.
- ✔ Jekyll plugin to remove deprecated ARIA roles from footnotes.
- ✔ Back to Top button for scrolled pages.
- ✔ Particles effect with customizable color palettes.
- ✔ Automatic Table of Contents with selectable placement per post.
All changes are made with ❤. Feel free to use this theme for your own projects.
- Templates & website code (including modifications to CC0-based Hacker Theme derivatives): CC0 1.0 Universal — free to use, modify, and redistribute with no obligations.
- Posts, Articles & Tutorials (all topics): CC BY 4.0 International — free to use, modify, and redistribute with attribution to Nima.
- Third-party resources: retain their original licenses; see references in posts, pages, or code files.