はじめに
社内でChatWorkを使っているのですが、少しでも便利にできたらなと思い、chromeの拡張機能を自作しました。
本記事では以下の3つについて書きます
- 作成した拡張機能の説明
- chrome拡張機能の開発環境、開発手順
- chrome拡張機能のストアへの公開手順
何を作った?
これです。
ChatWork用のchrome拡張機能です。
具体的にはリンク先の概要に書いてありますが、できることを箇条書きで書いてみます。
- 定型文を設定
- 定型文をボタン(*1)クリックで呼び出し
- キーボードショートカットにも登録できる
(*1)テキストエリア上の「TO」とかがある部分
↑ボタン部分をHTMLで設定できるようにしてあるので、見た目の自由度が高くていい感じです!
実装手順
chatWork用の拡張機能はすでにいくつか公開されており、その中でライセンスがMITのものがあったのでそれをもとに作成しました。
https://github.com/YukiAsano/CW_QuickInfoInput
使用技術
- Chrome-Javascript-API
- Svelte
- sass
- webpack
実装!
chrome拡張機能はすべてmanifest.jsonというファイルから始まります。
このファイルに
- バージョン
- 拡張機能の名前、概要
- アイコン画像の設定(16×16, 48×48, 128×128の3サイズ用意しないといけない、これがめんどくさい! )
- 設定画面のパス
- いつ、どのタイミングでjsが実行されるか
等設定します。
実際のmanifest.jsonのソースがこちら
manifest.json
{
"name": "ChatWork Quick Input",
"version": "0.2",
"manifest_version": 2, //最近3が発表されたらしい
"description": "ChatWorkのテキスト入力をサポートする拡張機能",
"permissions": ["storage"], //使用するChrome-Javascript-APIによって権限をリクエストする必要がある
"content_security_policy": "script-src 'self'; object-src 'self'",
"icons": {
"16" : "images/icon_16.png",
"48" : "images/icon_48.png",
"128": "images/icon_128.png"
},
"content_scripts": [{ // chatworkページ上で実行されるjsの設定
"matches": ["*://*.chatwork.com/*","*://chatwork.com/*","*://kcw.kddi.ne.jp/*"],
"js": ["scripts/jquery-3.5.1.min.js", "scripts/core.js"],
"run_at": "document_end",
"all_frames": true
}],
"options_page":"pages/public/index.html" // 設定画面
}
あとは実装するだけ!
公開手順
公式の公開手順に従って公開しました
大まかに以下の流れで公開します。
- 拡張機能のzipファイルを作成
- デベロッパーアカウントを作成
- zipファイルをアップロード
- ストアでの説明を記述
- 申請→承認
- 公開!
ソース
参考