[Blend-tinker-devel] wiki.d.o on a git-backed engine

Ahmad Khalifa ahmad at khalifa.ws
Tue Jan 14 20:10:55 GMT 2025


On 14/01/2025 11:55, Jonas Smedegaard wrote:
> # User interface(s)
> 
> One detail we might disagree on is the notion of "user", which is tied
> to the notion of "web": The originial WikiWikiWeb was edited via a web
> *browser* whereas some newer systems are edited offline and then pushed
> (via web or other protocols) to be read via a web browser. A few of
> those systems offer web-based editing as well, as an optional addon.
> 
> Strictly requiring web-browser-based editing limits available options.

1. Developer-type user (will read the code)
2. Power-user (will read the manual)
3. Contributing user (likes debian ecosystem)
4. Casual-user (uses debian OS, little time to even do a websearch, will 
only look at overly-SEOd pages that come up in the first page)

I would say as you go from 1 to 4, the number of users go up. The 
biggest audience for a wiki are casual users who don't know what git is.

If you can convert casual-users into contributing-user, that's great.
So for me the web-editing capability is the most important feature after 
web-browsing :)

> # Markup
> 
> Some esp. early wikis use markup now considered obscure, where most
> newer systems use some flavor of Markdown.
> 
> Markdown-based wikis sometimes deviate further through custom markers,
> and some add metadata at the top, most commonly as YAML or TOML data.
> 
> Do we want to require a certain markup, or leave that to whatever system
> we want for different reasons?
> 
> This obviously affects the migration challenge, but perhaps not decide
> now, but just keep it in mind when considering system options.

Can we agree that it has to be accessible to Contributing-users?
This will unintentionally bias towards markdown or mediawiki format, but 
that's not my intent here.


> # Backend
> 
> Most wikis store page content as files in a POSIX filesystem, or as
> strings in an SQL database, or as documents in a NoSQL database, as is
> standard for those backends, with revision control and web editing added
> as custom logic on top of that.
> 
> Git-based wikis use a standardized revision control, with web access as
> custom logic on top.
> 
> The use of a standardised version control system is a key feature for
> me, and judging from the topic of this thread also for others.
> 
> Requiring git-based backend limits options, and perhaps most notably
> excludes the undeniably popular system Mediawiki, used e.g. for
> Wikipedia. Some disagree with me on that, though:
> https://webmasters.stackexchange.com/a/82433

I see git-based backend as a not-so-great feature to have. Database 
backends are more popular for admins. phpMyAdmin for even web-based 
DB-editing.
If you have the same stack as Wordpress/MediaWiki and friends, then you 
have a much bigger pool of contributors/power users able to help.


> # Rendering
> 
> Some wikis render each page on-demand, and some render all pages ahead
> of time after each content edit. The latter are called static web
> compilers.
> 
> I am a big fan of static web compilers, but whether they are more
> efficient obviously depends on how frequently a site is being edited
> versus viewed, and how expensive a full site recompilation is.

I like SSGs, I use pelican and hugo. But neither have a web-editing 
interface, you have to compile it. That's Ok for developer tools.


> # Migration
> 
> MoinMoin use a filesystem-based backend with each page revision in a
> sequence-numbered subdirectory. Content markup predates Markdown and is
> called Creole. A plugin mechanism introduces custom markers that need
> caring for as well.
> 
> Around 2005 I packaged the Perl modules usable for transforming wiki markup,
> including from MoinMoin Creole to flavors of Markdown.
> 
> An attempt to migrate to Ikiwiki was investigated around 2008-2009.  I
> vaguely remembered that effort to be lead by Frank Lin PIAT, but reading
> some archived emails it seems I was more convinced than him on that, so
> I am no longer sure what happened back then, and it was before I gained
> familiarity with git so I have no code lying around related to that.
> 
> The best that I know of is the work by anarcat and others, maintained at
> https://ikiwiki.info/tips/convert_moinmoin_to_ikiwiki/
> 
> I have some unfinished code converting a relatively large ikiwiki site
> to Zola, which might have some use also for migrating to other systems
> like hugo.

When this migration happened back then, how far did it get? Stuck at 90% 
or much earlier?




-- 
Regards,
Ahmad




More information about the Blend-tinker-devel mailing list