diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 86b248e..a7f7fc0 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -16,7 +16,11 @@ jobs: - name: install dependencies run: | sudo dnf -y update - sudo dnf install -y lowdown make sblg + sudo dnf install -y lowdown make sblg nodejs npm + - name: build css + run: | + npm install + npm run build - name: build site run: make - name: package site diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..947e541 --- /dev/null +++ b/LICENSE @@ -0,0 +1,15 @@ +ISC License + +Copyright (c) 2026 Profanity Team + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/Makefile b/Makefile index f2b24bc..d340496 100644 --- a/Makefile +++ b/Makefile @@ -16,6 +16,10 @@ REDIRECTS_DIR = pageredirects REDIRECTS_SRC = $(wildcard $(REDIRECTS_DIR)/*.html) REDIRECTS = $(subst $(REDIRECTS_DIR)/,,$(REDIRECTS_SRC)) +VERSION = $(shell cat profanity_version.txt) +TAR_XZ_SHA256 = $(shell sha256sum tarballs/profanity-$(VERSION).tar.xz | cut -d' ' -f1) +ZIP_SHA256 = $(shell sha256sum tarballs/profanity-$(VERSION).zip | cut -d' ' -f1) + all: index.html $(PAGES) themegallery.html $(BLOG_POSTS_OUT) $(BLOG_POST_OUT_DIR)/atom.xml \ $(BLOG_POST_OUT_DIR)/index.html $(CONTRIBUTORS_OUT) $(CONTRIBUTORS_OUT_DIR)/index.html $(REDIRECTS) @@ -36,8 +40,12 @@ install: index.html $(PAGES) themegallery.html $(BLOG_POSTS_OUT) $(BLOG_POST_OU cp -p -r tarballs $(PREFIX) -index.html: landing-template.xml - $(SBLG) -o $@ -t landing-template.xml -c index.xml +index.html: landing-template.xml index.xml profanity_version.txt + sed -e 's/$${version}/$(VERSION)/g' \ + -e 's/$${tar_xz_sha256}/$(TAR_XZ_SHA256)/g' \ + -e 's/$${zip_sha256}/$(ZIP_SHA256)/g' index.xml > index.gen.xml + $(SBLG) -o $@ -t landing-template.xml -c index.gen.xml + rm -f index.gen.xml $(PAGES): manual-template.xml cp --preserve=mode,ownership,timestamps $(addprefix $(PAGES_SRC_DIR)/,$(@:.html=.xml)) . diff --git a/README.md b/README.md index fa75643..f68239e 100644 --- a/README.md +++ b/README.md @@ -40,3 +40,13 @@ To build the site locally, run `make` in the top level directory. You will need To preview the site locally, run `make install` which will create a directory `site`, open `site/index.html` in a web browser. To remove the generated files and keep the source files, run `make clean`. + +## Release Process + +When a new version of Profanity is released: + +1. Update the version string in `profanity_version.txt`. +2. Add the new `.tar.xz` and `.zip` source tarballs to the `tarballs/` directory. +3. Generate the documentation for the new version (`profanity docgen` see RELEASE_NOTES.md in the profanity repo) and copy it to a new subdirectory in `guide/`. Add a link to the new guide in `pagesource/userguide.xml`. + +Do not manually update the version strings or SHA-256 hashes in `index.html`. These are calculated dynamically from the files during the build process on GitHub Actions. diff --git a/blogsource/content/index.html b/blogsource/content/index.html index fb89d03..529bcce 100644 --- a/blogsource/content/index.html +++ b/blogsource/content/index.html @@ -1,7 +1,8 @@
+ - - + +If you are not redirected, click here.