Skip to content

golhaprogram/golhaprogram-website

Repository files navigation

Golha Program Website

Hugo Netlify Status License: CC BY-SA 4.0 remark42 Cloudflare GitHub DigitalOcean Docker Backblaze

This is the source code for golhaprogram.com.

The site is being deloyed via netlify. The content directory has all the files in markdown format.

Architecture

  • Static Site Generator: Hugo generates the site from markdown content
  • Hosting: Deployed via Netlify
  • Media Storage: Audio files hosted on Backblaze B2 at music.golhaprogram.com
  • Comments: Remark42 self-hosted on DigitalOcean
  • CDN: Cloudflare for CDN and DNS management

Local Development

Prerequisites

  • Hugo Extended (version 0.147.0 or higher)
  • Node.js (version 20 or higher)
  • npm (version 10 or higher)

Setup

  1. Clone the repository:

    git clone https://github.com/golhaprogram/golhaprogram-website.git
    cd golhaprogram-website
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev
  4. Visit http://localhost:1313 to see your local development version.

To run the server locally:

hugo server --bind 0.0.0.0 --baseURL http://10.0.10.108:1313 --disableFastRender
--noHTTPCache --disableLiveReload

Build

To build the production version:

npm run build

This will compile the SCSS, bundle JavaScript, and build the Hugo site.

Content Structure

  • Programs: Located in content/programs/ with subdirectories for each program series
  • Pages: General pages are in content/
  • Layouts: Templates in layouts/
  • Assets: SCSS and JS in assets/

Important Partials

  • layouts/partials/audio-url.html: Generates audio URLs based on program metadata
  • layouts/partials/program-title.html: Formats program titles consistently
  • layouts/partials/episode-schema.html: Rich structured data (schema.org) for SEO
  • layouts/partials/program-meta-description.html: SEO-optimized meta descriptions
  • layouts/partials/seo.html: SEO tags for OpenGraph, Twitter, and search engines
  • layouts/partials/comments.html: Integrates Remark42 comments
  • layouts/partials/fa-number.html: Converts numbers to Persian digits
layouts/
programs/
list.html # Used for /programs/ - lists all program types
          # (golhaye rangarang, golhaye tazeh, etc)

    section.html  # Used for /programs/golhaye-rangarang/ - lists all
                  # programs within a specific type

    single.html   # Used for individual programs like
                  # /programs/golhaye-rangarang/203

content/
programs/
\_index.md # Main programs page content (uses list.html)

    golhaye-rangarang/
      _index.md   # Section content (uses section.html)
      203.md      # Individual program (uses single.html)
      100.md      # Individual program (uses single.html)

Deployment

The site automatically deploys when changes are pushed to the main branch. The deployment configuration is in netlify.toml.

Audio Files

Audio files follow the naming convention: {PREFIX}_{NUMBER}.mp3 where:

  • PREFIX is the program type code (GR, GT, GJ, YSG, GS)
  • NUMBER is the program number

About

Source of golhaprogram.com

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors