【WordPress】P5.jsをCocoon上で使用する

944 語
5 分
【WordPress】P5.jsをCocoon上で使用する

はじまり#

135ml avatar
135ml
今回は、WebページにProcessingの表現ができちゃうよ的なツールの「P5.js」をCocoonテーマのブログ上で使用する手順をまとめたよ。
リサちゃん avatar
リサちゃん
あいよ!

今回の手順#

今回、P5.jsをCocoon上で使用するための設定手順は以下になります。僕は固定ページ上のみに設定しました。

※SiteGuardが入っている前提での設定手順になります。

  1. まず、「Cocoon設定」の「アクセス解析・認証」では設定できないことを知る。
  2. なので、固定ページ内のHTMLの中にscriptタグを入れる。
  3. P5.jsの描画したものを表示する場所の指定をする。

1. 「Cocoon設定」の「アクセス解析・認証」では設定できないことを知る。#

まず、僕はheadタグの中にmetaタグを入れたときと同様に、scriptタグを入れました。

画像では入っていませんが、「Cocoon設定」の「アクセス解析・認証」の「ヘッド用コード」の中に、以下のコードを入れました。

<script src="https://cdn.jsdelivr.net/npm/p5@1.4.0/lib/p5.min.js"></script>

しかし、入れた後に「変更をまとめて保存」をクリックすると、こんな風にSiteGuardのチェックに引っ掛かってしまうのです。なんてことだ!

試しに自分のブログのDBに潜って、直接、p5.min.jsのファイルを置いてそこを読み取るようにソースを書き直してみたのですが、無情にも同じ画面が出てきました。Oh, my god.

なので、headの中に置くという選択肢は諦めました。色々WAFをいじるのもあれなので。

2. 固定ページ内のHTMLの中にscriptタグを入れる。#

次に、試した固定ページの中に入れてしまうという方法です。つまり、bodyタグの中に入れるということですね。これは上手くいきました。

「カスタムJavaScript」の中に書いたP5.jsのコードはこちらになります。白い丸が表示されます。

let d = 100;
function setup() {
canvas = createCanvas(windowWidth, windowHeight);
}
function draw() {
clear();
// 直径をマウスのx座標にする
circle(mouseX, mouseY, d);
}
function mouseClicked() {
if (d == 100) {
d = 300;
}else if (d == 300) {
d = 100;
}
}

それで、固定ページに書いたHTMLはここに配置しました。

そして、表示はされました。

しかし、これだと記事の下に表示されてしまって、なんか違うんですよね・・・(「あ」と「い」の間に表示したい・・・)

3. P5.jsの描画したものを表示する場所の指定をする。#

描画する場所を指定するためには、HTML上で描画するタグを指定するのと、Javascriptを修正する必要があります。まず、描画する場所はここに指定しました。(「あ」と「い」の間ですね。)

そういえば、先程記載し忘れていたのですが、このHTML文を書いた後にこのブロックからフォーカスアウトすると、そのブロックが以下の状態になります。この状態だとちゃんとページに保存されないので、「・・・」(三点リーダー)をクリックして、「HTMLに変換」をクリックします。

そうすると、更新したさいにちゃんとこのHTML文が反映されます。

そして、「カスタムJavaScript」の中に書いたP5.jsのコードはこちらに修正しました。

resultのIDに描画されるようにします。

let result = document.getElementById('result');
let d = 100;
function setup() {
let canvas = createCanvas(windowWidth, windowHeight);
canvas.parent(result); //canvasを指定した要素の子要素にする
}
function draw() {
clear();
circle(mouseX, mouseY, d);
}
function mouseClicked() {
if (d == 100) {
d = 300;
}else if (d == 300) {
d = 100;
}
}

すると、このように表示され、目当ての場所にP5.jsが描画されました。

おしまい#

135ml avatar
135ml
なんとか描画が出来て一安心です・・・。今回はこんなもんになります。
リサちゃん avatar
リサちゃん
これでCocoonテーマでもProcessing的なことを書けるわけだね。

以上になります!

記事を共有

この記事が役に立ったなら、ぜひ他の人と共有してください!

【WordPress】P5.jsをCocoon上で使用する
https://endorphinbath.com/posts/wordpress-p5js-on-cocoon/
著者
kinkinbeer135ml
公開日
2021-12-23
ライセンス
CC BY-NC-SA 4.0
関連記事 スマート
1
【JavaScript】実行中の関数自身の関数名を取得する
Code 実行している関数やメソッド自身の名前を取得する方法を紹介します。この方法は、その関数名を取得する関数を別の関数から呼び出してもらわなければなりません。thisに関数をバインドする必要があるためです。その呼び出し方の種類を掲載しています。
2
【JavaScript】Errorタイプのオブジェクトかどうかを判定する
Code JavaScriptで渡した値がErrorオブジェクトかどうかを判定する関数が見つからなかったので、僕が書いたものを紹介します。
3
【JavaScript】数値を0埋めされた文字列として加工する
Code JavaScriptで、IDなどを採番する時に0埋めした数値が欲しい時があります。その時に利用できるスニペットを紹介します。
4
【P5.js】描画したものの比率が歪んでいるときに対処したこと
Code P5.jsを描画させた時に縦横の比率がおかしくなる現象が起きたので、その回収までの過程を記載します。
5
【Node.js】Markdown内のimgタグの画像の大きさを変える
Code README.md内のimgタグで記載された画像のサイズを変更する処理を作成しました。沢山画像を貼っていると、いちいちサイズを変更するのが面倒ですが、この処理で一気に直してしまいましょう!
ランダム記事 ランダム
Profile Image of the Author
kinkinbeer135ml
SIerをやめて、プログラミングを勉強しています。※Amazonアソシエイトに参加しています。
お知らせ
私のブログへようこそ!これはサンプルのお知らせです。
音楽
カバー

音楽

再生中なし

0:00 0:00
歌詞なし
カテゴリ
タグ
サイト統計
記事
287
カテゴリー
8
タグ
93
総文字数
486,174
運用日数
0
最終活動
0 日前

目次