A lot of the things in the article are supported.
You can format text and tables via Markdown, add MathJax equations, etc.
Then you can write down code, evaluate it, and it can evaluate to images as well... charts and such.
You can optionally export the resulting document to HTML and share it in static form, or just share a link to the notebook. In addition, github supports Jupyter notebooks.