Skip to content
Shoug Alomran edited this page Aug 30, 2026 · 2 revisions

SHOUG.TECH Digital Garden Wiki

SHOUG.TECH is Shoug Fawaz Alomran's bilingual digital garden, academic platform, and interactive portfolio. It brings together university course material, cybersecurity work, software engineering projects, workshops, professional evidence, and community study tools in one searchable system.

The live platform is available at shoug-tech.com, with GitHub Pages serving the production build.

Current Platform

The current version is a custom static web platform rather than the repository's earlier MkDocs design. The production site is stored in docs/ and contains more than 1,200 generated and hand-maintained pages.

Its main areas are:

  • Academics: Course hubs organized across computer science, software engineering, cybersecurity, mathematics, and other university subjects
  • Study material: Slides, slide breakdowns, summaries, cheat sheets, mind maps, exams, quizzes, resource viewers, and study packs
  • Work: An interactive professional portfolio covering projects, technical experience, cybersecurity work, and Blueprint Studio
  • Workshops: Documented teaching and workshop material, including student tutoring, cybersecurity training, and CTF-related work
  • Resources: Curated technical, academic, and developer resources
  • About and policies: Profile information, copyright terms, academic disclaimer, privacy notice, and security-reporting guidance

Student Features

The platform includes more than static notes. Students can use:

  • Site-wide course and resource search
  • Course manifests and structured academic navigation
  • Account sign-in and personal learning progress
  • Course and section completion tracking
  • Bookmarks for study material
  • A personal calendar and course views
  • Community profiles, discussion features, and leaderboards
  • Embedded quizzes and practice exams
  • PDF, slide, mind-map, and resource viewers
  • Mobile navigation, responsive layouts, and accessibility improvements
  • Light and dark display modes
  • Installable Progressive Web App support and offline behavior

Bilingual Experience

English and Arabic are integrated into the interface and content. The Arabic experience is designed for clarity and natural use rather than literal duplication.

Language controls, page metadata, direction-aware layouts, and Arabic text are maintained throughout the platform where available.

Repository Structure

Path Purpose
docs/ Production website, academic content, assets, styles, scripts, indexes, PWA files, and policy pages
scripts/ Build, content generation, navigation, search, SEO, accessibility, translation, calendar, and validation utilities
.github/workflows/ GitHub Pages deployment and scheduled PSU academic-calendar synchronization
old-design/ Archived MkDocs-based version retained for reference
README.md Repository introduction and project links
SECURITY.md and SECURITY.ar.md English and Arabic vulnerability-reporting guidance

Deployment and Quality Checks

Every push to main triggers the GitHub Pages workflow. Before deployment, the workflow:

  1. Rebuilds the course manifest.
  2. Rebuilds the site search index.
  3. Optimizes the static HTML.
  4. Verifies required site routes.
  5. Checks internal links and assets.
  6. Validates SEO metadata.
  7. Deploys the validated docs/ directory to GitHub Pages.
  8. Submits changed URLs through IndexNow after deployment.

A separate scheduled workflow synchronizes the Prince Sultan University academic calendar each month and commits calendar-data updates when they change.

Search, Discovery, and PWA Support

The repository includes:

  • Search and PDF search indexes
  • robots.txt and XML sitemaps
  • Canonical, metadata, and internal-link validation utilities
  • IndexNow submission for changed URLs
  • A web app manifest, service worker, offline page, and app icons
  • Route aliases and legacy-link support for older site URLs

Development Workflow

This repository currently publishes the static contents of docs/ directly.

Changes should be tested against the same validation sequence used by GitHub Actions:

node scripts/build-course-manifest.js
node scripts/build-search-index.js
python3 scripts/optimize_site_html.py
python3 scripts/verify_site_routes.py
python3 scripts/check_site_links.py
python3 scripts/check_seo_metadata.py