Age | Commit message (Collapse) | Author |
|
|
|
* Reformatted all source files.
* Added 'format' target to Makefile.
* Removed 'astyle' target.
* Updated .editorconfig.
|
|
* Added `CMARK_OPT_SAFE`. This option disables rendering of raw HTML
and potentially dangerous links.
* Added `--safe` option in command-line program.
* Updated `cmark.3` man page.
* Added `scan_dangerous_url` to scanners.
* In HTML, suppress rendering of raw HTML and potentially dangerous
links if `CMARK_OPT_SAFE`. Dangerous URLs are those that begin
with `javascript:`, `vbscript:`, `file:`, or `data:` (except for
`image/png`, `image/gif`, `image/jpeg`, or `image/webp` mime types).
* Added `api_test` for `OPT_CMARK_SAFE`.
* Rewrote `README.md` on security.
|
|
|
|
|
|
Rewrote man.c using new renderer framework.
|
|
* New exported function in API: `cmark_render_latex`.
* Added src/latex.hs.
* Updated README and man page.
* Closes #31.
|
|
This is easier to access using ffi, since some languages, like C#
like to use only function interfaces for accessing library
functionality.
fixes #60
|
|
Also command line option `--validate-utf8`.
This option causes cmark to check for valid UTF-8,
replacing invalid sequences with the replacement
character, U+FFFD.
Reinstated api tests for utf8.
|
|
|
|
|
|
This controls column width for hard wrapping. By default it is
0, which means that no wrapping will be done.
Added a width parameter in `cmark_render_commonmark`.
|
|
Closes #16.
|
|
This is still incomplete. (See TODOs in the source.)
|
|
|
|
This was a bug; the function does take an argument. Oddly, gcc and
clang did not complain.
Closes #12.
|
|
|
|
For consistency with the API.
|
|
`--smart` now affects XML output too.
|
|
Also to some non-exported functions in blocks and inlines.
|
|
|
|
|
|
|
|
So far this is only implemented for the HTML renderer.
Ultimately some of this should be factored out into a form that
can be used in other renderers.
|
|
Only the date changed, but this is needed to avoid building
the page on a git checkout.
|
|
Add a new template cmark_version.h.in to generate cmark_version.h
containing version information.
|
|
Add version number and string as macros and symbols. Version numbers can
be easily compared, for example in the C preprocessor:
#include <cmark.h>
#if CMARK_VERSION < 0x020200
#error Requires libcmark 2.2.0 or higher
#endif
Storing the version in a global variable allows to check the library
version at runtime. For example:
if (CMARK_VERSION != cmark_version) {
warn("Compiled against libcmark %s, but using %s",
CMARK_VERSION_STRING, cmark_version_string);
}
The version should be updated whenever the public API is changed.
|
|
|
|
|
|
It simplifies the build if python and the cmark library aren't
needed to build the man page.
The top level Makefile has a rule to regenerate this when src/cmark.h
changes.
Updated Makefile.nmake for recent changes.
Added case folding data file to archive, since otherwise make fails.
|
|
Don't add install targets if on Windows.
|
|
Closes #279.
|
|
So, instead of
<text>Hi</text>
<text>&</text>
<text>lo</text>
we get
<text>Hi&lo</text>
* Added exported `cmark_consolidate_text_nodes` function.
* Added `CMARK_OPT_NORMALIZE` to options.
* Added optional normalization in XML writer.
* Added `--normalize` option to command-line program.
* Updated man page.
|
|
Partially addresses #254.
This change makes make_man_page.py work with either python3 or
python2.
The test suite is still dependent on python2, and this should be
changed, but for now this at least makes a build possible.
|
|
Partially reverts ba8f2c48b700a466a8cf7097d5f72d43372d4c37.
See #251.
|
|
Closes #251.
|
|
Closes #251.
|
|
Remove it from the repository. Closes #241.
|
|
In the last few commits we were using as.code.fenced and as.literal at
the same time for NODE_CODE_BLOCK, which obviously led to problems.
|
|
Reverts 225d720.
|
|
|
|
|
|
This is for consistency with the other types of nodes that have
literal strings as contents.
|
|
|
|
|
|
Don't build man pages until we've built libcmark, which we need.
Also reverted use of typewriter font for signatures; this looks
worse in the terminal pager.
|
|
|
|
`man/make_man_page.py` now converts using cmark.
|
|
cmark: Replaced `--man` and `--ast` with generic `--to` option.
|
|
* Added `iterator.c`, `iterator.h`.
* Removed `cmark_walk`.
* Replaced `cmark_walk` with iterator in HTML renderer.
* Replaced API test for `cmark_walk` with simple iterator test.
|