SoftwareVerde / bitcoin-cash-specification

Specification of the Bitcoin Cash protocols and consensus
Other
8 stars 5 forks source link

Update to documentation.cash #44

Closed josh-wong closed 6 months ago

josh-wong commented 1 year ago

This PR addresses an issue I previously raised: Proposal: Update to documentation.cash

I have tested the solution locally and confirmed that docs, links, and branding look as expected.

joshmg commented 1 year ago

@josh-wong , thanks so much for this PR. The end result looks really nice.

Screenshot 2023-04-04 at 10 17 49 AM

I didn't notice the requirements.txt until after I struggled to run mkdocs, but FWIW, these are the requirements I personally had to install on my mac:

pip3 install mkdocs
pip3 install mkdocs-material-extensions
pip3 install pymdown-extensions
pip3 install mkdocs-material
pip3 install mkdocs-macros-plugin
pip3 install mkdocs-awesome-pages-plugin
pip3 install mkdocs-minify-plugin

Overall, I really like this result. We had some minor discussion in TG (https://t.me/bitcoinverde), and I think keeping the protocol data separate from the display information is something we should consider to value--this keeps the data agnostic to how its being rendered and reduces points of contention between the various BCH organizations.

That being said, I'm going to try to extract what you have here into its own github repo and then link the bch-spec as a git submodule. If that works reasonably enough, then I think adding a link somewhere in this repo to let users be more aware of easy (and pretty) ways to view the content would be very beneficial.

Thanks for the work, I'll be back in a bit with the extracting results.

joshmg commented 1 year ago

Okay, so this worked very nicely! Here's what I put together: https://github.com/SoftwareVerde/bch-protocol-mkdocs

I think we need to add the images to the bitcoin-cash-specification repo (so please make a PR with just those images and I'll merge it).

Other than that, with this approach all we're losing is a little bit of metadata to hide the navigation on some pages (which I think we can live without--at least for now).

Let me know what you think. If you like this path forward, then I encourage you to make your own repo with something similar to the one I hacked together, and I'll link to that in the specification (or you can include that in your PR).

Thanks again, Josh.

zander commented 1 year ago

I admit I didn't look at the code, so forgive me if I'm missing something.

I just want to point out that the documentation repo is a bit special in that it uses the git decentralized idea where we can easily duplicate the data without duplicating the work. Specifically we have various organisations that each have a copy of this repo, maybe with some small changes even, and they use it to display the data in their own way.

For the Flowee website the markdown data is basically copied into the larger website and all of this together is given to gohugo.io, a very commonly used GoLang based static site generator.

I even did some programming of the theme which makes the navigation very different than others.

Bottom line is that I'd be very happy if this repo focused solely on data, so we avoid the problem of becoming too focused on one specific representation.