wiki.libvirt.org replacement

Peter Krempa pkrempa at redhat.com
Tue Feb 14 22:03:20 UTC 2023


https://gitlab.com/libvirt/libvirt-wiki/-/merge_requests/1

Hi,

in order to ease editing of the libvirt wiki, remove the need for
registering users and remove the need to run PHP in an openshift instance
I've decided to contents of the libvirt wiki into a staticaly generated
page using (almost) the same approach we use to generate the libvirt web
pages from rST documents in the repo.

All articles were converted into rST files [1] and images linked from
currently existing articles were dowloaded.

Advantages:

 - same workflow as with editing the libvirt pages
 - gitlab still provides a web editor
 - local editing for users who hate web
 - no need to deal with user registration
 - no need to run PHP in openshift
 - we still keep separate space for docs which don't really belong into the
   main repo
 - even if we decide to kill-off the wiki eventually the valuable content
   will be easier to port to the kbase as it'll be in rST
 - the conversion fixed many orphaned pages

Disadvantages:

 - all links will be broken [2]
 - changes will need to be reviewed/approved
 - low quality/obsolete content is forward-ported as I didn't review
    anything
 - the build script is in bash (This obviously can be changed if somebody
   cares more than I do.)

The generator is based on a cleaned up page.xsl and other assets from
libvirt's repo and the check-html-references script [3] to validate linking.

The new wiki can for now be browsed from artifacts of the pipeline job that
I've used to test it:

 https://pipo.sk.gitlab.io/-/libvirt-wiki/-/jobs/3771076975/artifacts/website/index.html

 (I know my username is unfortunate to contain a dot which breaks the
  certificate)

If somebody wishes to see the extremely ugly conversion scripts:

https://gitlab.com/pipo.sk/libvirt-wiki/-/commit/fe36e37d3580a76ca18e512354135e282aa5667c

[1] The conversion was done using a collection of ugly scripts and pandoc.
Unfortunately markdown-eque formats have the issue of not really having
strict rules and in certain cases the tools used to process them not
implementing them correctly. This meant that the least painful was actually
the coversion from HTML!!! and not the internal mediawiki format.

[2] If we really want to preserve links I can modify the script to generate
a list of redirects for the webserver, but I really doubt that preserving
links has value. Additionally some content was moved to the knowledge base,
so I really want to just delete it from the wiki, so breaking links is a
feature.

[3] It uses the version after the last patchset:
https://listman.redhat.com/archives/libvir-list/2023-February/237785.html


More information about the libvir-list mailing list