求一个解决思路,目前写日报是在 org-mode,然后粘贴到 slack,想要问问有没办法粘贴到时候能适配格式

标题可能说的不清楚,例如我写日报的时候会使用列表列出来各项

- item1
- item2

粘贴到 slack 的时候,如果直接这么粘贴,那边是没有格式显示的,就是普通的文本。如果把这个内容导出后用浏览器打开,然后再复制到 slack,那个 - 会被处理成 slack 里面的列表的样子。

不知道有没有办法思路能自动化这个过程,我目前都是在浏览器里面打开然后复制下过去,感觉有点弱。。

浏览器里列表开头符号也是一个字符?可以写个小函数copy并做下字符串替换。

我猜是从浏览器复制的时候是个富文本(可能会有 html 格式什么的),然后 slack 解析了这个格式。主要是我没办法从 emacs 里面敲一个什么命令,然后从浏览器复制那个结果到剪贴板。

我忽然有了一个思路,我似乎可以写一个简单的 plugin 让我把 org 的内容直接通过 slack api 发给 slack。slack 的 api 支持设置一些格式。

slack支持markdown的,我这里试了一下,- test直接贴进去就是列表,假如你那边不行,按照你的“从浏览器copy就能识别”的思路,只要把内容里面的-换成浏览器里面显示的:

(clipboard-kill-ring-save (replace-regexp-in-string "^-" "•" (buffer-substring-no-properties (region-beginning) (region-end))))

不行的。你说的可能是直接在 slack 输入框输入吧?那个可能可以的。 你试试看从 emacs 复制粘贴过去,然后发送出去的是没格式的。

比如我把

- PRs review,[[https://google.com][google]]

复制过去之后,就直接显示的是这个。

我猜测浏览器复制可以是因为 slack 会处理 html 格式的内容。这块我不太清楚原理。

可以看看 Anki-editor 的源代码,里面应该实现了直接将org的文字转变成html的格式。也可以看看这里,应该也能够有所启发

ox-md 转换代码块的问题 - Org-mode - Emacs China

emacs下最牛逼的Markdown编辑方式 - HaotianMichael - 博客园

谢谢各位,我找了一下,似乎有一些办法。主要是把 rtf 格式的内容放到 clipboard 就行。

https://assortedarray.com/posts/copy-rich-text-cmd-mac/

 (use-package ox-gfm)
 (add-to-list 'org-export-backends 'md) 

这个就好了