Converts ScholarlyMarkdown documents to HTML5/LaTeX/Docx format http://scholdoc.scholarlymarkdown.com
|Latest on Hackage:||0.1.3|
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
Converts ScholarlyMarkdown documents into HTML5, LaTeX, or Docx
Current stable version: 0.1.3
Scholdoc is a command-line utility that converts ScholarlyMarkdown documents into the HTML5, LaTeX, and Docx (OOML) formats. It is intended to facilitate academic writing in a cross-platform, semantic-aware, plaintext format that can be quickly used in modern publishing pipelines.
Scholdoc is implemented as fork of Pandoc, and mostly retains the
same user interface (including the custom template and
filter system). It essentially understands a new input format
markdown_scholarly (implemented in the markdown reader a superset of
markdown_pandoc features), and limits itself to HTML5/LaTeX/Docx output.
Scholdoc defaults to
standalone output and has its own custom
templates to ensure output compatibility with
Scholdoc is currently up to date with Pandoc version 1.13.1 (commit 8b60d430)
Important: A ScholarlyMarkdown core CSS is required for proper formatting of most HTML files output by Scholdoc.
Scholdoc’s HTML output is strictly limited to HTML5 due to its enhanced
semantic capabilities (such as the
figcaption element), and
relies on some CSS3 features for layout (mostly for multi-image figures with
subcaptions). It adheres to a fairly straightforward schema. No
formatting information is written to the HTML by Scholdoc, so a
ScholarlyMarkdown core CSS is required for bare minimum proper
formatting. You can also write your own CSS that target the schema.
By default, the
html output format generates a complete (but bare-bones)
HTML5 document that can be used immediately. To have Scholdoc generate just the
bare content (everything inside
html_bodyonly output format. By default, Scholdoc will always include
proper MathJax settings for the way ScholarlyMarkdown prescribes
math content in HTML.
The Docx writer currently isn’t fully functional yet. It does not yet output structures specific to ScholarlyMarkdown (such as figures).
All notable changes to Scholdoc will be documented in this file.
This log pertains to Scholdoc development only. Pandoc’s changelog can be found in the
Scholdoc’s version numbers reflect Scholdoc changes only, and does not necessarily correspond to Pandoc’s version number. Scholdoc strives to track the latest official Pandoc release. Whenever new Pandoc commits are merged into Scholdoc, it will be noted in the changelog below.
Scholdoc follows semantic versioning with regards to its output schema.
0.1.3-alpha - 2014-10-15
Note: This version largely consists of major cleanups under the hood. It bring the development of Scholdoc up-to-date with the latest Pandoc development version, and removed many unnecessary source files related to unused reader/writers.
- The Pandoc-derived portion of Scholdoc is now up to date with Pandoc 1.13.1 (commit 8b60d430)
- The build-chain of Scholdoc have been cleaned-up and is now ready for production. Running
make deps && make installunder the source directory now fully builds using its own
- Updated documentation to reflect the Scholdoc project: README.md, CONTRIBUTING.md, BUGS, COPYRIGHT
- Scholdoc now looks for custom template files under the
~/.scholdoc/directory, instead of
- The “–no-standalone” option no longer imply “_bodyOnly” writers. Instead “–no-standalone” now strictly stops all template usage.
0.1.2-alpha - 2014-09-09
- Allow rudimentary Docx output, although most Scholmd elements map to empty
- The program name is changed from
scholdocto more accurately reflect the limited input/output options compared to Pandoc.
- Uses HTTPS instead of protocol-relative URLs for default polyfills in the template from CDNJS. This will make previewing local HTML files much easier.
- Default MathJax CDN URL is also changed to the HTTPS protocol
- Added an additional variable
html-header-includesfor inclusion of HTML-specific header tags. This can be specified in YAML metadata blocks, and will be treated as an unformatted string.
indentparagraphsvariable to template, so you can change between “no indent/line-height paragraph margins” and “indent/no paragraph margins”
- Added variables
biblatex-optionsto specify loading options for these citation packages
- Added additional variables to the template for more flexibility in “injection” of custom LaTeX code without resorting to a separate template:
- All the above variable can be specified in YAML metadata blocks, and will be treated as unformatted strings (along with
0.1.1-alpha - 2014-05-30
- Allow output of JSON-style native format
- No longer hard-codes the
htbpplacement of floats. This is now controlled in the template using the
- Fixed a bug where figures/floats display captions prefixes when it is not needed
0.1.0-alpha - 2014-04-22
- Conforms to ScholarlyMarkdown HTML5 Schema 0.1
bibliographymetadata is now treated like a pure string and will not be formatted
- Display math and figure/floats now properly parses if delimiters have multiple trailing whitespaces
- Disabling standalone mode using
_bodyonlysuffix now works again
- Minor code cleanup using
hlint, refactored various writer monads for floats
0.0.1-alpha - 2014-03-16
- Display math equations that uses the class
mathare now appended to a global variable called
$math-macros$. In the updated templates this is placed in the header, and enables LaTeX declarations that only work in the header
- ScholarlyPandoc now has the following arguments enabled by default:
-f markdown_scholarly --smart --parse-raw --standalone. Renaming the executable to anything other than
scholpandocreverts this behavior
- Fixed a bug where templates files are not compiled into the binary, resulting in complaints about “can’t find file …”
0.0.0-alpha - 2014-03-14