カテゴリー: サイト関連

メディアライブラリ運用奮闘記

サイト改装を終えwordpressサイトとしての体裁を整えて満足してから数ヶ月後、私はすっかり更新をサボっていました。絵を描いていないわけではありません。描いて、Twitterに載せて、満足して、以上。これではいけない……。自分のことですから原因はだいたい分かっていたので、ルールを厳格に決めることで思考負荷を減らし、機械的に更新がんばろうという試みです。多分かしこい人は先にこういう手を打っている。

最後にEASELカスタムの話をしています。それ以外は結構役に立たない日記です。

原因

なぜ更新が滞るのかといえば、描いた後にするには考えることが多すぎるからです。それならば考えることをやめてテキトーに(ファイル名も不揃いでいいし容量のこととか気にせず手元の画像を投げちゃえばいい)こなせばいいのに、それもなんだか居心地が悪いし後の自分が文句をつけるのが目に見えているためやりたくないからです。最悪だ! 最悪なんですけど、この思考回路って伝わりますか?_?

しかし、これならば対策は目に見えていて、運用ルールについて納得がいくまでじっくり考えて、以後それに機械のように厳格に従えばいいわけです。つまりそれをダラダラメモっている記事な訳だ。
ファイルの命名規則には大体の「お約束」があるから考えるのは楽だけど…………。いまどきのイラスト個人サイトの画像ってなにを目安にすればいいんだろう~~~どれくらい圧縮すればいいのかな

🤔
助けて

何も分かってない状態で仕様を決めなきゃいけないってムズくない!?!?!?「とりあえず」で先に進むの、気が重すぎる。助けてください。私ってこういうタイプで、上述の思考にも通じますが、手を動かすより考え込みがちで。
みんなってさあ!!!個人サイトのイラストサイズ(表示px,ファイルサイズ,拡張子)ってどうしてるの!?!?!?!?デカくて不便なことは!?小さくても閲覧に影響ない!?標準は!?どうしたらいいの~~~~~~~~~~~~~~~~~~~~~~~~~~と常に嘆いていた。

がんばって出力ルール決めた

毎回その場のノリで書き出しと圧縮をするのをやめて(やめたほうがいいです)サイト用画像の出力ルールを作ることにした。大まかにはクリスタで規定サイズに書き出し→それを更にプラグインでwebp変換と圧縮をする。この手順自体は以前と変わらない。自分の考えを整理するために結果だけでなく過程を長々と書いています。

最大pxを決める

イラストは綺麗に見せたいが品質と圧縮率はトレードオフだ。無圧縮ではデータ容量が犠牲になるし、逆にデータサイズをなるべく軽くしようと思うと今度は品質が気になってくる。実はあまり気にしたことはないが、ページの表示速度という問題もついてくる。
私は今のこのサイトとリトルサーバーミニプランと末長く付き合っていきたいと思っているので、ある程度の品質は確保しつつもできるだけ容量を圧迫しないように進めたい……のだが、そもそも「これくらいの容量でこういう運用なら大丈夫だな😉」という感覚が備わっていないがために苦労してのたうち回っているんだよね~~!
ここは考えても仕方ないと思ったので、わたしは最大pxだけ決めてツール達に適切に圧縮してもらお~~~と思った。

そう、データサイズ以外に画像の大きさ(px)も考慮する必要がある。こちらは横幅1200pxを基準にした。PCとスマホ両方から閲覧する想定、そして以前からよく横幅1200を一つの基準にして書き出していたことが多いからである。PCはフルHDモニター、スマホはiPhone15(※デバイスピクセル1179×2556)で確認している。
ただし例外として
縦長の漫画やそこまで大きさを重視しない画像は横幅1000pxに
・どうしてもPCでの拡大鑑賞を意識したい場合のみ横幅1400pxにしても良い こととした。

こうやって例外を作ると意味がなくなる気もするが、逆に「全ての画像を絶対にこうする🤖」と決めると作業に慣れてきたあたりで「今回は小さくても構わないな」「描き込んじゃったからよく見てもらいたいから大きくしよう」という感じでルールが瓦解するのが目に見えていたので三択から選ぶというふうに定めた。これで絶対破りませんよ。絶対に。

クリスタの書き出しルール

作業にはもっぱらCLIP STUDIO PAINT EXを利用しているので、こちらで[画像を統合して書き出し]→.jpg(JPEG)と書き出しを行う。設定は以下の通り。

🖌️カラー・グレースケールイラストの場合:
JPEG設定>品質:90
出力サイズ:出力サイズ指定(S)>幅1200px
拡大縮小の処理:イラスト向き

✒️モノクロ(トーン処理がある)場合:
①完成データを拡縮100%モノクロ2値で書き出したもの,もしくはバックアップを全統合したものを用意。
ふだん線数はA5原稿の場合70線にしているが、60線にしておくのが望ましい気がする。
web漫画用縮小アクションを利用する(私はこのアクションのガウスぼかしの数値を勝手に弄って2.5とか3とかにしている)。
③オートアクションを実行するとそのまま保存ダイアログが出るが、png形式になってしまっているのでこちらもコマンドを削除して[画像を統合して書き出し:.jpg]に書き換える。
JPEG設定>品質:85
カラー:グレースケール
出力サイズ:拡縮率>100%(上記アクションを利用していると横幅が1000pxになっている筈)

トーンの再現は諦めてグレースケールとして(設定は上記カラーと同じ)書き出しちゃった方が綺麗だし軽いし手順も簡単なのだがトーンの感じをどうしても残したい時があるのだ。潰れるけど。グレスケのなめらかな感じではなくざらついた雰囲気を残せていれば私はそれでいい。
漫画用の設定に関してはまだ探り探りでやっているので特定の環境でひどくモアレて見えるとかより良い処理方法を見つけるとかしたらまた変わるかもしれない。

このJPEG品質という数値について。これは何もクリスタの独自規格ではなく、一般的なJPEG品質のパラメーターだ(おそらく)。そしてJPEG品質というものは線形ではなく指数関数的なカーブを描くらしく、そのため品質の数値を90-100あたりの高い数値に設定するのは、画質を少し犠牲にしたのにデータサイズも大して減らせていないというたいへん非効率で悲しいことになる。85-90あたりで数値を設定するのが現実的なところかな。
参考:EWWW公式ヘルプ JPEG品質はパーセンテージではない/JPEG Quality is Not a Percentage

プラグインで圧縮(しない)

以前から、アップロードした画像の圧縮ツール&webp変換ツールとしてEWWW Image Optimizerという有名プラグインを利用していた(有名すぎるので各所のWordpress指南系記事でオススメされている)。今後もこれをwebp変換用にのみだが利用していく。

というのも、特に何も考えずJPEG画像をEWWW Image Optimizerに投げると、初期設定では当然圧縮してくれるのだが、JPEGの再圧縮は画像が更に劣化する上に効果がほとんど得られない。クリスタで品質90で書き出したならEWWW側では再圧縮せずオリジナル保持にしたほうが最良だろう。
ちなみに、たとえEWWW側での品質の数値を100にしたとしても、JPEGは非可逆圧縮なので必ず劣化しピクセルが失われている(上記と同じページの、「品質100はロスレスではない/Quality 100 is Not Lossless」を参照)、つまりほぼ意味がないので注意。

というわけで、EWWW設定→ローカル→JPG 最適化レベルを「無圧縮」に変更。(他も好みで同様に)
ついでに他の設定として、「リサイズ」タブの項目はすべてのチェックを解除(リサイズ検知だけはオンにしても問題ない)、「変換」タブは「変換リンクを非表示」にチェックが入っているが、「オリジナルを削除」(これはオフを強く推奨)以下はすべてチェックを解除している。

webp変換

EWWWに任せる作業の本命だ。webpはGoogleが開発した新しい画像形式で、つまり細かい説明をすっ飛ばして雑に解説すると、サイズが軽くて読み込みが早いし劣化も少なくて可逆性があって最高~ということである。ちなみにwebpはウェッピーと読む。
EWWWは元画像を保持(上記設定)しながら、webpに変換し、対応しているブラウザにはwebpを、非対応のブラウザではjpeg(元画像)を配信という器用なことをやってくれる。EWWW設定→必須→webp変換にチェックを入れて右の画像が緑色になっていればOKである。私はこれだけで上手くいった。このあたりの解説自体は世の中に星の数ほど転がっているのでそちらを参照されたし。
設定→高度な設定でJPEGと同じくWebpの品質も設定できる。現在の私の設定は82。

今日では大体のブラウザがwebpに対応しつつあることから、サイトの画像はwebp一本に切り替えてしまい容量削減を図ることもできる……のだが私はチキンなので未だにJPEG画像を残しておいてある。1,2年後にはあっさり削除しているかもしれないけどね。

ファイル名とページスラッグに考える余地を残すのはやめろ

結局この記事で終始言いたいのはこれだけだ! 考える余地を残すのをやめて、機械的にルールに従い、悩むことなく更新するべきである。これはファイル名等にも言える。

まずは記事のスラッグ(URL)にタイトルとか、要素とかジャンルとか、そういう「少しでも考えて付けなければならないもの」を入れるのはやめた。ローマ字表記にするかとか英訳するべきかとか、そういうのを考えるのすら手が止まる原因になるから。現在はシンプルに

/[カテゴリ]-[YYYYMMDD]-[必要があれば連番]

といった感じ(そのせいでURLがいろいろ変わっており、すみません)。カテゴリというのはつまり形態で分けていて、イラストとか、本のサンプルページとか、そういう分類だ。
割愛するがファイル名もこんな感じでシンプルに名付けている。テスト出力とかも雑に名付けて消さないでこの命名規則に従うように…している。なるべく。これはもともとYYYYMMDD方式でファイル名をつける癖がついていたから問題はなかった。

本題(?):不要画像サイズの削除【EASELカスタム】

この記事はほぼ私の思考メモ日記なので他人には役に立ちそうもないですが、もしかしたらこのカスタムだけは有用かもしれません。

複数サイズが自動で生成されている

前提として、WordPressはダッシュボードからの画像アップロード時に、オリジナル画像以外にテーマやプラグインで定義された複数サイズを自動生成して保存しています。つまり同じ画像のサイズ違いが何枚も存在しているわけです。これらはサムネイル等のために必要ではありますが、中にはサイトで全く使われていないものもあります。
これではなんか気持ち悪い不要な画像で容量を圧迫するのは不本意なので、EASELの標準機能では未使用だったサムネイルサイズを生成しないようにしてみようと思います。テーマのVerは1.6.1です。

注:設定>メディア の画像サイズ設定の項目で、最大サイズを大きくすることで追加生成の枚数を最小限にする(大サイズの上限を上げることで大サイズを生成させない…など)という方法も有用ではありますが、この設定項目とは別にテーマで独自のサイズを追加定義するため、今回削除するサムネイルは設定画面には出ていません。

何が不必要で、消すべきか

まずはどんなサイズの画像が生成されているのかを確かめます。私は前述の通り画像圧縮プラグインEWWW(略)を導入しており、メディアライブラリ>画像最適化の項目から各サイズに対しての圧縮の結果を見ることができたため、以前からBones-thumb-600(300)という謎のサイズがあるなぁと知っていました。他に調べる方法としては、Simple Image Sizesというプラグインを導入すると設定>メディアの下部に項目が追加され、追加生成されたサイズと名前を見ることができます。
この「bones」というのはどうやらカスタマイズ前提なWordPressテーマの名前で、「EASEL」の改変元のようです(EASEL親テーマ全体でbonesと検索するとところどころ名残がある)。

では本当にこの「Bones-thumb-600(300)」がEASELではどこにも使用されていないのか(=削除して問題ないのか?)という話になります。テーマの構成ファイルを横断して”bones-thumb”で検索したところ、funcitons.phpの719~727行に記述が見つかりました。これはadd_image_size()関数を使ってbones-thumb-600(600*150)とbones-thumb-300(300*100)という2サイズを追加し、名前付きサイズの選択肢にこれら2つが表示されるようにしているのだと思われます。他に”bones-thumb”と書かれている箇所は見当たらず、テーマ内で使用されている形跡はないと考えました。
※無論、自主的にこの2サイズを選んでいる場合は別です!画像ブロックの解像度の選択肢に「600px by 150px」などが表示されているので選んで使用していないか注意。あくまでEASELの作品一覧やショートコードで追加できる作品リストにはこれらbones-thumbが使用されていない、という話です。


脱線:じゃあEASELは何をサムネイルに使っているのかって話▼

個人的メモ感が強い。理解が浅い。箇条書き

・add_image_size(カスタムサイズの定義)はbones-thumb-600と300(消したいやつ)以外に行っていない。
・add_theme_support(‘post-thumbnails’)でアイキャッチ機能を有効化し、set_post_thumbnail_sizeで投稿サムネイルの画像サイズを登録している。※このサムネイルとはダッシュボード>設定>メディアのサムネイル設定とは別
└しかし、テーマ内で ‘post-thumbnail’ を呼んでいる箇所はない。また、the_post_thumbnail()のデフォルト引数は ‘post-thumbnail’みたいだけど、引数を省略して呼んでいるところも無いので’post-thumbnail’は定義されただけで未使用。

・//アイキャッチの表示 とメモがある箇所での処理は、the_post_thumbnail() を使い、配列指定で既存サイズを探し(それも無ければfullサイズを)返している。画像のリサイズなどせず既存サイズから選ぶだけの処理。また配列指定の変数$width$heightはオリジナル画像の実寸なので、結果的にはfull=オリジナル画像のサイズが返ってくるということになる。

つまり、EASELではサムネイル表示にオリジナル画像(フルサイズ)をそのまま利用しているっぽい。
post-thumbnailという名前付きサイズは未使用(上記のように画像最適化の項目などを見れば生成された画像サイズとして確認できる)なので削除しても問題ないだろうが、もしかしたら今後のカスタムで使えるかもしれないので今のところ取っておく方針にする。消したくなったら以下と同じ手順で削除できる。


実際の手順

不要な画像サイズを制御するにはプラグインを使う方法(例えば先程のSimple Image Sizesは追加生成されたサイズを確認できるだけでなく削除やサイズ変更も行える。また、Ewww Image Optimizier設定→リサイズから作成を無効化できると思われる。挙動は未確認)もありますが、今回は子テーマのfunctions.phpを編集します。

remove_image_size()を使ってadd_image_size()で追加したサイズを削除します。
子テーマcanvas_on_easelのfunctions.php内の「// PHPを追記する場合はここより下に書いてください。」の通りの位置に書けばOK

function canvas_remove_image_sizes() {  //関数の定義
    remove_image_size('bones-thumb-600');  //指定された名前の画像サイズを消す
    remove_image_size('bones-thumb-300');
}
add_action('init','canvas_remove_image_sizes',100);

これで新規アップロード時にこの画像サイズが生成されることはありませんが、既存の画像フォルダ内にあるbones-thumb-*はそのまま残るためプラグイン等で消す必要があります(多分手動でやってもいいけど)。私は「Regenerate Thumbnails」を使ってサムネイルを再生成してきました。スッキリ!!!

私のように見えない所が無駄に気になってしまう人の助けになれば(なるのか?)幸いです。

メモ:WPの絵文字についてのメモ。あとPhosphor Iconsの話

タイトル通りです。一瞬詰まったので。知っていたらなんだそんなことかという話なのだが……。

TOPページの微細な改装に明け暮れていたころ、とあるリストの文頭に「シンプルで一色の絵文字」を配置したくなったので、Font Awesomeに使えるものがないか探していました。しかし、少なくとも無料版には私の使いたいアイコンは無く、かといってただの絵文字をつけるのでは見た目が好みに合わないのでもう少し試行錯誤してみることにしました。

次の試みは、Noto Emojiを使って絵文字の表示フォント自体を変えてみることでした。このNoto EmojiはGoogleが提供しているUnicode絵文字のフォントで、CSSでfont-familyを指定してやれば一般的なフォント同様ウェイトを変えたりサイズを調節したりできます。
実はこれは既にサイトで使われており、トップページ冒頭の「information」などのタイトルを囲む恐竜のアイコンがそれです。恐竜のアイコンイラストもFont Awesomeの無料版には無く(どうして!)、以前もこの方法を利用して望みの「モノクロでシンプルな絵文字」を表示させていたのでした。

←Noto Emojiこれ→

使いたい絵文字を直接テキストとして入力し、CSSでfont-family: ‘Noto Emoji’を適用しようとしました。
が、フォントが全く変わらない!なんで!?Chromeの検証機能でよく見てみると絵文字部分が画像になっている……。ここで冒頭の件に戻ってきます。
WordPressはバージョン4.2以降、絵文字を自動的に<img>タグに置換するようになったらしいです。ガーン。デバイス間での絵文字の表示を統一させる意図なのはわかるのだが……。

ここで少し話が戻りますが、なぜトップページのinfomationの絵文字の方は正しく「Noto Emoji」フォントで表示されたのか? これは私がCSSでヘッダー(タイトル)の::before要素にcontent:‘🦕’という形で絵文字を挿入していたからで、CSSのcontentで生成された文字はimg置換の対象外となるようです。そうなんだ。
となると問題の箇所にも、リストの各<li>に疑似要素で絵文字を入れれば画像化を回避できそうですが、各liに毎回違う絵文字を使いたかったし、そこをクラスとか付けていては解決方法としてあまりにゴリ押しすぎて気持ちが悪いし、リストの数が増えたときに面倒すぎるので却下。

閑話休題。
原因がわかれば対処は明瞭で、WordPressの絵文字置換は子テーマのfuncitons.phpを少し編集するだけで無効化できるようです(少し検索するだけで数多の解説ブログが出てくるので詳細はそちらに譲ります)。しかし、Noto Emojiが使いたいがためにまた子テーマ編集するのもめんどくせーな・・・と思ってしまいました。今のところ通常の絵文字の運用には困っていないわけですし(まあこれを期にすべてNoto Color Emojiにしてもいいのだが)。
あくまで私は「〇〇の絵柄のモノクロでシンプルな絵文字が欲し~い」としか考えていなかったので、Font Awesomeに無いなら他のアイコンフォントを探せばいいんじゃない!?と気を取り直し探索を続けていました。

で、見つけたのがPhosphor Iconsです。
なんてかわいいの!? かなり細めで丸みを帯びたラインが絶妙で、メインフォントのM Plus 1とも相性が良さそうです。最初からこれにしておけばよかった!!!!!今までの時間はなんだったんだ!!!!!

Phosphor Iconsの導入方法

公式ドキュメント(上記公式サイト→Get Started)を読めばわかることですが。一応。他のアイコンフォントと同じく、<head></head>内に書くだけです。

<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@phosphor-icons/web@<VERSION>/src/<WEIGHT>/style.css">

<VERSION>に使用するバージョンを、<WEIGHT>部分には使いたいスタイル(regular・thin・light・bold・fill・duotone)を入力します。スタイルは6つの太さと塗りかたから選べて、絵文字一覧の左上、Regularのところを変更すると雰囲気がわかります。全てはここに書いてあります。
私の環境では、現在のPhosphor Icons web版の最新バージョンが2.1.2、太さは標準のregularにしているのでこんなかんじ↓

<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.1.2/src/regular/style.css">

このサイトはWordpressを使用・テーマを借りて(改変して)いるので、<head>タグに直接書くのではなく、子テーマのfunctions.phpから<head>内に記述する方法を使いました🎶親テーマのhead.phpに触ってはいけませんよ🎶「head内 functions」とかで検索して出てきた記事たちを鵜呑みにしているよ!!!

あとは使いたい絵文字をクリック→webタブ→コピーボタンを押す→ペーストする 以上です。
無料ながら1,200以上の絵文字を揃えており、なによりデザインがカワイイのでオススメです
うしとかいる。
恐竜はまだ居ないのですが、絵文字の追加はされているっぽいので今後にかなり期待しています。おわり

【EASEL】投稿に複数枚の画像が添付されている時、イラスト一覧のアイキャッチ画像にアイコンを付ける【メモ】

文章を整える気力がない本当にただのメモ書きです

きっかけは

こちらのブログ記事でした。
確かに、本当は複数ページ漫画だったり差分があったりするのに、それがサムネイルから分からないことで去っていく人が(…いるか!?)いたら勿体ない……参考にさせてもらうぞ〜!!!!

しかし、自分のサイトはイラストサムネイルの画像のみを小さくタイル状に並べるため、常に隅に数字があると少々狭く感じるのではという懸念があった。そこで、「投稿に添付されている画像が複数枚の時」だけアイコンを表示できないか?と考える(そしてこの作業に丸2日かかることになる・・・)

続きを読む

できた

できた。個人サイトの、壁と屋根と玄関が。
御存知の通りikuraonigiri3.lsv.jpには長いことてがろぐだけがぽつねんと設置されており、私が当初レンタルサーバーを借りてやりたかった事は疑似Twitterの作成くらいだったのでまあ現状これで良いやと思っていたのだが、夏の気配が近づいてくると不思議と何か物作りをしたいという欲求に囚われるものです(この作業を始めたのは6月の終わり頃)。
そもそもindex.htmlもデフォルトのままで、アクセスしたらリトルサーバーの案内に飛ばされるサイトなんて怪しすぎて自分でもちょっとどうかと思うし。

htmlやwordpressについての情報を収集していると、個人サイトの有り様を「家」に例える表現を度々目にします。
それに則れば、てがろぐオンリーの以前の私のサイトは、敷地内に机と椅子だけがあるみたいな、まあいいとこ「部屋の中身」だけが存在しているなーと思っていました。
リビングとか廊下とか玄関とか、欲しかったんだよねー。あるとかっこいいし。
勿論、これはただの私の個人的な感覚の話です。この世にはてがろぐのみで構成された個人サイトも数多くあることを知っているし、私はそうしなかっただけ……。トップページにバナーと数行の注意書きのみがあるサイトとか、ミニマムで可愛くて憧れ。

てがろぐを公開したときにも宣言した覚えがありますが、個人サイト一本に集中するぞという訳ではありません。現状、Twitterもサイトもどっちも面白いから。インターネットって、たのし~。
SNS、大好き! Twitter生まれTwitter育ち、スクロールがやめられない! SNS依存の申し子です!
ただ本当に、140字というのは短いし、流れていってしまうし(それが良いところでもあります)、インスタントでないじっくりとした感想や日記も書いてみたかったんだよね~という気持ちです。
しかしあんすたに関しては、今のところTwitterでリアルタイムにお気楽に呟くのが一番合っていると感じます。15時の告知で盛り上がるのが好きだから。あとひとの呟きを眺めたりいいねがついたり、そういうゆるい交流の部分にも楽しみを見出している。
つまり何が言いたいかというと、Twitterの使い方はこれからも変わらず、「それ以外」の部分がサイトに滲み出すだけだなということです。

さて、雛形が出来たのだから早速あれこれと感想など書こうかと思いましたが、投稿一覧のページに

WordPress へようこそ。これは最初の投稿です。編集もしくは削除してブログを始めてください !

という文が鎮座しているのが目につき、なるほど「最初の投稿」らしい文章を書いてみるのもアリだなと思い、そのまま上記の投稿を編集してこれをしたためております。
文章もいいけど、ギャラリーページをさっさと公開したいです。今までの画像をまとめたページを作れば最低限の体裁を保つことが出来、救われると思っている。
どうでもいいけど、ポイピクの投稿カテゴリの「できた」がとても好き。かわいいから。

↓これはいいねボタン!