Пример #1
0
JNIEXPORT jstring JNICALL Java_com_commonsware_cwac_anddown_AndDown_markdownToHtml
  (JNIEnv *env, jobject o, jstring raw) {
  struct hoedown_buffer *ib, *ob;
  jstring result;
  hoedown_renderer *renderer;
  hoedown_markdown *markdown;
  const char* str;

  str = (*env)->GetStringUTFChars(env, raw, NULL);

  ib = hoedown_buffer_new(INPUT_UNIT);
  hoedown_buffer_puts(ib, str);
  ob = hoedown_buffer_new(OUTPUT_UNIT);

  (*env)->ReleaseStringUTFChars(env, raw, str);

  renderer = hoedown_html_renderer_new(0, 0);
  markdown = hoedown_markdown_new(0, 16, renderer);

  hoedown_markdown_render(ob, ib->data, ib->size, markdown);
  hoedown_markdown_free(markdown);

  result=(*env)->NewStringUTF(env, hoedown_buffer_cstr(ob));

  /* cleanup */
  hoedown_buffer_free(ib);
  hoedown_buffer_free(ob);

  return(result);
}
QString HoedownMarkdownConverter::renderAsHtml(MarkdownDocument *document)
{
    QString html;

    if (document) {
        HoedownMarkdownDocument *doc = dynamic_cast<HoedownMarkdownDocument*>(document);

        if (doc->document()) {
            hoedown_buffer *in = doc->document();
            hoedown_buffer *out = hoedown_buffer_new(64);

            hoedown_renderer *renderer = hoedown_html_renderer_new(0, 16);
            hoedown_markdown *markdown = hoedown_markdown_new(doc->options(), 16, renderer);

            hoedown_markdown_render(out, in->data, in->size, markdown);

            hoedown_markdown_free(markdown);
            hoedown_html_renderer_free(renderer);

            html = QString::fromUtf8(hoedown_buffer_cstr(out));

            hoedown_buffer_free(out);
        }
    }

    return html;
}
void mdRenderer::render(const QString markdownText)
{
    if(markdownText.isEmpty())
    {
        html ="";
        return;
    }

    QByteArray utf8Data = markdownText.toUtf8();
    hoedown_buffer *doc = hoedown_buffer_new(utf8Data.length());
    hoedown_buffer_puts(doc, utf8Data.data());
    hoedown_buffer *out = hoedown_buffer_new(64);

    hoedown_renderer *renderer = hoedown_html_renderer_new(0, 16);
    hoedown_markdown *markdown = hoedown_markdown_new(0, 16, renderer);

    hoedown_markdown_render(out, doc->data, doc->size, markdown);

    hoedown_markdown_free(markdown);
    hoedown_html_renderer_free(renderer);

    html = QString::fromUtf8(hoedown_buffer_cstr(out));

    hoedown_buffer_free(out);

    html="<!DOCTYPE html> <html> <head> <style type=\"text/css\">"+
            style+
            "</style>"+
            "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">"+
            "</head> <body>"+
            html+
            "</body> </html>";
}
Пример #4
0
static void
rndr_footnote_ref_def(hoedown_buffer *orig, const hoedown_renderer_data *data)
{
	/* this is a little dirty, but it is simpler than maintaining this state in the renderer */
	hoedown_buffer *copy;
	copy = hoedown_buffer_new(64);
	hoedown_buffer_grow(copy, orig->size);
	memcpy(copy->data, orig->data, orig->size);
	copy->size = orig->size;

	printf("Footnote Reference Definition: %s\n", hoedown_buffer_cstr(copy));

	hoedown_buffer_free(copy);
}