wiki
J'héberge ici plusieurs wikis, petit inventaire:
- APSSA - Alliance des Petits Serveurs | Small Server Alliance
- foufem - femmes et de féministes aimant le Foulab
- CⒶTS - - Collective Appalachian Tech Skillshare
- réseau libre - projet d'internet sans fil communautaire "mesh"
- ce site - ce site
Voir aussi hosted pour les sites statiques hébergés hors de la ferme de wikis.
- Fonctionnement
- Tips
- Todo list
- Update log
- Patches to apply
- 2021-10-05: major upgrade (to bullseye)
- 2019-10-02: major upgrade
- 2017-06-19: major upgrade
- 2017-04-19: ikiwiki-hosting upgrade
- 2017-01-14: security upgrade
- 2016-05-08: security upgrade
- 2015-02-06: blog migrated from Drupal
- 2015-04-02: security upgrade
- 2015-03-30: git-annex support
- 2015-02-03: minor upgrade
- 2014-??-??: ikiwiki-hosting upgrade?
- 2014-10-28: minor upgrade
- 2014-09-28: minor upgrade
- 2014-06-01: minor upgrade
- 2014-02-03: jessie upgrade
- 2013-11-29: Backport upgrade
- 2013-09-08? Migration à ikiwiki-hosting
- 2011-12-16: Migration du site statique vers ikiwiki
Fonctionnement
Les wikis fonctionnent sous l'excellent logiciel ikiwiki, et les wikis sont gérés avec l'extension ikiwiki-hosting.
Chaque wiki a sont propre dépôt git indépendant qui garde l'historique des changements, et donc peut facilement être cloné. Les wikis peuvent être modifiés par l'interface web ou par git, et un ensemble de plugins sont disponibles.
Un stylesheet peut être installé par les utilisateurs, et un thème complet (tel night city qui formait la jolie présentation ici) peut être installé sur demande.
Tips
Petits conseils d'utilisation supplémentaire de ikiwiki. Voir ikiwiki pour l'aide régulière.
Migrating from Moinmoin markup to markdown regexes
- titles:
^== \(.*\) ==$
to## \1
- preformatted areas:
{{{
to<div class="highlight-txt"><pre class="hl">
and}}}
to</pre></div>
- links:
\[\[\([^|]*\)|\([^]]*\)\]\]
to<span class="createlink">\2</span>
Those are probably not being rendered properly, see tips/convert moinmoin to ikiwiki for a more complete solution.
Renaming a wiki
Normally:
ikisite rename foo.example.com bar.example.com
By hand:
vipw
vipw -s
vigr
cd /home
mv a-test a-testwiki
cd a-testwiki
vim ikiwiki.setup
git commit
git remote set-url origin /home/a-testwiki/source.git
git push
cd source
git remote set-url origin /home/a-testwiki/source.git
cd /var/www
mv a-test a-testwiki
cd /var/log/ikiwiki-hosting
mv a-test a-testwiki
cd /etc/ikiwiki-hosting/config
mv a-test a-testwiki
cd /var/lib/ikiwiki-hosting-web/lock/
mv a-test a-testwiki
sudo ikisite changesetup testwiki.anarc.at --rebuild
Rebuilding Apache configuration files
Apache configuration files are managed by the ikiwiki-hosting-web
package, and specifically the ikisite
command.
To rebuild the configuration from the templates, you first need to
find the wiki site name. You can derive it from the username attached
to the wiki, so say if the username is w-foo
, the site name will be
foo.wiki.orangeseeds.org
. If you only have an alias
(e.g. example.com
), you'll need to look in the Apache configuration
file for a matching wiki.orangeseeds.org
domain.
To batch-rebuild all wikis, you can use this command:
grep -v -e '^#' -e '^$' /etc/ikiwiki/wikilist \
| sed 's/^w-//' \
| while read wikiname; do
ikisite enable $wikiname.wiki.orangeseeds.org;
done
Also note that the base template is in
/etc/ikiwiki-hosting/templates/apache-site.tmpl
and per-site
overrides can be added to
/etc/ikiwiki-hosting/config/$USERNAME/apache.conf.tmpl
, for example
in /etc/ikiwiki-hosting/config/w-anarcat/apache.conf.tmpl
.
Todo list
Here are some things I'm thinking of doing on the website:
- reduce webpage bloat: some tests on webpagetest.org show
that the site can be as slow as 1.7s on a first load on a normal
cable connexion. we should be faster. here are a few ideas:
- ditch the Bootstrap theme: more than 50% of the page size is CSS and JS (23% and 30% resp.). we don't need this framework to make a pretty site, and there are other much smaller frameworks, see for examples:
ditch the Fira fontdone - this greatly reduced the loading time- ditch JQuery - i'm not sure why it's used, but it certainly takes a significant part of the load time
- use a CDN or a cache - not sure. huge privacy implications
- use a VPS - the site would certainly load faster from a real datacenter... but it's an extra cost and maintenance
- ikiwiki-hosting let's encrypt integration - automate management
of X509 certs for new sites, see
use_letsencrypt
parameter? - ikiwikihosting-dns - automatic DNS configuration for new sites
- customersite - billing, hosting and so
on... the controlpanel should be fixed, along with the
following plugins:
- makesite - pour la création de nouveaux sites
- missingsite - pour montrer un site même pour les sites manquants
- parked - pour les sites désactivés
- improve spam control, consider the mediawiki tricks, friendly captcha, the Tornevall blocklist and other RBLs, and the ikiwiki discussion
- consider migrating away from ikiwiki, see ikiwiki-hugo-conversion for details
- theming improvements:
Update log
Various operations on the service documented here.
Patches to apply
On any given upgrade, the following patches need to be applied:
bugfixes
I still carry those patches on top of ikiwiki:
- todo/allow_toc_to_skip_entries
- todo/include_page_variable_in_base_templates
- bugs/javascript_resources_placed_after_html_tag
- todo/proper_links_in_recentchanges_without_CGI
- plugins/contrib/i18nheadinganchors
- plugins/contrib/bootstrap
- todo/admonitions
- bugs/footnotes-look-weird (not a patch on core per se, but a modification to the stylesheet, as many others)
- todo/add_geo_uri_scheme
To apply this patch set:
cd src/ikiwiki &&
release=3.20200202.3 &&
git rebase --onto $release anarcat/master toc-skip &&
git diff $release..toc-skip | ( cd /usr/share/perl5 ; sudo patch -p1 --dry-run ) &&
git diff $release..toc-skip | ( cd /usr/share/perl5 ; sudo patch -p1 ) &&
git rebase --onto $release anarcat/master $release page-template-variable &&
git diff $release..page-template-variable | ( cd /usr/share/perl5 ; sudo patch -p1 --dry-run ) &&
git diff $release..page-template-variable | ( cd /usr/share/perl5 ; sudo patch -p1 ) &&
git rebase --onto $release anarcat/master $release js-newline &&
git diff $release..js-newline | ( cd /usr/share/perl5 ; sudo patch -p1 --dry-run ) &&
git diff $release..js-newline | ( cd /usr/share/perl5 ; sudo patch -p1 ) &&
git rebase --onto $release anarcat/master $release recent-changes-plain-url &&
git diff $release..recent-changes-plain-url | ( cd /usr/share/perl5 ; sudo patch -p1 --dry-run ) &&
git diff $release..recent-changes-plain-url | ( cd /usr/share/perl5 ; sudo patch -p1 ) &&
git rebase --onto $release anarcat/master $release i18n-headinganchors &&
mv /usr/share/perl5/IkiWiki/Plugin/i18nheadinganchors.pm{,.orig} &&
git diff $release..i18n-headinganchors | ( cd /usr/share/perl5 ; sudo patch -p1 --dry-run ) &&
git diff $release..i18n-headinganchors | ( cd /usr/share/perl5 ; sudo patch -p1 ) &&
diff -u /usr/share/perl5/IkiWiki/Plugin/i18nheadinganchors.pm{,.orig} &&
rm /usr/share/perl5/IkiWiki/Plugin/i18nheadinganchors.pm.orig &&
git rebase --onto $release anarcat/master $release bootstrap-plugin &&
mv /usr/share/perl5/IkiWiki/Plugin/bootstrap.pm{,.orig} &&
git diff $release..bootstrap-plugin | ( cd /usr/share/perl5 ; sudo patch -p1 --dry-run ) &&
git diff $release..bootstrap-plugin | ( cd /usr/share/perl5 ; sudo patch -p1 ) &&
diff -u /usr/share/perl5/IkiWiki/Plugin/bootstrap.pm{,.orig} &&
rm /usr/share/perl5/IkiWiki/Plugin/bootstrap.pm.orig &&
git rebase --onto $release anarcat/master $release admonitions &&
mv /usr/share/perl5/IkiWiki/Plugin/admonition.pm{,.orig} &&
git diff $release..admonitions IkiWiki/Plugin/admonition.pm | ( cd /usr/share/perl5 ; sudo patch -p1 --dry-run ) &&
git diff $release..admonitions IkiWiki/Plugin/admonition.pm | ( cd /usr/share/perl5 ; sudo patch -p1 ) &&
diff -u /usr/share/perl5/IkiWiki/Plugin/admonition.pm{,.orig} &&
rm /usr/share/perl5/IkiWiki/Plugin/admonition.pm.orig &&
git diff $release..admonitions doc/style.css | ( cd /usr/share/ikiwiki/basewiki ; sudo patch -p2 --dry-run ) &&
git diff $release..admonitions doc/style.css | ( cd /usr/share/ikiwiki/basewiki ; sudo patch -p2 )
Then rebase and push all the branches:
for b in toc-skip page-template-variable'js-newline i18n-headinganchors bootstrap-plugin; do git co $b && git reset --hard marcos/$b && git push --force-with-lease anarcat $b; done
git co deploy
git reset --hard $release
git merge toc-skip page-template-variable js-newline i18n-headinganchors bootstrap-plugin
git push --force-with-lease
git co master
git reset --hard $release
git push --force-with-lease anarcat
2021-10-05: major upgrade (to bullseye)
Upgraded the entire server to bullseye.
The following patches were dropped:
- todo/git-annex_support (was not really working anyways)
2019-10-02: major upgrade
Upgraded the entire server to buster. The following patches were dropped:
- todo/toc-with-human-readable-anchors (merged upstream)
- todo/fix javascript load ordering/ (merged upstream)
- todo/hide add comment button in print/ (merged upstream)
- the album plugin was totally removed, it's just not good enough. I don't use it and ended up going with a static gallery generator, see 2018-03-19-sigal for details.
Still carrying 5 patches, which were all rebased to the latest upstream release in Debian stable (debian/3.20190228-1)
I am now considering a switch to hugo because of the constant churn in keeping those patches updated seemingly forever.
ikiwiki-hosting was also upgraded. The following patches were dropped:
- hsts - merged upstream
- bugs/controlpanel_crashes_when_ikisite-wrapper_fails/ - not critical
We're now running upstream (0.20180719-1
), which hopefully still
works.
2017-06-19: major upgrade
upgraded to the upstream 3.20170111 release using backports in preperation for the stretch upgrade. patches reapplied as they are not factored in upstream yet.
2017-04-19: ikiwiki-hosting upgrade
Followed the upstream 0.20161219 release from stretch. Had to apply the following patches:
The following patches were dropped:
- attic/apache24: merged upstream
- dev/idempotent-delete: refused upstream - seems like there's a workaround...
- dev/usercreate_fails: not reported upstream, werid use case
2017-01-14: security upgrade
Upstream did a security update in Jessie from 3.20141016.3 to 3.20141016.4. I did reapplied the git-annex and admonition patches since those are still useful.
I dropped the bugs/notifyemail fails with some openid providers patch because of the impeding doom of OpenID.
2016-05-08: security upgrade
Upstream did a security update in Jessie from 3.20141016.2 to 3.20141016.3. I decided to drop the bugs/notifyemail fails with some openid providers patch because it's probably not really in use and OpenID is dying anyways. I did reapply the git-annex patch since that is still useful.
2015-02-06: blog migrated from Drupal
See 2015-02-06-migrating-drupal-ikiwiki.
2015-04-02: security upgrade
Upstream just rerolled an upgrade to work around an XSS issue in the OpenID plugin.
2015-03-30: git-annex support
I started working on todo/git-annex support. Ikiwiki and ikiwiki-hosting have been locally patched to support this, but manual interventions are required for any wiki that wants to have annexed files. So far only this wiki has such support. See todo/git-annex support for more information on how this works.
2015-02-03: minor upgrade
It seems there were some ikiwiki criticial bugs in jessie that warranted a 3.20141016.1 release. Debian is now diverging from upstream which is unfortunate, but I guess necessary to have stables.
My openid patch is still not in, but I believe the SSL issue is finally fixed. See the 3.20141016.1 upload for release notes.
2014-??-??: ikiwiki-hosting upgrade?
At some point during the year, ikiwiki-hosting was upgraded to 0.20140613 (or just installed?).
2014-10-28: minor upgrade
Hopefully last upgrade for the lifetime of the next Debian stable release, the news/version 3.20141016 release still hasn't factored in my patch and I'll probably have to port it to the end. But it's the only patch remaining. See news/3.20141016 for changelog.
2014-09-28: minor upgrade
Upgraded to the latest release, only one patch left, and it seems it is here to stay... See bugs/notifyemail fails with some openid providers.
At least those patches were merged in / fixed:
- bugs/can 39 t upload a simple png image: prohibited by allowed 95 attachments 40 file MIME type is application 47 octet-stream...
- bugs/openid login fails wirth Could not determine ID provider from URL - should be fixed in the latest packages from sid
- bugs/garbled non-ascii characters in body in web interface
The changes cover this changelog between versions 3.20140227
and 3.20140916
.
2014-06-01: minor upgrade
Upgraded to the february release, only two patches left to apply! Those patches were merged in:
I didn't re-enable the pagedown and album plugins for now. We would need to avoid having duplicate previews before re-enabling this.
The changes cover this changelog, version 3.20140227
.
2014-02-03: jessie upgrade
I upgraded to jessie, and I had to reapply the patches. I mostly followed the procedure above.
See the following changelogs for details:
The changes cover this changelog between versions 3.20140102
and 3.20140125
.
2013-11-29: Backport upgrade
I upgraded to the current version in jessie
, that is 3.20130904.1
. This deals with problems with uncommitted changes from the web interface and also factors in a few patches that were applied locally, as well as lots of bugfixes.
All the patches above were applied but the magic-mime problem.
The changes cover this changelog between versions 3.20130904.1
and 3.20120725
.
Around this time, the album and pagedown plugins were installed.
New feature: markdown WYSIWYG!
I have also tried out the todo/pagedown plugin:
git co pagedown
git show ce1e63c IkiWiki | ( cd /usr/share/perl5 ; sudo patch -p1 )
git show ce1e63c doc/style.css | ( cd /usr/share/doc/ikiwiki/html/ ; sudo patch -p2 )
git show ce1e63c doc/style.css | ( cd /usr/share/ikiwiki/basewiki/ ; sudo patch -p2 )
git show ce1e63c doc/style.css | ( cd /usr/share/ikiwiki/themes/actiontabs/ ; sudo patch -p2 )
sudo cp /usr/share/doc/ikiwiki/html/style.css /usr/share/ikiwiki/themes/night_city/ikiwiki.css
git show ce1e63c templates | ( cd /usr/share/ikiwiki/; sudo patch -p1 )
git show ce1e63c underlays | ( cd /usr/share/ikiwiki/; sudo patch -p2 )
cd /usr/share/ikiwiki/pagedown/ && sudo make
And it's freaking awesome, we have somewhat WYSIWYG now! Just enable
the pagedown
plugin in your wiki.
New feature: album plugin
I am experimenting with the plugins/contrib/album plugin.
anarcat@marcos:ikiwiki$ git diff 3.20130904.1 IkiWiki | ( cd /usr/share/perl5 ; sudo patch -p1 )
patching file IkiWiki/Plugin/album.pm
anarcat@marcos:ikiwiki$ git diff 3.20130904.1 templates/ | ( cd /usr/share/ikiwiki/; sudo patch -p1 )
patching file templates/albumitem.tmpl
patching file templates/albumnext.tmpl
patching file templates/albumprev.tmpl
patching file templates/albumviewer.tmpl
2013-09-08? Migration à ikiwiki-hosting
Ikiwiki-hosting est en utilisation depuis peut-être 2011, puisque c'est là que me premières contributions arrivent dans le projet. Mais ces modifications dataient de 2013 dans l'historique de la page, alors meh.
Essentiel
migrer de anarcat.ath.cx vers anarc.at ou anarcat.orangeseeds.org- done!- désigner un sous-domaine de base pour les nouveaux wikis, possibilités:
- i.anarc.at
- w.anarc.at
- wiki.anarc.at
- wikis.anarc.at
- iki.anarc.at
- ikis.anarc.at
- i.orangeseeds.org
- w.orangeseeds.org
- wiki.orangeseeds.org
- wikis.orangeseeds.org
- iki.orangeseeds.org
- ikis.orangeseeds.org
- installer le control-panel pour la création de wiki quelquepart (ici?)
Glaçage
- migrate
https://wiki.koumbit.net/TheAnarcat andsubpages here,keep a small page there- mostly done publish the theme (with- submodules?) done, now on the theme market
- this would also fix the following paths:
cv
andpresentations
decide if i upgrade http://anarcat.koumbit.org to D7 or make a blog here :Pa blog was made, see 2015-02-06-migrating-drupal-ikiwiki.
2011-12-16: Migration du site statique vers ikiwiki
Must have before online
have a way to just dump stuff as i used to (see pastes directory)- this is wiki dude.keep tourne's photos (with plugins/album?)- just used the attachment plugin which allows me to add theimg
tags to the pagearchive all the rest- well, that public_html directory is still sitting there anyways...migrate image gallery(no: static html will work forever)recreate software gallery(no: will be archived)document offered services and add to sidebar(done)
We're live baby! -- anarcat 2011-12-16
Nice to haves
a real gallery with plugins/album?- used photofloat for http://photos.orangeseeds.org/