MM経由でnews-ieに投稿するplugin(実現可能か調べる)
(この記事は作業ログで,間違いがある可能性が高い)
図や文章に起こした方が良いと言うアドバイスをもらったからとりあえず大まかな設計図を書いてみた.markdownに変換するところまで.
入力フォームから受け取った記事の情報をgolangでhugoのmarkdownに変換するながれ.
まずHooksのMessageHasBeenPostedで特定の文字列をユーザーが送信したら入力フォームを開く形にする.
もしくはslashコマンドで入力フォームを開けるようにする. (スラッシュコマンドはhttpリクエストを送るみたいだが,送らなくても使えるだろうか)
入力フォームは,MMでチャンネルヘッダを編集する時に出てくる次の写真のようなものを作れば良いと思うから,この部分のMMのソースコードを読んで真似すれば作れそう?
この部分のソースコード
mattermost-webapp/edit_channel_header_modal.jsx at master · mattermost/mattermost-webapp · GitHub
既存のpluginで入力フォーム的なのを開いたりしてるやつないかなーと思って調べたら.次のようなpluginがあった.
https://mattermost.gitbook.io/plugin-confluence/config-notifications/subscribe-command
よって,入力フォームを作って開くことはできそう.
受け取った記事の情報をhugo markdownに変換するのはgolangで次のような感じで書けばできる気がする.
package main import "os" // Article include article infos. type Article struct { Title string Content string } func main() { a := Article{ Title: "hello", Content: "hello. This is a test.", } output := "+++\n" + a.Title + "\n+++\n\n" + a.Content // outputを出力 }
これから
入力フォームを開くことができれば作れそうだから,入力フォームを作ってみる. (Plugin君,君は一体どこまでできるのかね.)