|
|
||
|---|---|---|
| README.md | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| types.go | ||
README.md
PortaGit
PortaGit is a lightweight, self-hosted Git portfolio and repository viewer designed to showcase your work with a beautiful, modern interface. Built with Go, it offers a personal GitHub-like experience that you can host anywhere.
Features
- 👀 Repository Viewer: Browse your files, commit history, and branches with a clean UI.
- 📊 Contribution Graph: Visualize your coding activity with a GitHub-style contribution calendar.
- 🎨 Modern Design: Sleek dark mode interface with responsive layout and smooth transitions.
- 🛠️ Easy Setup: Built-in setup wizard to configure your profile, bio, and social links.
- 📝 Markdown Support: Renders
README.mdfiles automatically. - 📁 File Management: Create files, folders, and upload assets directly through the web interface.
- ⚙️ Customizable: personalize your profile, accent colors, and more.
Installation
Prerequisites
- Go 1.19 or higher
- Git installed on your system
Build from Source
-
Clone the repository:
git clone https://github.com/yourusername/PortaGit.git cd PortaGit -
Build the application:
go build -o portagit -
Run the application:
./portagit -
Open your browser and navigate to
http://localhost:8080.
Configuration
On the first run, PortaGit will launch a Setup Wizard allowing you to:
- Set your display name and bio.
- Import data from your GitHub profile.
- Configure themes and appearance.
The configuration is stored in a portagit.json file in the root directory.
Project Structure
main.go: Application entry point and HTTP server.git_utils.go: Helper functions for interacting with Git repositories.web/: Contains HTML templates and static assets (CSS, JS).repositories/: Directory where your git repositories are stored (created automatically).
Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.