Is there something I could use as a personal wiki, that I could write to from a browser on several distinct machines, and the data would be stored on IPFS?
for create your wiki you can use that :
or other static website generator.
after that you need to add that on ipfs with ipfs add -r my-website/output/.
here your wiki is store in ipfs. after that if you render that public you can (if public):
- create a DNS entry CNAME or AAA with the path http://ipfs.io/ipfs/your_hash
- create ad IPNS and add that in DNS
beware with IPNS is cool but ipns have a ttl your need to manually re-publish all 24 hours (maybe check that)
in second choose when you update your wiki you need to change that into your DNS (with IPNS you need juste locally re-publish with IPNS).
Ummm; a static wiki is not a wiki! See e.g. the Wikipedia’s article on “wiki”:
A wiki is a website on which users collaboratively modify content and structure directly from the web browser.
Ward Cunningham and co-author Bo Leuf, in their book The Wiki Way: Quick Collaboration on the Web, described the essence of the Wiki concept as follows:
- A wiki invites all users—not just experts—to edit any page or to create new pages within the wiki Web site, using only a standard “plain-vanilla” Web browser without any extra add-ons.
- Wiki promotes meaningful topic associations between different pages by making page link creation intuitively easy and showing whether an intended target page exists or not.
- A wiki is not a carefully crafted site created by experts and professional writers, and designed for casual visitors. Instead, it seeks to involve the typical visitor/user in an ongoing process of creation and collaboration that constantly changes the website landscape.
That’s exactly what I’d be interested in. And by “personal” I meant that only a limited number of users (starting from only me, but maybe extended in future) would have write access (for example through password protection).
edit: See also, coming from the original inventor of wiki Ward Cunningham, the idea of a “Smallest Federated Wiki”, described on Wikipedia as follows:
Smallest Federated Wiki is a software platform developed by Ward Cunningham which adds forking features found in source control systems and other software development tools to wikis. The project was launched at IndieWebCamp 2011. The software allows its users to fork wiki pages, maintaining their own copies.
Federation supports what Cunningham has described as “a chorus of voices” where users share content but maintain their individual perspectives. This approach contrasts with the tendency of centralized wikis such as Wikipedia to function as consensus engines.
Sounds like a great match to IPFS in underlying philosophy.
IPFS cannot use for dinamyc content (like python or php) that can use only static (video / image, html, md, css et and js [client side]) content. but you can read that https://ipfs.io/blog/24-uncensorable-wikipedia/ but in this case we persist a version a snapshot into IPFS for up that wikipedia snapshot on IPFS.
So in your case you can use wiki create a snapshot save that in IPFS and all user need use your wiki get this snapshot by IPFS get an run locally this snapshot.
You’re wrong; it is possible, by using IPNS, which was created exactly with a purpose of allowing “dynamic” content. If you read further in the very same link you’ve just posted, a model exactly like what I’m asking about is hinted at in the following section:
(Goal 2) Fully Read-Write Wikipedia on IPFS
The long term goal is to get the full-fledged read-write Wikipedia to work on top of IPFS. This is much more difficult because for a read-write application like Wikipedia to leverage the distributed nature of IPFS, we need to change the how the applications write data. […T]he users of a read-write Wikipedia on IPFS could write content from anywhere and publish it, even without being directly connected to any wikipedia.org servers. […] We could allow people to view, edit, and publish in completely encrypted contexts[ …W]e are working on all the technology (2) needs, but it’s not ready for prime-time yet. We will update when it is.
So, in other words, what I’m asking about, is if in the meantime, someone has maybe developed a technology like the one mentioned in the section quoted above, since the article was published over a year ago already?
edit: Another related dynamic technology, straight from IPFS blog: “Decentralized Real-Time Collaborative Documents - Conflict-free editing in the browser using js-ipfs and CRDTs”
Not at the moment. Decentralized coordination like this is currently a bit tricky.
By dynamic I think they mean executing live code that is reading from a database, like MediaWiki.
I think the Wikipedia-mirroring version would need to be essentially re-generating static content, like how Jekyll works. That can be made to be user-editable and “dynamic” but not quite in the same way
I wonder if the git-ipfs transport would make something like that simpler? Could keep the git repo with the wiki in IPFS, and also have git post-push hooks that regenerate the site, sync to IPFS, and update the IPNS record. Not positive the best way to make it editable in the browser though
I got so deep in GoHugo that I forgot how I learnt about it. Had to click back like 20 times to realize I found it on this forum.