Commit graph

1209 commits

Author SHA1 Message Date
fiddlosopher
f7b705b44c Implemented implicit reference-style links to section headers in markdown.
For example, if you have a header '# Supported architectures', you can
link to it with '[Supported architectures]'.  If there are multiple
headers with this label, the link will point to the first of them.
Implicit references are always overridden by explicitly specified references.
Addresses Issue #20.

+ Moved isPunctuation, uniqueIdentifiers, and inlineListToIdentifier from
  Text.Pandoc.Writers.HTML to Text.Pandoc.Shared.

+ Added stHeaders to ParserState.   This holds a list of header texts
  used in the document, and is used to construct implicit header references.

+ In Text.Pandoc.Readers.Markdown, added call to headerReference
  parser in initial parsing pass, constructing a list of section header
  labels. This is then passed to uniqueIdentifiers to produce
  identifiers, and a list of implicit references is constructed. This is
  added to the end of the explicitly specified references, so it will be
  overridden by explicitly specified references. All of this processing
  is skipped if --strict was specified.

+ Modified documentation in README.



git-svn-id: https://pandoc.googlecode.com/svn/trunk@1086 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-22 17:14:21 +00:00
fiddlosopher
8d334b84cc Fixed some haddock documentation bugs in Shared.hs.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1085 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-18 01:44:08 +00:00
fiddlosopher
f4a1fa4b8d More improvements to ConTeXt writer:
+ writer options are now in state, so they don't have to be passed as
  a parameter
+ state also keeps track of ordered list level, so the right default
  numbering scheme can be used
+ extra blank line after \stopitemize
+ removed definitions of ltxenum and ltxitem from the preamble
+ both kinds of lists are now generated using \start-stopitemize, with
  appropriate options
+ in the case of bulleted lists, no options need be specified, because
  defaults are given in the preamble
+ test suite updated accordingly


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1084 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-18 01:24:43 +00:00
fiddlosopher
5fa78695bc ConTeXt writer:
+ Don't use \(sub)+subject if header level > 5.
+ Modified tests to conform to new treatment of level 4 and 5 headers.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1083 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-17 23:34:16 +00:00
fiddlosopher
4c9a85b821 Modified ConTeXt writer to use \subsubsubsubsection etc.,
since these are supported (up to at least sub x 5).


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1082 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-17 23:26:51 +00:00
roktas
5b5d9bcd76 Use $(GHC) instead of ghc and make them user configurable through environment
to support unusual ghc installations, for example:

	GHC=/opt/ghc/bin/ghc GHC_PKG=/opt/ghc/bin/ghc-pkg make


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1081 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-17 21:01:34 +00:00
fiddlosopher
09b57fcf9c Adjusted formatting of LaTeX and ConTeXt footnotes:
- in ConTeXt, % is not needed at end of line before note, since
  space is gobbled.
- beginning of footnote indented four spaces.
- this required an additional parameter in wrappedTeX and
  wrapTeXIfNeeded, in Text.Pandoc.Shared.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1080 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-17 18:42:11 +00:00
fiddlosopher
780b77c147 ConTeXt writer: Use itemize options, not sym{}, to produce ordered
lists with custom numbering styles.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1079 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-16 06:20:25 +00:00
fiddlosopher
13d8a75060 New, "official" definition of blockquote environment in ConTeXt header.
Also, use blank line after \startblockquote to balance blank line at the end.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1078 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-16 04:04:53 +00:00
fiddlosopher
87d6d0d069 Fixed logic in markdown smart quote parsing:
+ Added some needed 'try' statements.
+ Unicode right single-quote can double as apostrophe, so treat it
  as a quote-end only when not followed by an alphanumeric character.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1077 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-15 17:29:24 +00:00
fiddlosopher
ccb5fbb209 Fixed smart quote parsing in markdown reader so that unicode
characters 8216 and 8217 are recognized as single quotes,
and 8220 and 8221 as double quotes.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1075 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-15 03:55:58 +00:00
fiddlosopher
506bf38bcb Updated documentation to reflect the fact that LaTeX and ConTeXt writers
now wrap text by default.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1074 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-15 03:23:02 +00:00
fiddlosopher
a487bbb5a9 Updated tests for changes in LaTeX and ConTeXt writers.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1073 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-15 03:21:10 +00:00
fiddlosopher
ea5e945470 Changes to ConTeXt writer:
+ PrettyPrint module now used for output.
+ Text wrapping now provided, using wrapTeXIfNeeded.
+ Better treatment of footnotes:  footnotes are always on lines by themselves.
+ Use \subject, \subsubject, ... or \section, \subsection, ... for headings,
  depending on whether --number-sections option is selected.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1072 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-15 03:20:05 +00:00
fiddlosopher
851c04dfcd Improved footnote handling in LaTeX writer:
+ use wrapTeXIfNeeded instead of wrapIfNeeded
+ make sure footnotes occur on lines by themselves, with a % at the
  end of the preceding line to prevent unwanted spaces
+ added writer options to state, so it can be accessed by wrapTeXIfNeeded 


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1071 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-15 03:11:33 +00:00
fiddlosopher
e73c3d3561 Added wrappedTeX and wrapTeXIfNeeded functions to Text.Pandoc.Shared.
These ensure that footnotes occur on lines by themselves (to make them
easier to move around), and that they don't screw up text wrapping.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1070 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-15 03:09:31 +00:00
fiddlosopher
1ba0c8f483 Modified debian/changelog -- include last bugfix.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1069 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-10 21:52:25 +00:00
fiddlosopher
bd7f5f3f7c Fixed bug in LaTeX reader (pointed out by Mark Eli Kalderon):
needed a "try" before "string" in parser for \[ math blocks.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1068 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-10 21:44:05 +00:00
roktas
466b75d997 Remove a duplicate comment line.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1067 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-06 01:35:22 +00:00
fiddlosopher
8a057e77af Modified build procedure to allow compilation with GHC 6.8:
+ pandoc.cabal now uses Cabal configurations and requires Cabal >=1.2.
+ An alternative pandoc.cabal.ghc66 is provided for those who have older
  versions of Cabal.
+ Debian build process has been modified to use pandoc.cabal.ghc66,
  as a temporary measure until GHC 6.8 gets into debian unstable.
+ INSTALL instructions have been updated.
+ Makefile has been updated to accommodate changes in pandoc.cabal.
+ pandoc.cabal.ghc68 has been removed, since the default version now
  works with GHC 6.8.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1066 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-06 00:07:17 +00:00
fiddlosopher
8d8639711d Added a version of pandoc.cabal that works with GHC 6.8.1.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1065 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-04 00:36:41 +00:00
fiddlosopher
fe684764e6 Reverted back to state as of r1062. The template haskell changes
are more trouble than they're worth.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1064 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-03 23:27:58 +00:00
fiddlosopher
4a841bfc54 Use template haskell to avoid the need for templates:
+ Added library Text.Pandoc.Include, with a template haskell
  function $(includeStrFrom fname) to include a file as a string
  constant at compile time.
+ This removes the need for the 'templates' directory or Makefile
  target.  These have been removed.
+ The base source directory has been changed from src to .
+ A new 'data' directory has been added, containing the ASCIIMathML.js
  script, writer headers, and S5 files.
+ The src/wrappers directory has been moved to 'wrappers'.
+ The Text.Pandoc.ASCIIMathML library is no longer needed, since
  Text.Pandoc.Writers.HTML can use includeStrFrom to include the
  ASCIIMathML.js code directly.  It has been removed.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1063 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-03 22:14:03 +00:00
fiddlosopher
3116d30133 Updated changelog in light of last change.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1062 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-01 17:35:00 +00:00
fiddlosopher
40fa01765b Cleaned up LaTeX footnotes:
+ Footnotes start on a separate line.  A comment % is used
  at the end of the previous line to prevent unwanted spaces.
  This makes footnotes easier to see, delete, and move around.
+ The final } now only appears on a separate line if it needs to
  (i.e. if the note ends with a Verbatim environment).


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1061 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-01 17:32:59 +00:00
fiddlosopher
d5adbcb774 Fixed bug in parsing files that begin with blank lines.
+ In Text.Pandoc.Shared: rewrote lineClump to parse EITHER a string
  of blank lines OR a string of nonblanks.  Removed code for parsing
  eof.
+ In Markdown and RST readers, use 'manyTill (... <|> lineClump) eof'
  instead of many, since lineClump no longer parses eof. 


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1057 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-29 21:00:48 +00:00
fiddlosopher
63dfc3abf2 Modified specialChar in LaTeX reader so that '"'
characters are parsed and do not cause an error.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1056 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-28 23:30:29 +00:00
fiddlosopher
27ea29a906 Updated changelog to reflect change to fromUTF8.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1055 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-27 22:57:36 +00:00
fiddlosopher
65a5db2d41 Modified fromUTF8 to strip out the BOM (byte order marker)
wherever it is present.  See
http://en.wikipedia.org/wiki/Byte_Order_Mark and
http://six.pairlist.net/pipermail/markdown-discuss/2007-October/000874.html.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1054 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-27 22:55:40 +00:00
fiddlosopher
447b99e35d '--no-wrap' option now prevents the addition of structural whitespace
in HTML output, minimizing the file size.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1053 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-18 15:36:51 +00:00
fiddlosopher
a81613df34 Removed 'version' constant from Main.hs; added 'pandocVersion' to Text.Pandoc.
This way all programs that use pandoc libraries will have access to the version
number.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1052 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-15 21:21:52 +00:00
fiddlosopher
d6d49db5be Updated changelog.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1051 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-13 21:39:44 +00:00
fiddlosopher
8144c54f82 Improvements to RST reader:
+ Allow field lists to be indented.
+ Parse the contents of field lists instead of treating them as
  raw strings.
+ Represent field lists as definition lists rather than blockquotes.
+ Fixed bug in which metadata would be overridden if the document
  contained more than one field list.
+ Parse fields associated with ..image: blocks, and use the 'alt'
  field, if present, for image alt text and title.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1050 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-13 21:39:17 +00:00
fiddlosopher
11e7ad2259 Save and restore position in parseFromString, so that it doesn't
mess up accurate error location reporting.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1049 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-13 21:37:06 +00:00
fiddlosopher
403f5f4728 Undid last change: instead of blocking the internal links in the
writers, it makes more sense to block them in the HTML reader.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1048 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-12 03:03:29 +00:00
fiddlosopher
4928045915 Man writer: Don't print link source for internal links (#...).
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1047 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-11 22:54:01 +00:00
fiddlosopher
ad9603231f Fixed bug in RST reader: previously, code blocks had to be
indented a full tabstop, but RST allows any amount of indentation.
Resolves Issue #27.

+ removed 'variable' parameter from indentedBlock function in
  RST reader, as it is no longer needed
+ updated test suite
+ updated changelog


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1046 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-11 05:50:28 +00:00
roktas
175ddc3f6e Makefile:
- New variables to make use in debian/rules: DATADIR, DOCDIR.  Cabal uses
  $prefix/pandoc-$VERSION/doc for the documentation files, where as the
  Debian package uses $prefix/doc/pandoc.  We need these variables to resolve
  the conflict.

debian/rules:

- Set and export DATADIR, DOCDIR which controls the installation of document
  files at install-program target.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1045 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-07 21:43:44 +00:00
roktas
ea0d5663be Changes in debian/changelog:
- Use "Closes" phrase to mark the related bug as "done" upon uploading.
- Add signature and comment on changes in Makefile.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1044 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-07 17:56:20 +00:00
roktas
068f94a51f Changes in Makefile:
- For generic installations, use $prefix/share/pandoc-$VERSION/doc directory
  to put all the documentation files.  This fixes the issue of having two
  copies of the library documentation (one in $prefix/share/pandoc-doc, the
  other is in $prefix/share/pandoc-$VERSION).
- Remove uninstall-lib-doc target and move the relevant code to uninstall-all
  target.  Add extra code to remove the html directory.  These changes fix the
  issue of leaving the library documentation in $prefix/share/pandoc-$VERSION
  uninstalled.
- Remove the confusing NAME and THIS variables and create new variables: PKG
  (same as THIS), and PKGID ($PKG-$VERSION = $THIS-$VERSION).  Remove RELNAME
  (which is equal to PKGID).  All these changes simplified things a bit in
  "Cabal constants" section and uninstall-all target.
- Remove some Cabal constants for the sake of simplicity and add a few new
  ones: PKGDATAPATH and PKGDOCPATH.  We at least need a PKGDOCPATH variable to
  install DOCS, as Cabal doesn't provide a command for this target (hence,
  install-doc).  I wish to set this variable by using ghc-pkg (just like
  libdir in install-all), but this seems a bit difficult to me, as there is no
  docdir variable in .installed-pkg-config and we would have to resort to an
  unclean hack which extracts docdir from haddock-dir.
- Keep all non-critical steps (i.e. rmdir) quiet to reduce noise.
- Ensure to use stderr for all messages.
- Avoid forking a subshell in $(web_dest).
- A few unrelated cosmetic changes.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1043 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-07 17:49:45 +00:00
fiddlosopher
1ea1665955 Updated debian/changelog.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1042 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-06 16:23:15 +00:00
fiddlosopher
5e4a0c8b9d New MacPorts Portfile template. Installs pandoc programs and libraries.
Note that 'make install-all' cannot be used to install the libraries,
because registration must be done after the files are copied out of
the destroot.  So a custom install procedure is included in the Portfile.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1041 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-06 16:06:37 +00:00
fiddlosopher
3fef30c48c Added libghc6-network-dev, libghc6-xhtml-dev, and libghc6-mtl-dev as
dependencies for libghc6-pandoc-dev.  Addresses Debian Bug #445235.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1040 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-04 23:47:33 +00:00
fiddlosopher
a1ad3b4e5f Modified html2markdown. Previously html2markdown piped all input
through html tidy before passing it to pandoc.  This causes problems
on certain sites (e.g. daringfireball.com/markdown) which have
well-formed xhtml that causes tidy to choke.  Solution is to try
pandoc on the original HTML, and run it through tidy only if that
fails.

This means that a temp file is now always used, even when input comes
from a local file or standard input.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1039 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-02 02:08:52 +00:00
fiddlosopher
5f64258a4e Add default value for URL in html2x.txt.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1038 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-30 04:16:39 +00:00
fiddlosopher
6e2bc67512 Added link to /pandoc/try on web page.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1037 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-29 20:43:59 +00:00
fiddlosopher
27d3657eef Fixed bug in markdown writer: If an ordered list item began with
a marker greater than 3 characters in width, and the item took more
than one line, it would appear on the line after the list marker,
e.g.:

    (12)
        My list item.
        Multiline.

Now it works as follows:

    (12) My list item.
        Multiline.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1036 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-27 18:52:39 +00:00
fiddlosopher
7a32ad72e3 Documented '--no-wrap' option in README and man pages.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1035 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-27 01:28:28 +00:00
fiddlosopher
5b888e8b3b Added a writer option for wrapped text and a command-line option
'--no-wrap', which disables text wrapping.  (Resolves Issue #26.)

+ Added support for '--no-wrap' to Main.hs.
+ Added wrapIfNeeded function to Text.Pandoc.Shared.
+ Use wrapIfNeeded instead of wrapped in the RST, Man, Docbook, and 
  Markdown writers.
+ Note:  Not yet implemented in HTML, LaTeX, or ConTeXt writers. 
  No documentation yet.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1034 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-27 01:23:44 +00:00
fiddlosopher
fa45b970c9 Changed ref to MacPorts to point to the MacPorts DB entry for pandoc.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1033 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-27 01:20:05 +00:00