Show HN: Git-based front-end interface for Hugo
Summary
Hugo-Flow is a web-based front-end interface for Hugo static sites, featuring GitHub integration, dual WYSIWYG/Markdown editor, and image uploads via base64.
View Cached Full Text
Cached at: 05/24/26, 12:39 PM
arashthr/hugo-flow
Source: https://github.com/arashthr/hugo-flow
Hugo-Flow: Git-based Front-end interface for Hugo
A custom, web-based Front-end interface for your static Hugo website.
Features
- GitHub Integration: Commit files directly to your repository via the GitHub API.
- Dynamic Configuration: Select your repository and paths dynamically via the UI.
- Dual Editor Mode: Switch seamlessly between a WYSIWYG Rich Text editor and a raw Markdown editor.
- Image Uploads: Upload images and have them automatically pushed as base64 blobs alongside your markdown post.
Local Development
- Set up your
.env.localfile:
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_random_secret_here
GITHUB_ID=your_github_oauth_id
GITHUB_SECRET=your_github_oauth_secret
- Run the development server:
npm install
npm run dev
Production Deployment (Standard Node.js)
If you are not using Docker, you can run the application directly using Node.js:
- Ensure your
.env.localis configured with your production keys and URL. - Build the optimized production bundle:
npm run build
- Start the production server:
npm start
The application will be running on http://localhost:3000.
Production Deployment (Docker + Caddy)
This application is ready to be deployed using Docker and Docker Compose. It leverages Next.js standalone output for a highly optimized, minimal container size.
1. Update GitHub OAuth App
Update your GitHub OAuth App’s “Authorization callback URL” to your production domain:
https://your-domain.com/api/auth/callback/github
2. Set Production Environment Variables
Create a .env file on your server in the same directory as docker-compose.yml:
NEXTAUTH_URL=https://your-domain.com
NEXTAUTH_SECRET=your_secure_random_string (generate via: openssl rand -base64 32)
GITHUB_ID=your_production_github_id
GITHUB_SECRET=your_production_github_secret
3. Run with Docker Compose
Start the application in the background:
docker-compose up -d --build
This will expose the app on port 3000 of your host machine.
4. Setup Caddy Reverse Proxy
If you are using Caddy to serve your domain, simply add this block to your Caddyfile:
your-domain.com {
reverse_proxy localhost:3000
}
Reload Caddy (caddy reload), and your application will be securely available over HTTPS!
+++
Similar Articles
Show HN: Gitdot – a better GitHub. Open-source, anti-AI, and written in Rust
Gitdot is an open-source, anti-AI Git hosting platform written in Rust, presented as a better alternative to GitHub.
Show HN: Gitstock–Transform you GitHub commit history into K-line and animations
Gitstock converts GitHub commit history into shareable candlestick charts and animations, enabling at-a-glance assessment of repository activity and health.
@Huahuazo: Recently on GitHub there's a tool called CodeFlow. Its usage is very simple: just paste a repository URL, and it will visualize the code dependency relationships of the entire project. Let's break down its core capabilities: Click any file to instantly see which other parts will be affected by modifying it. For the entire codebase…
CodeFlow is a browser-based tool that visualizes code dependencies from a GitHub URL or local folder, providing interactive graphs, security scanning, pattern detection, and health scores without uploading code.
Hacker News front page as a site
A site that displays the current Hacker News front page with links to stories and comments.
FlowG v0.59.0 is out, with Dark Mode support
FlowG v0.59.0 is released with dark mode support as part of a frontend redesign, moving from Tailwind CSS to React MUI.