3 Commity
1.0.1 ... 1.0.2

Autor SHA1 Zpráva Datum
0f7f7c1b9d updated version 2017-12-26 05:25:02 +01:00
2ee6840008 fixed the inline code now also for not directly following letters
* em
* s
* strong

updated regex
2017-12-26 05:24:01 +01:00
6619f03879 updated version also in image in readme 2017-12-25 21:28:06 +01:00
7 změnil soubory, kde provedl 10 přidání a 10 odebrání

Zobrazit soubor

@ -1,7 +1,7 @@
# maddy
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Version: 1.0.1](https://img.shields.io/badge/Version-1.0.0-brightgreen.svg)](https://semver.org/)
[![Version: 1.0.2](https://img.shields.io/badge/Version-1.0.2-brightgreen.svg)](https://semver.org/)
maddy is a C++ Markdown to HTML **header-only** parser library.

Zobrazit soubor

@ -41,7 +41,7 @@ public:
void
Parse(std::string& line) override
{
static std::regex re("(?!`|<code>)\\*(?!`|</code>)([^\\*]*)\\*(?!`|</code>)");
static std::regex re("(?!.*`.*|.*<code>.*)\\*(?!.*`.*|.*<\\/code>.*)([^\\*]*)\\*(?!.*`.*|.*<\\/code>.*)");
static std::string replacement = "<em>$1</em>";
line = std::regex_replace(line, re, replacement);

Zobrazit soubor

@ -39,7 +39,7 @@ public:
void
Parse(std::string& line) override
{
static std::regex re("(?!`|<code>)\\~\\~(?!`|</code>)([^\\~]*)\\~\\~(?!`|</code>)");
static std::regex re("(?!.*`.*|.*<code>.*)\\~\\~(?!.*`.*|.*<\\/code>.*)([^\\~]*)\\~\\~(?!.*`.*|.*<\\/code>.*)");
static std::string replacement = "<s>$1</s>";
line = std::regex_replace(line, re, replacement);

Zobrazit soubor

@ -41,7 +41,7 @@ public:
void
Parse(std::string& line) override
{
static std::regex re("(?!`|<code>)\\*\\*(?!`|</code>)([^\\*\\*]*)\\*\\*(?!`|</code>)");
static std::regex re("(?!.*`.*|.*<code>.*)\\*\\*(?!.*`.*|.*<\\/code>.*)([^\\*\\*]*)\\*\\*(?!.*`.*|.*<\\/code>.*)");
static std::string replacement = "<strong>$1</strong>";
line = std::regex_replace(line, re, replacement);

Zobrazit soubor

@ -23,8 +23,8 @@ TEST(MADDY_EMPHASIZEDPARSER, ItReplacesMarkdownWithEmphasizedHTML)
TEST(MADDY_EMPHASIZEDPARSER, ItDoesNotParseInsideInlineCode)
{
std::string text = "some text `*bla*` text testing *it* out";
std::string expected = "some text `*bla*` text testing <em>it</em> out";
std::string text = "some text `*bla*` `/**text*/` testing *it* out";
std::string expected = "some text `*bla*` `/**text*/` testing <em>it</em> out";
auto emphasizedParser = std::make_shared<maddy::EmphasizedParser>();
emphasizedParser->Parse(text);

Zobrazit soubor

@ -23,8 +23,8 @@ TEST(MADDY_STRIKETHROUGHPARSER, ItReplacesMarkdownWithStrikeThroughHTML)
TEST(MADDY_STRIKETHROUGHPARSER, ItDoesNotParseInsideInlineCode)
{
std::string text = "some text `~~bla~~` text testing <code>~~it~~</code> out";
std::string expected = "some text `~~bla~~` text testing <code>~~it~~</code> out";
std::string text = "some text `~~bla~~` ` ~~text~~ ` testing <code>~~it~~</code> out";
std::string expected = "some text `~~bla~~` ` ~~text~~ ` testing <code>~~it~~</code> out";
auto strikeThroughParser = std::make_shared<maddy::StrikeThroughParser>();
strikeThroughParser->Parse(text);

Zobrazit soubor

@ -34,8 +34,8 @@ TEST(MADDY_STRONGPARSER, ItReplacesEmphasizedMarkdownNotWithStrongHTML)
TEST(MADDY_STRONGPARSER, ItDoesNotParseInsideInlineCode)
{
std::string text = "some text *bla* text testing `**it**` out";
std::string expected = "some text *bla* text testing `**it**` out";
std::string text = "some text **bla** `/**text**/` testing `**it**` out";
std::string expected = "some text **bla** `/**text**/` testing `**it**` out";
auto strongParser = std::make_shared<maddy::StrongParser>();
strongParser->Parse(text);