From a8e2199034679c07411c76c42ab1ffb52b170029 Mon Sep 17 00:00:00 2001 From: fiddlosopher Date: Wed, 15 Aug 2007 06:00:58 +0000 Subject: Major code cleanup in all modules. (Removed unneeded imports, reformatted, etc.) More major changes are documented below: + Removed Text.Pandoc.ParserCombinators and moved all its definitions to Text.Pandoc.Shared. + In Text.Pandoc.Shared: - Removed unneeded 'try' in blanklines. - Removed endsWith function and rewrote functions to use isSuffixOf instead. - Added >>~ combinator. - Rewrote stripTrailingNewlines, removeLeadingSpaces. + Moved Text.Pandoc.Entities -> Text.Pandoc.CharacterReferences. - Removed unneeded functions charToEntity, charToNumericalEntity. - Renamed functions using proper terminology (character references, not entities). decodeEntities -> decodeCharacterReferences, characterEntity -> characterReference. - Moved escapeStringToXML to Docbook writer, which is the only thing that uses it. - Removed old entity parser in HTML and Markdown readers; replaced with new charRef parser in Text.Pandoc.Shared. + Fixed accent bug in Text.Pandoc.Readers.LaTeX: \^{} now correctly parses as a '^' character. + Text.Pandoc.ASCIIMathML is no longer an exported module. git-svn-id: https://pandoc.googlecode.com/svn/trunk@835 788f1e2b-df1e-0410-8736-df70ead52e1b --- src/templates/DefaultHeaders.hs | 30 ++++++++++++++++++++- src/templates/S5.hs | 59 ++++++++++++++++++++++++++++++++--------- 2 files changed, 76 insertions(+), 13 deletions(-) (limited to 'src/templates') diff --git a/src/templates/DefaultHeaders.hs b/src/templates/DefaultHeaders.hs index d7815fb8a..1bd9fe1d2 100644 --- a/src/templates/DefaultHeaders.hs +++ b/src/templates/DefaultHeaders.hs @@ -1,4 +1,32 @@ --- | Default headers for Pandoc writers. +{- +Copyright (C) 2006-7 John MacFarlane + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +-} + +{- | + Module : Text.Pandoc.Writers.DefaultHeaders + Copyright : Copyright (C) 2006-7 John MacFarlane + License : GNU GPL, version 2 or above + + Maintainer : John MacFarlane + Stability : alpha + Portability : portable + +Default headers for Pandoc writers. +-} module Text.Pandoc.Writers.DefaultHeaders ( defaultLaTeXHeader, defaultConTeXtHeader, diff --git a/src/templates/S5.hs b/src/templates/S5.hs index b015d8ca6..a0b69b132 100644 --- a/src/templates/S5.hs +++ b/src/templates/S5.hs @@ -1,5 +1,33 @@ --- | Definitions for creation of S5 powerpoint-like HTML. --- (See .) +{- +Copyright (C) 2006-7 John MacFarlane + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +-} + +{- | + Module : Text.Pandoc.Writers.S5 + Copyright : Copyright (C) 2006-7 John MacFarlane + License : GNU GPL, version 2 or above + + Maintainer : John MacFarlane + Stability : alpha + Portability : portable + +Definitions for creation of S5 powerpoint-like HTML. +(See .) +-} module Text.Pandoc.Writers.S5 ( -- * Strings s5Meta, @@ -60,13 +88,13 @@ layoutDiv :: [Inline] -- ^ Title of document (for header or footer) -> [Block] -- ^ List of block elements returned layoutDiv title date = [(RawHtml "
\n
\n
\n
\n
\n"), (Header 1 [Str date]), (Header 2 title), (RawHtml "
\n
\n")] -presentationStart = (RawHtml "
\n\n") +presentationStart = RawHtml "
\n\n" -presentationEnd = (RawHtml "
\n") +presentationEnd = RawHtml "
\n" -slideStart = (RawHtml "
\n") +slideStart = RawHtml "
\n" -slideEnd = (RawHtml "
\n") +slideEnd = RawHtml "
\n" -- | Returns 'True' if block is a Header 1. isH1 :: Block -> Bool @@ -84,15 +112,22 @@ insertSlides beginning blocks = beforeHead ++ [slideEnd] else if beginning then - beforeHead ++ slideStart:(head rest):(insertSlides False (tail rest)) + beforeHead ++ + slideStart:(head rest):(insertSlides False (tail rest)) else - beforeHead ++ slideEnd:slideStart:(head rest):(insertSlides False (tail rest)) + beforeHead ++ + slideEnd:slideStart:(head rest):(insertSlides False (tail rest)) -- | Insert blocks into 'Pandoc' for slide structure. insertS5Structure :: Pandoc -> Pandoc insertS5Structure (Pandoc meta []) = Pandoc meta [] insertS5Structure (Pandoc (Meta title authors date) blocks) = - let slides = insertSlides True blocks - firstSlide = if (not (null title)) then [slideStart, (Header 1 title), (Header 3 [Str (joinWithSep ", " authors)]), (Header 4 [Str date]), slideEnd] else [] in - let newBlocks = (layoutDiv title date) ++ presentationStart:firstSlide ++ slides ++ [presentationEnd] in - Pandoc (Meta title authors date) newBlocks + let slides = insertSlides True blocks + firstSlide = if not (null title) + then [slideStart, (Header 1 title), + (Header 3 [Str (joinWithSep ", " authors)]), + (Header 4 [Str date]), slideEnd] + else [] + newBlocks = (layoutDiv title date) ++ presentationStart:firstSlide ++ + slides ++ [presentationEnd] + in Pandoc (Meta title authors date) newBlocks -- cgit v1.2.3