A demo post on the reusability of Jekyll blog posts.
Last active
August 29, 2015 14:10
-
-
Save tonyfast/242af9bda2517a9179c0 to your computer and use it in GitHub Desktop.
Using Jekyll blog posts as data in Python
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "metadata": { | |
| "name": "", | |
| "signature": "sha256:9874a6a11f0676f1dd7a2f3cf9d8d8d9713c834759dff9b8254227fbc134ac37" | |
| }, | |
| "nbformat": 3, | |
| "nbformat_minor": 0, | |
| "worksheets": [ | |
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "%matplotlib inline\n", | |
| "import frontmatter # Parse YAML front matter on Jekyll pages\n", | |
| "import urllib2 # Make HTTP requests\n", | |
| "import json # Parse JSON for data example\n", | |
| "from matplotlib import pyplot as plt # Plotting tools for proof" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 1 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Programmatically using ``research-pages``\n", | |
| "\n", | |
| "``research-pages`` provides a blog-static approach to science. The posts contain YAML front-matter; effectively providing user defined headers. \n", | |
| "\n", | |
| "This notebook illustrates how post data can be parsed and reused in python.\n", | |
| "\n", | |
| "## The Example \n", | |
| "\n", | |
| "[A Javascript Stack for Science](http://materials-informatics-lab.github.io/research-pages/2014/11/20/LDA-tester.html) is a unique interpretation on how the modern the web can be used to facilitate and enhance science.\n", | |
| "\n", | |
| "At the top of the page, is a shortened link ``.../_posts/2014-11-20-LDA-tester.html`` to the raw Github file. \n", | |
| "\n", | |
| "1. The raw Github file is parsed using ``urllib2`` to make the HTTP request.\n", | |
| "1. ``frontmatter`` is used to parsed the structured metadata ``data['metadata']`` and unstructured metadata ``data['content']`` as python variables.\n", | |
| "1. A ``json`` file is requested from the host repository. It's name lives in the front-matter.\n", | |
| "1. The JSON is parsed.\n", | |
| "1. The parsed data is visualized.\n", | |
| "\n", | |
| "\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# URL to raw data that was copied from the post header\n", | |
| "url =\"https://raw.githubusercontent.com/Materials-Informatics-Lab/research-pages/gh-pages/_posts/2014-11-20-LDA-tester.html\"" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 2 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# Request the raw data and parse the front matter\n", | |
| "page = urllib2.urlopen( url )\n", | |
| "data = frontmatter.load( page )\n", | |
| "page.close()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 3 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# Create a URL from the structured front-matter\n", | |
| "parent_url = 'http://materials-informatics-lab.github.io'\n", | |
| "data_url = parent_url + data['file'];\n", | |
| "print data_url" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "http://materials-informatics-lab.github.io/research-pages/assets/data/embedding.json\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 4 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# Request the new url\n", | |
| "data_page = urllib2.urlopen( data_url )\n", | |
| "external_data = json.load( data_page )\n", | |
| "data_page.close()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 5 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# Plot an example\n", | |
| "plt.scatter( x = external_data['embed']['X'],\n", | |
| " y = external_data['embed']['Y'],\n", | |
| " c = external_data['embed']['C']\n", | |
| " );" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nRERERERERERERERERERERERERERERHzf/wMFmles2MmaRwAAAABJRU5ErkJggg==\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x10860ba90>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 6 | |
| } | |
| ], | |
| "metadata": {} | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment