This guide provides technical details on the architecture, maintenance, and deployment of the Telecom Security Library.
The repository is built as a custom static site generator. Content is managed via YAML and JSON files, which are used to generate the final HTML pages.
generate-from-yaml.js: Core script that parsescontent/anddocuments/metadata to generate category and index pages.generate-pages.js: Manages the generation of individual technical deep-dive pages.optimize-images.js: Handles image optimization and sitemap generation for images.generate-sitemap.js: Generates the mainsitemap.xml.
- Node.js (v14 or later)
- npm
npm install- Generate Pages: Rebuild all static pages from metadata.
npm run generate:yaml
- Start Local Server: View the site at
http://localhost:8080.npm start
Update content/videos.yaml with the video metadata (ID, title, description, categories).
Details of research papers are managed within the respective category directories or the primary metadata files used by the generation scripts.
Always run the optimization script after adding new images:
npm run optimize:imagesThe project implements several advanced SEO strategies:
- JSON-LD: Structured data for
WebSite,VideoObject,Person, andCollectionPage. - Sitemaps: Automated generation for pages, images, and videos.
- Performance: Lighthouse-optimized loading and image formats (WebP).
The site is automatically deployed to GitHub Pages via GitHub Actions on every push to the main branch.
- Workflow:
.github/workflows/gh-pages.ymlhandles the build and deployment. - Custom Domain: Configured via the
CNAMEfile (points tolibrary.telco-sec.com).
- Push changes to the
mainbranch. - The GitHub Action "Deploy to GitHub Pages" will automatically trigger.
- Monitor progress in the Actions tab of the repository.
- Custom Domain:
library.telco-sec.com - GitHub URL:
https://telcosec.github.io/Telecom-Security-Documents
- Site not updating: Ensure you ran
npm run buildlocally before pushing, or wait for the GitHub Action to complete. - 404 Errors: Check if the page was generated during the last build step.
- Missing Images: Verify image paths and run
npm run optimize:images.
Maintained by the TelcoSec Team