changeset 124:f49fcf9448df

Add Textile formatter.
author Ludovic Chabant <ludovic@chabant.com>
date Fri, 14 Nov 2014 22:44:59 +0100
parents b6f79f23904a
children c77062233ba5
files piecrust/formatting/textileformatter.py piecrust/plugins/builtin.py requirements.txt setup.py
diffstat 4 files changed, 18 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/piecrust/formatting/textileformatter.py	Fri Nov 14 22:44:59 2014 +0100
@@ -0,0 +1,12 @@
+from textile import textile
+from piecrust.formatting.base import Formatter
+
+
+class TextileFormatter(Formatter):
+    FORMAT_NAMES = ['textile', 'text']
+    OUTPUT_FORMAT = 'html'
+
+    def render(self, format_name, text):
+        assert format_name in self.FORMAT_NAMES
+        return textile(text)
+
--- a/piecrust/plugins/builtin.py	Fri Nov 14 22:43:29 2014 +0100
+++ b/piecrust/plugins/builtin.py	Fri Nov 14 22:44:59 2014 +0100
@@ -10,6 +10,7 @@
         ImportCommand)
 from piecrust.data.provider import (IteratorDataProvider, BlogDataProvider)
 from piecrust.formatting.markdownformatter import MarkdownFormatter
+from piecrust.formatting.textileformatter import TextileFormatter
 from piecrust.formatting.smartypantsformatter import SmartyPantsFormatter
 from piecrust.importing.jekyll import JekyllImporter
 from piecrust.importing.piecrust import PieCrust1Importer
@@ -69,7 +70,8 @@
     def getFormatters(self):
         return [
                 MarkdownFormatter(),
-                SmartyPantsFormatter()]
+                SmartyPantsFormatter(),
+                TextileFormatter()]
 
     def getProcessors(self):
         return [
--- a/requirements.txt	Fri Nov 14 22:43:29 2014 +0100
+++ b/requirements.txt	Fri Nov 14 22:44:59 2014 +0100
@@ -15,3 +15,4 @@
 six==1.7.3
 smartypants==1.8.6
 strict-rfc3339==0.4
+textile==2.2.1
--- a/setup.py	Fri Nov 14 22:43:29 2014 +0100
+++ b/setup.py	Fri Nov 14 22:44:59 2014 +0100
@@ -182,7 +182,8 @@
             'python-dateutil==2.2',
             'repoze.lru==0.6',
             'smartypants==1.8.6',
-            'strict-rfc3339==0.4'
+            'strict-rfc3339==0.4',
+            'textile==2.2.1'
             ],
         tests_require=[
             'pytest==2.6.1',