A portfolio TUI built in Go, showcasing my personal information, projects, and achievements in a silly interactive and themeable format.
- Interactive Navigation: Navigate through different portfolio sections using keyboard shortcuts
- Multiple Themes: Switch between various pre-built themes (Dark, Dracula, Pink, Tokyo Night)
- Markdown Rendering: Beautiful markdown rendering with syntax highlighting
- Responsive Design: Adapts to terminal window size
- Smooth Scrolling: Viewport-based content scrolling
- Help System: Built-in help menu with keyboard shortcuts
Navigate through pages using arrow keys or h/l, switch themes with t, and toggle help with ?
git clone https://github.com/RealStr1ke/shockTUI.git
cd shockTUI
go mod download
go build -o shocktui
./shocktuigo run main.go| Key | Action |
|---|---|
← / h |
Previous page |
→ / l / Tab |
Next page |
t / Ctrl+Tab |
Change theme |
? |
Toggle help |
q / Esc / Ctrl+C |
Quit |
This project uses the following excellent libraries:
- Bubble Tea - TUI framework
- Bubbles - TUI components
- Lipgloss - Style and layout
- Glamour - Markdown rendering
- go-toml - TOML configuration parsing
- Create a new markdown file in
assets/pages/with the format# - title.md - The application will automatically detect and load the new page
- Create a new directory in
assets/themes/ - Add a
glamour.jsonfile for markdown styling - Add a
colors.tomlfile for UI color configuration - The theme will be automatically available in the theme switcher
Edit the colors.toml file in any theme directory:
TitleColor = "#FF0000"
InactiveTabColor = "#666666"
ActiveTabColor = "#FFFFFF"
TabTitleColor = "#00FF00"
TabBorderColor = "#0000FF"
ThemeTitleColor = "#FFFF00"
PageProgressColor = "#FF00FF"go run main.gogo build -o shocktui- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ using Go and the Charm libraries