- 木俣ロバート久の weblog

このweblogは書きたい事が出来た時だけ書くので、このように唐突に再開して、多分また休眠期間に入ります

そういうものです


最近もずっとFF XIV

なのだけれど、Patch5.2が来た当日パブリックなFC (ギルドの様なもの) チャットでネタばらし発言をするというやらかしをして自分が10割加害者の癖にやってしまったショックでちょっとログインできなくなったり、夜中にうなされて家人に心配されるなど

聞くところによると自分以外にもネタばらし発言をしてしまった人がいたようでFC全体としての問題となって色々あって今は落ち着いたのだが、自分の件はFC関係なく自分で完全にうっかりやらかした案件なので自分として対策を考えているところ

基本的にまず気を付けるのだが気を付けるは単なる精神論なので、当面2週間はネタばらしを含む最新コンテンツには触れないという方法で回避する所存

ちなみに分かる人にだけ分かるように書いておくと

こんな感じ


FF XIVにログイン出来なくなった間何をしていたかと言うと、に購入し、その後やったりやらなかったりを繰り返していたDeath Strandingをを含む3連休でやっとクリア

結局ゲームかよ

とてもいい話だったし、ゲームとしてケチを付ける気は全くないのだけれどエンディング間近になるとムービーやインタラクティブではあるがユーザーに選択の余地がない状態 (極論いえばメッセージ送りに〇ボタンを押すのと同じ) が物凄く増えてそこが若干ストレスではあった

クリア後のやり込みをやる気はないのだが、不意に国道やジップラインの建設がしたくなる

特定のhtmlにのみ適用したいstyleがありこの静的HTMLを生成しているシステムを久しぶりに改修

以下、改修時の思考と実装の流れ

  1. 最初完全にpage依存ならhead要素内のstyle属性に直接cssを書けばよいのではないかと検討
  2. このシステムはHTMLファイルを head要素内情報を持つJsonファイル + body要素内情報を持つMarkdownファイルの組み合わせて生成しているがJSONファイル内にCSSを書くのが面倒でlink要素からCSSファイルへリンクする方向へ変更
  3. 特定のHTMLファイル用に特定のCSSファイルを用意すると管理コストが上がる場合も考慮し、html要素にid属性追加できるように改修
  4. HTML5のid属性はあらゆる文字列が使えるようになっている (数字始まりとかも可) を知り驚く
  5. html要素にid属性を追加する改修は終わったが、やっぱりstyle要素をhtml要素に足したくなってJSONファイル内にCSSを書くことに
  6. 可読性の都合からCSSを改行可とし、各行を配列としてJSONに記述することに
  7. head要素内にDOMでstyle要素を追加したが改行コードがスペースになってしまう、直下の子要素のセレクタである > がエスケープされ > になってしまうなど上手くいかず
  8. 改行については一時はstyle要素に xml:space='preserve' を追加するなど不毛な戦い?をしたがセレクタの > がエスケープされる問題を解消するために最終的にstyle要素内をCDATA区間として Xml.XmlCDataSection で作成し、今度は<![CDATA[]]> が記述されてしまうのでこれを最終的に文字列として削除するという強引な解決を行った

多分もっといい方法があると思うが、望む機能は追加できたので一旦チェックイン