初心者向け　Lite Editorで絵文字を使い、a-blog cmsをアメブロ風にする方法！

この記事は、[a-blog cms Advent Calendar 2023](https://adventar.org/calendars/8651)　15日目の記事です。
だんだんクリスマスに近づいてきましたね！:santa_tone1:

## 簡単な自己紹介
はじめまして、こんにちは。
[株式会社ルーコ](https://rou-co.com/)の川﨑です。
**a-blog cms**を使うようになって、やっと1年経過しました。:raised_hands:
Webデザイナー歴も1年です。
転職前は事務職を3年半していました。
まだまだ分からないことだらけですが、少しずつ頑張ってます！

## 経緯
アドベントカレンダーの存在は知ってはいたものの、去年は勉強のために見ているだけでした。
まだ知識も浅いし、今年はどうしようかな:thinking:、と思っていたところ、アドベントカレンダーが**残りわずか**だったので、とりあえずやってみよう！という気持ちで登録してみました。

## ブログを始めて、絵文字を使いたくなる
最近、ブログを書いてみたいな、と思いました。
早速、a-blog cmsでブログを書いていて、だんだん、「**絵文字が使いたいな**」と思うようになりました。
ブログは、**読者に共感してもらったり、気持ちを伝えたりする等の情緒的なコミュニケーション:revolving_hearts:が大事**なのかな、と思っています。
次も読んでみたいな、と思うブロガーの方は、気持ちの共有がすごく上手だなと思うんですよね。
でも、やってみるとなかなか、文字だけで気持ちを表現するのって難しいんです。:sweat:
私は、苦手な方です。
ですがそんな時、**絵文字は感情を直感的に伝えられる&気持ちを代弁してくれるのを助けてくれる**な、と思うので、絵文字を導入したい！
と考えました。

少し、話が逸れますが、絵文字文化について気になったので調べてみました(本編とは関係ないので、興味ない方は次の見出しへどうぞ:information_desk_person_tone1:)。下記の記事、すごく面白い内容だったので気になる方はご覧ください。
- [グローバルデザインとしての絵文字 その効果と文化間の違い](https://blog.btrax.com/jp/emoji-cultural-difference/)

https://blog.btrax.com/jp/emoji-cultural-difference/



絵文字は日本発祥のものです。🇯🇵
それが今や世界共通言語になってるのはすごいですよね！



### 絵文字を使う方法
では、本編に戻ります。
絵文字を使うようにする方法は、結構前にa-blog cms公式のサイトにも上がっています。
- [UTF-8の絵文字を利用する](https://developer.a-blogcms.jp/blog/custom/entry-2720.html)

https://developer.a-blogcms.jp/blog/custom/entry-2720.html

>データベースの設定
>データベースの文字コードを utf8mb4 に 照合順序を utf8mb4_general_ci もしくは utf8mb4_unicode_ci に変更してください。出来れば全てのテーブル、カラムを変更が望ましいですが最低限以下のテーブル・カラムを変更ください。

と、解説されていました。

しかし、私のような初心者は、**能力的・技術的にデータベースを触る知識を持ち合わせていない**のです・・・:sob:！！！
「どうしよう、詰んだ・・・:dizzy_face:」と挫折しかけましたが、それでも絵文字を使いたい執念があり、今自分ができることで、なんでもいいから絵文字を出してみよう！と思いました。:muscle:

### どうやってやるか考える
さて、一体全体、どうやって絵文字入れようかな〜と考えていたところ、あることを思い出しました。:bulb:
最近、仕事で、ブログの記事をa-blog cmsに、お引っ越しする作業がありました。
そして、記事のお引越しと同時に、gifファイルのお引っ越しもしたんです。
そのブログは、UTF-8の絵文字ではなく、アメブロみたいに**gifファイル形式の独自の絵文字**を使っていました。

▼こんな感じ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/74f7ee31-e3e0-14f1-9009-6793b3323ef8.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/3b2c89f8-472e-777f-58de-1b125f538cc1.png)

imgタグでgifファイルを出力していました。
その時に、**テキストエリアにimgを出力できるんだ**！と、初めて知りました。
それを思い出し、「よし、テキストエリアに、.gifを出せるようにしよう！」と決めました。
アメブロ風のブログにすることに決定し、さらに使い勝手が良いように、Lite Editorで出力できるようにしてみようと考えました。


### やってみた結果
なんとか出せました！:raised_hands:

**ビフォー**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/ff94d8d9-283d-b12b-e06c-ffbb5d08ea60.png)


**アフター**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/af15d4b4-24a9-6f8e-fe48-86b6b47dabc5.png)





## 実装方法
▼今回役に立った記事、参照した記事です。
ありがとうございました:bow:

- [E: ちょっとリッチなテキストユニットを作ってみよう](https://developer.a-blogcms.jp/hands-on/camp2018spring/entry-2917.html)

https://developer.a-blogcms.jp/hands-on/camp2018spring/entry-2917.html

- [Lite Editor 拡張方法まとめ（a-blog cms）](https://sugar-cloud.net/ablogcms/lite-editor-field.html)

https://sugar-cloud.net/ablogcms/lite-editor-field.html


### 下準備&手順
では、実際に絵文字を使えるようにしていきましょう！

それにはまず、gifファイルが必要です。
私は、無料で配布されていた、下記を使わせてもらいました。　
- [【2023.7追加】SlackやDiscordで使えるネコチャン絵文字を配布しています♪](https://note.com/shikamatsu/n/nd217dc0617db)
- [GIFアニメのサイズ（容量）縮小](https://www.bannerkoubou.com/anime/gif-resize/)

この絵文字を使用します！かわいいです！:cat:
![daijoubu-nya.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/cfcaba5c-e9ec-33e7-b7f0-51935fbfa245.gif)
サイズが大きかったので、80％縮小しました。
![daijoubu-nya.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/2c640f57-0519-e623-e1f3-4f5a8679a60e.gif)


これで下準備は終わりです。
ちなみに、上記で紹介したように、Lite Editorを使わなくても、絵文字は簡単に出せます。
超初心者の方は、まず、imgタグでテキストエリアに絵文字を出すのを試してみるのがオススメですよ！

まず、gifファイルをしまうフォルダを作成します。今回は、images/img-face　に入れました。（もし、FTP領域は触らないよって方は、管理画面のメディアに直接アップロードしてみてください。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/abc39179-800a-6c60-be9d-e2a191a60bd7.png)

あとは、テキストエリアを、コードが書けるように切り替えて（赤枠の箇所で切り替えできる）、

![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f333633383032302f66663934643864392d323833642d623132622d653036632d6666626235643038656136302e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/e9b58d27-54f5-ac0f-8fe1-d56bb64891c2.png)


imgタグで出力するだけです。（メディアにアップロードした方は、下図を参考にして、メディアで取得したURLを使い、src＝““のところにパスを入れてみましょう！！）

▼画像
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/23a558d2-620a-0f21-7664-f1a68bebc09e.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/73a3170e-f820-950b-4198-0dfe9d2c3f1b.png)


初心者の方にとって、パスって難しいですよね！私もすごく苦手だったし、なんなら今でもニガテです。:sweat_smile:
けど、練習になるので、HTML触りたての人は、ぜひ頑張って表示させてみてください！:relaxed:
ちなみに、パスに少し慣れると、グローバル変数を使いたくなるかと思うのですが、**グローバル変数はテンプレート上でしか機能しない**そうです。(最初、上記のパスにグローバル変数を使っていて、出なかったので、補足でした！)

では、Lite Editorを使って、ボタンを作り、絵文字の表示を楽にする方法を記述していきます。
imgタグで出力できても、毎回打ち込むのはめんどくさいですよね。
そんな時に、Lite Editorが味方になってくれます。

### Lite Editorで絵文字を出すには
#### 手順1.　/include/head/js.html　に、下記を追記する
今回は、デフォルトのLite Editorも変更してみようと思います。（詳細なLite Editorの解説は、前述の「▼役に立った記事、参照した記事です。」に詳しく説明されていますのでご参照ください。）

リンクはそのまま、赤太字、黒太字、そして、猫の絵文字を出力できるようにします。
まず、下記を　/include/head/js.html　に、追記しましょう。私は使用しているthemesにjs.htmlを複製して記述しました。
sampleTextは好きな名前にしてください。
文字や絵文字のtagは、意味を持たせないspanを使うことにしました。

```<script>
ACMS.Ready(function(){
	ACMS.Config.LiteEditorConf.btnOptions = [{
		  label: 'リンク',
		  tag: 'a',
		  className: '',
		  sampleText: 'リンクテキスト'
	  },
	  {
		label: '赤太大',
		tag: 'span',
		className: 'red-bold-text',
		sampleText: '赤太大'
	},
	{
		label: '黒太大',
		tag: 'span',
		className: 'black-bold-text',
		sampleText: '黒太大'
	},
	{
		label: '嬉',
		tag: 'span',
		className: 'happy-face',
		sampleText: '嬉しい顔'
	}];
});
</script>
```
※初心者の方への注意点として、元々js.htmlに書いていあるコードはそのままにして、上記を追記するのが大事です、とお伝えします（私は本当に初めの頃、上書きしたらいけないものを上書きしたりしてしまっていたので・・・:sweat:）。


#### 手順2.cssで整える
そして、見た目を整えていきます。
赤太字、黒太字の色とサイズは、先ほど記述したclassNameを使って、ここで装飾しましょう。
そして、猫の絵文字は、content:url()で出力していきます。
（Lite Editorでは、imgタグで出力できなかったため、下記の方法で出力しました！）
```
.entryFormLiteEditor span.happy-face::after{
	content: url(../images/img-face/daijoubu-nya.gif);
}
```
これで、完了です！では、実際に使ってみます。

::afterで出力しているので、「。」を選択してから、「嬉」ボタンを押すことで、「。」の後にgifファイルが出力されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/bc7c2b2f-6012-90ec-801e-fa72eb1e8250.png)

すると・・・
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/02101fda-3a73-8958-371e-174a78890aee.png)


できました！
ここまでが、Lite Editorの簡単な使い方、そして「**Lite Editorで絵文字を使い、a-blog cmsをアメブロ風にする方法！**」でした。

##  課題
###  課題1　直感的な見た目にする

う〜む。一応出たは出たけど、「嬉」だと、なんだか直感的なインターフェースじゃないよな〜:sweat:
何かいい方法ないだろうか・・・。
欲を言えば、Lite Editorのところに、同じ絵文字を出したい。

Lite Editorって、UI部分には画像入れられないのかな・・・？と諦めかけていましたが、ふと、あることに気付きました。
「そういえば、ルーコ（会社）で毎日触ってるa-blog cmsのLite Editor、装飾されてるよね:thinking:」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/1f0253e3-580f-bb95-c2a4-b1b358b6fc5f.png)

と思って、いろいろと探ってみたところ、ヒントを得ました:bulb:

- [Lite Editorで、テキスト以外も使っちゃおう](https://tabegoto-shinbun.com/cms/tweet-shiteko2020.html#:~:text=Lite%20Editor%E3%81%A7%E3%80%81%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E4%BB%A5%E5%A4%96%E3%82%82%E4%BD%BF%E3%81%A3%E3%81%A1%E3%82%83%E3%81%8A%E3%81%86)
ありがとうございました:bow:

https://tabegoto-shinbun.com/cms/tweet-shiteko2020.html#:~:text=Lite%20Editor%E3%81%A7%E3%80%81%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E4%BB%A5%E5%A4%96%E3%82%82%E4%BD%BF%E3%81%A3%E3%81%A1%E3%82%83%E3%81%8A%E3%81%86



そのヒントとは、
labelに、imgタグをいれる、ということです。

▼こんな感じ
```
label: '<img src="/images/img-face/daijoubu-nya.gif" alt="嬉しそうな猫の絵文字">',
```
lavelって、imgタグ入れられるんですね。知らなかったです！
これで簡単に出せました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/1871d1b1-f8a9-6f14-5b90-8b129bf2727a.png)

ちょっとはみ出てるので、cssで整えます。

左と同じ大きさにしたかったんですが、絵文字を90%に縮小したら小さすぎて何か分からない状態(丸くて黄色い何か、みたいな感じ。かろうじて、たこ焼きかな？みたいに見える状態)だったので、80%縮小のままにしました。


でも、大きさが違うのは気持ち悪さがあるので、全体を大きくしてみました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/a501229d-b513-daba-404b-e457afdaa90a.png)

これでもやや見た目的に不自然ですが、とりあえずOKにします！課題1はとりあえず解決です。:thumbsup:


###  課題2　altを入れられない
Lite Editorのタグにimgが入れられず、altが入れられなかったです。
絵文字を使う場合は、altは入れるべきと思いますが、これはどう頑張っても無理そうです:sweat_smile:
結果的には絵文字出てるし、潔く諦めました！

## 終わりに
拙い内容ですが、最後まで読んでいただき、ありがとうございました！！！
今回は、絵文字を1つしか入れてなかったのですが、色んな絵文字も使って、ブログを書いてみたいと思ってます。

今回書いた記事で、もし、ここ間違ってるよ、とかこうした方がいいよ、とか何か他にもご感想あれば、下図のご意見・ご感想フォームまたはコメント欄へ、ぜひぜひ教えてください！:raising_hand_tone1:　
匿名投稿でも全然OKです。


[<img width = 242 src = "https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/3ecb3af7-c75b-34d3-b88b-c80e2fb2f569.png">](https://docs.google.com/forms/d/e/1FAIpQLSerhI5p0r1UbqGFMX3gCCgLKd9jkCDPtze3MV3f9JIW1LVzKw/viewform?usp=sf_link)