Sources for https://profanity-im.github.io
The website is generated from XML templates and Markdown sources using sblg and lowdown.
| To Change... | Edit File(s) | Format |
|---|---|---|
| Home Page (Landing) | index.md |
Markdown |
| Top-Level Pages (FAQ, Donate, etc.) | pagesource/*.md |
Markdown |
| Blog Posts | blogsource/content/post/*.md |
Markdown |
| Blog User Profiles | blogsource/content/contributors/*.md |
Markdown |
| Site Header/Footer (Home) | landing-template.xml |
HTML Template |
| Site Header/Footer (Manuals) | manual-template.xml |
HTML Template |
| Blog Post Layout | blogsource/content/post/blog-post-template.xml |
HTML Template |
| Theme Gallery Layout | gallery-template.xml |
HTML Template |
| Style | css/*.css |
CSS |
The source files for the landing page (index.md) and other top level pages in pagesource/ are writen in Markdown. They are transformed to HTML and then injected into the appropriate header and footer templates. The list of supported XEPS is generated using a git submodule for https://github.com/profanity-im/profanity/blob/master/profanity.doap.
Blog posts and contributor profiles are written in Markdown.
To create a new blog entry:
- Enter the directory
blogsource. - Run
./blog-post.shto create a starter file inblogsource/content/post/. - Edit the new
.mdfile to add your content.
If you do not have a contributor profile, please create one in blogsource/content/contributors/ using an existing profile as a template. You can optionally add a JPEG image (named username.jpg) to blogsource/content/contributors/img/.
Command references (main_fragment.html, toc_fragment.html) and apidocs are generated via profanity docgen. See the release guide for details.
GitHub Actions will automatically build and deploy the website to GitHub Pages on every push.
To build the site locally, run
git clone https://github.com/profanity-im/profanity-im.github.io.git
cd profanity-im.github.io
git submodule update --init --recursive
make
You will need sblg, lowdown and libxslt installed on your system.
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.
When a new version of Profanity is released:
- Update the version string in
profanity_version.txt. - Add the new
.tar.xzand.zipsource tarballs to thetarballs/directory. - Generate the documentation for the new version (
profanity docgensee RELEASE_NOTES.md in the profanity repo) and copy it to a new subdirectory inguide/. Add a link to the new guide inpagesource/userguide.md.
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.