aboutsummaryrefslogtreecommitdiff
path: root/pandoc.hs
AgeCommit message (Collapse)AuthorFilesLines
2016-03-21Fix stdin handling for file-scopeJesse Rosenthal1-0/+1
Regardless of input type, we should use default handling if we are dealing with stdin. In other words, there should be no file-scope if there are no files. This was an issue with pandoc json, which could be piped on stdin, but which was read by default with `--file-scope`.
2016-03-15pandoc.hs: Also use filescope for json files.Jesse Rosenthal1-7/+9
JSON files have metadata and list structure, so they can't be simply catted, but they're useful as intermediate build files in large projects.
2016-03-15Introduce file-scope parsing (parse-before-combine)Jesse Rosenthal1-4/+23
Traditionally pandoc operates on multiple files by first concetenating them (around extra line breaks) and then processing the joined file. So it only parses a multi-file document at the document scope. This has the benefit that footnotes and links can be in different files, but it also introduces a couple of difficulties: - it is difficult to join files with footnotes without some sort of preprocessing, which makes it difficult to write academic documents in small pieces. - it makes it impossible to process multiple binary input files, which can't be catted. - it makes it impossible to process files from different input formats. This commit introduces alternative method. Instead of catting the files first, it parses the files first, and then combines the parsed output. This makes it impossible to have links across multiple files, and auto-identified headers won't work correctly if headers in multiple files have the same name. On the other hand, footnotes across multiple files will work correctly and will allow more freedom for input formats. Since ByteStringReaders can currently only read one binary file, and will ignore subsequent files, we also changes the behavior to automatically parse before combining if using the ByteStringReader. If we use one file, it will work as normal. If there is more than one file it will combine them after parsing (assuming that the format is the same). Note that this is intended to be an optional method, defaulting to off. Turn it on with `--file-scope`.
2016-01-19Add TEI Writer.csforste1-0/+2
2016-01-06Improved default template lookup for custom lua scripts.John MacFarlane1-19/+17
Previously, if you tried to do `pandoc -s -t /path/to/lua/script.lua`, pandoc would look for the template in `~/.pandoc/templates/default./path/to/lua/script.lua`. With this change it will look in the more reasonable `~/.pandoc/templates/default.script.lua`. This makes it possible to store default templates for custom writers. Closes #2625.
2016-01-06Revert "Make file globbing work on windows."John MacFarlane1-9/+0
This reverts commit 363ecfebc32c6fe15d81634422e8607847f588fb.
2016-01-06Make file globbing work on windows.John MacFarlane1-0/+9
Windows cmd doesn't expand wildcards; the application has to do this. So on windows we use 'glob' to expand.
2015-12-21Added preliminary support for PDF creation via wkhtmltopdf.John MacFarlane1-13/+15
To use this: pandoc -t html5 -o result.pdf (and add `--mathjax` if you have math.)
2015-12-14Factored out convertWithOptsJohn MacFarlane1-0/+3
2015-12-14Removed "compatibility mode" when called as hsmarkdown.John MacFarlane1-12/+2
2015-12-14Removed deprecated --strict option entirely.John MacFarlane1-8/+0
2015-12-11Removed deprecated options `--offline` and `--html5`.John MacFarlane1-16/+0
These have been deprecated forever.
2015-12-11Implemented SoftBreak and new `--wrap` option.John MacFarlane1-5/+20
Added threefold wrapping option. * Command line option: deprecated `--no-wrap`, added `--wrap=[auto|none|preserve]` * Added WrapOption, exported from Text.Pandoc.Options * Changed type of writerWrapText in WriterOptions from Bool to WrapOption. * Modified Text.Pandoc.Shared functions for SoftBreak. * Supported SoftBreak in writers. * Updated tests. * Updated README. Closes #1701.
2015-11-22hlint refactorings.John MacFarlane1-38/+34
2015-11-19Merge branch 'new-image-attributes' of https://github.com/mb21/pandoc into ↵John MacFarlane1-2/+16
mb21-new-image-attributes * Bumped version to 1.16. * Added Attr field to Link and Image. * Added `common_link_attributes` extension. * Updated readers for link attributes. * Updated writers for link attributes. * Updated tests * Updated stack.yaml to build against unreleased versions of pandoc-types and texmath. * Fixed various compiler warnings. Closes #261. TODO: * Relative (percentage) image widths in docx writer. * ODT/OpenDocument writer (untested, same issue about percentage widths). * Update pandoc-citeproc.
2015-11-19Rationalized behavior of --no-tex-ligatures and --smart.John MacFarlane1-2/+7
This change makes `--no-tex-ligatures` affect the LaTeX reader as well as the LaTeX and ConTeXt writers. If it is used, the LaTeX reader will parse characters `` ` ``, `'`, and `-` literally, rather than parsing ligatures for quotation marks and dashes. And the LaTeX writer will print unicode quotation mark and dash characters literally, rather than converting them to the standard ASCII ligatures. Note that `--smart` has no affect on the LaTeX reader. `--smart` is still the default for all input formats when LaTeX or ConTeXt is the output format, *unless* `--no-tex-ligatures` is used. Some examples to illustrate the logic: ``` % echo "'hi'" | pandoc -t latex `hi' % echo "'hi'" | pandoc -t latex --no-tex-ligatures 'hi' % echo "'hi'" | pandoc -t latex --no-tex-ligatures --smart ‘hi’ % echo "'hi'" | pandoc -f latex --no-tex-ligatures <p>'hi'</p> % echo "'hi'" | pandoc -f latex <p>’hi’</p> ``` Closes #2541.
2015-11-16Allow .adoc file extension for AsciiDoc.Andrew Dunning1-0/+1
`.adoc` is the extension recommended at <http://asciidoctor.org/docs/asciidoc-writers-guide/>.
2015-11-16Improved implicit pandoc-citeproc inclusion.John MacFarlane1-1/+1
The filter pandoc-citeproc is automatically used when `--bibliography` is specified on the command line, unless `--natbib` or `--biblatex` is used. However, previously this only worked if `--bibliography` was spelled out in full, and not if `--biblio` was used. This patch fixes that problem.
2015-11-09Revert "Use -XNoImplicitPrelude and 'import Prelude' explicitly."John MacFarlane1-1/+0
This reverts commit c423dbb5a34c2d1195020e0f0ca3aae883d0749b.
2015-11-08Use -XNoImplicitPrelude and 'import Prelude' explicitly.John MacFarlane1-0/+1
This is needed for ghci to work with pandoc, given that we now use a custom prelude. Closes #2503.
2015-10-20Allow use of ConTeXt to generate PDFs.John MacFarlane1-6/+10
pandoc my.md -t context -o my.pdf will now create a PDF using ConTeXt rather than LaTeX. Closes #2463.
2015-10-14Use custom Prelude to avoid compiler warnings.John MacFarlane1-2/+1
- The (non-exported) prelude is in prelude/Prelude.hs. - It exports Monoid and Applicative, like base 4.8 prelude, but works with older base versions. - It exports (<>) for mappend. - It hides 'catch' on older base versions. This allows us to remove many imports of Data.Monoid and Control.Applicative, and remove Text.Pandoc.Compat.Monoid. It should allow us to use -Wall again for ghc 7.10.
2015-10-10Removed unneeded import.John MacFarlane1-1/+1
2015-10-01Move the variable pandocVersion from `src/Text/Pandoc.hs` toAlex Vong1-1/+1
`src/Text/Pandoc/Shared.hs`, so that all Writers can access this variable without importing `src/Text/Pandoc.hs`, preventing circular import. * pandoc.hs: Import pandocVersion from `Text.Pandoc.Shared`. * src/Text/Pandoc.hs: Remove the definition of pandocVersion and relevant import. * src/Text/Pandoc/Shared.hs: Add the definition of pandocVersion and relevant import.
2015-09-26Update KaTeX JS and CSS versions.Emily Eisenberg1-2/+2
Update the default KaTeX JS/CSS links to the current version. KaTeX v0.5.1 has far more functions and symbols than v0.1.0, so it seems like a better default. I think technically this might break compatibility because we released a breaking change due to the greediness of the `\color` function, but this probably has very little impact.
2015-08-13Added `--bash-completion` option.John MacFarlane1-1/+18
This generates a bash completion script. To use: eval "$(pandoc --bash-completion)"
2015-07-27Text.Pandoc.Options: modifications for image attributes.John MacFarlane1-2/+16
* Added `Ext_common_link_attributes` constructor to `Extension` (for link and image attributes). * Added this to `pandocExtensions` and `phpMarkdownExtraExtensions`. * Added `writerDpi` to `WriterOptions`. * pandoc.hs: Added `--dpi` option. * Updated README for `--dpi` and `common_link_attributes` extension. Patch due to mb21, with some modifications: `writerDpi` is now an `Int` rather than a `Double`.
2015-07-23Added odt readerMarLinn1-3/+1
Fully implemented features: * Paragraphs * Headers * Basic styling * Unordered lists * Ordered lists * External Links * Internal Links * Footnotes, Endnotes * Blockquotes Partly implemented features: * Citations Very basic, but pandoc can't do much more * Tables No headers, no sizing, limited styling
2015-07-02Better error messages for filters:John MacFarlane1-2/+8
- Inform user if filter requires an interpreter that isn't found in the path. - Inform user if filter returns an error status.
2015-07-01New method for building man pages.John MacFarlane1-15/+0
+ Removed `--man1`, `--man5` options (breaking change). + Removed `Text.Pandoc.ManPages` module (breaking API change). + Version bump to 1.15 because of the breaking changes, even though they involve features that have only been in pandoc for a day. + Makefile target for `man/man1/pandoc.1`. This uses pandoc to create the man page from README using a custom template and filters. + Added `man/` directory with template and filters needed to build man page. + We no longer have two man pages: pandoc.1 and pandoc_markdown.5. Now there is just pandoc.1, which has all the content from README. This change was needed because of the extensive cross-references between parts of the README. + Removed old `data/pandoc.1.template` and `data/pandoc_markdown.5.template`.
2015-06-28New method for producing man pages.John MacFarlane1-0/+15
This change adds `--man1` and `--man5` options to pandoc, so pandoc can generate its own man pages. It removes the old overly complex method of building a separate executable (but not installing it) just to create the man pages. The man pages are no longer automatically created in the build process. The man/ directory has been removed. The man page templates have been moved to data/. New unexported module: Text.Pandoc.ManPages. Text.Pandoc.Data now exports readmeFile, and `readDataFile` knows how to find README. Closes #2190.
2015-06-09replace old url with pandoc.orgPablo Rodríguez1-1/+1
2015-06-09Amends last commit: don't use https for google charts.John MacFarlane1-1/+1
They don't have a certificate.
2015-06-09Use https: for mathjax/katex/google-charts CDNs.John MacFarlane1-5/+5
Closes #1920.
2015-05-11Only make implicit `-F pandoc-citeproc` when `--bibliography` option used.John MacFarlane1-2/+2
Not when `bibliography` field in metadata is specified. Closes #1849.
2015-05-11Removed references to `biblio-files` in pandoc.hs and README.John MacFarlane1-3/+0
2015-05-09Revert "EPUB writer: stylesheet changes. Closes #2040."John MacFarlane1-4/+2
This reverts commit 1c2951dfd9ee72e5270cb974a06098adb9178f89. See #2040. The semantics was too squishy. `--css` takes a URL, but for EPUB we need files that we can read. I prefer keeping the old system for now, with `--epub-stylesheet`.
2015-05-08EPUB writer: stylesheet changes. Closes #2040.John MacFarlane1-2/+4
* Allow `--css` to be used to specify stylesheets. * Deprecated `--epub-stylesheet` and made it a synoynym of `--css`. * If a code block with class "css" is given as contents of the `stylesheet` metadata field, use its literal code as contents of the epub stylesheet. Otherwise, treat it as a filename and read the file. * Note: `--css` and `stylesheet` in metadata are not compatible. `stylesheet` takes precedence.
2015-04-26Updated copyright notices to -2015. Closes #2111.John MacFarlane1-3/+3
2015-03-28Merge branch 'errortype' of https://github.com/mpickering/pandoc into ↵John MacFarlane1-10/+12
mpickering-errortype Conflicts: benchmark/benchmark-pandoc.hs src/Text/Pandoc/Readers/Markdown.hs src/Text/Pandoc/Readers/Org.hs src/Text/Pandoc/Readers/RST.hs tests/Tests/Readers/LaTeX.hs
2015-03-07Merge pull request #1976 from wcaleb/json-help-messageJohn MacFarlane1-5/+7
Clarify JSON input and output in usage message
2015-03-04Fix issue #969, #1779 by providing --latex-engine-optSumit Sahrawat1-1/+13
2015-02-27Clarify JSON input and output in usage messageCaleb McDaniel1-5/+7
2015-02-18Update executable fileMatthew Pickering1-10/+12
2015-01-19Better warning when trying to read multiple binary filesMatthew Pickering1-1/+2
2014-12-26Added `--verbose` flag for debugging output in PDF production.John MacFarlane1-1/+10
Closes #1840. Closes #1653.
2014-10-20Recognize .icml extension and use icml writer. See #1707.John MacFarlane1-0/+1
2014-10-19Give better error messages when someone tries to convert pdf, doc, odt.John MacFarlane1-1/+12
Closes #1683.
2014-09-25Add support for KaTeX HTML mathmpickering1-3/+32
Closes #1626
2014-08-31Use protocol-relative URL for mathjax.John MacFarlane1-1/+1
See jgm/pandoc-templates#67.