Skip to content

Shepherd-ITSec/Shepherd-ITSec.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

48 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Shepherd IT Sec Website

Modern website for Shepherd IT Sec built with Vue 3, Quasar Framework, and TypeScript.

Features

  • 🌐 Bilingual Support: English and German (i18n)
  • πŸ“± Responsive Design: Mobile-first, modern UI
  • 🎨 Brand Colors: Custom color scheme matching Shepherd IT Sec branding
  • πŸ“ Blog System: Markdown-based blog posts
  • πŸ“„ CV Display: Embedded PDF viewer for curriculum vitae
  • πŸ“… Appointment Booking: Integration with Easy!Appointments system
  • πŸŒ™ Dark Theme: Optimized dark mode experience

Tech Stack

  • Vue 3 - Progressive JavaScript framework
  • Quasar Framework - Vue.js based framework
  • TypeScript - Type-safe JavaScript
  • Vite - Fast build tool (via Quasar CLI)
  • Vue Router - Client-side routing
  • Markdown-it - Markdown rendering for blog posts
  • Highlight.js - Code syntax highlighting

Getting Started

Prerequisites

  • Node.js 20+ and npm

Installation

npm install

Development

Start the development server:

npm run dev
# or
quasar dev

The site will be available at http://localhost:9000 (or the port shown in the terminal).

Build

Build for production:

npm run build
# or
quasar build

The output is written to dist/spa/.

Project Structure

src/
β”œβ”€β”€ boot/           # Quasar boot files (i18n)
β”œβ”€β”€ components/     # Vue components
β”œβ”€β”€ composables/    # Vue composables (useI18n)
β”œβ”€β”€ content/        # Markdown blog posts
β”œβ”€β”€ css/            # Global styles
β”œβ”€β”€ i18n/           # Translation files (en-US, de-DE)
β”œβ”€β”€ layouts/        # Layout components
β”œβ”€β”€ pages/          # Page components
β”œβ”€β”€ router/         # Vue Router configuration
└── site/           # Site configuration and content utilities

Deployment

GitHub Pages

The site is automatically deployed to GitHub Pages via GitHub Actions:

  1. Push to the main or master branch
  2. The workflow /.github/workflows/deploy-pages.yml builds and deploys automatically
  3. Ensure Pages β†’ Build and deployment β†’ Source is set to GitHub Actions in repository settings

Custom Domain

The custom domain is configured via public/CNAME. The site is available at:

Configuration

Brand Colors

The primary brand color is defined in src/css/quasar.variables.scss:

  • Primary: #168F8B (rgb(22, 143, 139))
  • Secondary: #4ECDC4
  • Accent: #64B5F6

Internationalization

Translation files are located in src/i18n/:

  • en-US.ts - English translations
  • de-DE.ts - German translations

Add new translations by updating these files and using the useI18n() composable in components.

Blog Posts

Blog posts are written in Markdown and stored in src/content/posts/. Each post should include frontmatter:

---
title: "Post Title"
date: 2023-05-08T15:30:23+02:00
draft: false
tag: ['tag1', 'tag2']
---

Post content here...

License

Private project - Shepherd IT Sec

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors