# ═══════════════════════════════════════════════════════════════════════════════
#  .gitattributes - UmbrelApps
#
#  Waarom dit bestand er is, en meteen bij het opzetten en niet later: op deze
#  Windows-machine staat core.autocrlf vaak op true. Zonder deze regels waarschuwt
#  git bij elke `git add` dat "LF will be replaced by CRLF", en komt er CRLF/LF-ruis
#  in diffs zodra er afwisselend met een editor en met CLI-tooling gewerkt wordt.
#
#  Voor dit project is er een hardere reden dan diff-ruis. De shellscripts en de
#  YAML worden op een Umbrel in een Linux-container uitgevoerd. Een CRLF achter
#  `#!/bin/sh` laat het script stuklopen op een foutmelding die nergens naar het
#  echte probleem wijst, en een CRLF in docker-compose.yml geeft waarden met een
#  onzichtbare wagenterugloop erin. Dit bestand voorkomt allebei.
# ═══════════════════════════════════════════════════════════════════════════════

# Standaard: git detecteert tekst vs. binair, slaat tekst op als LF en checkt ook
# LF uit. Dat houdt de werkmap identiek aan wat er in de repo staat.
* text=auto eol=lf

# ── Alles wat op de Umbrel draait: LF, zonder uitzondering ────────────────────
*.sh    text eol=lf
*.yml   text eol=lf
*.yaml  text eol=lf
*.conf  text eol=lf
*.sql   text eol=lf
*.template text eol=lf

# ── Broncode en documentatie expliciet als tekst ──────────────────────────────
# Strikt genomen dekt `text=auto` dit al. Toch opschrijven: het maakt zichtbaar
# waar dit project uit bestaat, en het haalt de gok uit de detectie voor een
# bestand dat toevallig op een binair patroon lijkt.
*.md    text
*.txt   text
*.html  text
*.css   text
*.js    text
*.json  text
Dockerfile text eol=lf

# ── Binair: nooit converteren, geen tekst-diff ────────────────────────────────
# Het icoon en de gallery-afbeeldingen komen hier bij het plan Appstore.
*.png    binary
*.jpg    binary
*.jpeg   binary
*.gif    binary
*.ico    binary
*.webp   binary
*.svg    text
*.pem    binary
*.key    binary
