git-svn-id: svn://db.shs.com.ru/libs@796 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -1,17 +1,20 @@
|
|||||||
include(CheckIncludeFileCXX)
|
include(CheckIncludeFileCXX)
|
||||||
set(CHECK_INCLUDES "-include stdio.h")
|
|
||||||
if(WIN32)
|
|
||||||
set(CHECK_INCLUDES "-include windows.h -include stdio.h")
|
|
||||||
endif()
|
|
||||||
check_include_file_cxx("mkdio.h" MARKDOWN_HEADER_MKDIO ${CHECK_INCLUDES})
|
|
||||||
if (MARKDOWN_HEADER_MKDIO)
|
|
||||||
add_definitions("-DMARKDOWN_HEADER=\"mkdio.h\"")
|
|
||||||
endif()
|
|
||||||
check_include_file_cxx("markdown/markdown.h" MARKDOWN_HEADER_MARKDOWN ${CHECK_INCLUDES})
|
|
||||||
if (MARKDOWN_HEADER_MARKDOWN)
|
|
||||||
add_definitions("-DMARKDOWN_HEADER=\"markdown/markdown.h\"")
|
|
||||||
endif()
|
|
||||||
find_library(MARKDOWN_LIBRARY markdown)
|
find_library(MARKDOWN_LIBRARY markdown)
|
||||||
|
set(_LIBS)
|
||||||
if (MARKDOWN_LIBRARY)
|
if (MARKDOWN_LIBRARY)
|
||||||
qad_project(doc "Core" "${MARKDOWN_LIBRARY}")
|
list(APPEND _LIBS "${MARKDOWN_LIBRARY}")
|
||||||
|
add_definitions("-DUSE_MARKDOWN")
|
||||||
|
set(CHECK_INCLUDES "-include stdio.h")
|
||||||
|
if(WIN32)
|
||||||
|
set(CHECK_INCLUDES "-include windows.h -include stdio.h")
|
||||||
|
endif()
|
||||||
|
check_include_file_cxx("mkdio.h" MARKDOWN_HEADER_MKDIO ${CHECK_INCLUDES})
|
||||||
|
if (MARKDOWN_HEADER_MKDIO)
|
||||||
|
add_definitions("-DMARKDOWN_HEADER=\"mkdio.h\"")
|
||||||
|
endif()
|
||||||
|
check_include_file_cxx("markdown/markdown.h" MARKDOWN_HEADER_MARKDOWN ${CHECK_INCLUDES})
|
||||||
|
if (MARKDOWN_HEADER_MARKDOWN)
|
||||||
|
add_definitions("-DMARKDOWN_HEADER=\"markdown/markdown.h\"")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
qad_project(doc "Core" "${_LIBS}")
|
||||||
|
|||||||
@@ -1,30 +1,33 @@
|
|||||||
#include "markdown.h"
|
#include "markdown.h"
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#ifdef USE_MARKDOWN
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#include MARKDOWN_HEADER
|
# include MARKDOWN_HEADER
|
||||||
}
|
}
|
||||||
#ifndef mkd_flags_are
|
# ifndef mkd_flags_are
|
||||||
# ifndef MKD_DLEXTRA
|
# ifndef MKD_DLEXTRA
|
||||||
# define MKD_DLEXTRA 0x01000000
|
# define MKD_DLEXTRA 0x01000000
|
||||||
# endif
|
# endif
|
||||||
# ifndef MKD_FENCEDCODE
|
# ifndef MKD_FENCEDCODE
|
||||||
# define MKD_FENCEDCODE 0x02000000
|
# define MKD_FENCEDCODE 0x02000000
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
QString md2html(const QByteArray & src) {
|
QString md2html(const QByteArray & src) {
|
||||||
|
#ifdef USE_MARKDOWN
|
||||||
static bool _is_mkd_init = false;
|
static bool _is_mkd_init = false;
|
||||||
if (src.isEmpty()) return QString();
|
if (src.isEmpty()) return QString();
|
||||||
if (!_is_mkd_init) {
|
if (!_is_mkd_init) {
|
||||||
_is_mkd_init = true;
|
_is_mkd_init = true;
|
||||||
mkd_initialize();
|
mkd_initialize();
|
||||||
}
|
}
|
||||||
#ifdef _MARKDOWN_D
|
# ifdef _MARKDOWN_D
|
||||||
DWORD flagm = (MKD_DLEXTRA | MKD_FENCEDCODE);
|
DWORD flagm = (MKD_DLEXTRA | MKD_FENCEDCODE);
|
||||||
Document
|
Document
|
||||||
#endif
|
# endif
|
||||||
#ifdef _MKDIO_D
|
# ifdef _MKDIO_D
|
||||||
#ifdef mkd_flags_are
|
#ifdef mkd_flags_are
|
||||||
mkd_flag_t * flagm = mkd_flags();
|
mkd_flag_t * flagm = mkd_flags();
|
||||||
mkd_set_flag_num(flagm, MKD_DLEXTRA);
|
mkd_set_flag_num(flagm, MKD_DLEXTRA);
|
||||||
@@ -33,7 +36,7 @@ QString md2html(const QByteArray & src) {
|
|||||||
mkd_flag_t flagm = (MKD_DLEXTRA | MKD_FENCEDCODE);
|
mkd_flag_t flagm = (MKD_DLEXTRA | MKD_FENCEDCODE);
|
||||||
#endif
|
#endif
|
||||||
MMIOT
|
MMIOT
|
||||||
#endif
|
# endif
|
||||||
* doc = mkd_string(src.constData(), src.size(), 0);
|
* doc = mkd_string(src.constData(), src.size(), 0);
|
||||||
if (!doc) return QString();
|
if (!doc) return QString();
|
||||||
mkd_compile(doc, flagm);
|
mkd_compile(doc, flagm);
|
||||||
@@ -57,5 +60,8 @@ QString md2html(const QByteArray & src) {
|
|||||||
ret.prepend(header);
|
ret.prepend(header);
|
||||||
ret.append("</body>\n</html>\n");
|
ret.append("</body>\n</html>\n");
|
||||||
return ret;
|
return ret;
|
||||||
|
#else
|
||||||
|
return QString();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user