Skip to content

ICS-Security-Switzerland/web_icssec.ch

Repository files navigation

pages-build-deploy-jekyll

ICS Security Switzerland Website

Official website of ICS Security Switzerland — built with Jekyll and hosted on GitHub Pages - www.icssec.ch

This project supports both:

  • 🧩 Local development on macOS / Linux / Windows
  • 💻 GitHub Codespaces (preconfigured container environment)

🚀 Quick Start (GitHub Codespaces)

  1. Open the repository in GitHub Codespaces
    → GitHub will automatically create a preconfigured environment with Ruby and Bundler installed.

  2. Wait for initialization to complete
    (the postCreateCommand runs bundle install automatically)

  3. Start the local preview server:

    npm run dev

    or directly:

    bundle exec jekyll serve --host 0.0.0.0 --livereload --port 4000
  4. Open the forwarded port (4000) in your browser preview:

    http://localhost:4000
    

💻 Local Development (manual setup)

If you prefer to run the site locally without Codespaces:

1. Install Ruby and Bundler

You’ll need:

  • Ruby ≥ 3.0
  • Bundler ≥ 2.4

Example (macOS):

brew install ruby
gem install bundler

2. Install dependencies

bundle install

3. Run local Jekyll server

bundle exec jekyll serve --host 0.0.0.0 --livereload --port 4000

Your site is now available at:

http://localhost:4000

📁 Project Structure

.
├── _config.yml          # Site configuration (title, description, etc.)
├── _layouts/            # Page templates
├── _includes/           # Header, footer, and reusable elements
├── _posts/              # Blog posts (optional)
├── assets/              # Images, CSS, JS
├── pages/               # Content pages (About, Members, Events, etc.)
├── Gemfile              # Ruby gem dependencies (GitHub Pages setup)
├── package.json         # NPM scripts for convenience
└── .devcontainer/       # GitHub Codespaces configuration

🔄 Deployment (GitHub Pages)

The site is automatically built and deployed via GitHub Actions:

  • Triggered on every push to the main branch
  • Uses the official jekyll-build-pages GitHub Action
  • Deployment result:
    https://www.icssec.ch
    

To check build status:

  1. Go to your repository → Actions tab
  2. Select workflow: pages-build-deploy-jekyll
  3. Verify that all steps are ✅ successful

🧠 Developer Tips

Action Command
Install dependencies bundle install
Serve locally npm run dev
Rebuild after _config.yml changes Stop + restart server
Update RubyGems (optional) gem update --system
Check Jekyll version bundle exec jekyll -v

⚙️ Environment Notes

  • No need to install jekyll manually.
    It’s already included via github-pages Gem (ensures version parity with GitHub Pages).
  • .gitignore excludes _site/ and vendor/ folders to keep the repo clean.
  • Codespaces automatically exposes port 4000 for preview.

👥 Contributions

Contributions and pull requests are welcome!

About

Website of ICS Security Switzerland

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •