|
1 | | -# Terminal Portfolio Template |
| 1 | +# 👨💻 Terminal Portfolio Template |
2 | 2 |
|
3 | | -**Sprache:** [English](README.md) | [한국어](README.ko.md) | [Deutsch](README.de.md) | [中文](README.zh-CN.md) | [Türkçe](README.tr.md) |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | +[](https://pythontogo.github.io/terminal-portfolio-template) |
| 7 | +[](https://opensource.org/licenses/MIT) |
4 | 8 |
|
5 | | ---- |
| 9 | +**Read in:** [English](README.md) | [한국어](README.ko.md) | [Deutsch](README.de.md) | [中文](README.zh-CN.md) | [Türkçe](README.tr.md) |
6 | 10 |
|
7 | | -Dies ist eine kleine **Terminal-artige persönliche Homepage**. Sie besteht aus einer einfachen statischen Seite: nur HTML, CSS und JavaScript. |
| 11 | +--- |
8 | 12 |
|
9 | | -Sie können dieses Repository als **Vorlage** für Ihre eigene Seite verwenden, indem Sie entweder einige Konfigurationswerte bearbeiten oder den eingebauten **Config Generator** nutzen. |
| 13 | +Dies ist ein leichtgewichtiges **persönliches Homepage-Template im Terminal-Stil**. Es ist als einfache statische Website aufgebaut, die keine Build-Tools benötigt: nur reines HTML, CSS und JavaScript. |
10 | 14 |
|
11 | | -<!-- <img width="1036" height="850" alt="image" src="https://github.com/user-attachments/assets/9d5c85f8-6b2d-438e-ac22-3578dbbbefc2" /> --> |
| 15 | +Du kannst dieses Repository als **Vorlage (Template)** für dein eigenes Portfolio nutzen, indem du entweder einige Konfigurationswerte manuell anpasst oder den integrierten **Config Generator** verwendest. |
12 | 16 |
|
13 | | -## Demo |
| 17 | +[](https://pythontogo.github.io/terminal-portfolio-template) |
| 18 | +[](https://pythontogo.github.io/terminal-portfolio-template/generator/) |
14 | 19 |
|
15 | | - |
| 20 | +## 👀 Vorschau & Demo |
16 | 21 |
|
17 | | -### So generieren Sie die Config und erstellen Ihre eigene Website |
| 22 | +### Live-Demo |
| 23 | +> 💡 Erlebe die Schreibmaschinen-Animation und interaktive Befehle. |
| 24 | + |
18 | 25 |
|
19 | | - |
| 26 | +### Config Generator |
| 27 | +> ⚙️ Erstelle deine personalisierte Konfigurationsdatei visuell, ohne Code anzufassen! |
| 28 | + |
20 | 29 |
|
21 | 30 | Erstellt von [**PythonToGo**](https://github.com/PythonToGo). |
22 | 31 |
|
23 | | -## Projektstruktur |
| 32 | +--- |
| 33 | + |
| 34 | +## 🚀 Schnellstart (Quick Start) |
| 35 | + |
| 36 | +Bringe dein Terminal-Portfolio in Sekundenschnelle zum Laufen. Kopiere die unten stehenden Befehle und füge sie in dein Terminal ein: |
| 37 | + |
| 38 | +```bash |
| 39 | +# 1. Repository klonen |
| 40 | +git clone [https://github.com/PythonToGo/terminal-portfolio-template.git](https://github.com/PythonToGo/terminal-portfolio-template.git) |
| 41 | + |
| 42 | +# 2. In das Verzeichnis wechseln |
| 43 | +cd terminal-portfolio-template |
| 44 | + |
| 45 | +# 3. Die Datei index.html im Standard-Webbrowser öffnen |
| 46 | +# (Nutze 'open' unter macOS, 'start' unter Windows oder 'xdg-open' unter Linux) |
| 47 | +open index.html |
24 | 48 |
|
25 | 49 | ``` |
| 50 | + |
| 51 | +Nach dem Öffnen kannst du es auf eine der folgenden Arten anpassen: |
| 52 | + |
| 53 | +* **Option A (Manuell):** Bearbeite die Datei `js/commands.js` direkt. |
| 54 | +* **Option B (Empfohlen):** Nutze den **[Config Generator](https://pythontogo.github.io/terminal-portfolio-template/generator/)**, um einfach deine `terminal-config.js` zu erstellen. |
| 55 | + |
| 56 | +--- |
| 57 | + |
| 58 | +## 🛠 Projektstruktur |
| 59 | + |
| 60 | +Ein kurzer Überblick über die wichtigsten Dateien und Verzeichnisse: |
| 61 | + |
| 62 | +```text |
26 | 63 | . |
27 | | -├── index.html # Haupt-Terminalseite |
28 | | -├── terminal-config.js # Benutzerkonfiguration (generiert, optional) |
29 | | -├── js/ |
30 | | -│ ├── main.js # Befehlsverarbeitung, UI-Logik |
31 | | -│ ├── commands.js # Konfigurationswerte, Inhaltsarrays, Befehlsliste |
32 | | -│ ├── ascii_banner.js # ASCII-Banner-Schriften und -Rendering |
33 | | -│ ├── github.js # GitHub API – lädt Repos für Projekte |
34 | | -│ └── caret.js # Tipp-Simulation, Cursor |
35 | | -├── css/ |
36 | | -│ ├── style_lila.css # Standard-Theme |
37 | | -│ ├── style_midnight.css |
38 | | -│ ├── style_chocolate.css |
39 | | -│ ├── style_og.css # original |
40 | | -│ ├── style_rainbow.css |
41 | | -│ ├── style_orange.css |
42 | | -│ ├── style_olive.css |
43 | | -│ └── style_bluescreen.css |
44 | | -└── generator/ |
| 64 | +├── index.html # Haupt-Terminal-Seite |
| 65 | +├── terminal-config.js # Deine persönliche Konfiguration (optional, generiert) |
| 66 | +├── js/ # Kernlogik (Befehle, GitHub-API, etc.) |
| 67 | +├── css/ # Verschiedene Terminal-Farb-Themes |
| 68 | +└── generator/ # Web-basiertes Config-Generator-Tool |
45 | 69 | ├── index.html # Config-Generator-Formular |
46 | | - ├── main.js # Formularlogik, Config-Erstellung |
47 | | - └── style.css # Generator-Styles |
48 | | -``` |
| 70 | + ├── main.js # Formularlogik & Erstellung der Config |
| 71 | + └── style.css # Styling des Generators |
49 | 72 |
|
50 | | -## Schnellstart |
| 73 | +``` |
51 | 74 |
|
52 | | -1. Repository klonen oder als GitHub-Vorlage verwenden. |
53 | | -2. `index.html` im Browser öffnen, um das Terminal zu sehen. |
54 | | -3. Anpassen auf eine von zwei Arten: |
55 | | - - **Option A – `js/commands.js` direkt bearbeiten** ODER |
56 | | - - **Option B – Generator verwenden, um `terminal-config.js` zu erstellen** (schnelle Einrichtung: [**Zum Config Generator**](https://pythontogo.github.io/terminal-portfolio-template/generator/) ). |
| 75 | +## ⚙️ Konfigurationsmöglichkeiten |
57 | 76 |
|
58 | | -## Option A – manuelle Konfiguration |
| 77 | +### Option A – Manuelle Konfiguration |
59 | 78 |
|
60 | | -`js/commands.js` öffnen und die Werte oben bearbeiten: |
| 79 | +Öffne `js/commands.js` und bearbeite die konstanten Werte oben in der Datei: |
61 | 80 |
|
62 | | -- `GITHUB_USERNAME`, `EMAIL_ADDRESS` |
63 | | -- `linkedin`, `github`, `blog` (leer = in Links ausgeblendet) |
64 | | -- `linksOthers` – benutzerdefinierte Links `{ "twitter": { name: "Twitter", url: "..." } }` |
65 | | -- `CLAUDE_OWNER_NAME` (aus `profile.name`) |
66 | | -- `about`, `links`, `projects`, `help`, `welcomeMsg`, `banner` |
67 | | -- `themes` – Theme-Name → CSS-Pfad |
68 | | -- `allCommands` – Tab-Vervollständigungsliste |
| 81 | +* `GITHUB_USERNAME`, `EMAIL_ADDRESS` |
| 82 | +* `linkedin`, `github`, `blog` (leer lassen `""`, um sie im Links-Bereich zu verbergen) |
| 83 | +* `linksOthers` – Benutzerdefinierte Links hinzufügen (Format: `{ "twitter": { name: "Twitter", url: "..." } }`) |
| 84 | +* `CLAUDE_OWNER_NAME` (Fallback-Name) |
| 85 | +* `about`, `links`, `projects`, `help`, `welcomeMsg`, `banner` |
| 86 | +* `themes` – Weist Theme-Namen ihren jeweiligen CSS-Dateipfaden zu |
| 87 | +* `allCommands` – Definiert die Liste für die Tab-Autovervollständigung |
69 | 88 |
|
70 | | -> Dies ist der einfachste Modus und erfordert keinen Build-Schritt. |
| 89 | +> **Hinweis:** Dies ist der einfachste Modus und erfordert keine Build-Schritte oder externe Konfigurationsdateien. |
71 | 90 |
|
72 | | -## Option B – Generator verwenden (empfohlen) |
| 91 | +### Option B – Nutzung des Generators (Empfohlen) |
73 | 92 |
|
74 | | -`generator/index.html` im Browser öffnen (oder den gehosteten Generator). |
| 93 | +Öffne `generator/index.html` in einem Browser oder besuche den [gehosteten Generator](https://pythontogo.github.io/terminal-portfolio-template/generator/). |
75 | 94 |
|
76 | | -### Generator-Formularbereiche |
| 95 | +#### Bereiche des Generator-Formulars |
77 | 96 |
|
78 | 97 | | Bereich | Felder | |
79 | | -|---------|--------| |
80 | | -| **Profile** | Vollständiger Name, E-Mail, GitHub-Benutzername, Blog-Titel, Intro/About-Text (optional) | |
81 | | -| **Links** | GitHub-URL, LinkedIn-URL (optional), Blog-URL (optional), Andere (optional: `Name` und `URL` pro Zeile, getrennt durch `\|`) | |
| 98 | +| --- | --- | |
| 99 | +| **Profile (Profil)** | Vollständiger Name, E-Mail, GitHub-Benutzername, Blog-Titel, Intro/Über-mich-Text (optional) | |
| 100 | +| **Links** | GitHub-URL, LinkedIn-URL (optional), Blog-URL (optional), Andere (optional: Name und URL pro Zeile, getrennt durch ` | |
82 | 101 | | **Theme** | Standard-Theme | |
83 | 102 | | **Banner** | Banner-Text, Banner-Schriftstil (block, dotted, light, minimal, shadow), Live-Vorschau | |
84 | 103 |
|
85 | | -### Config-Ausgabe |
| 104 | +#### Config-Ausgabe |
86 | 105 |
|
87 | | -Der Generator erzeugt `window.TERMINAL_CONFIG` mit: |
| 106 | +Der Generator erstellt ein `window.TERMINAL_CONFIG`-Objekt, das wie folgt aussieht: |
88 | 107 |
|
89 | | -```js |
| 108 | +```javascript |
90 | 109 | { |
91 | 110 | profile: { name, email, githubUsername, blogTitle }, |
92 | 111 | links: { github, linkedin?, blog?, others? }, |
93 | 112 | theme: { defaultTheme, bannerText, bannerFont }, |
94 | 113 | content: { aboutLines? } |
95 | 114 | } |
| 115 | + |
96 | 116 | ``` |
97 | 117 |
|
98 | | -### Verwendung der Config |
| 118 | +#### Wie die Config verwendet wird |
| 119 | +
|
| 120 | +| Config-Pfad | Verwendet für | |
| 121 | +| --- | --- | |
| 122 | +| `profile.name` | Banner-Text (wenn `theme.bannerText` leer ist), Terminal-Prompt, Fallback-About-Text, `CLAUDE_OWNER_NAME` | |
| 123 | +| `profile.email` | Ausführung des `email`-Befehls | |
| 124 | +| `profile.githubUsername` | Generierung des GitHub-Links und Abrufen der Repositories für den `projects`-Befehl | |
| 125 | +| `links.github` | Wird in der `links`-Tabelle angezeigt, genutzt durch den `github`-Befehl | |
| 126 | +| `links.linkedin` | Wird in der `links`-Tabelle angezeigt, genutzt durch den `linkedin`-Befehl (ausgeblendet, falls leer) | |
| 127 | +| `links.blog` | Wird in der `links`-Tabelle angezeigt (ausgeblendet, falls leer) | |
| 128 | +| `links.others` | Wird in der `links`-Tabelle angezeigt und erstellt benutzerdefinierte Befehle (z.B. Hinzufügen von `Twitter` lässt dich `twitter` tippen) | |
| 129 | +| `theme.defaultTheme` | Legt das anfängliche Farb-Theme beim Laden der Seite fest | |
| 130 | +| `theme.bannerText` | Text, der als ASCII-Banner gerendert wird | |
| 131 | +| `theme.bannerFont` | Stil des Banners (block, dotted, light, minimal, shadow) | |
| 132 | +| `content.aboutLines` | Die Ausgabe des `about`-Befehls (Fallback: "Hi there, I am {Name}") | |
99 | 133 |
|
100 | | -| Config-Pfad | Verwendung | |
101 | | -|-------------|------------| |
102 | | -| `profile.name` | Banner-Text (wenn `theme.bannerText` leer), Prompt, About-Fallback, `CLAUDE_OWNER_NAME` | |
103 | | -| `profile.email` | `email`-Befehl | |
104 | | -| `profile.githubUsername` | GitHub-Link, Projekte-Repo-Liste | |
105 | | -| `links.github` | `links`-Tabelle, `github`-Befehl | |
106 | | -| `links.linkedin` | `links`-Tabelle, `linkedin`-Befehl (optional – ausgeblendet wenn leer) | |
107 | | -| `links.blog` | `links`-Tabelle (optional – ausgeblendet wenn leer) | |
108 | | -| `links.others` | `links`-Tabelle + benutzerdefinierte Befehle (z.B. `Twitter` → `twitter` eingeben) | |
109 | | -| `theme.defaultTheme` | Initiales Theme beim Laden | |
110 | | -| `theme.bannerText` | ASCII-Banner-Text | |
111 | | -| `theme.bannerFont` | Banner-Stil: block, dotted, light, minimal, shadow | |
112 | | -| `content.aboutLines` | `about`-Befehl-Inhalt (optional – Fallback: "Hi there, I am {Full Name}") | |
| 134 | +--- |
113 | 135 |
|
114 | | -## Verfügbare Befehle |
| 136 | +## 💻 Verfügbare Befehle |
115 | 137 |
|
116 | 138 | | Befehl | Beschreibung | |
117 | | -|--------|---------------| |
118 | | -| `help` | Befehlsliste | |
119 | | -| `about` | Intro/About-Text | |
120 | | -| `links` | GitHub, LinkedIn, Blog, benutzerdefinierte Links | |
121 | | -| `projects` | GitHub-Repos (über API) | |
122 | | -| `email` | Mailto öffnen | |
123 | | -| `linkedin`, `github` | URLs öffnen (linkedin ausgeblendet wenn nicht konfiguriert) | |
124 | | -| `theme ls` | Themes auflisten | |
125 | | -| `theme set <name>` | Theme setzen | |
126 | | -| `theme random` | Zufälliges Theme | |
127 | | -| `banner` | ASCII-Banner anzeigen | |
128 | | -| `clear` | Terminal leeren | |
129 | | -| `history` | Befehlsverlauf | |
130 | | -| `echo <text>` | Text ausgeben | |
131 | | -| `ping <host>` | Fake-Ping | |
| 139 | +| --- | --- | |
| 140 | +| `help` | Zeigt alle verfügbaren Befehle an | |
| 141 | +| `about` | Zeigt den Intro/Über-mich-Text an | |
| 142 | +| `links` | Zeigt eine Tabelle mit GitHub, LinkedIn, Blog und benutzerdefinierten Links | |
| 143 | +| `projects` | Ruft GitHub-Repositories über die GitHub-API ab und zeigt sie an | |
| 144 | +| `email` | Öffnet den Standard-Mail-Client (`mailto:`) | |
| 145 | +| `linkedin`, `github` | Öffnet die entsprechenden URLs in einem neuen Tab (LinkedIn wird ausgeblendet, falls nicht konfiguriert) | |
| 146 | +| `theme ls` | Zeigt alle verfügbaren Themes an | |
| 147 | +| `theme set <name>` | Ändert das aktuelle Theme | |
| 148 | +| `theme random` | Wendet ein zufälliges Theme an | |
| 149 | +| `banner` | Zeigt das ASCII-Banner an | |
| 150 | +| `clear` | Leert die Terminal-Ausgabe | |
| 151 | +| `history` | Zeigt den Befehlsverlauf an | |
| 152 | +| `echo <text>` | Gibt den eingegebenen Text im Terminal aus | |
| 153 | +| `ping <host>` | Führt eine gefälschte Ping-Simulation aus | |
132 | 154 | | `explain`, `run`, `edit` | Claude-artige Easter Eggs | |
133 | | -| `ls`, `cd` | Fake-Dateiliste | |
134 | | -| `vi`, `vim`, `nvim`, `emacs` | Editor-Witze | |
135 | | -| `sudo` | Berechtigung verweigert + Easter Egg | |
| 155 | +| `ls`, `cd` | Gefälschte Dateisystem-Navigationsbefehle | |
| 156 | +| `vi`, `vim`, `nvim`, `emacs` | Witze über Texteditoren | |
| 157 | +| `sudo` | "Permission denied" (Zugriff verweigert) Nachricht + Easter Egg | |
| 158 | +
|
| 159 | +*Hinweis: Benutzerdefinierte Links in `links.others` werden automatisch zu Befehlen (z. B. aktiviert die Konfiguration `Twitter|https://...` den Befehl `twitter`).* |
| 160 | + |
| 161 | +--- |
| 162 | + |
| 163 | +## 🎨 Themes & Anpassung |
136 | 164 |
|
137 | | -Benutzerdefinierte Links aus `links.others` werden zu Befehlen (z.B. `Twitter|https://...` → `twitter` eingeben). |
| 165 | +### Themes |
138 | 166 |
|
139 | | -## Themes |
| 167 | +Die folgenden Themes sind standardmäßig verfügbar: |
| 168 | +`lila` (Standard), `midnight`, `chocolate`, `og` (Original), `rainbow`, `orange`, `olive`, `bluescreen` |
140 | 169 |
|
141 | | -- `lila` (Standard), `midnight`, `chocolate`, `og` (original), `rainbow`, `orange`, `olive`, `bluescreen` |
| 170 | +### ASCII-Banner |
142 | 171 |
|
143 | | -## ASCII-Banner |
| 172 | +* **Schriftstile:** block, dotted, light, minimal, shadow |
| 173 | +* **Textformat:** Sowohl Groß- als auch Kleinbuchstaben werden unterstützt. |
| 174 | +* **Konfiguration:** Gesteuert über `theme.bannerText` (oder Fallback auf `profile.name`) und `theme.bannerFont`. |
| 175 | + |
| 176 | +--- |
144 | 177 |
|
145 | | -- **Schriftstile**: block, dotted, light, minimal, shadow |
146 | | -- **Text**: Groß- und Kleinbuchstaben unterstützt |
147 | | -- **Config**: `theme.bannerText` (oder `profile.name`), `theme.bannerFont` |
| 178 | +## 🏗 Entwicklungshinweise |
148 | 179 |
|
149 | | -## Skript-Ladereihenfolge (`index.html`) |
| 180 | +### Skript-Lade-Reihenfolge (`index.html`) |
150 | 181 |
|
151 | | -1. `terminal-config.js` (optional) |
| 182 | +Um sicherzustellen, dass alles korrekt funktioniert, werden die Skripte in dieser Reihenfolge geladen: |
| 183 | + |
| 184 | +1. `terminal-config.js` (optional, Generator-Ausgabe) |
152 | 185 | 2. `js/github.js` |
153 | 186 | 3. `js/caret.js` |
154 | 187 | 4. `js/ascii_banner.js` |
155 | 188 | 5. `js/commands.js` |
156 | 189 | 6. `js/main.js` |
157 | 190 |
|
158 | | -## Entwicklungshinweise |
| 191 | +### Lokales Testen |
159 | 192 |
|
160 | | -- Keine Build-Tools; reines HTML/CSS/JS. |
161 | | -- Lokal testen: `index.html` öffnen oder Ordner mit statischem Server bereitstellen. |
162 | | -- GitHub Pages funktioniert sofort. |
| 193 | +* Es werden keine Build-Tools benötigt (kein Webpack, Vite, Node.js erforderlich). |
| 194 | +* Öffne einfach `index.html` in deinem Browser oder stelle den Ordner über einen einfachen lokalen Webserver bereit (z. B. `python -m http.server`). |
163 | 195 |
|
164 | | -## GitHub Pages Deployment (über Actions) |
| 196 | +--- |
165 | 197 |
|
166 | | -Diese Vorlage enthält einen einsatzbereiten GitHub-Actions-Workflow unter `.github/workflows/deploy-pages.yml`. |
| 198 | +## 🌐 Deployment (GitHub Pages) |
167 | 199 |
|
168 | | -1. Erstellen Sie ein neues Repository aus dieser Vorlage (oder forken/klonen Sie sie in Ihr eigenes Konto). |
169 | | -2. Pushen Sie Ihre Änderungen auf den Standard-Branch (`main` oder `master`). |
170 | | -3. Gehen Sie in Ihrem Repository zu **Settings → Pages** und setzen Sie **Source** auf **GitHub Actions**. |
| 200 | +Dieses Template enthält einen einsatzbereiten GitHub Actions-Workflow unter `.github/workflows/deploy-pages.yml`, um deine Seite automatisch bereitzustellen. |
171 | 201 |
|
172 | | -Nach dem ersten erfolgreichen Lauf des Workflows **Deploy terminal portfolio to GitHub Pages** ist Ihre Seite hier erreichbar: |
| 202 | +1. Erstelle ein neues Repository aus diesem Template (oder Fork/Clone es). |
| 203 | +2. Pushe deine Anpassungen in den Standard-Branch (`main` oder `master`). |
| 204 | +3. Navigiere in deinem GitHub-Repository zu **Settings → Pages**. |
| 205 | +4. Setze das Dropdown-Menü **Source** auf **GitHub Actions**. |
173 | 206 |
|
174 | | -- `https://<Ihr-GitHub-Benutzername>.github.io/<Ihr-Repository-Name>/` |
| 207 | +Nachdem die GitHub Action **"Deploy terminal portfolio to GitHub Pages"** zum ersten Mal erfolgreich ausgeführt wurde, ist deine Live-Seite unter folgender Adresse erreichbar: |
| 208 | +`https://<dein-github-benutzername>.github.io/<dein-repo-name>/` |
175 | 209 |
|
176 | | -Für dieses Vorlagen-Repository selbst ist die Demo unter folgender URL veröffentlicht: |
| 210 | +--- |
177 | 211 |
|
178 | | -- `https://pythontogo.github.io/terminal-portfolio-template` |
| 212 | +## 🤝 Mitwirken (Contributing) |
179 | 213 |
|
180 | | -## Mitwirken |
| 214 | +Pull Requests, Fehlerberichte (Bug Reports) und Verbesserungsvorschläge sind jederzeit willkommen! |
181 | 215 |
|
182 | | -Pull Requests und Verbesserungen sind willkommen. |
| 216 | +## 📜 Credits |
183 | 217 |
|
184 | | -## Credits |
| 218 | +* Ursprüngliches Terminal-Portfolio-Konzept und Template erstellt von **[PythonToGo](https://github.com/PythonToGo)**. |
185 | 219 |
|
186 | | -- Originales Terminal-Portfolio und Vorlage von [**PythonToGo**](https://github.com/PythonToGo). |
|
0 commit comments