Skip to content

cSh4rk/cSh4rk.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personal cybersecurity & growth website + open-source CyberShark Jekyll theme with hacker/cyberpunk aesthetic.

Nima’s Website ⚔

GitHub Pages No Tracking / Privacy-Respecting Optimized & Lightning Fast SEO Optimized Responsive Design

Last Updated Quick Demo / Live Site
Ruby Version Jekyll Version Node Version npm Version

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.

Technology Overview

  • 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.

Usage / Local Build & Deployment Instructions

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.

0. Clone the repository

git clone https://github.com/cSh4rk/cSh4rk.github.io.git
cd nima.ninja

1. Install dependencies

bundle install     # Install Ruby gems (including Jekyll)
npm install        # Install Node dependencies

2. Preview changes locally

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.

3. Build the website

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.

4. Deploy to gh-pages branch

# 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."
}


About the Theme: CyberShark Edition Hacker Theme 🦈

Jekyll Theme Ruby Cyberpunk Style CyberShark Variant
Jekyll SEO Tag Jekyll Paginate Jekyll Sitemap Jekyll TOC

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:

Key Features

  • ✔ 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.



License

CC0 CC BY 4.0

  • 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.