LmCast :: Stay tuned in

Show HN: Git-based front-end interface for Hugo

Recorded: May 24, 2026, noon

Original Summarized

GitHub - arashThr/hugo-flow: Simple rich-text CMS for Hugo weblogs. Try at https://hugo-flow.arashtaher.com · GitHub

Skip to content

Navigation Menu

Toggle navigation

Sign in

Appearance settings

PlatformAI CODE CREATIONGitHub CopilotWrite better code with AIGitHub SparkBuild and deploy intelligent appsGitHub ModelsManage and compare promptsMCP RegistryNewIntegrate external toolsDEVELOPER WORKFLOWSActionsAutomate any workflowCodespacesInstant dev environmentsIssuesPlan and track workCode ReviewManage code changesAPPLICATION SECURITYGitHub Advanced SecurityFind and fix vulnerabilitiesCode securitySecure your code as you buildSecret protectionStop leaks before they startEXPLOREWhy GitHubDocumentationBlogChangelogMarketplaceView all featuresSolutionsBY COMPANY SIZEEnterprisesSmall and medium teamsStartupsNonprofitsBY USE CASEApp ModernizationDevSecOpsDevOpsCI/CDView all use casesBY INDUSTRYHealthcareFinancial servicesManufacturingGovernmentView all industriesView all solutionsResourcesEXPLORE BY TOPICAISoftware DevelopmentDevOpsSecurityView all topicsEXPLORE BY TYPECustomer storiesEvents & webinarsEbooks & reportsBusiness insightsGitHub SkillsSUPPORT & SERVICESDocumentationCustomer supportCommunity forumTrust centerPartnersView all resourcesOpen SourceCOMMUNITYGitHub SponsorsFund open source developersPROGRAMSSecurity LabMaintainer CommunityAcceleratorGitHub StarsArchive ProgramREPOSITORIESTopicsTrendingCollectionsEnterpriseENTERPRISE SOLUTIONSEnterprise platformAI-powered developer platformAVAILABLE ADD-ONSGitHub Advanced SecurityEnterprise-grade security featuresCopilot for BusinessEnterprise-grade AI featuresPremium SupportEnterprise-grade 24/7 supportPricing

Search or jump to...

Search code, repositories, users, issues, pull requests...

Search

Clear

Search syntax tips

Provide feedback


We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

arashThr

/

hugo-flow

Public

Notifications
You must be signed in to change notification settings

Fork
0

Star
3

Code

Issues
0

Pull requests
0

Actions

Projects

Security and quality
0

Insights

Additional navigation options

Code

Issues

Pull requests

Actions

Projects

Security and quality

Insights


arashThr/hugo-flow

 mainBranchesTagsGo to fileCodeOpen more actions menuFolders and filesNameNameLast commit messageLast commit dateLatest commit History27 Commits27 Commitspublicpublic  srcsrc  .gitignore.gitignore  AGENTS.mdAGENTS.md  CLAUDE.mdCLAUDE.md  DockerfileDockerfile  README.mdREADME.md  compose.ymlcompose.yml  deply.shdeply.sh  eslint.config.mjseslint.config.mjs  next.config.tsnext.config.ts  package-lock.jsonpackage-lock.json  package.jsonpackage.json  postcss.config.mjspostcss.config.mjs  tailwind.config.tstailwind.config.ts  test-tiptap.jstest-tiptap.js  tsconfig.jsontsconfig.json  View all filesRepository files navigationREADMEHugo-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.local file:

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.local is 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!
+++

About

Simple rich-text CMS for Hugo weblogs. Try at https://hugo-flow.arashtaher.com

Resources

Readme

Uh oh!

There was an error while loading. Please reload this page.


Activity
Stars

3
stars
Watchers

0
watching
Forks

0
forks

Report repository

Releases
No releases published

Packages
0

 

 

 

Uh oh!

There was an error while loading. Please reload this page.


Contributors

Uh oh!

There was an error while loading. Please reload this page.


Languages

TypeScript
94.7%

CSS
2.0%

Dockerfile
1.8%

JavaScript
1.1%

Shell
0.4%

Footer

© 2026 GitHub, Inc.

Footer navigation

Terms

Privacy

Security

Status

Community

Docs

Contact

Manage cookies

Do not share my personal information

You can’t perform that action at this time.

The project by arashThr introduces hugo-flow, which functions as a custom, web-based front-end interface designed to facilitate the management of static Hugo websites, positioning itself as a simple rich-text Content Management System. A core feature of this system is robust GitHub integration, allowing users to commit files directly to their repository via the GitHub API. The dynamic configuration system enables users to select their specific repository and the corresponding file paths through a user interface, streamlining the process of content management. Furthermore, the application provides a dual editing mode, offering users the choice to switch seamlessly between a visually rich WYSIWYG rich text editor and a standard raw Markdown editor, accommodating different content creation workflows. Image handling is also integrated, allowing users to upload images which are automatically pushed to the repository as base64 blobs alongside their markdown posts.

For local development, the setup requires configuring a development environment by setting specific environment variables in a .env.local file, including NEXTAUTH_URL, NEXTAUTH_SECRET, GITHUB_ID, and GITHUB_SECRET. Development is initiated by installing necessary packages and running the development script, which launches the application on http://localhost:3000. When deploying to production using a standard Node.js setup, the process involves ensuring the environment variables are correctly configured, building the optimized production bundle using npm run build, and subsequently starting the production server with npm start.

A more advanced deployment strategy utilizes Docker and Docker Compose, capitalizing on Next.js standalone output to achieve a highly optimized and minimal container size. This method requires several preparatory steps; first, the GitHub OAuth application must have its authorization callback URL updated to the production domain. Second, production environment variables must be set in a server-side .env file, specifying the necessary domain, a secure runtime secret generated using openssl, and the corresponding GitHub credentials. Following this, the application is launched in the background using docker-compose up -d --build. To ensure secure and accessible deployment over HTTPS, this setup is typically paired with a Caddy reverse proxy, where a Caddyfile entry directs traffic for your domain to the application running on localhost:3000, allowing the application to be securely served across the internet.