diff markdown_converter/markdown_to_html.h @ 154:bdcc610eeed8

[Markdown Converter][GuiZe] Added markdown coverter in C and wasm rule sets. Needs further view on this as I haven't taken a look. Written by Claude.
author June Park <parkjune1995@gmail.com>
date Mon, 12 Jan 2026 09:11:58 -0800
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/markdown_converter/markdown_to_html.h	Mon Jan 12 09:11:58 2026 -0800
@@ -0,0 +1,60 @@
+#ifndef MARKDOWN_TO_HTML_H
+#define MARKDOWN_TO_HTML_H
+
+#include <stddef.h>
+
+// Export macro for WASM/Emscripten
+#ifdef __EMSCRIPTEN__
+  #include <emscripten.h>
+  #define MDAPI EMSCRIPTEN_KEEPALIVE
+#else
+  #ifdef _WIN32
+    #ifdef MARKDOWN_EXPORTS
+      #define MDAPI __declspec(dllexport)
+    #else
+      #define MDAPI __declspec(dllimport)
+    #endif
+  #else
+    #define MDAPI extern
+  #endif
+#endif
+
+/**
+ * Convert markdown string to HTML string.
+ *
+ * @param markdown The input markdown string (null-terminated)
+ * @return Newly allocated HTML string. Caller must free with markdown_free().
+ *         Returns NULL on allocation failure.
+ *
+ * Supported markdown features:
+ * - Headers: # H1, ## H2, ... ###### H6
+ * - Bold: **text** or __text__
+ * - Italic: *text* or _text_
+ * - Strikethrough: ~~text~~
+ * - Links: [text](url)
+ * - Images: ![alt](url)
+ * - Inline code: `code`
+ * - Code blocks: ```code```
+ * - Unordered lists: -, *, +
+ * - Ordered lists: 1., 2., etc.
+ * - Blockquotes: > text
+ * - Horizontal rules: ---, ***, ___
+ */
+MDAPI char *markdown_to_html(const char *markdown);
+
+/**
+ * Free HTML string returned by markdown_to_html.
+ *
+ * @param html The HTML string to free
+ */
+MDAPI void markdown_free(char *html);
+
+/**
+ * Get length of HTML string (useful for WASM memory operations).
+ *
+ * @param html The HTML string
+ * @return Length of the string, or 0 if NULL
+ */
+MDAPI size_t markdown_get_length(const char *html);
+
+#endif // MARKDOWN_TO_HTML_H