gnosisguild / tabula

Instant web3 publications for writers, DAOs, and any Ethereum-based account.
https://tabula.gg
GNU Lesser General Public License v2.1
29 stars 7 forks source link

IPFS-aware image resolution #155

Open RMBLRX opened 2 years ago

RMBLRX commented 2 years ago

Is your feature request related to a problem? Please describe. It generally sucks when publishing through IPFS to have to explicitly specify a gateway for image resolution (e.g., ![](https://gateway.pinata.cloud/ipfs/Qm...)), particularly when the content is already going to be served through a gateway.

Describe the solution you'd like What would be nice is if markdown rendering were handled in an IPFS-aware manner, wherein one could simply specify an IPFS hash (e.g., ![](Qm...) or even ![](Qm...?filename=foo.png), either assuming IPFS rather than IPNS, as IPNS could be problematic to explicitly enable in this context) and the native gateway would simply be prepended upon rendering while also pinning that content alongside the rest of the article and its cover image.

Describe alternatives you've considered Alternatively or, better yet, in tandem, if one could simply specify a filename (e.g., ![](foo.png)) and simply be prompted to either upload an image, specify a source URL, or supply an IPFS hash for each given placeholder filename in the course of publication, this might also prove similarly, if not more convenient. (albeit, a much involved process in development)

Additional context In general, I think of this as something of an opportunity to establish a new standard of sorts for a world in which publishing markdown through IPFS is increasingly common.

RMBLRX commented 2 years ago

As an aside, to get the most out of this and to avoid the usual HTML workarounds for image placement, I would also suggest considering some of Markua's standards, such as handling alignment like so:

{align: left}
![Palm Trees](palm-trees.jpg)

Incidentally, Markua also handles videos rather nicely:

{type: video, poster: "http://img.youtube.com/vi/VOCYL-FNbr0/mqdefault.jpg"}
![Introducing Markua](https://www.youtube.com/watch?t=105&v=VOCYL-FNbr0)