试图找出一种方法来上传Markdown文件,使其成为频道中的格式化帖子.是否有API调用来执行此操作?
files.upload似乎只支持Markdown原始上传.
不是100%确定"Markdown原始上传"与"Markdown文件"的含义,但files.upload适用于.md文件.你似乎已经让这个工作:
curl -F filetype=post -F content="# [like this](https://someurl)" -F channels=C1.....7L -F token=xoxp-... https://slack.com/api/files.upload
Run Code Online (Sandbox Code Playgroud)
...现在换content="..."了file=@post.md
curl -F filetype=post -F file=@post.md -F channels=C1.....7L -F token=xoxp-... https://slack.com/api/files.upload
Run Code Online (Sandbox Code Playgroud)
这样做是将标准MD文件(例如从github)转换为Slack Post文档.它会尝试保留所有格式,例如标题,代码等.
但是,请记住,Slack仅支持MD的子集,因此例如表格将无法正确显示.
我正在使用以下 Python 脚本将 Markdown 最有用的子集转换为 Slack 格式。它取代:
\n\n**和单星号*#带有粗体标记星号的*该脚本假设列表缩进两个空格并且单个下划线_Markdown 中的斜体使用单下划线,因此它已经与 Slack 兼容。
import re\nimport sys\n\nREGEX_REPLACE = (\n (re.compile(\'^- \', flags=re.M), \'\xe2\x80\xa2 \'),\n (re.compile(\'^ - \', flags=re.M), \' \xe2\x97\xa6 \'),\n (re.compile(\'^ - \', flags=re.M), \' \xe2\xac\xa9 \'),\n (re.compile(\'^ - \', flags=re.M), \' \xe2\x97\xbd \'),\n (re.compile(\'^#+ (.+)$\', flags=re.M), r\'*\\1*\'),\n (re.compile(\'\\*\\*\'), \'*\'),\n)\n\ndef main(i, o):\n s = i.read()\n for regex, replacement in REGEX_REPLACE:\n s = regex.sub(replacement, s)\n o.write(s)\n\nif __name__ == \'__main__\':\n with open(sys.argv[1], encoding=\'utf-8\') as i, \\\n open(sys.argv[1] + \'.slack\', \'w\', encoding=\'utf-8\') as o:\n main(i, o)\nRun Code Online (Sandbox Code Playgroud)\n\n对于大多数目的来说,结果可能已经足够好了。
\n\n运行脚本
\n\npython markdown-to-slack.py filename.md\nRun Code Online (Sandbox Code Playgroud)\n\n结果将在filename.md.slack.
| 归档时间: |
|
| 查看次数: |
5381 次 |
| 最近记录: |