code: def make_notebook(cell_list):
      
      import utool as ut
      header = ut.codeblock(
          '''
          {
           "cells": [
          '''
      )
  
      footer = ut.codeblock(
          '''
           ],
           "metadata": {
            "kernelspec": {
             "display_name": "Python 2",
             "language": "python",
             "name": "python2"
            },
            "language_info": {
             "codemirror_mode": {
              "name": "ipython",
              "version": 2
             },
             "file_extension": ".py",
             "mimetype": "text/x-python",
             "name": "python",
             "nbconvert_exporter": "python",
             "pygments_lexer": "ipython2",
             "version": "2.7.6"
            }
           },
           "nbformat": 4,
           "nbformat_minor": 0
          }
          ''')
  
      cell_body = ut.indent(',\n'.join(cell_list), '  ')
      notebook_str = header + '\n' + cell_body +  '\n' +  footer
      try:
          import json
          json.loads(notebook_str)
      except ValueError as ex:
          ut.printex(ex, 'Invalid notebook JSON')
          raise
      return notebook_str
docs: References:
          # Change cell width
          http://stackoverflow.com/questions/21971449/how-do-i-increase-the-cell-width-of-the-ipython-notebook-in-my-browser/24207353#24207353