summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src-tauri/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/desktop/src-tauri/src')
-rw-r--r--packages/desktop/src-tauri/src/lib.rs4
-rw-r--r--packages/desktop/src-tauri/src/markdown.rs17
2 files changed, 20 insertions, 1 deletions
diff --git a/packages/desktop/src-tauri/src/lib.rs b/packages/desktop/src-tauri/src/lib.rs
index aea730926..6d601e9ee 100644
--- a/packages/desktop/src-tauri/src/lib.rs
+++ b/packages/desktop/src-tauri/src/lib.rs
@@ -1,6 +1,7 @@
mod cli;
#[cfg(windows)]
mod job_object;
+mod markdown;
mod window_customizer;
use cli::{install_cli, sync_cli};
@@ -283,7 +284,8 @@ pub fn run() {
install_cli,
ensure_server_ready,
get_default_server_url,
- set_default_server_url
+ set_default_server_url,
+ markdown::parse_markdown_command
])
.setup(move |app| {
let app = app.handle().clone();
diff --git a/packages/desktop/src-tauri/src/markdown.rs b/packages/desktop/src-tauri/src/markdown.rs
new file mode 100644
index 000000000..a2a53b222
--- /dev/null
+++ b/packages/desktop/src-tauri/src/markdown.rs
@@ -0,0 +1,17 @@
+use comrak::{markdown_to_html, Options};
+
+pub fn parse_markdown(input: &str) -> String {
+ let mut options = Options::default();
+ options.extension.strikethrough = true;
+ options.extension.table = true;
+ options.extension.tasklist = true;
+ options.extension.autolink = true;
+ options.render.r#unsafe = true;
+
+ markdown_to_html(input, &options)
+}
+
+#[tauri::command]
+pub async fn parse_markdown_command(markdown: String) -> Result<String, String> {
+ Ok(parse_markdown(&markdown))
+}