Skip to content

Generate top level files with static site generator#128

Open
bkmgit wants to merge 79 commits intoprofanity-im:masterfrom
bkmgit:sblg
Open

Generate top level files with static site generator#128
bkmgit wants to merge 79 commits intoprofanity-im:masterfrom
bkmgit:sblg

Conversation

@bkmgit
Copy link
Contributor

@bkmgit bkmgit commented Mar 1, 2026

May close #85

As sblg works with xml, it is also possible to do the migration progressively.

To use html as indicate at https://kristaps.bsd.lv/sblg/article10.html one can use lowdown.

The blog can also be integrated

jubalh and others added 30 commits January 3, 2020 18:32
Add a blogpost on how to get a backtrace
Add a link to an example issue and to the blogpost where the howto was first published
Should be taken from metadata. Don't know how yet.
Add full content to the RSS feeds.
Add a little helper script for creating blogposts
Thanks pep and debacle!
@bkmgit
Copy link
Contributor Author

bkmgit commented Mar 1, 2026

It is possible to build the site using CI, sblg is in Fedora repositories.

@jubalh
Copy link
Member

jubalh commented Mar 1, 2026

Cool! I just wanted to look into this next week! That's awesome.

I have never heard of sblg or lowdown. I'll need some time to review this.
Can you give me a rundown of what is already working and what needs to be done later and other stuff that I should be aware of?

@bkmgit
Copy link
Contributor Author

bkmgit commented Mar 2, 2026

At the moment it builds the main html pages at the top level of the repository:
https://github.com/bkmgit/profanity-im.github.io/blob/sblg/Makefile#L2-L9
The pages in the guide folder can be built in the same manner and could be migrated with a script and likely some manual cleanup.

The blog would require a bit more effort to migrate. Is it desired to keep the blog styling or use the current website styling? One could take the markdown files and convert these to html first then use sblg to integrate them, but would like to get some idea if this would be desired.

Can add a CI script to build and deploy the site if that would be helpful for your review.

@jubalh
Copy link
Member

jubalh commented Mar 2, 2026

The pages in the guide folder can be built in the same manner and could be migrated with a script and likely some manual cleanup.

The command reference for example is created by a command in profanity profanity --docgen. This then also needs to be adjusted to output markdown I guess.

Is it desired to keep the blog styling or use the current website styling?

I would prefer if it would use the current website styling. It was just too much work for me at the time so I decided to use an existing scheme.

The blog repo is here: https://github.com/profanity-im/blog

I use hugo to generate the html from the markdown. So I think we can just move those markdown files in this repo, drop the blog repo. And use your generator.

So basically this repo here contains content from three places:

  • the main website like index, donate etc which are build and stored here
  • the blog which is in another repo and the resulting html files then get copied here
  • the command reference which is generated from profanity (outputs html files) and then those html files are copied here

It's a bit messy so I would definitely appreciate if we could simplify and cleanup this process.

@bkmgit
Copy link
Contributor Author

bkmgit commented Mar 2, 2026

The pages in the guide folder can be built in the same manner and could be migrated with a script and likely some manual cleanup.

The command reference for example is created by a command in profanity profanity --docgen. This then also needs to be adjusted to output markdown I guess.

sblg is driven by a makefile, and can process html or xml output. So current output from profanity --docgen is fine. Would integrate this into a CI build in GitHub actions so that the current documentation is easy to update.

The python documentation:
https://github.com/profanity-im/profanity/tree/master/apidocs/python
does not seem to get built. This seems to be generated by sphinx which can also output xml and html, so could possibly also be integrated.

Is it desired to keep the blog styling or use the current website styling?

I would prefer if it would use the current website styling. It was just too much work for me at the time so I decided to use an existing scheme.

The blog repo is here: https://github.com/profanity-im/blog

I use hugo to generate the html from the markdown. So I think we can just move those markdown files in this repo, drop the blog repo. And use your generator.

Perhaps adding this repo as a submodule and then merging it would allow to keep git history. Can then re-process the markdown files using lowdown.

So basically this repo here contains content from three places:

  • the main website like index, donate etc which are build and stored here
  • the blog which is in another repo and the resulting html files then get copied here
  • the command reference which is generated from profanity (outputs html files) and then those html files are copied here

It's a bit messy so I would definitely appreciate if we could simplify and cleanup this process.

If we integrate the blog and markdown conversion is ok, then can migrate the main site pages to markdown for easier maintenance. New guide pages could be written in markdown, but probably not worth migrating guide pages for older versions to markdown.

@bkmgit
Copy link
Contributor Author

bkmgit commented Mar 13, 2026

@jubalh You can preview the site at https://bkmgit.github.io/profanity-im.github.io/

blog has been integrated. Can this be merged?

Have not integrated the generation of the api documentation or the python sphinx
documentation, but these could be done as later steps if the current approach is ok.

@bkmgit
Copy link
Contributor Author

bkmgit commented Mar 13, 2026

One thing to fix in the blog posts is the time stamps, but waiting for response to kristapsdz/sblg#26

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use statis site generator instead of plain HTML

4 participants