aboutsummaryrefslogtreecommitdiff
path: root/pandoc.hs
AgeCommit message (Collapse)AuthorFilesLines
2016-11-21Cleaned up filter-finding.John MacFarlane1-40/+27
* Removed a hardcoded '/' that may have caused problems with Windows paths. * Cleaned up the logic.
2016-11-21Changed resolution of filter paths.John MacFarlane1-12/+15
- We now first treat the argument of `--filter` as a full (absolute or relative) path, looking for a program there. If it's found, we run it. - If not, and if it is a simple program name or a relative path, we try resolving it relative to `$DATADIR/filters`. - If this fails, then we treat it as a program name and look in the user's PATH. Previously if you did `--filter foo` and you had `foo` in your path and also an executable `foo` in your working directory, the one in the path would be used. Now the one in the working directory is used. In addition, when you do `--filter foo/bar.hs`, pandoc will now find a filter `$DATADIR/filters/foo/bar.hs` -- assuming there isn't a `foo/bar.hs` relative to the working directory. @jkr note the slight revision of what we had before. This was motivated by the idea that one might clone filter repositories into the filters subdirectory; it is nice to be able to run them as `reponame/filtername`.
2016-11-18In --version, trap error in getAppUserDataDirectory.John MacFarlane1-1/+4
This fixes a crash with `pandoc --version` on unusual systems with no real user (e.g. SQL Server 2016). Closes #3241.
2016-11-05Allow `file://` URIs as arguments.John MacFarlane1-0/+4
Also improved default reader format detection. Previously with a URI ending in .md or .markdown, pandoc would assume HTML input. Now it treats these as markdown. Closes #3196.
2016-11-03Improved error if they give wrong arg to --top-level-division.John MacFarlane1-1/+1
2016-10-26Print highlighting-kate version in --version.John MacFarlane1-1/+1
2016-10-24Export Text.Pandoc.Error in Text.Pandoc.John MacFarlane1-1/+0
[API change]
2016-10-24Fixed typo in deprecation warning.John MacFarlane1-1/+1
2016-10-23Allow binary formats to be written to stdout unless tty output.John MacFarlane1-5/+15
Only works on posix. On Windows, pandoc works as before and requires an output file parameter for binary formats. Closes #2677.
2016-10-23Added --list-* options.John MacFarlane1-28/+63
Added `--list-input-formats`, `--list-output-formats`, `--list-extensions`, `--list-highlight-languages`, `--list-highlight-styles`. Removed list of highlighting languages from `--version` output. Removed list of input and output formats from default `--help` output. Closes #3173.
2016-10-19Add option for top-level division typeAlbert Krewinkel1-13/+14
The `--chapters` option is replaced with `--top-level-division` which allows users to specify the type as which top-level headers should be output. Possible values are `section` (the default), `chapter`, or `part`. The formats LaTeX, ConTeXt, and Docbook allow `part` as top-level division, TEI only allows to set the `type` attribute on `div` containers. The writers are altered to respect this option in a sensible way.
2016-09-06Add --parts command line option to LaTeX writer.Oliver Matthews1-0/+9
Add --parts command line argument. This only effects LaTeX writer, and only for non-beamer output formats. It changes the output levels so the top level is 'part', the next 'chapter' and then into sections.
2016-10-11Add reference-location options to executable.Jesse Rosenthal1-0/+17
2016-10-06Replace Google Chart API by CodeCogsKolenCheung1-1/+1
2016-10-03Update KaTeX to v0.6.0KolenCheung1-2/+2
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.