overridable escape function
This commit is contained in:
parent
0f1a7056c1
commit
57196d08c5
3 changed files with 10 additions and 0 deletions
|
@ -10,6 +10,10 @@
|
||||||
|
|
||||||
namespace mstch {
|
namespace mstch {
|
||||||
|
|
||||||
|
struct config {
|
||||||
|
static std::function<std::string(const std::string&)> escape;
|
||||||
|
};
|
||||||
|
|
||||||
namespace internal {
|
namespace internal {
|
||||||
|
|
||||||
template<class N>
|
template<class N>
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
|
|
||||||
using namespace mstch;
|
using namespace mstch;
|
||||||
|
|
||||||
|
std::function<std::string(const std::string&)> mstch::config::escape;
|
||||||
|
|
||||||
std::string mstch::render(
|
std::string mstch::render(
|
||||||
const std::string& tmplt,
|
const std::string& tmplt,
|
||||||
const node& root,
|
const node& root,
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include "utils.hpp"
|
#include "utils.hpp"
|
||||||
|
#include "mstch/mstch.hpp"
|
||||||
|
|
||||||
mstch::citer mstch::first_not_ws(mstch::citer begin, mstch::citer end) {
|
mstch::citer mstch::first_not_ws(mstch::citer begin, mstch::citer end) {
|
||||||
for (auto it = begin; it != end; ++it)
|
for (auto it = begin; it != end; ++it)
|
||||||
|
@ -17,6 +18,9 @@ mstch::criter mstch::reverse(mstch::citer it) {
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string mstch::html_escape(const std::string& str) {
|
std::string mstch::html_escape(const std::string& str) {
|
||||||
|
if (mstch::config::escape)
|
||||||
|
return mstch::config::escape(str);
|
||||||
|
|
||||||
std::string out;
|
std::string out;
|
||||||
citer start = str.begin();
|
citer start = str.begin();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue