在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:jamescarlyle/wikid开源软件地址:https://github.com/jamescarlyle/wikid开源编程语言:Svelte 77.8%开源软件介绍:WIKIDA Svelte-based IPFS-stored personal Wiki system. This is a minimum viable web application to explore the read/write web on IPFS. There are many directions to take this but please fork or raise an issue if you'd like to see a particular change. The product is a Wiki that has no central server. All of the Wiki content is held on IPFS itself, and the Wiki html + Javascript files can also be held and served from IPFS via an IPFS gateway, or served to the browser from a local filesystem or local webserver. This version of the application runs an IPFS node in the browser itself - the previous version additionally required access to an IPFS daemon, either locally or remotely. Pages can be symmetrically-encrypted using AES if saved with a passphrase, which must be reentered later in order to be able to read the page. In other words, if the passphrase is lost, the pages saved with it will be unreadable. This implementation is likely to be secure but is very basic. The Wiki supports a subset of markdown syntax: specifically the following
More complete markdown syntax support will be added in future. Getting startedIn order to build the Wiki single page application, simply download all the files in this repository using the following command $ git clone https://github.com/jamescarlyle/wikid.git Then (ensuring that NPM is installed!) run the following command: cd wikid
npm install
npm run build This will generate a Svelte-compiled Javascript application. Then load the public/index.html page. Note that the application starts an IPFS node in the browser (where the status is shown in the page footer), which uses local browser storage, so first-party cookies should be enabled. At this stage, it should be possible to create a new Wiki and add pages. If not, please raise an issue.
Technical DetailsThe page can also be loaded via IPFS itself (note that the hash will change), using a gateway such as:
The Wiki works by managing a "context" or "umbrella" for all the Wiki pages that link directly to each other. Behind the scenes, this is an IPFS Object with an array of Links mapping WikiNames to hashes. The Wiki pages themselves are IPFS Objects with Data but no Links. Technically speaking, when rendering a page, the context is loaded first, so that the hash of the page can be looked up, and then requested. When saving a page, the page is saved first, its hash obtained, then the parent context is updated with the new hash for the page. Then the context hash itself will change, so the URL path of the browser changes to reflect the new context. A Wiki (page collection or context) is an Object in IPFS terms:
For an individual page, the Object stores the following
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论