packages feed

slidemews (empty) → 0.2

raw patch · 9 files changed

+211/−0 lines, 9 filesdep +MonadCatchIO-transformersdep +aesondep +base

Dependencies added: MonadCatchIO-transformers, aeson, base, bytestring, mtl, pandoc, snap-core, snap-server, utf8-string

Files

+ Makefile view
@@ -0,0 +1,2 @@+all:+	ghc main.hs -o slidbeta
+ README view
@@ -0,0 +1,1 @@+WS qui fait du markdown -> revealjs
+ main.hs view
@@ -0,0 +1,14 @@+import Text.Pandoc++writerOption :: WriterOptions+writerOption = def { writerHtml5  = True,+                     writerSlideVariant=RevealJsSlides }++myPandoc :: Pandoc+myPandoc = readMarkdown def  "# slide 1\nJe suis un slide !"++main :: IO()+main = do+  putStrLn httpl+  where+    httpl = writeHtmlString writerOption myPandoc  
+ site_key.txt view
@@ -0,0 +1,1 @@+;…T܎±h?` 1SŒ½}€ÝÂ}ã7²mæÌ&@ŸïèËÓJ¥óþI Ï5*ÿm¨F—lä‹n0¹EɈÏÿ/yÇ~‘¾£%U2¤Sq䝸d¹Õ]R,
+ slideme.cabal view
@@ -0,0 +1,32 @@+Name:                slidemews+Version:             0.2+Synopsis:            ws convert markdown to reveal-js+Description:         Simple WebService to convert markdown to reveal-js+License:             AllRightsReserved+Author:              Jean-Alexandre Peyroux+Maintainer:          m@j4.pe+Stability:           Experimental+Category:            Web+Build-type:          Simple+Cabal-version:       >=1.2++Executable slidemews+  hs-source-dirs: src+  main-is: Main.hs++  Build-depends:+    base                      >= 4     && < 5,+    bytestring                >= 0.9.1 && < 0.11,+    MonadCatchIO-transformers >= 0.2.1 && < 0.4,+    mtl                       >= 2     && < 3,+    snap-core                 >= 0.9   && < 0.11,+    snap-server               >= 0.9   && < 0.11,+    aeson		      >= 0.7,+    pandoc		      >= 1.12,+    utf8-string		      >= 0.3++  if impl(ghc >= 6.12.0)+    ghc-options: -threaded -Wall -fwarn-tabs -funbox-strict-fields -O2+                 -fno-warn-unused-do-bind+  else+    ghc-options: -threaded -Wall -fwarn-tabs -funbox-strict-fields -O2
+ slidemews.cabal view
@@ -0,0 +1,32 @@+Name:                slidemews+Version:             0.2+Synopsis:            ws convert markdown to reveal-js+Description:         Simple WebService to convert markdown to reveal-js+License:             GPL+Author:              Jean-Alexandre Peyroux+Maintainer:          m@j4.pe+Stability:           Experimental+Category:            Web+Build-type:          Simple+Cabal-version:       >=1.2++Executable slidemews+  hs-source-dirs: src+  main-is: Main.hs++  Build-depends:+    base                      >= 4     && < 5,+    bytestring                >= 0.9.1 && < 0.11,+    MonadCatchIO-transformers >= 0.2.1 && < 0.4,+    mtl                       >= 2     && < 3,+    snap-core                 >= 0.9   && < 0.11,+    snap-server               >= 0.9   && < 0.11,+    aeson		      >= 0.7,+    pandoc		      >= 1.12,+    utf8-string		      >= 0.3++  if impl(ghc >= 6.12.0)+    ghc-options: -threaded -Wall -fwarn-tabs -funbox-strict-fields +                 -fno-warn-unused-do-bind+  else+    ghc-options: -threaded -Wall -fwarn-tabs -funbox-strict-fields 
+ src/.emacs.desktop view
@@ -0,0 +1,62 @@+;; -*- mode: emacs-lisp; coding: emacs-mule; -*-+;; --------------------------------------------------------------------------+;; Desktop File for Emacs+;; --------------------------------------------------------------------------+;; Created Tue Jan 28 23:11:06 2014+;; Desktop file format version 206+;; Emacs version 24.3.1++;; Global section:+(setq desktop-missing-file-warning nil)+(setq tags-file-name nil)+(setq tags-table-list nil)+(setq search-ring nil)+(setq regexp-search-ring nil)+(setq register-alist nil)+(setq file-name-history '("~/codaz/slideme/src/" "/home/ja/codaz/slideme/test.html" "/home/ja/codaz/slideme/src/Main.hs" "/home/ja/codaz/slideme/slideme.cabal" "/home/ja/codaz/slideme/main.hs" "~/codaz/slideme/src/Main.hs" "/home/ja/codaz/slideme/slideme.cabal" "/home/ja/codaz/slideme/src/Main.hs" "/home/ja/codaz/slideme/src/Site.hs" "/home/ja/codaz/slideme/src/Application.hs" "/home/ja/codaz/slideme/src/Site.hs" "/home/ja/codaz/slideme/src/Application.hs"))++;; Buffer section -- buffers listed in same order as in buffer list:+(desktop-create-buffer 206+  "/home/ja/codaz/slideme/src/Main.hs"+  "Main.hs"+  'haskell-mode+  '(auto-complete-mode undo-tree-mode)+  53+  '(978 nil)+  nil+  nil+  '((tab-width . 8) (indent-tabs-mode) (buffer-file-coding-system . undecided-unix)))++(desktop-create-buffer 206+  "/home/ja/codaz/slideme/test.html"+  "test.html"+  'html-mode+  '(undo-tree-mode)+  116+  '(58 nil)+  nil+  nil+  '((buffer-file-coding-system . utf-8-unix)))++(desktop-create-buffer 206+  "/home/ja/codaz/slideme/slideme.cabal"+  "slideme.cabal"+  'haskell-cabal-mode+  '(undo-tree-mode)+  968+  '(802 nil)+  nil+  nil+  '((buffer-file-coding-system . undecided-unix)))++(desktop-create-buffer 206+  "/home/ja/codaz/slideme/main.hs"+  "main.hs"+  'haskell-mode+  '(auto-complete-mode undo-tree-mode)+  279+  '(292 nil)+  nil+  nil+  '((tab-width . 8) (indent-tabs-mode) (buffer-file-coding-system . undecided-unix)))+
+ src/Main.hs view
@@ -0,0 +1,56 @@+{-# LANGUAGE OverloadedStrings #-}+module Main where++import           Control.Applicative+import           Snap.Core+import           Snap.Util.FileServe+import           Snap.Http.Server+import           Data.Aeson+import           Text.Pandoc++import qualified Codec.Binary.UTF8.String as W8+import qualified Data.ByteString.Lazy as BL+import qualified Data.ByteString as BS+import qualified Data.ByteString.Char8 as C8++main :: IO ()+main = quickHttpServe site++data SMResult = SMResult {+    msg :: String+} deriving Show++instance ToJSON SMResult where+     toJSON (SMResult msg) = object ["msg" .= msg]++instance FromJSON SMResult where+    parseJSON (Object v) = SMResult <$>+                            v .: "msg"+     -- A non-Object value is of the wrong type, so fail.++writerOption :: WriterOptions+writerOption = def { writerHtml5  = True,+                     writerSlideVariant=RevealJsSlides }++myPandoc :: String -> Pandoc+myPandoc mkd = readMarkdown def mkd++mkd2html :: C8.ByteString -> String+mkd2html mkd = writeHtmlString writerOption (myPandoc mkd')+    where mkd' = W8.decode $ BS.unpack mkd++site :: Snap ()+site =+    ifTop (writeBS "/slideme") <|>+    route [ ("help", writeBS "me")+          , ("slideme/", method POST slideMe)+          , ("slideme/:mkd", slideMe)+          ] <|>+    dir "static" (serveDirectory ".")++slideMe :: Snap ()+slideMe = do+    param <- getParam "mkd"+    case param of+        Just p -> writeBS $ BS.concat $ BL.toChunks $ Data.Aeson.encode $ SMResult (mkd2html p)+        Nothing -> writeBS "{'msg':'error'}"
+ test.html view
@@ -0,0 +1,11 @@+<html>+<head></head>+<body>++<form METHOD="POST" ACTION="http://127.0.0.1:8000/slideme/">+<textarea name="mkd" width="20" height="20">+</textarea>+<input type="submit" value="ok">+</form>+</body>+</html>