pandoc 0.41 → 0.42
raw patch · 35 files changed
+587/−511 lines, 35 filesbinary-added
Files
- INSTALL +119/−22
- Makefile +39/−62
- README +29/−25
- debian/changelog +57/−1
- debian/control +2/−0
- freebsd/Makefile +0/−44
- freebsd/Makefile.in +44/−0
- freebsd/distinfo +0/−3
- macports/Portfile.in +23/−0
- osx/Description.plist +0/−10
- osx/Info.plist +0/−42
- osx/Welcome +0/−18
- osx/uninstall-pandoc +0/−43
- pandoc.cabal +2/−1
- src/Main.hs +5/−5
- src/Text/Pandoc/Readers/Markdown.hs +41/−40
- src/Text/Pandoc/Writers/HTML.hs +5/−3
- src/Text/Pandoc/Writers/LaTeX.hs +3/−1
- tests/tables.html +20/−20
- tests/testsuite.native +1/−0
- tests/testsuite.txt +2/−0
- tests/writer.context +2/−0
- tests/writer.docbook +3/−0
- tests/writer.html +2/−0
- tests/writer.latex +11/−4
- tests/writer.man +2/−0
- tests/writer.markdown +2/−0
- tests/writer.native +1/−0
- tests/writer.rst +2/−0
- tests/writer.rtf +1/−0
- web/Makefile +1/−1
- web/demos +3/−0
- web/index.txt +0/−166
- web/index.txt.in +165/−0
- web/pandocwiki-0.1.tar.gz binary
INSTALL view
@@ -1,13 +1,19 @@ % Installing pandoc -The following instructions are for installing pandoc from source. Binary-packages are also available for Windows, MacOS X, Linux (Debian and-derivatives), and FreeBSD. See the [pandoc home page] for more details.+Installing from Source+====================== -[pandoc home page]: http://sophos.berkeley.edu/macfarlane/pandoc/+This method will work on all architectures, but requires that you first+install the GHC compiler and some build tools: [GNU `make`], `sed`,+`bash`, and `perl`. These are standard on unix systems (including MacOS+X). If you're using Windows, you can install [Cygwin]. -# Installing GHC+[Cygwin]: http://www.cygwin.com/+[GNU `make`]: http://www.gnu.org/software/make/ +Installing GHC+--------------+ To compile Pandoc, you'll need [GHC] version 6.6 or greater. If you don't have GHC already, you can get it from the [GHC Download] page. If you're running MacOS X, you can also install GHC using@@ -18,15 +24,19 @@ [MacPorts]: http://macports.org [Fink]: http://finkproject.org -You'll also need standard build tools: [GNU `make`], `sed`, `bash`,-and `perl`. These are standard on unix systems (including MacOS-X). If you're using Windows, you can install [Cygwin].+Getting the source+------------------ -[Cygwin]: http://www.cygwin.com/-[GNU `make`]: http://www.gnu.org/software/make/+Download the source tarball from pandoc's [pandoc's google code site].+Extract the contents into a subdirectory: -# Installing Pandoc+ tar xvzf pandoc-0.xy.tar.gz +[pandoc's google code site]: http://pandoc.googlecode.com++Installing Pandoc+-----------------+ 1. Change to the directory containing the Pandoc distribution. 2. Compile:@@ -76,7 +86,8 @@ [haddock]: http://www.haskell.org/haddock/ -# Removing Pandoc+Removing Pandoc+--------------- Each of the installation steps described above can be reversed: @@ -86,12 +97,13 @@ sudo make uninstall-all -# Other targets+Other targets+------------- The following 'make' targets should not be needed by the average user, but are documented here for packagers and developers: -## Building and installing+### Building and installing * `configure`: Performs the needed preprocessing to create a proper Cabal package for Pandoc:@@ -113,27 +125,112 @@ * `install-exec`, `uninstall-exec`: Installs/uninstalls programs (`pandoc` and wrappers). -## Testing+### Testing * `test`: Runs Pandoc's test suite. (All tests should pass.) * `test-markdown`: Runs the Markdown regression test suite, using `pandoc --strict`. (Three of the tests will fail.) -## Cleaning+### Cleaning * `clean`: Restores directory to pre-build state, removing generated files. * `distclean`: Like clean, but also cleans up files created by `make deb`. -## Packaging+### Packaging * `tarball`: Creates a source tarball for distribution. * `deb`: Creates debian packages in `..` directory.-* `osx-pkg-prep`: Prepares for building a MacOS X package.-* `osx-pkg`: Builds a MacOS X package (must be run as root, and on OS X).- You should make `osx-pkg-prep` first (not as root).-* `osx-dmg`: Creates a compressed disk image containing Mac OS X package- (must be run on OS X). You should make `osx-pkg` first.+* `macport`: Creates MacPorts Portfile in `macports` directory.+* `freebsd`: Creates freebsd Makefile and distinfo in `freebsd` directory. * `win-pkg`: Creates a Windows binary package (presupposes `pandoc.exe`, which must be created by building Pandoc on a Windows machine). * `website`: Creates Pandoc's website in `web/pandoc` directory.++Installing pandoc using Cabal+=============================++Pandoc can also be installed using the standard Haskell packaging tool,+[Cabal](http://www.haskell.org/cabal/). You'll need GHC 6.6 or greater+(see [Installing GHC](#installing-ghc), above). Just download the source+tarball, unpack, and type:++ runhaskell Setup.hs configure+ runhaskell Setup.hs build+ runhaskell Setup.hs install # this one as root++This will install the pandoc executable and the Haskell libraries,+but not the shell scripts, man pages, or other documentation.++Installing pandoc using MacPorts+================================++This is an alternative to compiling from source on MacOS X.+[MacPorts] is a system for building and maintaining \*nix software+on MacOS X computers. If you don't already have MacPorts, follow+[these instructions for installing +it](http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts). +Note that you'll need OSX 10.4 and the latest version of XCode Tools.++Once you've installed MacPorts, you'll need to create a local ports+repository and copy the [pandoc `Portfile`](Portfile) into it:++ mkdir -p ~/ports/textproc/pandoc+ cp Portfile ~/ports/textproc/pandoc/ ++Then (as root) open `/opt/local/etc/macports/sources.conf` in an editor+and insert the line++ file:///Users/yourusername/ports++before the line beginning `rsync:`, so MacPorts will know about your+local repository.++Now you should be able to install pandoc by typing++ sudo port install pandoc++Since pandoc requires GHC to build, the process may take a long time.++Installing the Windows binary+=============================++Simply download the zip file from [pandoc's google code site].+Extract the files from the archive, and put `pandoc.exe` somewhere+in your PATH.++Note that the Windows binary distribution does not include the shell+scripts `markdown2pdf`, `html2markdown`, or `hsmarkdown`. If you need+these, compile from source.++Installing pandoc on Debian+===========================++This method will work on Debian linux and derivatives (including Ubuntu).+Download the latest debian package from the [pandoc home page].+To install it, just type++ sudo dpkg -i pandoc_0.xx_i386.deb++where `pandoc_0.xx_i386.deb` is the filename of the debian package.+To uninstall later, use++ sudo apt-get remove pandoc++[pandoc home page]: http://sophos.berkeley.edu/macfarlane/pandoc/++Installing pandoc on FreeBSD+============================++Pandoc is in the FreeBSD ports repository (`textproc/pandoc`) and can be+installed in the normal way:++ cd /usr/ports/textproc/pandoc+ make install clean # as root++Alternatively, you can use `pkg_add`:++ pkg_add -r pandoc++Note that the version of pandoc in FreeBSD's official repository may be+somewhat older than the most recent version.
Makefile view
@@ -236,59 +236,32 @@ install: install-program uninstall: uninstall-program -# OSX packages: make osx-pkg-prep, then (as root) make osx-pkg-.PHONY: osx-pkg osx-pkg-prep-osx_dest:=osx-pkg-tmp-osx_src:=osx-doc_more:=COPYRIGHT.rtf $(osx_src)/Welcome.rtf-osx_pkg_name:=$(RELNAME).pkg-cleanup_files+=$(osx_dest) $(doc_more) $(osx_pkg_name)-osx-pkg-prep: $(osx_dest)-$(osx_dest)/: build-program $(doc_more)- -rm -rf $(osx_dest)- $(INSTALL) -d $(osx_dest)- DESTDIR=$(osx_dest)/Package_root $(MAKE) install-program- cp $(osx_src)/uninstall-pandoc $(osx_dest)/Package_root/usr/local/bin/- find $(osx_dest) -type f -regex ".*bin/.*" | xargs chmod +x- find $(osx_dest) -type f -regex ".*bin/$(notdir $(MAIN))" | xargs $(STRIP)- $(INSTALL) -d $(osx_dest)/Resources- ./$(MAIN) -s -S README -o $(osx_dest)/Resources/ReadMe.html- cp COPYRIGHT.rtf $(osx_dest)/Resources/License.rtf- sed -e 's#@PREFIX@#$(PREFIX)#g' $(osx_src)/Welcome.rtf > $(osx_dest)/Resources/Welcome.rtf- sed -e 's/@VERSION@/$(VERSION)/g' $(osx_src)/Info.plist > $(osx_dest)/Info.plist- cp $(osx_src)/Description.plist $(osx_dest)/-osx-pkg: $(osx_pkg_name)-$(osx_pkg_name)/: $(osx_dest)- if [ "`id -u`" != 0 ]; then \- echo "Root permissions needed to create OSX package!"; \- exit 1; \- fi- find $(osx_dest) | xargs chown root:wheel- PackageMaker -build -p $(osx_pkg_name) \- -f $(osx_dest)/Package_root \- -r $(osx_dest)/Resources \- -i $(osx_dest)/Info.plist \- -d $(osx_dest)/Description.plist- chgrp admin $(osx_pkg_name)- -rm -rf $(osx_dest)--.PHONY: osx-dmg-osx_dmg_name:=$(RELNAME).dmg-cleanup_files+=$(osx_dmg_name)-osx_udzo_name:=$(RELNAME).udzo.dmg-osx_dmg_volume:="$(NAME) $(VERSION)"-osx-dmg: $(osx_dmg_name)-$(osx_dmg_name): $(osx_pkg_name)- -rm -f $(osx_dmg_name)- hdiutil create $(osx_dmg_name) -size 05m -fs HFS+ -volname $(osx_dmg_volume)- dev_handle=`hdid $(osx_dmg_name) | grep Apple_HFS | \- perl -e '\$$_=<>; /^\\/dev\\/(disk.)/; print \$$1'`; \- ditto $(osx_pkg_name) /Volumes/$(osx_dmg_volume)/$(osx_pkg_name); \- hdiutil detach $$dev_handle- hdiutil convert $(osx_dmg_name) -format UDZO -o $(osx_udzo_name)- -rm -f $(osx_dmg_name)- mv $(osx_udzo_name) $(osx_dmg_name)+# FreeBSD port+.PHONY: freebsd+freebsd_dest:=freebsd+freebsd_distinfo:=$(freebsd_dest)/distinfo+freebsd_makefile:=$(freebsd_dest)/Makefile+freebsd_template:=$(freebsd_makefile).in+cleanup_files+=$(freebsd_makefile) $(freebsd_distinfo)+freebsd : $(freebsd_makefile) $(freebsd_distinfo)+$(freebsd_makefile) : $(freebsd_template)+ sed -e 's/@VERSION@/$(VERSION)/' $< > $@+$(freebsd_distinfo) : tarball+ echo "MD5 ($(tarball)) = $(word 1, $(shell md5sum $(tarball)))" > $@ ; \+ echo "SHA256 ($(tarball)) = $(word 1, $(shell sha256sum $(tarball)))" >> $@ ; \+ echo "SIZE ($(tarball)) = $(word 5, $(shell ls -l $(tarball)))" >> $@ +# MacPort+.PHONY: macport+macport_dest:=macports+portfile:=$(macport_dest)/Portfile+portfile_template:=$(portfile).in+cleanup_files+=$(portfile)+macport : $(portfile)+$(portfile) : $(portfile_template) tarball+ sed -e 's/@VERSION@/$(VERSION)/' $(portfile_template) | \+ sed -e 's/@TARBALLMD5SUM@/$(word 2, $(shell openssl md5 $(tarball)))/' > \+ $(portfile) .PHONY: win-pkg win_pkg_name:=$(RELNAME).zip@@ -322,14 +295,14 @@ LC_ALL=C sort tags >tags.sorted; mv tags.sorted tags .PHONY: tarball-tarball_name:=$(RELNAME).tar.gz-cleanup_files+=$(tarball_name)-tarball: $(tarball_name)-$(tarball_name):+tarball:=$(RELNAME).tar.gz+cleanup_files+=$(tarball)+tarball: $(tarball)+$(tarball): svn export . $(RELNAME) $(MAKE) -C $(RELNAME) templates $(MAKE) -C $(RELNAME) wrappers- tar cvzf $(tarball_name) $(RELNAME)+ tar cvzf $(tarball) $(RELNAME) -rm -rf $(RELNAME) .PHONY: deb@@ -358,26 +331,30 @@ .PHONY: website web_src:=web-web_dest:=web/pandoc+web_dest:=pandoc-website make_page:=./$(MAIN) -s -S -B $(web_src)/header.html \ -A $(web_src)/footer.html \ -H $(web_src)/css cleanup_files+=$(web_dest)-website: $(MAIN) html+$(web_dest) : html $(wildcard $(web_src)/*) changelog \+ INSTALL $(MANPAGES) $(MANDIR)/man1/pandoc.1.md README -rm -rf $(web_dest) ( \ mkdir $(web_dest); \ cp -r html $(web_dest)/doc; \ cp $(web_src)/* $(web_dest)/; \- sed -e 's#@PREFIX@#$(PREFIX)#g' $(osx_src)/Welcome > \- $(web_dest)/osx-notes.txt; \+ sed -e 's#@VERSION@#$(VERSION)#g' $(web_src)/index.txt.in > \+ $(web_dest)/index.txt; \ cp changelog $(web_dest)/ ; \ cp README $(web_dest)/ ; \ cp INSTALL $(web_dest)/ ; \+ cp $(portfile) $(web_dest)/ ; \+ cp ../$(deb_main) $(web_dest)/ ; \ cp $(MANDIR)/man1/pandoc.1.md $(web_dest)/ ; \ cp $(MANDIR)/man1/*.1 $(web_dest)/ ; \- PANDOC_PATH=$(shell pwd) make -C $(web_dest) ; \ ) || { rm -rf $(web_dest); exit 1; }+website: $(MAIN) $(web_dest)+ PANDOC_PATH=$(shell pwd) make -C $(web_dest) .PHONY: distclean clean distclean: clean
README view
@@ -452,12 +452,32 @@ with uppercase and lowercase letters and roman numerals, in addition to arabic numerals. (This behavior can be turned off using the `--strict` option.) List markers may be enclosed in parentheses or followed by a-single right-parentheses or period. Pandoc also pays attention to the-type of list marker used, and to the starting number, and both of these-are preserved where possible in the output format. Thus, the following-yields a list with numbers followed by a single parenthesis, starting-with 9, and a sublist with lowercase roman numerals:+single right-parentheses or period. They must be separated from the+text that follows by at least one space, and, if the list marker is a+capital letter with a period, by at least two spaces.[^2] +[^2]: The point of this rule is to ensure that normal paragraphs+ starting with people's initials, like++ B. Russell was an English philosopher.++ do not get treated as list items.++ This rule will not prevent++ (C) 2007 Joe Smith++ from being interpreted as a list item. In this case, a backslash+ escape can be used:++ (C\) 2007 Joe Smith+ +Pandoc also pays attention to the type of list marker used, and to the+starting number, and both of these are preserved where possible in the+output format. Thus, the following yields a list with numbers followed+by a single parenthesis, starting with 9, and a sublist with lowercase+roman numerals:+ 9) Ninth 10) Tenth 11) Eleventh@@ -491,28 +511,11 @@ 1. One 2. Two- A. Sub- B. Sub+ A. Sub+ B. Sub 3. Three -Note that a list beginning with a single letter will be interpreted as-an alphabetic list. So you are out of luck if you want a roman-numbered-list starting with 100 (C). -Note also that a paragraph starting with a capital letter and a period-(for example, an initial) or a capital letter in parentheses-(for example, `(C)`) will be interpreted as a list:-- B. Russell was an English philosopher.-- (C) 2007 Joe Smith--To avoid this, use backslash escapes:-- B\. Russell was an English philosopher.-- \(C) 2007 Joe Smith- Definition lists ---------------- @@ -637,7 +640,8 @@ the default alignment is used (in most cases, this will be left). [^1]: This scheme is due to Michel Fortin, who proposed it on the- Markdown discussion list: <http://six.pairlist.net/pipermail/markdown-discuss/2005-March/001097.html>+ Markdown discussion list: + <http://six.pairlist.net/pipermail/markdown-discuss/2005-March/001097.html>. The table must end with a blank line. Optionally, a caption may be provided (as illustrated in the example above). A caption is a paragraph
debian/changelog view
@@ -1,3 +1,59 @@+pandoc (0.42) unstable; urgency=low++ [ John MacFarlane ]++ * Main.hs: Use utf8 conversion on the extra files loaded with+ the -H, -C, -B, and -A options. This fixes problems with unicode+ characters in these files.++ * Exposed Text.Pandoc.ASCIIMathML, since it is imported in+ Text.Pandoc.Readers.HTML and without it we get a linking error when+ using the library.++ * Markdown reader:++ + Added new rule for enhanced markdown ordered lists: if the list+ marker is a capital letter followed by a period (including a+ single-letter capital roman numeral), then it must be followed by+ at least two spaces. The point of this is to avoid accidentally+ treating people's initials as list markers: a paragraph might begin,+ "B. Russell was an English philosopher," and this shouldn't be+ treated as a list. Documented change in README.+ + Blocks that start with "p. " and a digit are no longer treated+ as ordered lists (it's a page number).+ + Added a needed 'try' to listItem.+ + Removed check for a following setext header in endline.+ A full test is too inefficient (doubles benchmark time), and the+ substitute we had before is not 100% accurate.+ + Don't use Code elements for autolinks if --strict specified. ++ * LaTeX writer: When a footnote ends with a Verbatim environment, the+ close } of the footnote cannot occur on the same line or an error occurs.+ Fixed this by adding a newline before the closing } of every footnote.++ * HTML writer:+ + Removed incorrect "{}" around style information in HTML tables.+ Column widths now work properly in HTML.+ + If --strict option is specified (and --toc is not), don't include+ identifiers in headers, for better Markdown compatibility.++ * Build process:++ + Separated $(web_dest) and website targets.+ + In website, index.txt is now constructed from template index.txt.in.+ + Added freebsd target to Markefile. This creates the freebsd Makefile+ from Makefile.in, and creates distinfo. Removed Makefile and distinfo+ from the repository.+ + Added macport target to Makefile. Portfile is built from template+ Portfile.in.+ + Removed OSX package targets. (Too many difficulties involving+ dependencies on dynamic libraries.)+ + More complete INSTALL instructions for all architectures.++ * Website:+ + Added a programming demo, pandocwiki.++ pandoc (0.41) unstable; urgency=low [ John MacFarlane ]@@ -31,7 +87,7 @@ * Added note to INSTALL about variations in versions of the xhtml library that can lead to failed tests (thanks to Leif LeBaron). - -- John MacFarlane <jgm@berkeley.edu> Sun, 19 Aug 2007 00:00:00 -0400+ -- Recai Oktaş <roktas@debian.org> Sun, 19 Aug 2007 23:26:07 +0300 pandoc (0.4) unstable; urgency=low
debian/control view
@@ -5,6 +5,8 @@ Build-Depends: debhelper (>= 4.0.0), haskell-devscripts (>=0.5.12), ghc6 (>= 6.6-1), libghc6-xhtml-dev, libghc6-mtl-dev, perl Build-Depends-Indep: haddock Standards-Version: 3.7.2.0+XS-Vcs-Svn: http://pandoc.googlecode.com/svn/trunk+XS-Vcs-Browser: http://pandoc.googlecode.com/svn/trunk Package: pandoc Section: text
− freebsd/Makefile
@@ -1,44 +0,0 @@-# New ports collection makefile for: pandoc-# Date created: 9 February 2007-# Whom: John MacFarlane <jgm@berkeley.edu>-#-# $FreeBSD: ports/textproc/pandoc/Makefile,v 1.1 2007/02/11 17:21:55 nox Exp $-#--PORTNAME= pandoc-PORTVERSION= 0.4-CATEGORIES= textproc haskell-MASTER_SITES= http://pandoc.googlecode.com/files/-DISTNAME= pandoc-${PORTVERSION}--MAINTAINER= jgm@berkeley.edu-COMMENT= A general markup converter--BUILD_DEPENDS= ghc>=6.6:${PORTSDIR}/lang/ghc--MANCOMPRESSED= no-MAN1= pandoc.1 markdown2pdf.1 html2markdown.1 hsmarkdown.1--USE_GMAKE= yes-USE_PERL5= yes--PLIST_FILES= bin/pandoc bin/markdown2pdf bin/html2markdown bin/hsmarkdown-PORTDOCS= BUGS README README.html-SCRIPTS= hsmarkdown html2markdown markdown2pdf--do-install:- @${INSTALL_PROGRAM} ${WRKSRC}/dist/build/pandoc/pandoc ${PREFIX}/bin-.for script in ${SCRIPTS}- @${INSTALL_SCRIPT} ${WRKSRC}/${script} ${PREFIX}/bin-.endfor-.for man in ${MAN1}- @${INSTALL_MAN} ${WRKSRC}/man/man1/${man} ${PREFIX}/man/man1-.endfor-.if !defined(NOPORTDOCS)- @${MKDIR} ${DOCSDIR}-.for doc in ${PORTDOCS}- @${INSTALL_DATA} ${WRKSRC}/${doc} ${DOCSDIR}-.endfor-.endif--.include <bsd.port.mk>
+ freebsd/Makefile.in view
@@ -0,0 +1,44 @@+# New ports collection makefile for: pandoc+# Date created: 9 February 2007+# Whom: John MacFarlane <jgm@berkeley.edu>+#+# $FreeBSD: ports/textproc/pandoc/Makefile,v 1.2 2007/05/19 20:24:07 flz Exp $+#++PORTNAME= pandoc+PORTVERSION= @VERSION@+CATEGORIES= textproc haskell+MASTER_SITES= http://pandoc.googlecode.com/files/+DISTNAME= pandoc-${PORTVERSION}++MAINTAINER= jgm@berkeley.edu+COMMENT= A general markup converter++BUILD_DEPENDS= ghc>=6.6:${PORTSDIR}/lang/ghc++MANCOMPRESSED= no+MAN1= pandoc.1 markdown2pdf.1 html2markdown.1 hsmarkdown.1++USE_GMAKE= yes+USE_PERL5= yes++PLIST_FILES= bin/pandoc bin/markdown2pdf bin/html2markdown bin/hsmarkdown+PORTDOCS= BUGS README README.html+SCRIPTS= hsmarkdown html2markdown markdown2pdf++do-install:+ @${INSTALL_PROGRAM} ${WRKSRC}/dist/build/pandoc/pandoc ${PREFIX}/bin+.for script in ${SCRIPTS}+ @${INSTALL_SCRIPT} ${WRKSRC}/${script} ${PREFIX}/bin+.endfor+.for man in ${MAN1}+ @${INSTALL_MAN} ${WRKSRC}/man/man1/${man} ${PREFIX}/man/man1+.endfor+.if !defined(NOPORTDOCS)+ @${MKDIR} ${DOCSDIR}+.for doc in ${PORTDOCS}+ @${INSTALL_DATA} ${WRKSRC}/${doc} ${DOCSDIR}+.endfor+.endif++.include <bsd.port.mk>
− freebsd/distinfo
@@ -1,3 +0,0 @@-MD5 (pandoc-0.3.tar.gz) = 08ea5da564b721bd3cd52eee316143a1-SHA256 (pandoc-0.3.tar.gz) = b010436d325c8ec67e2f9c238474089f76c895bec3ef19ca13c82da5860a4b05-SIZE (pandoc-0.3.tar.gz) = 243335
+ macports/Portfile.in view
@@ -0,0 +1,23 @@+# ID$++PortSystem 1.0+name pandoc+version @VERSION@+categories textproc+maintainers jgm@berkeley.edu+description General markup converter+long_description \+ Pandoc is a command-line tool for converting from one markup format \+ to another. It can read markdown and (subsets of) reStructuredText, \+ HTML, and LaTeX, and it can write markdown, reStructuredText, HTML, \+ LaTeX, ConTeXt, DocBook, RTF, groff man pages, and S5 HTML slide shows.++homepage http://sophos.berkeley.edu/pandoc/+platforms darwin+master_sites http://pandoc.googlecode.com/files/+checksums md5 @TARBALLMD5SUM@+depends_lib port:ghc++configure {}+build.cmd PREFIX=${prefix} make+
− osx/Description.plist
@@ -1,10 +0,0 @@-<?xml version="1.0" encoding="UTF-8"?>-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">-<plist version="1.0">-<dict>- <key>IFPkgDescriptionDescription</key>- <string></string>- <key>IFPkgDescriptionTitle</key>- <string>Pandoc</string>-</dict>-</plist>
− osx/Info.plist
@@ -1,42 +0,0 @@-<?xml version="1.0" encoding="UTF-8"?>-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">-<plist version="1.0">-<dict>- <key>CFBundleGetInfoString</key>- <string>@VERSION@, (c) 2006 John MacFarlane (released under GPL)</string>- <key>CFBundleIdentifier</key>- <string>pandoc</string>- <key>CFBundleShortVersionString</key>- <string>@VERSION@</string>- <key>IFPkgFlagAllowBackRev</key>- <false/>- <key>IFPkgFlagAuthorizationAction</key>- <string>RootAuthorization</string>- <key>IFPkgFlagBackgroundAlignment</key>- <string>topleft</string>- <key>IFPkgFlagBackgroundScaling</key>- <string>none</string>- <key>IFPkgFlagDefaultLocation</key>- <string>/</string>- <key>IFPkgFlagFollowLinks</key>- <true/>- <key>IFPkgFlagInstallFat</key>- <false/>- <key>IFPkgFlagInstalledSize</key>- <integer>1788</integer>- <key>IFPkgFlagIsRequired</key>- <false/>- <key>IFPkgFlagOverwritePermissions</key>- <false/>- <key>IFPkgFlagRelocatable</key>- <false/>- <key>IFPkgFlagRestartAction</key>- <string>NoRestart</string>- <key>IFPkgFlagRootVolumeOnly</key>- <false/>- <key>IFPkgFlagUpdateInstalledLanguages</key>- <false/>- <key>IFPkgFormatVersion</key>- <real>0.10000000149011612</real>-</dict>-</plist>
− osx/Welcome
@@ -1,18 +0,0 @@-% OS X Installation Notes--Pandoc will be installed into your `@PREFIX@` directory. In order-to use `pandoc` and the associated wrapper scripts, you must have-`@PREFIX@/bin` in your `PATH.` To add `@PREFIX@/bin` to your-default path, add these lines to the end of `.profile` in your home-directory:-- export PATH=$PATH:@PREFIX@/bin- export MANPATH=$MANPATH:@PREFIX@/share/man--You will have to open a new terminal window for these changes-to take effect.--To uninstall Pandoc at any time, use the following command:-- sudo @PREFIX@/bin/uninstall-pandoc-
− osx/uninstall-pandoc
@@ -1,43 +0,0 @@-#!/bin/sh -e-# This script (when run with root permissions) uninstalls-# everything installed by the Pandoc Mac OS X installer.--if [ "`id -u`" != 0 ]; then \- echo "This script must be run with root privileges:"; \- echo "sudo /usr/local/bin/uninstall-pandoc"; \- exit 1; \-fi--MAN_PAGES="pandoc.1 markdown2pdf.1 html2markdown.1 hsmarkdown.1"-EXECUTABLES=`echo $MAN_PAGES | sed -e 's#\.1##g'`-EXECUTABLES="$EXECUTABLES uninstall-pandoc"-DOCUMENTS="`ls /usr/local/share/doc/pandoc`"-TOREMOVE=""-for F in $EXECUTABLES; do- TOREMOVE="$TOREMOVE /usr/local/bin/$F";-done-for F in $MAN_PAGES; do- TOREMOVE="$TOREMOVE /usr/local/share/man/man1/$F"; -done-for F in $DOCUMENTS; do- TOREMOVE="$TOREMOVE /usr/local/share/doc/pandoc/$F";-done-TOREMOVE="$TOREMOVE /usr/local/share/doc/pandoc"--echo "This script will remove all of the files installed"-echo "by the Pandoc Mac OS X installer: $TOREMOVE"-echo "Are you sure you want to continue with this?"--OPTIONS="Continue Quit"-select opt in $OPTIONS; do- if [ "$opt" = "Quit" ]; then- exit 0- elif [ "$opt" = "Continue" ]; then- echo "Removing..."- rm -rv $TOREMOVE- echo "Successfully removed Pandoc."- exit 0- else- echo "Bad option."- fi-done
pandoc.cabal view
@@ -1,5 +1,5 @@ Name: pandoc-Version: 0.41+Version: 0.42 License: GPL License-File: COPYING Copyright: (c) 2006-2007 John MacFarlane@@ -39,6 +39,7 @@ Text.Pandoc.CharacterReferences, Text.Pandoc.Shared, Text.Pandoc.UTF8,+ Text.Pandoc.ASCIIMathML, Text.Pandoc.Readers.HTML, Text.Pandoc.Readers.LaTeX, Text.Pandoc.Readers.Markdown,
src/Main.hs view
@@ -43,7 +43,7 @@ import Control.Monad ( (>>=) ) version :: String-version = "0.41"+version = "0.42" copyrightMessage :: String copyrightMessage = "\nCopyright (C) 2006-7 John MacFarlane\n\@@ -229,7 +229,7 @@ (ReqArg (\arg opt -> do text <- readFile arg- return opt { optIncludeInHeader = text, + return opt { optIncludeInHeader = fromUTF8 text, optStandalone = True }) "FILENAME") "" -- "File to include at end of header (implies -s)"@@ -238,7 +238,7 @@ (ReqArg (\arg opt -> do text <- readFile arg- return opt { optIncludeBeforeBody = text })+ return opt { optIncludeBeforeBody = fromUTF8 text }) "FILENAME") "" -- "File to include before document body" @@ -246,7 +246,7 @@ (ReqArg (\arg opt -> do text <- readFile arg- return opt { optIncludeAfterBody = text })+ return opt { optIncludeAfterBody = fromUTF8 text }) "FILENAME") "" -- "File to include after document body" @@ -254,7 +254,7 @@ (ReqArg (\arg opt -> do text <- readFile arg- return opt { optCustomHeader = text, + return opt { optCustomHeader = fromUTF8 text, optStandalone = True }) "FILENAME") "" -- "File to use for custom header (implies -s)"
src/Text/Pandoc/Readers/Markdown.hs view
@@ -223,25 +223,21 @@ header = setextHeader <|> atxHeader <?> "header" atxHeader = try $ do- lead <- many1 (char '#')+ level <- many1 (char '#') >>= return . length notFollowedBy (char '.' <|> char ')') -- this would be a list skipSpaces- txt <- manyTill inline atxClosing- return $ Header (length lead) (normalizeSpaces txt)+ text <- manyTill inline atxClosing >>= return . normalizeSpaces+ return $ Header level text -atxClosing = try $ skipMany (char '#') >> skipSpaces >> newline >> - option "" blanklines+atxClosing = try $ skipMany (char '#') >> blanklines -setextHeader = choice $ - map (\x -> setextH x) $ enumFromTo 1 (length setextHChars)+setextHeader = choice $ map setextH $ enumFromTo 1 (length setextHChars) -setextH n = try $ do- txt <- many1Till inline newline- many1 (char (setextHChars !! (n-1)))- skipSpaces- newline- optional blanklines- return $ Header n (normalizeSpaces txt)+setextH level = try $ do+ text <- many1Till inline newline >>= return . normalizeSpaces+ many1 $ char (setextHChars !! (level - 1))+ blanklines+ return $ Header level text -- -- hrule block@@ -260,20 +256,15 @@ -- code blocks -- -indentedLine = try $ do- indentSpaces- result <- manyTill anyChar newline- return $ result ++ "\n"---- two or more indented lines, possibly separated by blank lines-indentedBlock = try $ do - res1 <- indentedLine- blanks <- many blankline - res2 <- indentedBlock <|> indentedLine- return $ res1 ++ blanks ++ res2+indentedLine = indentSpaces >> manyTill anyChar newline >>= return . (++ "\n") -codeBlock = (indentedBlock <|> indentedLine) >>~ optional blanklines >>=- return . CodeBlock . stripTrailingNewlines+codeBlock = try $ do+ contents <- many1 (indentedLine <|> + try (do b <- blanklines+ l <- indentedLine+ return $ b ++ l))+ blanklines+ return $ CodeBlock $ stripTrailingNewlines $ concat contents -- -- block quotes@@ -322,8 +313,9 @@ skipSpaces anyOrderedListStart = try $ do- optional newline -- if preceded by a Plain block in a list context+ optional newline -- if preceded by a Plain block in a list context nonindentSpaces+ notFollowedBy $ string "p." >> spaceChar >> digit -- page number state <- getState if stateStrict state then do many1 digit@@ -336,12 +328,15 @@ optional newline -- if preceded by a Plain block in a list context nonindentSpaces state <- getState- if stateStrict state- then do many1 digit- char '.'- return 1- else orderedListMarker style delim - spaceChar+ num <- if stateStrict state+ then do many1 digit+ char '.'+ return 1+ else orderedListMarker style delim + if delim == Period && (style == UpperAlpha || (style == UpperRoman &&+ num `elem` [1, 5, 10, 50, 100, 500, 1000]))+ then char '\t' <|> (spaceChar >> spaceChar)+ else spaceChar skipSpaces -- parse a line of a list item (start = parser for beginning of list item)@@ -392,7 +387,7 @@ updateState (\st -> st {stateParserContext = oldContext}) return contents -orderedList = do+orderedList = try $ do (start, style, delim) <- lookAhead anyOrderedListStart items <- many1 (listItem (orderedListStart style delim)) return $ OrderedList (start, style, delim) $ compactify items@@ -786,8 +781,6 @@ then do notFollowedBy emailBlockQuoteStart notFollowedBy (char '#') -- atx header- notFollowedBy (manyTill anyChar newline >> oneOf setextHChars) - -- setext header else return () -- parse potential list-starts differently if in a list: if stateParserContext st == ListItemState@@ -854,9 +847,10 @@ char '<' name <- many1Till (noneOf "/:<> \t\n") (char '@') domain <- sepBy1 (many1 (noneOf "/:.@<> \t\n")) (char '.')- let src = name ++ "@" ++ (joinWithSep "." domain) char '>'- return $ Link [Code src] (("mailto:" ++ src), "")+ let src = name ++ "@" ++ (joinWithSep "." domain)+ txt <- autoLinkText src+ return $ Link txt (("mailto:" ++ src), "") -- a link <http://like.this.com> autoLinkRegular = try $ do@@ -864,7 +858,14 @@ prot <- oneOfStrings ["http:", "ftp:", "mailto:"] rest <- many1Till (noneOf " \t\n<>") (char '>') let src = prot ++ rest- return $ Link [Code src] (src, "")+ txt <- autoLinkText src+ return $ Link txt (src, "")++autoLinkText src = do+ st <- getState+ return $ if stateStrict st+ then [Str src]+ else [Code src] image = try $ do char '!'
src/Text/Pandoc/Writers/HTML.hs view
@@ -271,7 +271,9 @@ then ("", []) else (head ids, tail ids) put $ st {stIds = rest}- let attribs = [identifier id]+ let attribs = if writerStrictMarkdown opts && not (writerTableOfContents opts)+ then []+ else [identifier id] let headerHtml = case level of 1 -> h1 contents ! attribs 2 -> h2 contents ! attribs@@ -345,8 +347,8 @@ contents <- blockListToHtml opts item let attrib = [align align'] ++ if width /= 0 - then [thestyle ("{width: " ++ show (truncate (100*width)) ++ - "%;}")]+ then [thestyle ("width: " ++ show (truncate (100*width)) ++ + "%;")] else [] return $ tag ! attrib $ contents
src/Text/Pandoc/Writers/LaTeX.hs view
@@ -278,4 +278,6 @@ contents' <- blockListToLaTeX contents st <- get put (st {stInNote = False})- return $ "\\footnote{" ++ stripTrailingNewlines contents' ++ "}"+ return $ "\\footnote{" ++ stripTrailingNewlines contents' ++ "\n}" + -- note: the \n before } is important; removing it causes problems+ -- if a Verbatim environment occurs at the end of the footnote.
tests/tables.html view
@@ -4,13 +4,13 @@ ><caption >Demonstration of simple table syntax.</caption ><tr- ><th align="right" style="{width: 15%;}"+ ><th align="right" style="width: 15%;" >Right</th- ><th align="left" style="{width: 8%;}"+ ><th align="left" style="width: 8%;" >Left</th- ><th align="center" style="{width: 16%;}"+ ><th align="center" style="width: 16%;" >Center</th- ><th align="left" style="{width: 12%;}"+ ><th align="left" style="width: 12%;" >Default</th ></tr ><tr@@ -48,13 +48,13 @@ >Simple table without caption:</p ><table ><tr- ><th align="right" style="{width: 15%;}"+ ><th align="right" style="width: 15%;" >Right</th- ><th align="left" style="{width: 8%;}"+ ><th align="left" style="width: 8%;" >Left</th- ><th align="center" style="{width: 16%;}"+ ><th align="center" style="width: 16%;" >Center</th- ><th align="left" style="{width: 12%;}"+ ><th align="left" style="width: 12%;" >Default</th ></tr ><tr@@ -94,13 +94,13 @@ ><caption >Demonstration of simple table syntax.</caption ><tr- ><th align="right" style="{width: 15%;}"+ ><th align="right" style="width: 15%;" >Right</th- ><th align="left" style="{width: 8%;}"+ ><th align="left" style="width: 8%;" >Left</th- ><th align="center" style="{width: 16%;}"+ ><th align="center" style="width: 16%;" >Center</th- ><th align="left" style="{width: 12%;}"+ ><th align="left" style="width: 12%;" >Default</th ></tr ><tr@@ -140,13 +140,13 @@ ><caption >Here's the caption. It may span multiple lines.</caption ><tr- ><th align="center" style="{width: 15%;}"+ ><th align="center" style="width: 15%;" >Centered Header</th- ><th align="left" style="{width: 13%;}"+ ><th align="left" style="width: 13%;" >Left Aligned</th- ><th align="right" style="{width: 16%;}"+ ><th align="right" style="width: 16%;" >Right Aligned</th- ><th align="left" style="{width: 33%;}"+ ><th align="left" style="width: 33%;" >Default aligned</th ></tr ><tr@@ -174,13 +174,13 @@ >Multiline table without caption:</p ><table ><tr- ><th align="center" style="{width: 15%;}"+ ><th align="center" style="width: 15%;" >Centered Header</th- ><th align="left" style="{width: 13%;}"+ ><th align="left" style="width: 13%;" >Left Aligned</th- ><th align="right" style="{width: 16%;}"+ ><th align="right" style="width: 16%;" >Right Aligned</th- ><th align="left" style="{width: 33%;}"+ ><th align="left" style="width: 33%;" >Default aligned</th ></tr ><tr
tests/testsuite.native view
@@ -180,6 +180,7 @@ ] ] ] , Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item:"] , Para [Str "M",Str ".",Str "A",Str ".",Space,Str "2007"]+, Para [Str "B",Str ".",Space,Str "Williams"] , HorizontalRule , Header 1 [Str "Definition",Space,Str "Lists"] , Para [Str "Tight",Space,Str "using",Space,Str "spaces:"]
tests/testsuite.txt view
@@ -285,6 +285,8 @@ M.A. 2007 +B. Williams+ * * * * * # Definition Lists
tests/writer.context view
@@ -403,6 +403,8 @@ M.A. 2007 +B. Williams+ \thinrule \section{Definition Lists}
tests/writer.docbook view
@@ -648,6 +648,9 @@ <para> M.A. 2007 </para>+ <para>+ B. Williams+ </para> </section> </section> <section>
tests/writer.html view
@@ -453,6 +453,8 @@ >Should not be a list item:</p ><p >M.A. 2007</p+ ><p+ >B. Williams</p ><hr /><h1 id="definition-lists" >Definition Lists</h1
tests/writer.latex view
@@ -349,6 +349,8 @@ M.A. 2007 +B. Williams+ \begin{center}\rule{3in}{0.4pt}\end{center} \section{Definition Lists}@@ -671,21 +673,26 @@ \section{Footnotes} -Here is a footnote reference,\footnote{Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.} and another.\footnote{Here's the long note. This one contains multiple blocks.+Here is a footnote reference,\footnote{Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.+} and another.\footnote{Here's the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). \begin{Verbatim} { <code> } \end{Verbatim}-If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.} This should \emph{not} be a footnote reference, because it contains a space.[\^{}my note] Here is an inline note.\footnote{This is \emph{easier} to type. Inline notes may contain \href{http://google.com}{links} and \verb!]! verbatim characters, as well as [bracketed text].}+If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.+} This should \emph{not} be a footnote reference, because it contains a space.[\^{}my note] Here is an inline note.\footnote{This is \emph{easier} to type. Inline notes may contain \href{http://google.com}{links} and \verb!]! verbatim characters, as well as [bracketed text].+} \begin{quote}-Notes can go in quotes.\footnote{In quote.}+Notes can go in quotes.\footnote{In quote.+} \end{quote} \begin{enumerate}[1.]-\item And in list items.\footnote{In list.}+\item And in list items.\footnote{In list.+} \end{enumerate} This paragraph should not be part of the note, as it is not indented.
tests/writer.man view
@@ -326,6 +326,8 @@ .PP M\.A\. 2007 .PP+B\. Williams+.PP * * * * * .SH Definition Lists .PP
tests/writer.markdown view
@@ -288,6 +288,8 @@ M.A. 2007 +B. Williams+ * * * * *
tests/writer.native view
@@ -180,6 +180,7 @@ ] ] ] , Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item:"] , Para [Str "M",Str ".",Str "A",Str ".",Space,Str "2007"]+, Para [Str "B",Str ".",Space,Str "Williams"] , HorizontalRule , Header 1 [Str "Definition",Space,Str "Lists"] , Para [Str "Tight",Space,Str "using",Space,Str "spaces:"]
tests/writer.rst view
@@ -352,6 +352,8 @@ M.A. 2007 +B. Williams+ -------------- Definition Lists
tests/writer.rtf view
@@ -159,6 +159,7 @@ {\pard \ql \f0 \sa0 \li720 \fi-360 a.\tx360\tab Nested.\sa180\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Should not be a list item:\par} {\pard \ql \f0 \sa180 \li0 \fi0 M.A. 2007\par}+{\pard \ql \f0 \sa180 \li0 \fi0 B. Williams\par} {\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Definition Lists\par} {\pard \ql \f0 \sa180 \li0 \fi0 Tight using spaces:\par}
web/Makefile view
@@ -1,4 +1,4 @@-ALL := index.html osx-notes.html README.html INSTALL.html examples.html pandoc1.html markdown2pdf1.html html2markdown1.html hsmarkdown1.html+ALL := index.html README.html INSTALL.html examples.html pandoc1.html markdown2pdf1.html html2markdown1.html hsmarkdown1.html PANDOC_PATH ?= $(dir $(shell which pandoc)) MAKEPAGE = $(PANDOC_PATH)/pandoc -s -S -c pandoc.css -A footer.html all : $(ALL)
web/demos view
@@ -69,3 +69,6 @@ [xmlto]: http://cyberelk.net/tim/xmlto/ +15. A simple wiki program using [HAppS](http://happs.org) and pandoc: + [pandocwiki](pandocwiki-0.1.tar.gz).+
− web/index.txt
@@ -1,166 +0,0 @@-% Pandoc--# Overview--Pandoc is a [Haskell] library for converting from one markup format-to another, and a command-line tool that uses this library. It can read-[markdown] and (subsets of) [reStructuredText], [HTML], and [LaTeX],-and it can write [markdown], [reStructuredText], [HTML], [LaTeX], [ConTeXt],-[RTF], [DocBook XML], [groff man], and [S5] HTML slide shows. --Pandoc features--- Modular design, using separate writers and readers for each- supported format.-- A real markdown parser, not based on regex substitutions.- [More accurate] and [faster], in many cases, than `Markdown.pl`.-- Also parses (subsets of) reStructuredText, LaTeX, and HTML.-- Multiple output formats: HTML, Docbook XML, LaTeX, ConTeXt,- reStructuredText, Markdown, RTF, groff man pages, S5 slide shows.-- Unicode support.-- Optional "smart" quotes, dashes, and ellipses.-- Automatically generated tables of contents.-- [ASCIIMathML] support for equations in HTML.-- Extensions to markdown syntax:- + Document metadata (title, author, date).- + Footnotes, tables, and definition lists.- + Superscripts, subscripts, and strikeout.- + Inline LaTeX math and LaTeX commands.- + Markdown inside HTML blocks.- + Enhanced ordered lists: start number and numbering style- are significant.- + Compatibility mode to turn off syntax entensions and emulate- `Markdown.pl`.-- Convenient wrapper scripts:- + `html2markdown` makes it easy to produce a markdown version- of any web page.- + `markdown2pdf` converts markdown to PDF in one step.- + `hsmarkdown` is a drop-in replacement for `Markdown.pl`.-- Multi-platform: runs on Windows, MacOS X, Linux, Unix.-- Free software, released under the [GPL].--To see what pandoc can do, see the [demonstration page](examples.html).--# Documentation--- [User's Guide](README.html)-- [Demonstrations](examples.html)-- Man pages- - [`pandoc(1)`](pandoc1.html)- - [`markdown2pdf(1)`](markdown2pdf1.html)- - [`html2markdown(1)`](html2markdown1.html)- - [`hsmarkdown(1)`](hsmarkdown1.html)-- [Library documentation](doc/index.html) (for Haskell programmers)-- [Instructions for installing from source](INSTALL.html)-- [Changelog](changelog)--# Downloads--- [Source tarball].- To install, unpack the archive and follow the instructions in the- [INSTALL](INSTALL.html) file. You'll need the [GHC] Haskell compiler,- version 6.6 or higher.--- [MacOS X binary package].- To install, just double-click the package icon in the disk- image. See the [installation notes](osx-notes.html) for important- information about setting your `PATH`. Note: This package was- compiled on a G4 Mac; it will also work on an Intel Mac via emulation.--- [Windows binary package].- The zip file contains the `pandoc.exe` command-line program (which- you should extract from the zip archive and put somewhere in your- PATH). See the included file `README.txt` for instructions- on using the program. Note: If you use [Cygwin], we recommend that- you compile Pandoc from source. This will give you access to the- wrapper scripts `markdown2pdf`, `html2markdown`, and `hsmarkdown`,- which are not included in the Windows binary package.--- [FreeBSD port].--- [Debian linux package] (thanks to Recai Oktaş). This will also work- on Ubuntu and other Debian derivatives. To install, download the file- and type:-- sudo dpkg -i pandoc_0.4_i386.deb--# Code repository--Pandoc has a publicly accesible subversion repository at Google-Code (<http://code.google.com/p/pandoc>). To check out the latest,-bleeding-edge source code:-- svn checkout http://pandoc.googlecode.com/svn/trunk/ pandoc--# Reporting bugs--You may view existing bug reports and submit new ones at -<http://code.google.com/p/pandoc/issues/list>.--# Mailing lists--- [pandoc-announce]: Announcements of new releases only.-- [pandoc-discuss]: General discussion of pandoc.--# News--- Version 0.4 released (August 15, 2007).-- For users:-- + New output formats: ConTeXt and groff man.- + Support for definition lists and tables.- + Support for superscript, subscript, and strikeout.- + Support for automatically generated tables of contents.- + Automatically generated unique identifiers in HTML headers.- + Enhanced ordered lists (start number and list number style- are now significant).- + Markdown links now printed as inline links by default,- unless `--reference-links` option is specified.- + Many bugs fixed.-- For programmers:-- + Added a Text.Pandoc module that exports the main functions- and data structures. Library documentation includes a sample- program using the library.-- Under the hood:-- + Refactored to avoid reliance on GHC's `Text.Regex`, which- is slow and does not support unicode.- + Removed Key and Note block elements and simplified parsers.- + Improved handling of character entities.- + HTML output is now generated using `Text.XHtml`.--# Disclaimer--This is an early, "alpha" release. It carries no warranties of any-kind.--[More accurate]: http://code.google.com/p/pandoc/wiki/PandocVsMarkdownPl-[faster]: http://code.google.com/p/pandoc/wiki/Benchmarks-[ASCIIMathML]: http://www1.chapman.edu/~jipsen/mathml/asciimath.html- -[John MacFarlane]: http://sophos.berkeley.edu/macfarlane/-[markdown]: http://daringfireball.net/projects/markdown/-[reStructuredText]: http://docutils.sourceforge.net/docs/ref/rst/introduction.html-[S5]: http://meyerweb.com/eric/tools/s5/-[HTML]: http://www.w3.org/TR/html40/-[LaTeX]: http://www.latex-project.org/-[ConTeXt]: http://www.pragma-ade.nl/ -[RTF]: http://en.wikipedia.org/wiki/Rich_Text_Format-[DocBook XML]: http://www.docbook.org/-[groff man]: http://developer.apple.com/DOCUMENTATION/Darwin/Reference/ManPages/man7/groff_man.7.html-[Haskell]: http://www.haskell.org/-[GHC]: http://www.haskell.org/ghc/-[GPL]: http://www.gnu.org/copyleft/gpl.html-[Source tarball]: http://code.google.com/p/pandoc/downloads/detail?name=pandoc-0.4.tar.gz "Download source tarball from Pandoc's Google Code site"-[MacOS X binary package]: http://code.google.com/p/pandoc/downloads/detail?name=pandoc-0.4.dmg "Download Mac OS X disk image from Pandoc's Google Code site"-[Windows binary package]: http://code.google.com/p/pandoc/downloads/detail?name=pandoc-0.4.zip "Download Windows zip file from Pandoc's Google Code site"-[Cygwin]: http://www.cygwin.com/ "Cygwin - a linux-like environment for Windows"-[Debian linux package]: pandoc_0.4_i386.deb-[FreeBSD port]: http://www.freshports.org/textproc/pandoc/-[pandoc-announce]: http://groups.google.com/group/pandoc-announce-[pandoc-discuss]: http://groups.google.com/group/pandoc-discuss-
+ web/index.txt.in view
@@ -0,0 +1,165 @@+% Pandoc++# Overview++Pandoc is a [Haskell] library for converting from one markup format+to another, and a command-line tool that uses this library. It can read+[markdown] and (subsets of) [reStructuredText], [HTML], and [LaTeX],+and it can write [markdown], [reStructuredText], [HTML], [LaTeX], [ConTeXt],+[RTF], [DocBook XML], [groff man], and [S5] HTML slide shows. ++Pandoc features++- Modular design, using separate writers and readers for each+ supported format.+- A real markdown parser, not based on regex substitutions.+ [More accurate] and [faster], in many cases, than `Markdown.pl`.+- Also parses (subsets of) reStructuredText, LaTeX, and HTML.+- Multiple output formats: HTML, Docbook XML, LaTeX, ConTeXt,+ reStructuredText, Markdown, RTF, groff man pages, S5 slide shows.+- Unicode support.+- Optional "smart" quotes, dashes, and ellipses.+- Automatically generated tables of contents.+- [ASCIIMathML] support for equations in HTML.+- Extensions to markdown syntax:+ + Document metadata (title, author, date).+ + Footnotes, tables, and definition lists.+ + Superscripts, subscripts, and strikeout.+ + Inline LaTeX math and LaTeX commands.+ + Markdown inside HTML blocks.+ + Enhanced ordered lists: start number and numbering style+ are significant.+ + Compatibility mode to turn off syntax entensions and emulate+ `Markdown.pl`.+- Convenient wrapper scripts:+ + `html2markdown` makes it easy to produce a markdown version+ of any web page.+ + `markdown2pdf` converts markdown to PDF in one step.+ + `hsmarkdown` is a drop-in replacement for `Markdown.pl`.+- Multi-platform: runs on Windows, MacOS X, Linux, Unix.+- Free software, released under the [GPL].++To see what pandoc can do, see the [demonstration page](examples.html).++# Documentation++- [User's Guide](README.html)+- [Demonstrations](examples.html)+- Man pages+ - [`pandoc(1)`](pandoc1.html)+ - [`markdown2pdf(1)`](markdown2pdf1.html)+ - [`html2markdown(1)`](html2markdown1.html)+ - [`hsmarkdown(1)`](hsmarkdown1.html)+- [Library documentation](doc/index.html) (for Haskell programmers)+- [Instructions for installing from source](INSTALL.html)+- [Changelog](changelog)++# Downloads++For installation instructions for all architectures, see+[INSTALL](INSTALL.html).++- [Source tarball]+- [Windows binary package]+- [MacPorts Portfile]+- [FreeBSD port]+- [Debian linux package] (thanks to Recai Oktaş)++# Code repository++Pandoc has a publicly accesible subversion repository at Google+Code (<http://code.google.com/p/pandoc>). To check out the latest,+bleeding-edge source code:++ svn checkout http://pandoc.googlecode.com/svn/trunk/ pandoc++# Reporting bugs++You may view existing bug reports and submit new ones at +<http://code.google.com/p/pandoc/issues/list>.++# Mailing lists++- [pandoc-announce]: Announcements of new releases only.+- [pandoc-discuss]: General discussion of pandoc.++# News++- Version 0.42 released (August 26, 2006).++ + Fixes bugs in ordered list handling, LaTeX footnotes,+ UTF8 in include files, and HTML tables. See [changelog] for details.+ + Added new rule for enhanced ordered lists: capital letters+ followed by periods must be separated from the list item by+ two spaces, to avoid misinterpretation of initials. See+ [README](README#lists) for details.+ + Improved strict markdown compatibility.+ + OSX packages are no longer supported. There were too many issues with+ dynamic libraries. Instead, a MacPorts Portfile is now provided.++- Version 0.41 released (August 19, 2007).++ + Fixes bugs in the handling of ordered lists and raw HTML.+ For details, see the [changelog].++- Version 0.4 released (August 15, 2007).++ For users:++ + New output formats: ConTeXt and groff man.+ + Support for definition lists and tables.+ + Support for superscript, subscript, and strikeout.+ + Support for automatically generated tables of contents.+ + Automatically generated unique identifiers in HTML headers.+ + Enhanced ordered lists (start number and list number style+ are now significant).+ + Markdown links now printed as inline links by default,+ unless `--reference-links` option is specified.+ + Many bugs fixed.++ For programmers:++ + Added a Text.Pandoc module that exports the main functions+ and data structures. Library documentation includes a sample+ program using the library.++ Under the hood:++ + Refactored to avoid reliance on GHC's `Text.Regex`, which+ is slow and does not support unicode.+ + Removed Key and Note block elements and simplified parsers.+ + Improved handling of character entities.+ + HTML output is now generated using `Text.XHtml`.++# Disclaimer++This is an early, "alpha" release. It carries no warranties of any+kind.++[More accurate]: http://code.google.com/p/pandoc/wiki/PandocVsMarkdownPl+[faster]: http://code.google.com/p/pandoc/wiki/Benchmarks+[ASCIIMathML]: http://www1.chapman.edu/~jipsen/mathml/asciimath.html+ +[John MacFarlane]: http://sophos.berkeley.edu/macfarlane/+[markdown]: http://daringfireball.net/projects/markdown/+[reStructuredText]: http://docutils.sourceforge.net/docs/ref/rst/introduction.html+[S5]: http://meyerweb.com/eric/tools/s5/+[HTML]: http://www.w3.org/TR/html40/+[LaTeX]: http://www.latex-project.org/+[ConTeXt]: http://www.pragma-ade.nl/ +[RTF]: http://en.wikipedia.org/wiki/Rich_Text_Format+[DocBook XML]: http://www.docbook.org/+[groff man]: http://developer.apple.com/DOCUMENTATION/Darwin/Reference/ManPages/man7/groff_man.7.html+[Haskell]: http://www.haskell.org/+[GHC]: http://www.haskell.org/ghc/+[GPL]: http://www.gnu.org/copyleft/gpl.html+[Source tarball]: http://code.google.com/p/pandoc/downloads/detail?name=pandoc-@VERSION@.tar.gz "Download source tarball from Pandoc's Google Code site"+[MacOS X binary package]: http://code.google.com/p/pandoc/downloads/detail?name=pandoc-@VERSION@.dmg "Download Mac OS X disk image from Pandoc's Google Code site"+[Windows binary package]: http://code.google.com/p/pandoc/downloads/detail?name=pandoc-@VERSION@.zip "Download Windows zip file from Pandoc's Google Code site"+[MacPorts Portfile]: Portfile+[Debian linux package]: pandoc_@VERSION@_i386.deb+[FreeBSD port]: http://www.freshports.org/textproc/pandoc/+[pandoc-announce]: http://groups.google.com/group/pandoc-announce+[pandoc-discuss]: http://groups.google.com/group/pandoc-discuss+[changelog]: changelog+
+ web/pandocwiki-0.1.tar.gz view
binary file changed (absent → 5282 bytes)