Skip to content

Commit

Permalink
Release ogmarkup-r1
Browse files Browse the repository at this point in the history
  • Loading branch information
lthms committed Mar 14, 2016
2 parents 4bece94 + 8dca147 commit 02e1161
Show file tree
Hide file tree
Showing 15 changed files with 1,008 additions and 540 deletions.
5 changes: 2 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@ before_install:
- chmod a+x ~/.local/bin/stack

install:
- stack install cabal-install --install-ghc
- stack setup

script:
- stack setup
- stack build
- stack test

- stack haddock
72 changes: 72 additions & 0 deletions app/Main.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}

import Text.Ogmarkup

import Data.Text (Text)
import qualified Data.Text.IO as TIO
import System.IO
import Text.ParserCombinators.Parsec
import Text.Shakespeare.Text
import Text.Hamlet
import Text.Blaze.Html.Renderer.String (renderHtml)

main :: IO ()
main = do
input <- readFile "examples/sample.up"
case ogmarkup input (htmlConf frenchTypo) of
Right res -> putStrLn $ renderHtml [shamlet|$doctype 5
<html>
<head>
<meta charset=utf-8>
<style>
body {
margin:auto;
width: 80%;
max-width: 600px;
text-align: justify;
}
p {
text-indent:25px;
}
.reply {
color:gray;
}
.dialogue .by-kahina .reply {
font-weight: bold;
}
.thought .reply {
font-style: italic;
}
<body>
#{res}|]
Left err -> print err

htmlPrintSpace :: Space -> Html
htmlPrintSpace None = ""
htmlPrintSpace Normal = " "
htmlPrintSpace Nbsp = [shamlet|&nbsp;|]

htmlConf :: Typography Html
-> GenConf Html
htmlConf typo =
GenConf typo
(\doc -> [shamlet|<article>#{doc}|])
id
(\aside -> [shamlet|<blockquote>#{aside}|])
(\paragraph -> [shamlet|<p>#{paragraph}|])
id
(\a dialogue -> [shamlet|$newline never
<span .dialogue .by-#{a}>
#{dialogue}|])
(\a thought -> [shamlet|$newline never
<span .thought .by-#{a}>
#{thought}|])
(\reply -> [shamlet|$newline never
<span .reply>
#{reply}|])
"</p><p>"
(\text -> [shamlet|<emph>#{text}|])
(\text -> [shamlet|<strong>#{text}|])
id
htmlPrintSpace
46 changes: 46 additions & 0 deletions examples/sample.up
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
Lorsque le vieux Cavrour avait évoqué les autres prétendants à la
Couronne, le regard de la Princesse des Deux Soleils s’était fait plus
noir encore, mais elle s’était cependant gardée de tout
commentaire. Sa cour, elle, n’avait pas fait montre de la même
retenue. Pour les seigneurs suderons, ces réunions publiques étaient
autant de chances de s’attirer la sympathie des
puissants. Malheureusement, la concurrence y était rude et dans
l’espoir de se démarquer de leurs semblables, les petits vavasseurs
s’adonnaient trop souvent à la caricature et à la
surenchère. L’Estréventine avait su encourager pareils comportements,
à la condition qu’ils allassent dans son sens ; Maciste goûtait moins,
quant à lui, ces piètres démonstrations. Sans surprise, il ne tarda
pas à en appeler au calme.

Oubliant un temps les émissaires langecins, Kahina se tourna dans la
direction du Duc. Le Sybrond gardait un visage affable, mais
l’adolescente le connaissait assez désormais pour deviner sa
frustration. Sa sérénité n’était qu’une façade derrière laquelle il
dissimulait sa faiblesse. Il croisa son regard et elle le vit la
défier de continuer ainsi à l’éclipser. Kahina laissa transparaître sa
culpabilité en inclinant légèrement le front, ce qui le surprit assez
pour qu’il s’en retrouvât déstabilisé. Mettant fin à leur échange
muet, Kahina reporta son attention sur Cavrour ; très rapidement,
pourtant, ses yeux glissèrent sur l’amiral de Langehack. Elle l’avait
reconnu, bien sûr, malgré l’affreux patronyme dont l’avaient affublé
ses nouveaux seigneurs. Tandis que Maciste rappelait sa fidélité
totale au Roi et sa confiance en son Conseil de Régence, elle
cherchait le regard de son ancien complice ; il lui apparut bientôt
clairement qu’il évitait le sien.

[Dis-moi, Enrico,](kahina) l’interpella-t-elle finalement, sans plus
se soucier du début de conversation qu’elle interrompait entre le Duc
et Cavrour. [Selon les rumeurs qui nous sont parvenues, tu aurais
activement œuvré à l’une des félonies les plus graves de tes nouveaux
seigneurs.](kahina) Elle était bien décidée, avant que ne
commençassent véritablement les négociations qu’était venue chercher
la délégation, à rappeler toutes ses contradictions. [Est-il vrai que
tu participas à la bataille de Nelen ?](main)

Pour la seconde fois, Maciste dût ramener le calme, mais il ne fit pas
mine de prendre la défense de l’ancien capitaine Soltaa ; ce dernier
devenait soudainement le centre de l’attention. Ses quelques ennéades
d’exil n’avaient pas suffi à le faire oublier et ceux qui ne l’avaient
pas reconnu plus tôt saisissaient leur erreur, aidée en cela par leur
suzeraine qui avait pris, elle l’avouerait par la suite sans peine, un
malin plaisir à exposer ainsi le malheureux.
85 changes: 55 additions & 30 deletions ogmarkup.cabal
Original file line number Diff line number Diff line change
@@ -1,34 +1,59 @@
name: ogmarkup
version: 0.1.0.0
synopsis: Language Markup Parser for Ogma
description: Please see README.md
homepage: http://gitlab.com/ogma/ogmarkup
license: MIT
license-file: LICENSE
author: Iky
maintainer: [email protected]
copyright: 2016 Iky
category: Web
build-type: Simple
-- extra-source-files:
cabal-version: >=1.10
name: ogmarkup
version: 1.0.0.0
cabal-version: >=1.10
build-type: Simple
license: MIT
license-file: LICENSE
copyright: 2016 Iky
maintainer: [email protected]
homepage: http://gitlab.com/ogma/ogmarkup
synopsis: Language Markup Parser for Ogma
description:
Please see README.md
category: Web
author: Iky

source-repository head
type: git
location: https://github.com/ogma-project/ogmarkup

library
hs-source-dirs: src
exposed-modules: Ogmarkup.Parser,
Ogmarkup.Ast
build-depends: base >= 4.7 && < 5, parsec == 3.1.9
default-language: Haskell2010
exposed-modules:
Text.Ogmarkup
Text.Ogmarkup.Private.Parser
Text.Ogmarkup.Private.Ast
Text.Ogmarkup.Private.Generator
Text.Ogmarkup.Private.Typography
Text.Ogmarkup.Private.Config
build-depends:
base >=4.7 && <5,
parsec ==3.1.9,
mtl -any
default-language: Haskell2010
hs-source-dirs: src

test-suite ogmadown-test
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Spec.hs
build-depends: base, hspec,
ogmarkup, parsec
ghc-options: -threaded -rtsopts -with-rtsopts=-N
default-language: Haskell2010
executable ogmarkup
main-is: Main.hs
build-depends:
base -any,
ogmarkup -any,
parsec -any,
text -any,
yesod -any,
shakespeare -any,
blaze-html -any
default-language: Haskell2010
hs-source-dirs: app

source-repository head
type: git
location: https://gitlab.com/ogma/ogmarkup
test-suite ogmadown-test
type: exitcode-stdio-1.0
main-is: Spec.hs
build-depends:
base -any,
hspec -any,
ogmarkup -any,
parsec -any,
text -any
default-language: Haskell2010
hs-source-dirs: test
ghc-options: -threaded -rtsopts -with-rtsopts=-N
66 changes: 0 additions & 66 deletions src/Ogmarkup/Ast.hs

This file was deleted.

Loading

0 comments on commit 02e1161

Please sign in to comment.