tag:crieit.net,2005:https://crieit.net/tags/emoji/feed 「emoji」の記事 - Crieit Crieitでタグ「emoji」に投稿された最近の記事 2021-06-13T20:10:47+09:00 https://crieit.net/tags/emoji/feed tag:crieit.net,2005:PublicArticle/17395 2021-06-13T20:10:47+09:00 2021-06-13T20:10:47+09:00 https://crieit.net/posts/teemo-first-release 📔 チャットの短文作成に便利な Chrome 拡張機能を開発してみた <h1 id="はじめに 📝"><a href="#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB+%F0%9F%93%9D">はじめに 📝</a></h1> <p>最近とある事情により Twitter の DM を利用しているのですが、Slack などのように絵文字をショートカット入力できないことにフラストレーションが溜まってきていました。そのため、絵文字をショトカで入力可能にしてくれる Chrome 拡張機能を探したのですが見つけられませんでした。</p> <p>そこで、無いなら作ろうということで <a target="_blank" rel="nofollow noopener" href="https://chrome.google.com/webstore/detail/teemo-%F0%9F%92%95/alhdkgcgpmdfbidaapdlnmbhoanoijka?hl=ja&">Teemo</a> を開発しました。</p> <p>ソースコードは <a target="_blank" rel="nofollow noopener" href="https://github.com/nikaera/Teemo">GitHub 上で公開しています。</a> 何かご要望等ございましたら PR や Issue 作成頂けますと喜びます。Teemo の実際の挙動については下記の動画で確認できます 🎥</p> <p><a target="_blank" rel="nofollow noopener" href="https://www.youtube.com/watch?v=bJTHbzw1Ee4">Teemo 💕 - Quickly generate chat message with embedded emoji! 💖😆</a></p> <h1 id="考えていたこと 💭"><a href="#%E8%80%83%E3%81%88%E3%81%A6%E3%81%84%E3%81%9F%E3%81%93%E3%81%A8+%F0%9F%92%AD">考えていたこと 💭</a></h1> <p>今回 Teemo の開発を行うに当たり、考えていた点は下記になります。</p> <ul> <li>よくある <code>:</code> 入力からの絵文字ショートカットを導入する <ul> <li>Slack や GitHub、JIRA などではおなじみの入力方法 ⌨️</li> </ul></li> <li>パレットから選択する際は半角英数字で検索できるようにしたい <ul> <li>Twitter では日本語で検索しないと絵文字が探せない 🔍</li> <li>普段英数字で絵文字検索をするので目的の絵文字が見つけづらい 🕵️</li> </ul></li> <li>拡張機能を利用することで文章入力の煩わしさが増加することは避けたい <ul> <li>コピペや文章クリアの機能等にもショトカ利用できるようにしたい 💨</li> </ul></li> </ul> <p>プロトタイピングしながら友人に進捗をシェアしながら開発は進めていきました。本当は個人で利用する想定で進めていたのですが、割と評判が良かったため Chrome ウェブストアに公開するのを目標に動いていました。そして、Chrome ウェブストアで公開できるクオリティを目指して動いたことで満足のいく拡張機能が作れました。</p> <h1 id="使い方 ⚒️"><a href="#%E4%BD%BF%E3%81%84%E6%96%B9+%E2%9A%92%EF%B8%8F">使い方 ⚒️</a></h1> <p>Teemo の使い方について紹介いたします。</p> <h2 id="Teemo を Chrome 拡張機能として追加する 🛍️"><a href="#Teemo+%E3%82%92+Chrome+%E6%8B%A1%E5%BC%B5%E6%A9%9F%E8%83%BD%E3%81%A8%E3%81%97%E3%81%A6%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B+%F0%9F%9B%8D%EF%B8%8F">Teemo を Chrome 拡張機能として追加する 🛍️</a></h2> <p>まずは <a target="_blank" rel="nofollow noopener" href="https://chrome.google.com/webstore/detail/teemo-%F0%9F%92%95/alhdkgcgpmdfbidaapdlnmbhoanoijka?hl=ja&authuser=0">Chrome ウェブストア</a> にアクセスして、Teemo を Chrome に追加する必要があります。</p> <p><img src="https://i.gyazo.com/3649738203bc1e06da63a48d3c8140c0.png" alt="スクリーンショット 2021-06-13 18.24.31.png" /><br /> <strong>1. <a target="_blank" rel="nofollow noopener" href="https://chrome.google.com/webstore/detail/teemo-%F0%9F%92%95/alhdkgcgpmdfbidaapdlnmbhoanoijka?hl=ja&authuser=0">Chrome ウェブストア</a> にアクセスして右上の <code>Chrome に追加</code> ボタンをクリックする</strong></p> <p><img src="https://i.gyazo.com/ea19a358e038d73af1b73e6413e80420.png" alt="スクリーンショット 2021-06-13 18.27.27.png" /><br /> <strong>2. 拡張機能として Teemo の追加が完了したら、ツールバーのアイコンをクリックするか <code>Ctrl or Cmd + Shift + O</code> を入力して Teemo のエディタが開くことを確認する</strong></p> <p>上記確認できれば Teemo が正常に Chrome 拡張機能として追加できています。</p> <h2>Teemo で絵文字を <code>:</code> でショートカット入力する 💨</h2> <p><strong>Teemo のエディタでは <code>:</code> を利用することで文章入力を止めることなく、シームレスに絵文字入力が行えます。<code>:</code> を入力後、関連ワードを半角英数字で入力することで絵文字候補がウィンドウ下部に表示されます。入力したい絵文字をマウスかキーボードの矢印キーで選択して入力できます。</strong></p> <p><img src="https://i.gyazo.com/5b18b25505d443a14befff21e06ecbe8.png" alt="スクリーンショット 2021-06-13 18.51.19.png" /><br /> <strong><code>:</code> を入力後、関連ワードを半角英数字で入力することで絵文字候補がウィンドウ下部に表示される 💨</strong></p> <h2 id="Teemo で絵文字をパレットから選択して入力する 🎨"><a href="#Teemo+%E3%81%A7%E7%B5%B5%E6%96%87%E5%AD%97%E3%82%92%E3%83%91%E3%83%AC%E3%83%83%E3%83%88%E3%81%8B%E3%82%89%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%A6%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B+%F0%9F%8E%A8">Teemo で絵文字をパレットから選択して入力する 🎨</a></h2> <p>絵文字をパレットから選択して入力するには <code>Ctrl or Cmd + E</code> キーを入力するか、ウィンドウ下部の真ん中にある <code>🎨</code> ボタンをクリックしてパレットを表示する必要があります。ちなみに絵文字選択用のパレットには OSS の <a target="_blank" rel="nofollow noopener" href="https://github.com/missive/emoji-mart">Emoji Mart</a> を利用しています。</p> <p><img src="https://i.gyazo.com/2fd8384fa90adc797b2cf643cb1f8652.png" alt="スクリーンショット 2021-06-13 18.48.36.png" /><br /> <strong>パレットで関連ワードを入力することで絵文字検索ができる。絵文字をクリックすることで入力できる 🐱</strong></p> <h2 id="Teemo で入力した文章をクリップボードにコピーする 📋"><a href="#Teemo+%E3%81%A7%E5%85%A5%E5%8A%9B%E3%81%97%E3%81%9F%E6%96%87%E7%AB%A0%E3%82%92%E3%82%AF%E3%83%AA%E3%83%83%E3%83%97%E3%83%9C%E3%83%BC%E3%83%89%E3%81%AB%E3%82%B3%E3%83%94%E3%83%BC%E3%81%99%E3%82%8B+%F0%9F%93%8B">Teemo で入力した文章をクリップボードにコピーする 📋</a></h2> <p><strong>入力した文章は <code>Ctrl or Cmd + C</code> キーを入力するか、ウィンドウ下部の右にある <code>📋</code> ボタンをクリックすることで全文コピーが可能です。わざわざ範囲選択を行わずとも文章を全文コピーすることができます。</strong> コピーが正常にできるとウィンドウ下部の真ん中にある <code>📋</code> ボタンが <code>📋✔️</code> ボタンになります。</p> <p><img src="https://i.gyazo.com/17955efbabe4b849cc095a4db118793a.png" alt="スクリーンショット 2021-06-13 18.57.30.png" /><br /> <strong>Teemo で文章入力後 <code>Ctrl + C</code> で全文コピー後、ツイート編集画面にペーストした時の様子 🐦</strong></p> <h2 id="Teemo で入力した文章をクリアする 🧼"><a href="#Teemo+%E3%81%A7%E5%85%A5%E5%8A%9B%E3%81%97%E3%81%9F%E6%96%87%E7%AB%A0%E3%82%92%E3%82%AF%E3%83%AA%E3%82%A2%E3%81%99%E3%82%8B+%F0%9F%A7%BC">Teemo で入力した文章をクリアする 🧼</a></h2> <p><strong>Teemo では単一のウィンドウを使い回すため、改めて文章を作成する際に一度入力した文章をクリアする必要があります。</strong> そのため、<code>Ctrl or Cmd + R</code> キーを入力するか、ウィンドウ下部の左にある <code>🆕</code> ボタンをクリックすることで文章をクリアできるようにしています。</p> <p><img src="https://i.gyazo.com/5096d26a87ff99ec76f5f9b6c12eaa82.png" alt="スクリーンショット 2021-06-13 19.01.42.png" /><br /> <strong>Teemo の入力欄を <code>🆕</code> ボタンをクリックしてクリアした時の様子 🧼</strong></p> <h1 id="おわりに 🔚"><a href="#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB+%F0%9F%94%9A">おわりに 🔚</a></h1> <p>個人的に Teemo のおかげで、Twitter での絵文字を利用した文章作成についてストレス無く出来るようになったので良かったです。副次的な効果として、どんなサイトでも絵文字を利用した文章作成が簡単に出来るようになったため、他に絵文字をショートカット入力できないサイトがあったとしても同様の困りごとは発生しなくなりました。☺️</p> <p>SNS 上などで文章を作成する際に絵文字を頻繁に利用する方には割とご満足いただける拡張機能になっているはずです多分 🙋</p> nikaera tag:crieit.net,2005:PublicArticle/14700 2018-12-28T19:11:14+09:00 2018-12-28T19:11:14+09:00 https://crieit.net/posts/Puppeteer-on-AWS-Lambda Puppeteer on AWS Lambda のスクリーンショットで文字が豆腐になるので、ウェブフォントと絵文字フォントをインストール <h2 id="状況"><a href="#%E7%8A%B6%E6%B3%81">状況</a></h2> <p>現在開発中の https://poiit.me で puppeteer のスクリーンショットを使って動的OGPをつくっています。<br /> CSSで動的な画像をデザインできるし、一つ lambda 関数を作っておけば、いろんなところで応用ができるのでいいですね。</p> <p>が、今回は絵文字が、豆腐になってしまったのでその対処法。</p> <p><img src="https://qiita-image-store.s3.amazonaws.com/0/6531/6a6ea738-cf5e-15cb-4eb3-acb2dc85e5d8.jpeg" alt="yahsan2-ogp.jpg" /></p> <h2 id="参考記事"><a href="#%E5%8F%82%E8%80%83%E8%A8%98%E4%BA%8B">参考記事</a></h2> <p>ベースはこちらの記事を参考にしました。<br /> <a target="_blank" rel="nofollow noopener" href="https://qiita.com/zyyx-matsushita/items/c33f79e33f242395019e">https://qiita.com/zyyx-matsushita/items/c33f79e33f242395019e</a></p> <p>基本は参考Qiita をベースに対応できましたが、絵文字フォントがどこにあるのか結構探したので、備忘録的にメモ。</p> <h2 id="絵文字フォントダウンロードと設置"><a href="#%E7%B5%B5%E6%96%87%E5%AD%97%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%81%A8%E8%A8%AD%E7%BD%AE">絵文字フォントダウンロードと設置</a></h2> <p>Google の Noto Color Emoji はこちらから ダウンロードできました。<br /> <a target="_blank" rel="nofollow noopener" href="https://www.google.com/get/noto/#noto-emoji-zsye-color">https://www.google.com/get/noto/#noto-emoji-zsye-color</a></p> <p><strong>他のダウンロード可能な絵文字フォントを知っていたら、是非ダウンロード場所教えてください!</strong></p> <p>で、ダウンロードしたファイルを解答し <code>/.font/NotoColorEmoji.ttf</code> に設置</p> <h2 id="WEBフォント"><a href="#WEB%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88">WEBフォント</a></h2> <p>こちらは絵文字以外のフォントについては、WEBフォントをつかっています。</p> <p>screenshot を撮る前に head に追加してやれば反映されるはず。</p> <pre><code class="js"> await page.evaluate(() => { var style = document.createElement('style') style.textContent = ` @import url('//fonts.googleapis.com/css?family=M+PLUS+Rounded+1c|Roboto:300,400,500,700|Material+Icons'); div, input, a, p{ font-family: "M PLUS Rounded 1c", sans-serif; };` document.head.appendChild(style); document.body.style.fontFamily = "'M PLUS Rounded 1c', sans-serif"; }) </code></pre> <p>その後、長めに wait させたないとフォントが反映されていないことがあるので注意</p> <pre><code> await page.waitFor(3000); </code></pre> <p>こちらの記事を参考にしています。<br /> <a target="_blank" rel="nofollow noopener" href="https://qiita.com/chimame/items/04c9b45d8467cf32892f">https://qiita.com/chimame/items/04c9b45d8467cf32892f</a></p> <h2 id="関数実行"><a href="#%E9%96%A2%E6%95%B0%E5%AE%9F%E8%A1%8C">関数実行</a></h2> <p>lambada で呼び出す関数で、フォントをサーバーにインストールする <code>fc-cache</code> コマンド実行してから、<br /> puppeteer の screenshot などを実行すれば、ちゃんと絵文字が反映されているはずです。</p> <p>アップロードすれば終了です。</p> <p><img src="https://qiita-image-store.s3.amazonaws.com/0/6531/54eae76b-6c6d-e567-d400-0c18bc462718.jpeg" alt="yahsan2-ogp-1.jpg" /></p> <p>めでたし!</p> <p>serverless を使ったベーシックな puppeteer on lambda は github に置いてあるので必要あれば。<br /> <a target="_blank" rel="nofollow noopener" href="https://github.com/yahsan2/puppeteer-example-on-serverless-lambda">https://github.com/yahsan2/puppeteer-example-on-serverless-lambda</a></p> <p>この記事のフォント反映バージョンも要望あればで公開しますので、コメントください〜!</p> <h3 id="poiit というサービスつくっています!"><a href="#poiit+%E3%81%A8%E3%81%84%E3%81%86%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%A4%E3%81%8F%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%EF%BC%81">poiit というサービスつくっています!</a></h3> <p>この記事がもし参考になれば、50円からサポートお願いします〜!<br /> <a target="_blank" rel="nofollow noopener" href="https://poiit.me/yahsan2/"><img src="http://res.cloudinary.com/dcsqopmuq/image/upload/v1545924831/poiit-production/yahsan2/yahsan2-ogp.jpg" alt="yahsan2-ogp-1.jpg" title="画像タイトル" /></a><br /> <a target="_blank" rel="nofollow noopener" href="https://poiit.me/yahsan2/">https://poiit.me/yahsan2/</a></p> yahsan2