CtxType CTX_MAILSUM = CTX_NONE;
CtxType CTX_MIME_ATACH = CTX_NONE;
-inline void CheckConvertBufs(struct wcsession *WCC)
+static inline void CheckConvertBufs(struct wcsession *WCC)
{
if (WCC->ConvertBuf1 == NULL)
WCC->ConvertBuf1 = NewStrBuf();
*/
if (!havebstr("attach_button")) {
char *wikipage = strdup(bstr("page"));
+ putbstr("format", NewStrBufPlain(HKEY("plain")));
str_wiki_index(wikipage);
msgnum = locate_message_by_uid(wikipage);
free(wikipage);
Mime->Data = Buf;
}
+#ifdef HAVE_MARKDOWN
+/*
+char * MarkdownHandleURL(const char* SourceURL, const int len, void* something)
+{
+
+}
+*/
+void render_MAIL_markdown(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset)
+{
+#include <mkdio.h>
+ wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH);
+ MMIOT *doc;
+ char *md_as_html = NULL;
+ const char *format;
+
+ if (StrLength(Mime->Data) == 0)
+ return;
+
+ format = bstr("format");
+
+ if ((format == NULL) ||
+ strcmp(format, "plain"))
+ {
+ doc = mkd_string(ChrPtr(Mime->Data), StrLength(Mime->Data), 0);
+ mkd_basename(doc, "/wiki?page=");
+ mkd_compile(doc, 0);
+ if (mkd_document(doc, &md_as_html) != EOF) {
+ FreeStrBuf(&Mime->Data);
+ Mime->Data = NewStrBufPlain(md_as_html, -1);
+ }
+// free(md_as_html);
+ mkd_cleanup(doc);
+ }
+}
+#endif
+
void render_MAIL_UNKNOWN(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset)
{
wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH);
RegisterMimeRenderer(HKEY("message/rfc822"), render_MAIL, 0, 150);
RegisterMimeRenderer(HKEY("text/x-vcard"), render_MIME_VCard, 1, 201);
RegisterMimeRenderer(HKEY("text/vcard"), render_MIME_VCard, 1, 200);
-/*
+//*
RegisterMimeRenderer(HKEY("text/calendar"), render_MIME_ICS, 1, 501);
RegisterMimeRenderer(HKEY("application/ics"), render_MIME_ICS, 1, 500);
//*/
RegisterMimeRenderer(HKEY("text/plain"), render_MAIL_text_plain, 1, 3);
RegisterMimeRenderer(HKEY("text"), render_MAIL_text_plain, 1, 1);
RegisterMimeRenderer(HKEY("text/html"), render_MAIL_html, 1, 100);
+#ifdef HAVE_MARKDOWN
+ RegisterMimeRenderer(HKEY("text/x-markdown"), render_MAIL_markdown, 1, 30);
+#endif
RegisterMimeRenderer(HKEY(""), render_MAIL_UNKNOWN, 0, 0);
/* these headers are citserver replies to MSG4 and friends. one evaluator for each */