aboutsummaryrefslogtreecommitdiff
path: root/pandoc.hs
AgeCommit message (Collapse)AuthorFilesLines
2016-09-30Execute .js filters with nodeJakob Voß1-0/+1
2016-09-27Check `$DATADIR/filters` for filtersJesse Rosenthal1-5/+20
If the `$DATADIR/filters` is present, pandoc will look in it for filters specified without a path, before looking in the $PATH. Note that unlike executables in $PATH, the `filters` dir may contain scripts that are not executable (pandoc will try to execute them using an associated interpreter, if possible). Note: the `filters` dir has priority over the user path. In order of preference, pandoc will look in: 1. a specified full or relative path (executable or non-executable) 2. `$DATADIR/filters` (executable or non-executable) 3. `$PATH` (executable only) This closes #3127.
2016-08-16synchronize spacing of footnotes in help outputWaldir Pimenta1-2/+2
- remove a space between `[` and `*` in the list of input formats, to match the list of output formats - add space after the `*`s, for improved readability
2016-06-20Changed email-obfuscation default to no obfuscation.John MacFarlane1-1/+1
- `writerEmailObfuscation` in `defaultWriterOptions` is now `NoObfuscation` - the default for the command-line `--email-obfuscation` option is now `none`. Closes #2988.
2016-05-12Revert "New method for checking for presence of tex program."John MacFarlane1-6/+2
This reverts commit 285bbf61cf2b21278792e48aee7c25fa0ee62faa.
2016-05-12Revert "Use shell instead of proc to check for latex program."John MacFarlane1-29/+7
This reverts commit ee45be5723ef6001ae333110ce45ae2f7b1b17af.
2016-05-12Revert "Require process >= 1.2.1."John MacFarlane1-1/+6
This reverts commit 07a4320ba97cdd219e5cbb18f21dbbda00bc5543.
2016-05-12Require process >= 1.2.1.John MacFarlane1-6/+1
We need `createProcess_` to be exported.
2016-05-11Added some CSS to handle older versions of process.John MacFarlane1-1/+6
`createProcess_` is in Internals until process 1.2.1.
2016-05-11Use shell instead of proc to check for latex program.John MacFarlane1-7/+24
This should get .bat files on Windows. Closes #2903, with luck.
2016-05-10Made detection of latex program more robust.John MacFarlane1-2/+5
Catch not-found error. Improves on 285bbf61cf2b21278792e48aee7c25fa0ee62faa to fix #2903.
2016-05-09New method for checking for presence of tex program.John MacFarlane1-2/+3
Now instead of using `findExecutable`, which has limitations on Windows, we just do `progname --version` and see if it returns successfully. Closes #2903.
2016-05-09Loading the full MathJax config to maximize loading speedKolenCheung1-1/+1
2016-05-09Change default mathjax setup to use TeX-AMS_CHTML configuration.John MacFarlane1-1/+1
This is designed for cases where the input is always TeX and maximal conformity with TeX is desired. It seems to be smaller and load faster than what we used before. See #2858.
2016-05-09Use new CommonHTML output for MathJax (updated default MathJax URL).John MacFarlane1-1/+1
Closes #2858.
2016-03-22Fixed copyright dates.John MacFarlane1-3/+3
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.