Skip to content

kubuntu-team/kubuntu.org

Repository files navigation

kubuntu.org

Repository for the Kubuntu.org website. This is where we can add new pages, update old ones, maintain and manage the website and its content.

Development Workflow

We follow a branching strategy to ensure stable deployments:

  • master branch: Production environment (kubuntu.org)
  • develop branch: Testing environment (kubuntu-team.github.io/kubuntu.org)
  • Feature branches: Create from develop for new features or fixes

Branch Protection Rules

  • master: Requires pull request reviews before merging
  • develop: Allows direct pushes for testing
  • Feature branches: Create from develop for development work

New to development ?

No worries we have you covered, we're assuming your working on a Kubuntu, or another Ubuntu based Linux distribution.

Step 1

Open a terminal application such as Konsole

Step 2

Copy the following line and paste it into the terminal window at the command line.

wget -O setup.sh https://raw.githubusercontent.com/ricktimmis/kubuntu.org/develop/setup.sh && bash setup.sh

Want more detail about what the script is doing, check the setup documentation

Running the Setup Script

Start Local development of kubuntu.org

setup.sh has installed your tools, and cloned the code from Github, it's time to take a look at the website running locally on your machine.

Standard Development

For standard development using localhost:1313, use the develop.sh script:

./develop.sh

You should see something like this kubuntu.org development site

Domain-based Development (kubuntu.org)

For testing with the actual kubuntu.org domain locally, you can use the proxy mode of the develop.sh script:

  1. First, add the following entry to your hosts file:

    127.0.0.1 kubuntu.org
    

    You can do this by running:

    sudo sh -c 'echo "127.0.0.1 kubuntu.org" >> /etc/hosts'
  2. Then start the proxy development environment:

    ./develop.sh --proxy
  3. To stop the proxy development environment:

    ./develop.sh --stop

This will:

  • Check that the required hosts file entry exists
  • Start a proxy service to forward requests from kubuntu.org to the local Hugo server
  • Launch the Hugo development server
  • Open your browser to http://kubuntu.org

Show help

./develop.sh --help

Making changes

  1. Create a new feature branch from develop:

    git checkout develop
    git pull
    git checkout -b feature/your-feature-name
  2. Make your changes:

    • Open the kubuntu.org folder using the dolphin file manager
    • Navigate to the content folder
    • Edit files in Kate
    • View changes in Firefox at http://localhost:1313
  3. Commit and push your changes:

    git add .
    git commit -m "Description of your changes"
    git push origin feature/your-feature-name
  4. Create a pull request to develop branch

Deployment Process

The site is automatically deployed using GitHub Actions:

Testing Environment

Production Environment

Deployment Steps

  1. Changes are merged to develop for testing
  2. After testing, create a pull request to master
  3. After review and merge, changes are automatically deployed to production

Deployment Notifications

  • Success: 🚀 Deployment successful with site URL
  • Failure: ❌ Deployment failed with workflow run link
  • All notifications are posted as commit comments

Build and Optimization

The build process includes:

  • Hugo static site generation
  • Image optimization
  • CSS and JavaScript minification
  • Sitemap generation
  • Broken link checking

Next Steps

We use the Hugo static site generator to develop kubuntu.org, so check out the

You should also take a read of the

Further help

Reach out to our #kubuntu user or #kubuntu-devel developer channels on IRC, if you're using Kubuntu then 'Konversation' is where your friends are.

About

The Kubuntu Public Website

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages