• TOP
  • ブログ
  • プロフィール
  • お問い合わせ
  • サイトをブロックエディタ化した話【Kansai WordPress Meetup@KyotoのLTの補足】

    サイトをブロックエディタ化した話【Kansai WordPress Meetup@KyotoのLTの補足】

    先日のWordPress Meetup KyotoでLT枠でサイトをブロックエディター化した話をしたので、少し詳細をこちらにまとめたいと思います。

    その時のスライドはこちら

    スタイルの設定

    編集画面の右サイドに出てくる、「スタイル」という設定項目をカスタマイズしました。

    画像ブロックや引用ブロックなど一部のブロックにはデフォルトで入っているのですが、普通は「高度な設定」のところにクラス名を手動で入れないといけないところを、目で見て選択できるようになるというものです。
    あらかじめ設定されたクラスがつくだけなので、やっていることは高度な設定と同じですが、コーディング苦手な人にも優しいつくりになります。

    今回やったのはソースコードブロックに対してスタイルを設定しました。

    prism.jsというシンタックスハイライターを使って、記事に埋め込んだソースコードをハイライトできるようにクラス名をつけるようにしています。
    prism.jsでは「language-{言語名}」というクラスをpreタグにつけると、その中のソースコードをハイライトしてくれるという機能があるので、それにそってクラスがつくようになっています。

    エディター用のJSに下記のように書いて、functions.phpで読み込むだけです。

    //コードシンタックスブロック
    wp.blocks.registerBlockStyle( 'core/code', {
    	name: 'language-html',
    	label: 'HTMLシンタックス',
    	isDefault: false,
    } );
    wp.blocks.registerBlockStyle( 'core/code', {
    	name: 'language-css',
    	label: 'CSSシンタックス',
    	isDefault: false,
    } );
    wp.blocks.registerBlockStyle( 'core/code', {
    	name: 'language-js',
    	label: 'JSシンタックス',
    	isDefault: false,
    } );
    wp.blocks.registerBlockStyle( 'core/code', {
    	name: 'language-php',
    	label: 'phpシンタックス',
    	isDefault: false,
    } );

    こういった技術系の話をする記事ではソースコードを入れることがよくあるので、用意しておくと記事を書くスピードがだいぶ上がっていい感じです。

    固定ページもブロックエディターでつくる

    もともと静的サイトからWordPress化したこともあって、固定ページは静的なHTMLがほとんどの状態で書いていました。

    元々のソースコード(一部抜粋)

    <div class="about__block about__block-profile">
      <h2 class="about__ttl">Profile</h2>
      <div class="profile__img"><img src="<?php echo get_template_directory_uri(); ?>/images/img_mine.jpg" alt=""></div>
      <dl class="profile__content profileList">
        <dt>Name</dt>
        <dd>西村 依泰</dd>
        <dt>Birth/Age</dt>
        <dd>1988.04.01/30歳</dd>
        <dt>Live</dt>
        <dd>大阪府</dd>
        <dt>Work</dt>
        <dd>元小学校教諭(〜2015)<br>マークアップ・CSSコーディング(2016〜)<br>ディレクション(2018〜)</dd>
        <dt>hobby</dt>
        <dd>楽器(ピアノ・ギター)、推理小説、TVゲーム</dd>
        <dt>Like</dt>
        <dd>コーヒー、甘味</dd>
        <dt>Community</dt>
        <dd>Word Camp Kansai 2016 実行委員<br>Word Camp Kyoto 2017 実行委員<br>Word Camp Osaka 2018 実行委員</dd>
      </dl>
    </div>
    
    <div class="about__block about__block-skill">
      <h2 class="about__ttl">Skill</h2>
      <div class="skill__content skill__content-tools">
        <h3>Tools</h3>
        <ul>
          <li>Photoshop</li>
          <li>Illustrator</li>
          <li>Adobe XD</li>
          <li>Dreamweaver</li>
          <li>Atom</li>
          <li>Google Analytics</li>
          <li>Github</li>
        </ul>
      </div>
      <div class="skill__content skill__content-language">
        <h3>Language</h3>
        <ul>
          <li>HTML</li>
          <li>CSS</li>
          <li>SCSS</li>
          <li>Javascript</li>
          <li>jQuery</li>
          <li>Vue.js</li>
          <li>PHP</li>
          <li>WordPress</li>
        </ul>
      </div>
    </div>

    これをブロックエディターに置き換えてみました。

    基本はデフォルトのブロックをつかって、「高度な設定」にクラス名を設定することでレイアウトを作っていきました 。

    ただ、上記コードにもあるように、dlタグを使っているところがあったので、そこは勉強もかねて、ネット上の情報の参考に自分で作ってみることにしました。

    コードを入れると長くなるので省略しますが、下記のサイトを参考に進めました。

    Before Gutenberg – ブロックの入れ子InnerBlockの作成

    Gutenbergブロック開発

    カスタムブロックは割となんでも作れる感じですが、学習コストが高めなので、CSSを用意しておいて高度な設定でクラス名をつけることで対応する方がやりやすそうだと思いました。
    クライアントワークでは前述のスタイルをカスタマイズするか、再利用ブロックを活用することで扱いやすくなるかと思います。

    フロントとエディターの見た目を合わせる

    フロント(サイト側)の見た目とエディター(編集画面)の見た目があっている方が編集時に完成系がわかりやすくていいということがGutenbergハンドブックに書いてある(意訳)ので、それもやってみようと思います。

    こんな風に。

    フロント
    エディター

    やることとしては、エディター用のCSSをつくって、functions.phpで読み込むだけなのですが、厄介だったのはエディター側で生成されるhtmlが階層が深くてややこしかったということです。

    グループブロックなどを使うとdivが二重三重になる上に、独自のクラスがつくので、単純にフロント用のCSSを持ってくるだけではうまくレイアウトが整えられないということがありました。

    結局、枠やリストなどのスタイルをSCSSでmixinにして、それをフロント用とエディター用でそれぞれ読み込むようにしました。
    それでも割と複雑なファイルができてしまったので、その辺りをうまく設計してSCSSファイルをもう少し簡潔にできないか、今後考えていきたいです。

    まとめ

    コアのブロックとCSSの設定だけでもそれなりにページを作ることはできたと思います。
    とりあえず触ってみようと思う人は、まずはコアのブロックでいろいろ試してみるのがいいかなと思います。

    これまでカスタムフィールドでやってたことを置き換えられないかと試行錯誤していますが、なかなかそこまでやるのは骨が折れるなぁと感じています。
    今後の課題ということで。

    yori3

    2020年1月21日
    【Web】いろいろ試してみた話
    css, Javascript, WordPress, ブロックエディタ
  • Web業界に入って半年のコーダーがWordCamp実行委員をやった感想

    Web業界に入って半年のコーダーがWordCamp実行委員をやった感想

    先日、WordCamp Kansai 2016がありまして、そこで実行委員として参加させていただきました。
    今回はそのお話を書きたいと思います。
    WordCampとは・・・こちら

    実行委員をやるということ

    私のWordPress歴はちょうど1年くらいで、やったこともデジハリの卒業制作とこのブログくらいという経験の浅さです。
    実務での経験もなく、どんなことができるのかなんとなく知ってるくらいでした。

    そんな私にWordBenchで知り合った方から「実行委員やらない?」とお声かけをいただきました。
    もともと少し興味があった私はその申し出を二つ返事で受け入れました。
    受けた理由としては、実行委員として活動することで得るものがあるのではと思ったこと、そして自分にもできることがあると思えたことが動機だったような気がします。

    さて、そうして実行委員としての活動が始まったわけですが、そのころの私は初めて制作会社に就職したばかり、WordPressどころかWeb制作を仕事にするということがどういうことかさえもほとんどわかっていないような状態でした。
    そんな状態で満足に活動できるはずもなく、全体MTGでもslack(グループコミュニケーションツール。実行委員内の連絡等は基本的にslackで行われていた)でもなんとか食らいつこうと必死になったつもりだったのですが、果たして十分な働きができたとは言い難い気がします。
    それでも与えられた役割くらいはなんとしてもやり遂げたいという思いだけで動き続けました。
    私に与えられた仕事は「当日の掲示物の管理」。デザイナーさんに制作依頼を出し、できたものをチェックし、印刷し、当日掲示する。
    文字にするとそれほど大変な感じがしないですね・・・。でもその時の私はこれだけでも必死でした。

    これに加え、当日はハンズオンの世話役もさせていただくことになりました。

    ここでまた改めて自分のWordPressの知識の浅さを痛感することになります。
    ブログに合うテーマを探し、必要な機能を備えたプラグインを見つける。
    何も知らない自分にはこれだけでもかなりきつかったです。
    しかし、同じハンズオンのメンバーのみなさまに支えていただきながら、なんとか形にすることができ、終わったときは本当にほっとしました。

    当日は怒涛のように過ぎていきました。気が付いたらすべてが終わって、十数人くらいで居酒屋にいた。。。

    実行委員をやって得たこと

    ・WordPressに関わる知識

    WordPressの機能、プラグインなどの知識だけでなく、WordPressを制作にどう生かしていくか、また、WordPressに貢献するということについても考える機会になり、これからの自分自身の取り組み方も考えるきっかけとなりました。

    ・WordPressへの貢献

    サイト制作の中でWordPressを使うだけでなく、いろいろな方面でWordPressと関わっていくことの大切さ、面白さがわかりました。
    いろいろな人にぜひ関わっていってほしいと思いました。

    ・人との出会い

    本当にたくさんの人と関わることができたというそのこと自体が一番大きいのではないかと思います。
    今回お世話になった方々、そしてこれからお世話になるかもしれない方々、この出会いは一生ものではないでしょうか。

    まとめ

    全体を通して楽しく、またいい経験をさせていただくことができてよかったです。
    ただ一点だけつらかったのは、実行委員としての仕事のしんどさもありますが、一番つらいのはどうすればいいのかわからないということだと感じました。
    何かしたくても何をしていいのかわからないことが多く、結果役に立ててないのではと思うことがほとんどでした。
    もっといろいろなことをできるように、全体を見て動けるようになりたいと思います。
    そしてそうなれたら、ぜひリベンジしたいですね。

    正直なところ実行委員をするのに知識や技術はあまり関係ないと思います。(多少は必要ですが)
    やる気、そしてWordPressへの思いがあればだれでもできるのではないかと思います。
    WordPressに関わる全ての人にぜひもっとコミュニティに参加していってほしいと思います。

    最後に

    実行委員のみなさま、当日スタッフとして協力してくださった方々、一緒にハンズオンの世話役をした方々、WordCampに来てくださった方々、今回お世話になったすべての方々に感謝を述べたいと思います。
    ありがとうございました。

    yori3

    2016年7月16日
    感想とかいろいろ
    WCK2016, WordCamp, WordPress

©️ 2024 yori3 All rights reserved.