- gamenote2XKO の積極開発終了から考える格ゲー界隈:スト6が流行った理由と GGST・TOKON の現状
2XKO の積極開発終了をきっかけに、スト6(ストリートファイター6)が流行った理由、GGST と TOKON(マーベル闘魂)の現状、タイトル同士の対立や格ゲー界隈の治安について、3 タイトルを遊んでいる立場から書いた。
- noteWordPressは本当にオワコンなのか
WordPress オワコン論が加速する中、実態は「完全終了」ではなく「万能時代の終焉」に近い。なぜオワコンと言われるのか、それでも使われ続ける理由を整理した。
- note自称 WordPress の精神的後継者の EmDash 先生について調べた
「WordPress の精神的後継者」を自称する CMS「EmDash」を調査し、WordPress との設計思想の違いや適切な用途について考察した記事。
- note全コンポーネントは外部からスタイルを変更できるようにした方が幸せなんじゃないか説
Astro コンポーネントの Props を HTMLAttributes で拡張し、残りの属性をスプレッドで渡せば、style や class を外から自由に変えられる。バリエーション用の props が増えすぎたときの割り切りとしての考察。
- noteaddEventListener の第三引数 capture でイベントの発火順を制御する
addEventListener の第三引数(options の capture、または useCapture)を true にすると、そのリスナーがキャプチャフェーズで先に発火する。ページ内リンクとタブの処理が競合したときに stopPropagation で止める実例付き。
- noteGutenberg (React) に CSS 変数を設定する
Gutenberg(React)の style 属性に CSS 変数(カスタムプロパティ)を渡すと TypeScript で型エラーになる。オブジェクトを React.CSSProperties にキャストすれば通る。
- noteAstro に React をぶち込んでルーティングさせたアレ(react-router-dom でフォーム)
Astro の一部ページに React と react-router-dom を入れ、入力・確認・完了のフォームを SPA として実装した記録。react-hook-form の FormProvider とルーターの組み合わせ、client:only の指定、SSR での直接アクセス対策。
- noteWordPress の core/file のデフォルト値を変更する方法
WordPress の blocks.registerBlockType フィルター(addFilter)で core/file ブロックの attributes のデフォルト値を変更する方法。showDownloadButton を false にする例と、registerBlockStyle の isDefault が効かないときの className での対処。
- noteAstro v3 の View Transitions を試した
Astro v3 で正式実装された View Transitions(astro:transitions)を試した記録。head に ViewTransitions コンポーネントを置くだけで動き、仕組みは pjax に近い。元になった View Transitions API の対応状況にも触れる(2023 年時点)。
- noteAstro.glob から Content Collections に移行した
Astro で src/pages 以下に置いていた Markdown のブログ記事を Content Collections に移行した記録。あわせて知った Middleware と astro:assets(旧 @astrojs/image)について。
- note気色悪かった(JavaScript で空文字列が false になる)
JSX の三項演算子で空文字列が false として扱われ、else 側が表示された話。JavaScript だけでなく PHP や Python でも空文字列は false と評価される。
- noteフルサイト編集対応のブロックテーマを作成した感想
WordPress のフルサイト編集(FSE)対応ブロックテーマを作った感想。PHP から HTML テンプレートへの変化、core/query と InnerBlocks の使い方、theme.json と CSS の使い分け、運用時のメリットと工数の課題(信州 WordPress Meetup での登壇内容)。
- noteWordPress の useSelect で select() の返り値が unknown になるときの対処法(TypeScript)
TypeScript で WordPress の useSelect を使うと、select(store) の返り値のプロパティが unknown になり型エラーになる。typeof で function であることを確認してから呼び出せば通る。コード例付き。
- noteMDXは負債になりそうで嫌
MDX を使いたくない理由。Markdown は単体で文書として成立するので Gridsome・Gatsby・Next.js・Astro と乗り換えてもそのまま使えたが、MDX は JSX とコンポーネントへの依存が生まれ、移行時の負債になるという考察。
- noteあすとろとすべるて(Astro + Svelte に乗り換えた)
サイトを Next.js から Astro + Svelte に乗り換えた感想。Markdown を pages に置くだけでページになる手軽さ、Svelte の props と state の書き方、ハイドレーションという概念について(2022 年時点)。
- noteWordPress カスタムブロック with TypeScript:webpack と DependencyExtractionWebpackPlugin の設定
WordPress のカスタムブロックを TypeScript で書くための webpack 設定(ts-loader・@wordpress/dependency-extraction-webpack-plugin)、asset.php を使った wp_register_script での登録、ブロック本体のサンプルコード。
- noteあけましておめでとうございます(2021年)
2021 年の年始の挨拶。COVID-19 禍での生活と文章を書くことへの目標について。
- noteこんにちわ(Next.js v10 で作り直した)
Next.js v10 でサイトを作り直した記録。remark-frontmatter が動かなかったため mdast-util-frontmatter を unified プラグインとして包んだ代替コードと、AST で HTML を加工することについての考察。
- noteGatsby から Next.js に作り直した
サイトを Gatsby から Next.js に作り直した記録。GraphQL を使う Gatsby との違い、TypeScript 対応の早さで React 系を選んだ理由、MDX 対応がうまくいかなかった点(2020 年時点)。
- noteGatsby でサイトを作り直した(Gridsome との比較)
React ベースの静的サイトジェネレーター Gatsby でサイトを作り直した感想。Gridsome との違い、GraphQL と styled-components の使用感、Hugo とのビルド速度の差、WordPress 連携の可能性(2020 年時点)。
- notewebpack の基礎:Loaders・Plugins・設定のまとめ
webpack とは何か(バンドラ/トランスパイラ)、gulp との違い、webpack.config の書き方と環境ごとの切り替え、Loaders・Plugins、バージョンアップ時の注意点と使うべき場面をまとめたメモ(2020 年時点)。
- noteGutenberg のカスタムブロックを TypeScript で書く
WordPress の Gutenberg カスタムブロックを TypeScript で書くときの型の付け方メモ。BlockEditProps・BlockSaveProps・BlockConfiguration・BlockAttribute の使い分けとサンプルコード(2019 年時点)。
- noteHugo から Gridsome に移行した
静的サイトジェネレーターを Hugo から Vue ベースの Gridsome に載せ替えた感想。GraphQL でデータを扱う仕組み、Markdown や WordPress を使えるソースプラグイン、実務投入はまだ早いと感じた理由(2019 年時点)。
- noteHello World
サイトをリニューアルした際の挨拶記事。