kdheepak / Pandoc.jl

Pandoc Interface and Types in Julia
https://kdheepak.com/Pandoc.jl/
BSD 3-Clause "New" or "Revised" License
10 stars 2 forks source link

Fix `Converter` and `command(c::Converter)` #25

Open iagobaapellaniz opened 3 weeks ago

iagobaapellaniz commented 3 weeks ago

I have obtained all arguments that can be passed to `pandoc` from User Guide > Options. Here they are,

--from=FORMAT
--read=FORMAT
--output=FILE
--data-dir=DIRECTORY
--defaults=FILE
--bash-completion
--verbose
--quiet
--fail-if-warnings[=true|false]
--log=FILE
--list-input-formats
--list-output-formats
--list-extensions[=FORMAT]
--list-highlight-languages
--list-highlight-styles
--version
--help
--shift-heading-level-by=NUMBER
--base-header-level=NUMBER
--indented-code-classes=CLASSES
--default-image-extension=EXTENSION
--file-scope[=true|false]
--filter=PROGRAM
--lua-filter=SCRIPT
--metadata=KEY[:VAL]
--metadata-file=FILE
--preserve-tabs[=true|false]
--tab-stop=NUMBER
--track-changes=accept|reject|all
--extract-media=DIR
--abbreviations=FILE
--trace[=true|false]
--standalone
--template=FILE|URL
--variable=KEY[:VAL]
--sandbox[=true|false]
--print-default-template=FORMAT
--print-default-data-file=FILE
--eol=crlf|lf|native
--dpi=NUMBER
--wrap=auto|none|preserve
--columns=NUMBER
--toc[=true|false]
--table-of-contents[=true|false]
--toc-depth=NUMBER
--lof[=true|false]
--list-of-figures[=true|false]
--lot[=true|false]
--list-of-tables[=true|false]
--strip-comments[=true|false]
--no-highlight
--highlight-style=STYLE|FILE
--print-highlight-style=STYLE|FILE
--syntax-definition=FILE
--include-in-header=FILE|URL
--include-before-body=FILE|URL
--include-after-body=FILE|URL
--resource-path=SEARCHPATH
--request-header=NAME:VAL
--no-check-certificate[=true|false]
--self-contained[=true|false]
--embed-resources[=true|false]
--link-images[=true|false]
--html-q-tags[=true|false]
--ascii[=true|false]
--reference-links[=true|false]
--reference-location=block|section|document
--figure-caption-position=above|below
--table-caption-position=above|below
--markdown-headings=setext|atx
--list-tables[=true|false]
--top-level-division=default|section|chapter|part
--number-sections=[true|false]
--number-offset=NUMBER[,NUMBER,…]
--listings[=true|false]
--incremental[=true|false]
--slide-level=NUMBER
--section-divs[=true|false]
--email-obfuscation=none|javascript|references
--id-prefix=STRING
--title-prefix=STRING
--css=URL
--reference-doc=FILE|URL
--split-level=NUMBER
--chunk-template=PATHTEMPLATE
--epub-chapter-level=NUMBER
--epub-cover-image=FILE
--epub-title-page=true|false
--epub-metadata=FILE
--epub-embed-font=FILE
--epub-subdirectory=DIRNAME
--ipynb-output=all|none|best
--pdf-engine=PROGRAM
--pdf-engine-opt=STRING
--citeproc
--bibliography=FILE
--csl=FILE
--citation-abbreviations=FILE
--natbib
--biblatex
--mathjax[=URL]
--mathml
--webtex[=URL]
--katex[=URL]
--gladtex
--dump-args[=true|false]
--ignore-args[=true|false]

As one can see they are 107, whereas Converter has only 97 fields if one removes input. I think some are missing.

As you may notice, I filtered out duplicates/older arguments options such as -o, -w or -v and I kept only those starting by --. I think this way command(c::Converter) can be more consistent. For instance, There are some missing = signs in --mathjax=URL among others. I think focusing on --options makes clear that = can be used always.

I also think that --option[=true|false] is a bit ambiguous, we can treat all the same, iftrue pass it as --option, if false don't pass it. Nevertheless, there is one that has a confusing spec, --epub-title-page=true|false. I don't know why the brackets are missing in this case.

This list provides a comprehensible list of arguments and its options. We can update it, and we also can add it to docs.

kdheepak commented 3 weeks ago

Thanks for the comments!

btw, do you want write access to the repo? I've not been using this package (since I moved jobs) but expect I will more in the future. But I'm happy to add you as a maintainer!

iagobaapellaniz commented 3 weeks ago

Thank you! That would be wonderful! I think it is a nice package!

I wouldn't change the package substantially. I only plan to fix some issues. Once done, maybe update the version number.

On the other hand I'm working on another package for using yours together with AbstractTrees.jl. Keeping then separated is cleaner. Later on, we could decide to merge them if it makes sense.

Thanks again.

kdheepak commented 3 weeks ago

You should have an invite now! If you can make all changes through PRs (even if I'm not able to review them) that'd be great! Feel free to add yourself to the authors section in the Project.toml.

iagobaapellaniz commented 3 weeks ago

Thank you very much @kdheepak !