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.txt44
-rw-r--r--nikola/plugins/compile/ipynb/__init__.py97
2 files changed, 0 insertions, 141 deletions
diff --git a/nikola/plugins/compile/ipynb/README.txt b/nikola/plugins/compile/ipynb/README.txt
deleted file mode 100644
index 0a7d6db..0000000
--- a/nikola/plugins/compile/ipynb/README.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-To make this work...
-
-1- You can install the "jinja-site-ipython" theme using this command:
-
-$ nikola install_theme -n jinja-site-ipython
-
-(or xkcd-site-ipython, if you want xkcd styling)
-
-More info here about themes:
-http://getnikola.com/handbook.html#getting-more-themes
-
-OR
-
-You can to download the "jinja-site-ipython" theme from here:
-https://github.com/damianavila/jinja-site-ipython-theme-for-Nikola
-and copy the "site-ipython" folder inside the "themes" folder of your site.
-
-
-2- Then, just add:
-
-post_pages = (
- ("posts/*.ipynb", "posts", "post.tmpl", True),
- ("stories/*.ipynb", "stories", "story.tmpl", False),
-)
-
-and
-
-THEME = 'jinja-site-ipython' (or 'xkcd-site-ipython', if you want xkcd styling)
-
-to your conf.py.
-Finally... 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 7dde279..0000000
--- a/nikola/plugins/compile/ipynb/__init__.py
+++ /dev/null
@@ -1,97 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright © 2013-2014 Damián Avila and others.
-
-# 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 io
-import os
-
-try:
- from IPython.nbconvert.exporters import HTMLExporter
- from IPython.nbformat import current as nbformat
- from IPython.config import Config
- flag = True
-except ImportError:
- flag = None
-
-from nikola.plugin_categories import PageCompiler
-from nikola.utils import makedirs, req_missing
-
-
-class CompileIPynb(PageCompiler):
- """Compile IPynb into HTML."""
-
- name = "ipynb"
- supports_onefile = False
- demote_headers = True
-
- def compile_html(self, source, dest, is_two_file=True):
- if flag is None:
- req_missing(['ipython>=1.1.0'], 'build this site (compile ipynb)')
- makedirs(os.path.dirname(dest))
- HTMLExporter.default_template = 'basic'
- c = Config(self.site.config['IPYNB_CONFIG'])
- exportHtml = HTMLExporter(config=c)
- with io.open(dest, "w+", encoding="utf8") as out_file:
- with io.open(source, "r", encoding="utf8") as in_file:
- nb = in_file.read()
- nb_json = nbformat.reads_json(nb)
- (body, resources) = exportHtml.from_notebook_node(nb_json)
- out_file.write(body)
-
- def create_post(self, path, **kw):
- # content and onefile are ignored by ipynb.
- kw.pop('content', None)
- onefile = kw.pop('onefile', False)
- kw.pop('is_page', False)
-
- makedirs(os.path.dirname(path))
- if onefile:
- raise Exception('The one-file format is not supported by this compiler.')
- with io.open(path, "w+", encoding="utf8") as fd:
- fd.write("""{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-}""")