summaryrefslogtreecommitdiffstats
path: root/nikola/plugins/compile_ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'nikola/plugins/compile_ipynb')
-rw-r--r--nikola/plugins/compile_ipynb/README.txt35
-rw-r--r--nikola/plugins/compile_ipynb/__init__.py100
2 files changed, 0 insertions, 135 deletions
diff --git a/nikola/plugins/compile_ipynb/README.txt b/nikola/plugins/compile_ipynb/README.txt
deleted file mode 100644
index 2cfd45e..0000000
--- a/nikola/plugins/compile_ipynb/README.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-To make this work...
-
-1- First, you have to put this plugin in your_site/plugins/ folder.
-
-2- Then, you have to download the custom nbconvert from here: https://github.com/damianavila/compile_ipynb-for-Nikola.git
-and put it inside your_site/plugins/compile_ipynb/ folder
-
-3- Also, you have to use the site-ipython theme (or make a new one containing the ipython css, mathjax.js and the proper template).
-You can get it here: https://github.com/damianavila/site-ipython-theme-for-Nikola
-
-4- Finally, you have to put:
-
-post_pages = (
- ("posts/*.ipynb", "posts", "post.tmpl", True),
- ("stories/*.ipynb", "stories", "story.tmpl", False),
-)
-
-in your conf.py
-
-Then... to use it:
-
-$nikola new_page -f ipynb
-
-**NOTE**: Just IGNORE the "-1" and "-2" options in nikola new_page command, by default this compiler
-create one metadata file and the corresponding naive IPython notebook.
-
-$nikola build
-
-And deploy the output folder... to see it locally: $nikola serve
-
-If you have any doubts, just ask: @damianavila
-
-Cheers.
-
-Damián
diff --git a/nikola/plugins/compile_ipynb/__init__.py b/nikola/plugins/compile_ipynb/__init__.py
deleted file mode 100644
index d38f6f2..0000000
--- a/nikola/plugins/compile_ipynb/__init__.py
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright (c) 2013 Damian Avila.
-
-# Permission is hereby granted, free of charge, to any
-# person obtaining a copy of this software and associated
-# documentation files (the "Software"), to deal in the
-# Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the
-# Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice
-# shall be included in all copies or substantial portions of
-# the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
-# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-# PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
-# OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-"""Implementation of compile_html based on nbconvert."""
-
-from __future__ import unicode_literals, print_function
-import codecs
-import os
-
-try:
- from .nbformat import current as nbformat
- from .nbconvert.converters import bloggerhtml as nbconverter
- bloggerhtml = True
-except ImportError:
- bloggerhtml = None
-
-from nikola.plugin_categories import PageCompiler
-
-
-class CompileIPynb(PageCompiler):
- """Compile IPynb into HTML."""
-
- name = "ipynb"
-
- def compile_html(self, source, dest):
- if bloggerhtml is None:
- raise Exception('To build this site, you also need '
- 'https://github.com/damianavila/com'
- 'pile_ipynb-for-Nikola.git.')
- try:
- os.makedirs(os.path.dirname(dest))
- except:
- pass
- converter = nbconverter.ConverterBloggerHTML()
- with codecs.open(dest, "w+", "utf8") as out_file:
- with codecs.open(source, "r", "utf8") as in_file:
- data = in_file.read()
- converter.nb = nbformat.reads_json(data)
- output = converter.convert()
- out_file.write(output)
-
- def create_post(self, path, onefile=False, **kw):
- metadata = {}
- metadata.update(self.default_metadata)
- metadata.update(kw)
- d_name = os.path.dirname(path)
- if not os.path.isdir(d_name):
- os.makedirs(os.path.dirname(path))
- meta_path = os.path.join(d_name, kw['slug'] + ".meta")
- with codecs.open(meta_path, "wb+", "utf8") as fd:
- if onefile:
- fd.write('%s\n' % kw['title'])
- fd.write('%s\n' % kw['slug'])
- fd.write('%s\n' % kw['date'])
- fd.write('%s\n' % kw['tags'])
- print("Your post's metadata is at: ", meta_path)
- with codecs.open(path, "wb+", "utf8") as fd:
- fd.write("""{
- "metadata": {
- "name": "%s"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-}""" % kw['slug'])