diff options
author | Agustin Henze <tin@sluc.org.ar> | 2014-06-16 15:20:05 -0300 |
---|---|---|
committer | Agustin Henze <tin@sluc.org.ar> | 2014-06-16 15:20:05 -0300 |
commit | 0a6f89278ed1fd1ebae7d20e5286f9d855281c2c (patch) | |
tree | 3de0dd0a6a31ab8c10e6fdc8936a0456c673e938 | |
parent | d566f55c2da609d0fc9280fbc299b8c0b1cae6b1 (diff) | |
download | nikola-0a6f89278ed1fd1ebae7d20e5286f9d855281c2c.tar.bz2 nikola-0a6f89278ed1fd1ebae7d20e5286f9d855281c2c.tar.xz nikola-0a6f89278ed1fd1ebae7d20e5286f9d855281c2c.tar.zst |
Update patche to add install_bs3 command
-rw-r--r-- | debian/patches/0001-Add-an-install_bs3-command.patch | 179 | ||||
-rw-r--r-- | debian/patches/series | 3 |
2 files changed, 2 insertions, 180 deletions
diff --git a/debian/patches/0001-Add-an-install_bs3-command.patch b/debian/patches/0001-Add-an-install_bs3-command.patch deleted file mode 100644 index e768a79..0000000 --- a/debian/patches/0001-Add-an-install_bs3-command.patch +++ /dev/null @@ -1,179 +0,0 @@ -From 53ee55296e2e23016f9229644bc8dd6a3c2eac92 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Chris=20=E2=80=9CKwpolska=E2=80=9D=20Warrick?= - <kwpolska@gmail.com> -Date: Thu, 23 Jan 2014 19:07:26 +0100 -Subject: [PATCH] Add an install_bs3 command for Debian. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Chris “Kwpolska” Warrick <kwpolska@gmail.com> ---- - nikola/conf.py.in | 2 + - nikola/plugins/command/init.py | 2 +- - nikola/plugins/command/install_bs3.plugin | 9 +++ - nikola/plugins/command/install_bs3.py | 110 ++++++++++++++++++++++++++++++ - 4 files changed, 122 insertions(+), 1 deletion(-) - create mode 100644 nikola/plugins/command/install_bs3.plugin - create mode 100644 nikola/plugins/command/install_bs3.py - -diff --git a/nikola/conf.py.in b/nikola/conf.py.in -index b398ac3..69ed0e8 100644 ---- a/nikola/conf.py.in -+++ b/nikola/conf.py.in -@@ -65,6 +65,8 @@ # (the same way you would do with a (translatable) setting.) - NAVIGATION_LINKS = ${NAVIGATION_LINKS} - - # Name of the theme to use. -+# WARNING: With this Nikola package, the bootstrap3 theme must be installed -+# separately. In order to do this, use: nikola install_bs3 - THEME = ${THEME} - - ############################################## -diff --git a/nikola/plugins/command/init.py b/nikola/plugins/command/init.py -index d7eeed7..29eebcf 100644 ---- a/nikola/plugins/command/init.py -+++ b/nikola/plugins/command/init.py -@@ -57,7 +57,7 @@ SAMPLE_CONF = { - # Example for another language: - # "es": "./es", - }""", -- 'THEME': 'bootstrap3', -+ 'THEME': 'bootstrap', - 'TIMEZONE': 'UTC', - 'COMMENT_SYSTEM': 'disqus', - 'COMMENT_SYSTEM_ID': 'nikolademo', -diff --git a/nikola/plugins/command/install_bs3.plugin b/nikola/plugins/command/install_bs3.plugin -new file mode 100644 -index 0000000..77730cc ---- /dev/null -+++ b/nikola/plugins/command/install_bs3.plugin -@@ -0,0 +1,9 @@ -+[Core] -+Name = install_bs3 -+Module = install_bs3 -+ -+[Documentation] -+Author = Roberto Alsina, Chris Warrick -+Version = 0.1 -+Website = http://getnikola.com -+Description = Install the bootstrap3 theme into the current site. -diff --git a/nikola/plugins/command/install_bs3.py b/nikola/plugins/command/install_bs3.py -new file mode 100644 -index 0000000..4060aef ---- /dev/null -+++ b/nikola/plugins/command/install_bs3.py -@@ -0,0 +1,110 @@ -+# -*- coding: utf-8 -*- -+ -+# Copyright © 2012-2014 Roberto Alsina, Chris Warrick 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. -+ -+from __future__ import print_function -+import os -+import json -+import shutil -+from io import BytesIO -+ -+try: -+ import requests -+except ImportError: -+ requests = None # NOQA -+ -+from nikola.plugin_categories import Command -+from nikola import utils -+ -+LOGGER = utils.get_logger('install_theme', utils.STDERR_HANDLER) -+ -+ -+# Stolen from textwrap in Python 3.3.2. -+def indent(text, prefix, predicate=None): # NOQA -+ """Adds 'prefix' to the beginning of selected lines in 'text'. -+ -+ If 'predicate' is provided, 'prefix' will only be added to the lines -+ where 'predicate(line)' is True. If 'predicate' is not provided, -+ it will default to adding 'prefix' to all non-empty lines that do not -+ consist solely of whitespace characters. -+ """ -+ if predicate is None: -+ def predicate(line): -+ return line.strip() -+ -+ def prefixed_lines(): -+ for line in text.splitlines(True): -+ yield (prefix + line if predicate(line) else line) -+ return ''.join(prefixed_lines()) -+ -+ -+class CommandInstallThemeBS3(Command): -+ """Install a theme. Bootstrap 3, to be precise.""" -+ -+ name = "install_bs3" -+ doc_usage = "" -+ doc_purpose = "install bootstrap3 into the current site" -+ output_dir = 'themes' -+ cmd_options = [] -+ -+ def _execute(self, options, args): -+ """Install theme into current site.""" -+ if requests is None: -+ utils.req_missing(['requests'], 'install the bootstrap3 theme') -+ -+ url = 'http://themes.getnikola.com/bs3/v6.3.0/bs3.json' -+ name = 'bootstrap3' -+ -+ data = requests.get(url).text -+ data = json.loads(data) -+ installstatus = self.do_install(name, data) -+ if installstatus: -+ LOGGER.notice('Remember to set THEME="bootstrap3" in conf.py if you want to use it.') -+ -+ def do_install(self, name, data): -+ if name in data: -+ utils.makedirs(self.output_dir) -+ LOGGER.notice('Downloading: ' + data[name]) -+ zip_file = BytesIO() -+ zip_file.write(requests.get(data[name]).content) -+ LOGGER.notice('Extracting: {0} into themes'.format(name)) -+ utils.extract_all(zip_file) -+ dest_path = os.path.join('themes', name) -+ else: -+ try: -+ theme_path = utils.get_theme_path(name) -+ except: -+ LOGGER.error("Can't find theme " + name) -+ return False -+ -+ utils.makedirs(self.output_dir) -+ dest_path = os.path.join(self.output_dir, name) -+ if os.path.exists(dest_path): -+ LOGGER.error("{0} is already installed".format(name)) -+ return False -+ -+ LOGGER.notice('Copying {0} into themes'.format(theme_path)) -+ shutil.copytree(theme_path, dest_path) -+ return True --- -1.9.0 - diff --git a/debian/patches/series b/debian/patches/series index 13c69a3..834fa2e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ -0001-Add-an-install_bs3-command.patch +0001-Change-dependency-on-natsort-by-naturalsort.patch +0002-Add-install_bs3-command.patch |