Hexoとcocoenで画像の比較スライダーを実現する

  1. 🏷️
  2. プログラミング
  3. Hexo
  4. cocoen-js
  5. 画像比較スライダー
  6. Hexo時代の記事
画像比較スライダ用サンプル画像

この記事はHexo時代の記事です。 現在のブログとは見た目や機能が異なる可能性があります。

cocoen は2枚の画像をスライダーで比較するできるようにするJavaScriptライブラリ。

早い話がこれ↓だよこれ↓。 スマホの人は画面を横向きにすると操作しやすいと思う。

クロエちゃんフォーカス
美遊ちゃんフォーカス

こういう同じ構図だけどフォーカスが違う写真とか、 RAW現像のbefore/after的な表示がやりたかったのだ❗ これでできるようになったぞ❗

以下、やり方などは記事続きから〜。

手順

landscape themeが前提なので、それ以外のを使ってる人は適宜読み替えてね。

  1. cocoen.min.css の最新をDLして、↓に配置。
    • themes/landscape/source/css/cocoen/cocoen.min.css
  2. cocoen.min.js の最新をDLして、↓に配置。
    • themes/landscape/source/css/js/cocoen/cocoen.min.js

続き。head.ejs</head>の直前に↓を追加。 これでcssが全ページでlinkされるようになる。

<!-- support cocoen.js: <https://github.com/koenoe/cocoen> -->
<%- css('css/cocoen/cocoen.min') %>

after-footer.ejs<%- js('js/script') %>の直前に↓を追加。 <%- js('js/script') %>よりあとに追加すると動作しないので注意

<!-- support cocoen.js: <https://github.com/koenoe/cocoen> -->
<!-- You must place `cocoen.min.js` before `script.js` -->
<%- js('js/cocoen/cocoen.min') %>

landscape/source/js/script.jsでjQueryのfayncyboxがcocoen用の画像を除外するようにする。 後でcocoen用の画像はcocoen classを持った<div>で囲まれるのが前提。

  // Caption
  $('.article-entry').each(function(i){
    $(this).find('img').each(function(){
      if ($(this).parent().hasClass('fancybox')) return;

      // ↓これを追加。
      if ($(this).parent().hasClass('cocoen')) {
        return;
      }

これで準備完了。 あとは記事本編中で↓のように指定すれば良い。

markdownほげほげ。

<div class="cocoen">
  <img src="./images/figures/prisma_klangfest_chloe_35.webp" alt="美遊ちゃんフォーカス">
  <img src="./images/figures/prisma_klangfest_chloe_36.webp" alt="クロエちゃんフォーカス">
</div>

markdownふがふが。

解説と蛇足

webpは使える?

使える。 というより、気にしてなさそう。 <img> tagが使えるものならなんでもいけるんじゃなかろうか。

cocoenのホスティングはcdnを使わないのか?

使わない。4[KB]しかないので自前でホスティングしちゃったほうが早い。 最近、googleのspeedテストで「外部リソースのloadがなげえよ💢」って怒られてるのもある。

cocoenはnpmでバージョン管理しないの?

やる方法がわからなかった。

hexo generateするときにnode_modules以下のファイルを拾ってくる方法が分からん。 webpackとか使ってるならできるのかも。

あと、npm scriptでコピーしても良かったが、あんまりスマートに思えなかった。

hexoのtagプラグイン化はしないの

やれたらやる〜(やらない)。

tagプラグイン化って、markdownに↓みたいなのを書くと、いい感じにhtml作ってくれるやつね。

{% cocoen miyu.webp chloe.webp %}

実は、 cocoenじゃなくjQueryのtwentytwentyで実現してる人は既にいる ( demoはご本人様のブログ記事 )。 この方の方法を真似すればできそう。

Bio
Bio icon

tenpaMk2

🇯🇵インドアクソオタク。

Tag cloud
  1. AI生成
  2. ALTER
  3. ANIPLEX
  4. Astro
  5. AZT8-45
  6. A列車で行こう
  7. Borderline Toybox
  8. BROCCOLI
  9. Building Gadgets MOD
  10. Chart.js
  11. cocoen-js
  12. Create MOD
  13. DDDy
  14. Excalibur.js
  15. Fate
  16. Fate/Apocrypha
  17. Fate/EXTELLA
  18. Fate/EXTRA CCC
  19. Fate/stay night
  20. FGO
  21. FLARE
  22. FREEing
  23. GameDev
  24. Gatsby
  25. Gatsby Theme
  26. Git
  27. Google Analytics
  28. Hexo
  29. Hexo時代の記事
  30. HOBBY STOCK
  31. hololive
  32. homebrew
  33. JavaScript
  34. KDcolle
  35. KDColle
  36. Kon'D
  37. Lightroom
  38. Mac
  39. Markdown
  40. Minecraft
  41. MVStudio
  42. NEKOPARA
  43. NEKOYOME
  44. Node.js
  45. npm
  46. NSFW
  47. Phat!
  48. PLUM
  49. plusone
  50. POP UP PARADE
  51. PSO
  52. quesQ
  53. RAW現像
  54. Re:ゼロから始める異世界生活
  55. React
  56. RSS
  57. SAO
  58. spiritale
  59. SSG
  60. Stable Diffusion
  61. Tailwind CSS
  62. Thermal MOD
  63. To LOVEる
  64. Tony
  65. Twitter
  66. TypeScript
  67. Vite
  68. VOCALOID
  69. VSCode
  70. WebP
  71. Wonderful Works
  72. zsh
  73. ご注文はうさぎですか?
  74. はじまるA列車
  75. はにかみ、彼女は恋をする
  76. ひげを剃る。そして女子高生を拾う。
  77. りゅうおうのおしごと
  78. アクアマリン
  79. アストルフォ
  80. アズキ
  81. アズールレーン
  82. アトリエシリーズ
  83. アリスグリント
  84. アルトリア オルタ
  85. イリヤスフィール・フォン・アインツベルン
  86. イージーエイト
  87. ウイング
  88. エリス・ボレアス・グレイラット
  89. エルドール
  90. オーキッドシード
  91. キャスター
  92. クドわふたー
  93. クロエ・フォン・アインツベルン
  94. グッドスマイルカンパニー
  95. グリザイア:ファントムトリガー
  96. ゲーム
  97. ココナツ
  98. コトブキヤ
  99. ゴールデンヘッドプラス
  100. サキちゃん
  101. ショコラ
  102. ジェネ
  103. ジャベリン
  104. ジャンヌ・ダルク
  105. ステファニー・ドーラ
  106. ストロンガー
  107. ソフィーのアトリエ
  108. ソードアート・オンライン
  109. ダイキ工業
  110. チノ
  111. チノちゃん
  112. チョコメロ
  113. ティアーユ・ルナティーク
  114. ディ・モールト ベネ
  115. デート・ア・ライブ
  116. ドール
  117. ドールグッズ紹介
  118. ナナ・アスタ・デビルーク
  119. ネコぱら
  120. ネロ・クラウディウス
  121. ノーゲーム・ノーライフ
  122. バニラ
  123. バニー
  124. フィギュア
  125. フィギュアレビュー
  126. ブログ
  127. プラスワン
  128. プラフタ
  129. プリズマ☆イリヤ
  130. プログラミング
  131. マシュ・キリエライト
  132. マックスファクトリー
  133. マヤ
  134. ミーア
  135. ミーシャ・ネクロン
  136. メグ
  137. メディコス・エンタテインメント
  138. モモ・ベリア・デビルーク
  139. モンスター娘のいる日常
  140. ユニオンクリエイティブ
  141. ライザのアトリエ
  142. ライザリン・シュタウト
  143. ラブライブ
  144. ララ・サタリン・デビルーク
  145. リューノス
  146. レム
  147. レーシング
  148. 五島潤
  149. 冴えない彼女の育てかた
  150. 初音ミク
  151. 加藤恵
  152. 喵屋
  153. 天使の3P!
  154. 巡音ルカ
  155. 時崎狂三
  156. 東京フィギュア
  157. 水澄華実
  158. 氷堂美智留
  159. 深見玲奈
  160. 渡辺曜
  161. 無職転生
  162. 玉藻の前
  163. 画像比較スライダー
  164. 白銀ノエル
  165. 百瀬くるみ
  166. 空銀子
  167. 結城明日奈
  168. 結城美柑
  169. 美咲詩絵
  170. 美遊・エーデルフェルト
  171. 能美クドリャフカ
  172. 花偶堂
  173. 荻原沙優
  174. 西連寺春菜
  175. 遠坂凛
  176. 雛鶴あい
  177. 霞ヶ丘詩羽
  178. 魔王学院の不適合者
  179. 黒咲芽亜