Skip to content

xsf/xmpp.org

Repository files navigation

xmpp.org

Build Website

Please log any issues.

Contributing new content and updates

  • Fork the code to your own git repository.
  • Make your changes in /content or directly via GitHub.
  • When you are happy with your updates, submit a pull request describing the changes.
  • IMPORTANT: Before sending a Pull Request make sure that your forked repo is in sync with the base repo.
  • The updates will be reviewed and merged in.

Communication forum

Please use xsf@muc.xmpp.org for discussions about the site, content, generation etc.

Site generation

  • Commits to the master branch generate a new build.
  • Builds are visible at Github Actions.
  • Changes will be visible on xmpp.org after the next update.

Build instructions

Clone this repository:

git clone ssh://git@github.com/xsf/xmpp.org.git
cd xmpp.org

Build locally or via Docker:

Regular build

To run a development server on your local machine, follow these basic steps. You need to have the following dependencies installed:

  • Hugo
  • Python >=3.12
  • lua (>=5.2) and lua-expat

The development server will automatically rebuild the page whenever a file is changed:

make serve

View at http://localhost:1313

Docker build

To build and serve the website locally, simply run:

docker build -t xmpp-org --build-arg BASEURL=http://localhost/ --build-arg BUILDFUTURE=--buildFuture .

It will do the following:

  • Build a Docker image with a complete set of dependencies ready.
  • Generate the website from the locally checked out xmpp.org repository (make publish). This includes rules from deploy/xsf.conf.

For development convenience, you can serve the website locally:

docker run -p 80:80 -t -i xmpp-org

View at http://localhost:80

Development

Repository structure

<repo>
  public
    <generated files>
  content
    <website page files>
  themes
    <website theme>

Introduction to Hugo

Hugo’s quickstart page is a good place to learn about the basics of Hugo (setup, project skeleton, development cycle, etc.).

Theme development

xmpp.org's theme makes use of:

The theme (layout and styling) can be customized in the /themes/xmpp.org directory.

You can directly modify styles in themes/xmpp.org/assets/css/style.css.