Jump to content

KDE.org: Difference between revisions

From KDE Community Wiki
Transform the Coding section into an entrypoint for web development focused on Hugo
m Coding: Mention preferred Hugo version
 
Line 21: Line 21:
=== Coding ===
=== Coding ===


KDE primarily uses [https://gohugo.io Hugo] for its websites. In most cases, running a website locally consists of [https://invent.kde.org/websites/hugo-kde/-/wikis/getting-started installing Go and Hugo], and then:
KDE primarily uses [https://gohugo.io Hugo] for its websites. In most cases, running a website locally consists of [https://invent.kde.org/websites/hugo-kde/-/wikis/getting-started installing Go and Hugo] (preferably Hugo Extended version 0.134), and then:


{{Input|1=<nowiki>
{{Input|1=<nowiki>

Latest revision as of 02:22, 5 October 2024

Konqi connects to the internet.

Introduction

KDE hosts a variety of websites, from the highly dynamic to info, documentation, and promotional sites. Volunteering involves very different aspects ranging from:

  • writing content
  • moderating in the forum
  • coordinating announcements
  • staying in contact with KDE developers to be aware of latest changes
  • administering dynamic sites like forum, wikis
  • watching out for spammers in those
  • enhancing functionality of the codebase
  • styling/designing the look of our sites
  • etc etc

The web team works closely with the promo and the sysadmin teams to make sure that KDE has a nice-looking and functional web presence.

Getting involved

Coding

KDE primarily uses Hugo for its websites. In most cases, running a website locally consists of installing Go and Hugo (preferably Hugo Extended version 0.134), and then:

git clone <repository-link>
cd <cloned-repository>
hugo server

A few special websites might have additional instructions on how to set up local development, like the main KDE.org website, Planet KDE, or the KDE Developer platform.

You can read more about developing with Hugo in the Hugo KDE repository wiki. You might also want to check out the Hugo KDE repository itself, as it's where most HTML/SCSS/JS development happens.

To create a new Hugo website from scratch, you will want to read the Tutorial from scratch and take a look at the Hugo KDE Website Template.

Lastly, to deploy our websites, we use Continuous Delivery (CD).

In addition to Hugo, we also use MediaWiki for our wikis, and Jekyll in some rare cases.

KDE's web needs steadily change, and there is always room for coders who are able to contribute HTML, SCSS, or JS. Contributing is a matter of:

Contacting the KDE Web team

Documentation

Setting up kde.org or other capacity based website on your computer

In order to do any development you will want to have a local version of the websites to test before committing. The instructions for how to set this up are here: Local Website Setup.

Documentation for MediaWiki

KDE's MediaWiki instance are using the family setup.

The theme is located at Aether-mediawiki gitlab and the extensions are the following:

  • ConfirmEdit
  • DocumentationTags
  • Contribution_Scores
  • DynamicPageList_(third-party)
  • EmbedVideo
  • ImageMap
  • ParserFunctions
  • MassEditRegex
  • LiquidThreads
  • SpamBlacklist
  • TitleBlacklist
  • UserMerge
  • Interwiki
  • Matomo
  • Nuke
  • And the translation bundle

Documentation for the Jekyll theme

You can find the documentation for the Jekyll theme in the project README and a Tutorial is available at KDE.org/Jekyll.

Documentation for the cdn export (webpack)

The code is available at websites/aether-sass.

Websites using this theme:

Documentation for Capacity

The current default framework for many *.kde.org domains is the /media-framework, aka Capacity. Any documentation about this should go here:

Warning

Probably outdated content below


Working with Wordpress on kde.org

Note: this is not reflective of the current state of kde.org but will be helpful once kde.org has been ported to neverland and wordpress. Wordpress Help

  • Discussion for a new site here

Themes

Site Maintainance

Meetings

The Team

See here

Sub projects