wbsx

Web app builder. Command line XSLT processor for XML and HTML content.

Introduction

wbsx is a CLI toolkit for building websites and web apps using XSLT stylesheets.

NOTICE: This software is currently under active development. There will be breaking changes between releases.

Supported platforms: Linux, Windows, and macOS.

Demo

The website you are reading right now is also a demo of the program.

Usage

Each output file is generated from one input file.

Do XSLT transformation on an XML file:

wbsx run template:site.xsl src.xml index.html

Input may be a glob pattern.

Output may be a directory. If the path does not exist, it is created. Use a trailing / to create a directory.

Paths are resolved relative to the configuration file’s directory, or to the current working directory when no configuration file is used. A leading / refers to that base directory, not to the filesystem root.

Run a HTTP server on localhost:

wbsx serve --listen:8080 .

Print help:

wbsx --help

Example Dockerfile:

FROM codeberg.org/wbsx/wbsx-runtime:latest

COPY --chown=wbsx:wbsx ./ /app

CMD ["serve", "--server-config", "/app/server.config"]

Build container:

docker build -t your-website:latest .

Run container:

docker run --rm -p 8080:8080 your-website:latest

Check out the examples/ dir in the source code repository.

Installation

macOS

brew tap wbsx/wbsx https://codeberg.org/wbsx/homebrew-wbsx.git
brew install --cask wbsx

Linux

Download the package for your system.

Tar archive

Optionally verify the archive

Download the PGP release key:

curl -fLO https://wbsx.codeberg.page/wbsx-release-key.asc

Import the PGP release key:

gpg --import wbsx-release-key.asc

Download the detached signature for your chosen release (file with the .asc suffix).

Verify the archive

gpg --verify wbsx-<version>-linux-x86_64.tar.gz.asc \
    wbsx-<version>-linux-x86_64.tar.gz

Unpack and install:

tar -xzf wbsx-<version>-linux-x86_64.tar.gz
sudo install -m 0755 wbsx /usr/local/bin/wbsx

Debian and Ubuntu

sudo apt install ./wbsx-<version>-linux-x86_64.deb

Fedora, RHEL, and compatible distributions

sudo dnf install ./wbsx-<version>-linux-x86_64.rpm

Nix

Install wbsx directly from the wbsx Nix repository:

nix profile install git+https://codeberg.org/wbsx/wbsx-nix.git

Open a development shell containing wbsx:

nix shell git+https://codeberg.org/wbsx/wbsx-nix.git

Guix

Add the wbsx Guix channel to ~/.config/guix/channels.scm:

(cons*
  (channel
    (name 'wbsx)
    (url "https://codeberg.org/wbsx/wbsx-guix.git"))
  %default-channels)

Update the channel and install wbsx:

guix pull
guix install wbsx

Windows

Download the zip-archive for Windows.

In File Explorer: right-click the .zip and select "Extract All…"

PGP public keys

Releases are signed with the following PGP keys:

6074 2B20 5A55 C192 E592 B84D 42FF 38A5 F6F9 8084

Download the public key block wbsx-release-key.asc .

Source code

Source code repository: https://codeberg.org/wbsx/wbsx.