{"repo":"openziti/runzmd","free":true,"listed":false,"github":"https://github.com/openziti/runzmd","clone":"git clone https://github.com/openziti/runzmd.git","description":"Runnable Markdown for Tutorials and Demos","language":"Go","stars":38,"topics":["golang","markdown"],"license":"Apache-2.0","category":"productivity","readme_excerpt":"runzmd A Go library for making runnable markdown tutorials, demos and setup scripts. It takes inspiration from the Literate Programming paradigm. The library is used by the OpenZiti project for tutorials and examples. Overview runzmd exists to help consolidate scripts and documentation. If you can make a markdown tutorial runnable, then you get the following benefits: 1. Testable documentation 2. No duplication between the tutorial and the script 3. Well documented, easy to read script 4. Documentation can be run or viewed in browzer. Browzer view isn't degraded by runnable code portions. Where It Makes Sense While this library could be used for generalized scripts, it excels when wrapping a specific tool. The OpenZiti examples mostly use the ziti CLI. The actions used can be found in the actionz directory. While this library could be used for generalized scripting it hasn't been optimized for that, and best suited for targeted use cases, like the above. In Action Here's an example of a markdown file being run. This is the creating your first service tutorial for OpenZiti, which is the most involved example I have. Below you can see the original markdown is on the left. On the right is the markdown being executed. The markdown viewed in the browser should still be usable on its own. How It Works runzmd starts with embedded markdown and finds any blockquote sections and comments marked as being executable. Markdown sections between executable blocks are outputted it using the ","default_branch":null,"files":null,"tree":[],"storefront":"/r/openziti","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/openziti/runzmd/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}