# Brain.md - Projekt-Wissensdatenbank ## Projektziel Eine eigene Fotografie-Portfolio-Website basierend auf dem Template von rampatra/photography. Keine 1:1 Kopie, sondern eine individuell angepasste Version mit eigenen Anspruechen. ## Besitzer - GitHub Repo: https://github.com/Kroonk/Photography.git - Lokaler Pfad: d:\Vibecoding\Website\Photography --- ## Technologie-Stack | Komponente | Technologie | |---|---| | Static Site Generator | **Jekyll** (Ruby-basiert) | | Templating | Liquid Templates | | Styling | SCSS -> kompiliertes CSS | | JS Libraries | jQuery, Poptrox (Lightbox), EXIF.js | | Build-Tool | Gulp (SCSS kompilieren, JS minifizieren, Bilder resizen) | | Hosting | GitHub Pages (kostenlos) | | Fonts | FontAwesome, Google Fonts (Source Sans Pro) | | Paketmanager | npm (Node), Bundler (Ruby) | ## Projektstruktur ``` Photography/ ├── _config.yml # Zentrale Konfiguration (Titel, Social Links, EXIF etc.) ├── _layouts/ │ └── default.html # Basis-Layout (Head + Body + Scripts) ├── _includes/ │ ├── header.html #
Bereich: CSS, Fonts, Google Analytics │ └── footer.html # Script-Einbindungen (jQuery, Poptrox, EXIF, Main) ├── index.html # Hauptseite: Header, Galerie-Grid, Footer/About ├── assets/ │ ├── css/ # Kompilierte CSS-Dateien (.min.css) │ ├── sass/ # SCSS Quelldateien │ │ ├── base/ # Reset, Typography, Page │ │ ├── components/ # Buttons, Forms, Icons, Panels, Poptrox │ │ ├── layout/ # Header, Footer, Main, Wrapper │ │ └── libs/ # Breakpoints, Mixins, Vars, Functions │ ├── js/ # JavaScript (jQuery, Poptrox, EXIF, Main) │ ├── fonts/ # FontAwesome Fonts │ └── webfonts/ # FA5 Webfonts ├── images/ │ ├── fulls/ # Vollaufloesung Bilder │ └── thumbs/ # Thumbnails (512px) ├── gulpfile.mjs # Build: SCSS->CSS, JS minify, Image resize ├── package.json # Node Dependencies ├── Gemfile # Ruby Dependencies (jekyll) └── CNAME # Custom Domain Config ``` ## Wie die Galerie funktioniert 1. Jekyll scannt `images/fulls/` nach statischen Dateien 2. `index.html` iteriert mit `{% for image in site.static_files %}` ueber alle Bilder 3. Fuer jedes Bild wird ein `