Read in: English | 한국어 | Deutsch | 中文 | Türkçe
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.
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.
💡 Erlebe die Schreibmaschinen-Animation und interaktive Befehle.
⚙️ Erstelle deine personalisierte Konfigurationsdatei visuell, ohne Code anzufassen!
Erstellt von PythonToGo.
Bringe dein Terminal-Portfolio in Sekundenschnelle zum Laufen. Kopiere die unten stehenden Befehle und füge sie in dein Terminal ein:
# 1. Repository klonen
git clone [https://github.com/PythonToGo/terminal-portfolio-template.git](https://github.com/PythonToGo/terminal-portfolio-template.git)
# 2. In das Verzeichnis wechseln
cd terminal-portfolio-template
# 3. Die Datei index.html im Standard-Webbrowser öffnen
# (Nutze 'open' unter macOS, 'start' unter Windows oder 'xdg-open' unter Linux)
open index.html
Nach dem Öffnen kannst du es auf eine der folgenden Arten anpassen:
- Option A (Manuell): Bearbeite die Datei
js/commands.jsdirekt. - Option B (Empfohlen): Nutze den Config Generator, um einfach deine
terminal-config.jszu erstellen.
Hinweis: Für die reine Portfolio-Nutzung sind keine Build-Tools oder
npmerforderlich.npmwird nur beim Ändern des Template-Codes oder bei Beiträgen benötigt.
Ein kurzer Überblick über die wichtigsten Dateien und Verzeichnisse:
.
├── index.html # Haupt-Terminal-Seite
├── terminal-config.js # Deine persönliche Konfiguration (optional, generiert)
├── js/ # Kernlogik (Befehle, GitHub-API, etc.)
├── css/ # Verschiedene Terminal-Farb-Themes
└── generator/ # Web-basiertes Config-Generator-Tool
├── index.html # Config-Generator-Formular
├── main.js # Formularlogik & Erstellung der Config
└── style.css # Styling des Generators
Öffne js/commands.js und bearbeite die konstanten Werte oben in der Datei:
GITHUB_USERNAME,EMAIL_ADDRESSlinkedin,github,blog(leer lassen"", um sie im Links-Bereich zu verbergen)linksOthers– Benutzerdefinierte Links hinzufügen (Format:{ "twitter": { name: "Twitter", url: "..." } })CLAUDE_OWNER_NAME(Fallback-Name)about,links,projects,help,welcomeMsg,bannerthemes– Weist Theme-Namen ihren jeweiligen CSS-Dateipfaden zuallCommands– Definiert die Liste für die Tab-Autovervollständigung
Hinweis: Dies ist der einfachste Modus und erfordert keine Build-Schritte oder externe Konfigurationsdateien.
Öffne generator/index.html in einem Browser oder besuche den gehosteten Generator.
| Bereich | Felder |
|---|---|
| Profile (Profil) | Vollständiger Name, E-Mail, GitHub-Benutzername, Blog-Titel, Intro/Über-mich-Text (optional) |
| Links | GitHub-URL, LinkedIn-URL (optional), Blog-URL (optional), Andere (optional: Name und URL pro Zeile, getrennt durch ` |
| Theme | Standard-Theme |
| Banner | Banner-Text, Banner-Schriftstil (block, dotted, light, minimal, shadow), Live-Vorschau |
Der Generator erstellt ein window.TERMINAL_CONFIG-Objekt, das wie folgt aussieht:
{
profile: { name, email, githubUsername, blogTitle },
links: { github, linkedin?, blog?, others? },
theme: { defaultTheme, bannerText, bannerFont },
content: { aboutLines? }
}| Config-Pfad | Verwendet für |
|---|---|
profile.name |
Banner-Text (wenn theme.bannerText leer ist), Terminal-Prompt, Fallback-About-Text, CLAUDE_OWNER_NAME |
profile.email |
Ausführung des email-Befehls |
profile.githubUsername |
Generierung des GitHub-Links und Abrufen der Repositories für den projects-Befehl |
links.github |
Wird in der links-Tabelle angezeigt, genutzt durch den github-Befehl |
links.linkedin |
Wird in der links-Tabelle angezeigt, genutzt durch den linkedin-Befehl (ausgeblendet, falls leer) |
links.blog |
Wird in der links-Tabelle angezeigt (ausgeblendet, falls leer) |
links.others |
Wird in der links-Tabelle angezeigt und erstellt benutzerdefinierte Befehle (z.B. Hinzufügen von Twitter lässt dich twitter tippen) |
theme.defaultTheme |
Legt das anfängliche Farb-Theme beim Laden der Seite fest |
theme.bannerText |
Text, der als ASCII-Banner gerendert wird |
theme.bannerFont |
Stil des Banners (block, dotted, light, minimal, shadow) |
content.aboutLines |
Die Ausgabe des about-Befehls (Fallback: "Hi there, I am {Name}") |
| Befehl | Beschreibung |
|---|---|
help |
Zeigt alle verfügbaren Befehle an |
about |
Zeigt den Intro/Über-mich-Text an |
links |
Zeigt eine Tabelle mit GitHub, LinkedIn, Blog und benutzerdefinierten Links |
projects |
Ruft GitHub-Repositories über die GitHub-API ab und zeigt sie an |
email |
Öffnet den Standard-Mail-Client (mailto:) |
linkedin, github |
Öffnet die entsprechenden URLs in einem neuen Tab (LinkedIn wird ausgeblendet, falls nicht konfiguriert) |
theme ls |
Zeigt alle verfügbaren Themes an |
theme set <name> |
Ändert das aktuelle Theme |
theme random |
Wendet ein zufälliges Theme an |
banner |
Zeigt das ASCII-Banner an |
clear |
Leert die Terminal-Ausgabe |
history |
Zeigt den Befehlsverlauf an |
echo <text> |
Gibt den eingegebenen Text im Terminal aus |
ping <host> |
Führt eine gefälschte Ping-Simulation aus |
explain, run, edit |
Claude-artige Easter Eggs |
ls, cd |
Gefälschte Dateisystem-Navigationsbefehle |
vi, vim, nvim, emacs |
Witze über Texteditoren |
sudo |
"Permission denied" (Zugriff verweigert) Nachricht + Easter Egg |
Hinweis: Benutzerdefinierte Links in links.others werden automatisch zu Befehlen (z. B. aktiviert die Konfiguration Twitter|https://... den Befehl twitter).
Die folgenden Themes sind standardmäßig verfügbar:
lila (Standard), midnight, chocolate, og (Original), rainbow, orange, olive, bluescreen
- Schriftstile: block, dotted, light, minimal, shadow
- Textformat: Sowohl Groß- als auch Kleinbuchstaben werden unterstützt.
- Konfiguration: Gesteuert über
theme.bannerText(oder Fallback aufprofile.name) undtheme.bannerFont.
Um sicherzustellen, dass alles korrekt funktioniert, werden die Skripte in dieser Reihenfolge geladen:
terminal-config.js(optional, Generator-Ausgabe)js/github.jsjs/caret.jsjs/ascii_banner.jsjs/commands.jsjs/main.js
- Es werden keine Build-Tools benötigt (kein Webpack, Vite, Node.js erforderlich).
- Öffne einfach
index.htmlin deinem Browser oder stelle den Ordner über einen einfachen lokalen Webserver bereit (z. B.python -m http.server).
Wenn du das Template forkst oder änderst, läuft die CI automatisch:
- Tests (
npm test): Unit-Tests (z. B.completeQuery, Generator-Ausgabevalidierung). - Lint (
npm run lint): ESLint für Code-Qualität. - Audit (
npm audit): Abhängigkeits-Sicherheitsprüfung.
Lokal ausführen: npm install → npm test → npm run lint
Dieses Template enthält einen einsatzbereiten GitHub Actions-Workflow unter .github/workflows/deploy-pages.yml, um deine Seite automatisch bereitzustellen.
- Erstelle ein neues Repository aus diesem Template (oder Fork/Clone es).
- Pushe deine Anpassungen in den Standard-Branch (
mainodermaster). - Navigiere in deinem GitHub-Repository zu Settings → Pages.
- Setze das Dropdown-Menü Source auf GitHub Actions.
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:
https://<dein-github-benutzername>.github.io/<dein-repo-name>/
Pull Requests, Fehlerberichte (Bug Reports) und Verbesserungsvorschläge sind jederzeit willkommen!
- Ursprüngliches Terminal-Portfolio-Konzept und Template erstellt von PythonToGo.

