[{"_path":"/","_draft":false,"_partial":false,"_empty":false,"title":"Hello Content","description":"","excerpt":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"hello-content"},"children":[{"type":"text","value":"Hello Content"}]}]},"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"hello-content"},"children":[{"type":"text","value":"Hello Content"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:index.md","_source":"content","_file":"index.md","_extension":"md"},{"_path":"/memo/img-loading","_draft":false,"_partial":false,"_empty":false,"title":"レイアウトシフト回避したいついでにレスポンシブ画像とかいろいろな画像の読み込み方を整頓しとく","description":"","excerpt":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"やりたいこと"},"children":[{"type":"text","value":"やりたいこと"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"画像の表示ってとても必要だけど、快適にサイトを見るには作るの結構気を使うんですよね～。あまり気を使えてないから、ちょっと今一度メモメモしといて、気を使えるようになろうかな～。"}]},{"type":"element","tag":"h2","props":{"id":"レイアウトシフト回避"},"children":[{"type":"text","value":"レイアウトシフト回避"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"読込が遅れてるコンテンツが表示されることで、今まで見てたコンテンツが急にガクンと場所が変わる現象、レイアウトシフト。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n利用者視点で見ると結構イラっとするんですよね。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nページ読み込みきる前に目的のもの見つけてタップしようとした瞬間にズレっとかね。\nでも、画像を全部読み込み終わるまでなにの描画もしないなんてね…"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nそれも困るから、どうしといたらいいのかメモメモ。"}]},{"type":"element","tag":"h3","props":{"id":"htmlにwidthheight属性を追加"},"children":[{"type":"text","value":"HTMLにwidth/height属性を追加"}]},{"type":"element","tag":"code","props":{"code":"<img src=\"hoge.jpg\" width=\"300\" height=\"124\">\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<img src=\"hoge.jpg\" width=\"300\" height=\"124\">\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"従来は"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"width/height"}]},{"type":"text","value":"属性はピクセルの数値指定だったけど、現在は数値に単位を指定しないことで比率計算的(アスペクト比指定)に使えるらしい。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\ncssで↓的な指定をすれば、先祖要素をもとにレスポンシブ対応もできるよ。よきよき。"}]},{"type":"element","tag":"code","props":{"code":"img {\n  width: 100%;\n  height: auto;\n}\n","language":"css"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"img {\n  width: 100%;\n  height: auto;\n}\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"cssでaspect-ratioを設定する"},"children":[{"type":"text","value":"CSSで"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"aspect-ratio"}]},{"type":"text","value":"を設定する"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"CSSで"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"aspect-ratio"}]},{"type":"text","value":"を設定しておくと、CSSのレイアウト指定の計算でプレースホルダーの領域をあらかじめ指定しておけるそうな。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nIEがサヨナラした現在は普通に使えるし、便利！ありがたい！"}]},{"type":"element","tag":"code","props":{"code":"img {\n  width: 100%;\n  aspect-ratio: 16 / 9;\n}\n","language":"css"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"img {\n  width: 100%;\n  aspect-ratio: 16 / 9;\n}\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"パフォーマンス改善"},"children":[{"type":"text","value":"パフォーマンス改善"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ブラウザのリソース読込みに対して指定をすることで、ブラウザのローディングスレッドとコンテンツの表示のバランスをいい感じにして、早くユーザーさんにいい感じにコンテンツを届けましょ、っていう対応、それがパフォーマンス改善。"}]},{"type":"element","tag":"h3","props":{"id":"lazy-loading"},"children":[{"type":"text","value":"Lazy Loading"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Lazy Loadingとは、視覚的ビューポート（現在表示されているところ）以外の読込を遅らせるということ。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n読込遅延を発生させることで、文章の読込を最適化させることができる。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ひと昔まえまでは、遅延によってSEOの影響があるだとか、ブラウザによる対応がマチマチすぎるマチマチ感があった…気がするのだけど、今は単純明解。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"読込が発生しない分、レイアウトシフトもおきるので、回避する設定を一緒に行うことを忘れずに。"}]},{"type":"element","tag":"code","props":{"code":"<img src=\"hoge.jpg\" width=\"300\" height=\"124\" loading=\"lazy\">\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<img src=\"hoge.jpg\" width=\"300\" height=\"124\" loading=\"lazy\">\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"loadingが取る値は↓"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"値"}]},{"type":"element","tag":"th","props":{"align":null},"children":[]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"説明"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"eager"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"既定値"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"すぐに画像読込開始"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"lazy"}]},{"type":"element","tag":"td","props":{"align":null},"children":[]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"ブラウザがこの画像が必要と判断するまで待て"}]}]}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参照"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"element","tag":"a","props":{"href":"https://developer.mozilla.org/ja/docs/Web/API/HTMLImageElement/loading","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://developer.mozilla.org/ja/docs/Web/API/HTMLImageElement/loading"}]}]}]},{"type":"element","tag":"h3","props":{"id":"読込み処理の指定decode"},"children":[{"type":"text","value":"読込み処理の指定（Decode）"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"とりあえず、書き方。"}]},{"type":"element","tag":"code","props":{"code":"<img src=\"hoge.jpg\" decoding=\"async\">\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<img src=\"hoge.jpg\" decoding=\"async\">\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"decodingが取る値は↓。意訳してるので違う場合は教えてください…"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"値"}]},{"type":"element","tag":"th","props":{"align":null},"children":[]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"説明"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"sync"}]},{"type":"element","tag":"td","props":{"align":null},"children":[]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"他のコンテンツと同期的に読込みしてね"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"td","props":{"align":null},"children":[]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"他のコンテンツと非同期的に読込みしてね"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"auto"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"既定値"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"ブラウザにお任せ"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"sync"}]},{"type":"text","value":"すると、他のコンテンツがこの画像を読み込むのを待ちます＝表示が遅れるかもしれないな～"},{"type":"element","tag":"br","props":{},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"async"}]},{"type":"text","value":"すると、この画像のことは置いといて、読み込む＝この画像は後から追っかけ表示になるかもな～"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参照"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"element","tag":"a","props":{"href":"https://developer.mozilla.org/ja/docs/Web/API/HTMLImageElement/loading","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://developer.mozilla.org/ja/docs/Web/API/HTMLImageElement/loading"}]}]}]},{"type":"element","tag":"h2","props":{"id":"レスポンシブ画像"},"children":[{"type":"text","value":"レスポンシブ画像"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"レスポンシブでサイトがつくられるのも当たり前になってるけど、表示されるスクリーンサイズは様々で。さらに言うと、みため小さいのに、高解像度なデバイスもあったり。"},{"type":"element","tag":"br","props":{},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ムダに大きい画像を読み込むのも負担だし、スクリーンの画角によっては表示させたい画像範囲が違ったり。"},{"type":"element","tag":"br","props":{},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"えぇい！ややこしい！"},{"type":"element","tag":"br","props":{},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"に立ち向かいつつ、いい感じの画像を表示しようよ、っていうのがレスポンシブ画像。"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参考"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"element","tag":"a","props":{"href":"https://developer.mozilla.org/ja/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://developer.mozilla.org/ja/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images"}]}]}]},{"type":"element","tag":"h3","props":{"id":"ひとつのimgタグで読込わけるsrcsetとsizes属性"},"children":[{"type":"text","value":"ひとつのimgタグで読込わける"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"srcset"}]},{"type":"text","value":"と"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"sizes"}]},{"type":"text","value":"属性"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"画像のパスとサイズ"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"表示の条件"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"を指定することで、HTML上で条件をよみとって表示を切り替えることができる"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"HTMLの書き方は↓"}]},{"type":"element","tag":"code","props":{"code":"<img\n  srcset=\"hoge-small.jpg 320w,\n          hoge-medium.jpg 480w,\n          hoge-large.jpg 800w\"\n  sizes=\"(max-width: 320px) 280px,\n          (max-width: 480px) 440px,\n          800px\"\n  src=\"hoge-large.jpg\"\n>\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<img\n  srcset=\"hoge-small.jpg 320w,\n          hoge-medium.jpg 480w,\n          hoge-large.jpg 800w\"\n  sizes=\"(max-width: 320px) 280px,\n          (max-width: 480px) 440px,\n          800px\"\n  src=\"hoge-large.jpg\"\n>\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"src"}]},{"type":"text","value":"属性は<img>タグの必須要素なので、記載を忘れずに。候補画像のひとつとしても扱われるみたい。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"この方法は、"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"同じ画像のサイズ違いを表示させるというのが前提の方法"}]},{"type":"text","value":"。スクリーンサイズによって全然別のコンテンツを表示させたい場合には適さないので気をつけて！"}]},{"type":"element","tag":"h5","props":{"id":"画像のパスとサイズを指定する---srcset"},"children":[{"type":"text","value":"画像のパスとサイズを指定する - "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"srcset"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"srcset"}]},{"type":"text","value":"に【 "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"画像のパス"}]},{"type":"text","value":"+"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"半角スペース"}]},{"type":"text","value":"+"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"画像の横幅実寸ピクセルサイズ(単位:w)"}]},{"type":"text","value":"】をカンマ区切りで列挙。"}]},{"type":"element","tag":"code","props":{"code":"srcset=\"hoge-small.jpg 320w,\n        hoge-medium.jpg 480w,\n        hoge-large.jpg 800w\"\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"srcset=\"hoge-small.jpg 320w,\n        hoge-medium.jpg 480w,\n        hoge-large.jpg 800w\"\n"}]}]}]},{"type":"element","tag":"h5","props":{"id":"表示の条件を指定する---sizes"},"children":[{"type":"text","value":"表示の条件を指定する - "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"sizes"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"sizes"}]},{"type":"text","value":"に【"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"メディアクエリ"}]},{"type":"text","value":"+"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"空白"}]},{"type":"text","value":"+"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"条件成立時のソースサイズ(幅)"}]},{"type":"text","value":"】をリスト化。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n条件にあてはまらないときのデフォルトサイズとして、最後にメディアクエリ無しのものも記載しておきましょう。"}]},{"type":"element","tag":"code","props":{"code":"sizes= \"(max-width: 320px) 280px,\n        (max-width: 480px) 440px,\n        800px\"\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"sizes= \"(max-width: 320px) 280px,\n        (max-width: 480px) 440px,\n        800px\"\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"↑の例だと、"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"画面幅320px以下の時は280px位の横幅の画像"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"画面幅480px以下の時は440px位の横幅の画像"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"そうじゃないときは800px位の横幅の画像\nを、"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"srcset"}]},{"type":"text","value":"の画像から選ぶよ"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"な感じ。"}]},{"type":"element","tag":"h3","props":{"id":"表示サイズは同じ解像度だけでファイルを変えたい"},"children":[{"type":"text","value":"表示サイズは同じ。解像度だけでファイルを変えたい"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"srcset"}]},{"type":"text","value":"は横幅(単位:w)ではなく、画面解像度(単位:x)でも指定可能。\n↓にしておくと、解像度によって表示画像を切り替えてくれるそうな～"}]},{"type":"element","tag":"code","props":{"code":"<img\n  srcset=\"hoge-low.jpg,\n          hoge-middle.jpg 1.5x,\n          hoge-high.jpg 2x\"\n  src=\"hoge-high.jpg\"\n>\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<img\n  srcset=\"hoge-low.jpg,\n          hoge-middle.jpg 1.5x,\n          hoge-high.jpg 2x\"\n  src=\"hoge-high.jpg\"\n>\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"そもそもがっつり素材を変更できるpicture"},"children":[{"type":"text","value":"そもそもがっつり素材を変更できる"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<picture>"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"とりあえず、HTMLの書き方から。"}]},{"type":"element","tag":"code","props":{"code":"<picture>\n  <source media=\"(max-width: 680px)\" srcset=\"hoge-a.jpg\">\n  <source media=\"(max-width: 960px)\" srcset=\"hoge-b.jpg\">\n  <img src=\"hoge-b.jpg\" alt=\"hogeはhogeだよ\">\n</picture>\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<picture>\n  <source media=\"(max-width: 680px)\" srcset=\"hoge-a.jpg\">\n  <source media=\"(max-width: 960px)\" srcset=\"hoge-b.jpg\">\n  <img src=\"hoge-b.jpg\" alt=\"hogeはhogeだよ\">\n</picture>\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<picture>"}]},{"type":"text","value":"の中身は"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<source>"}]},{"type":"text","value":"を0個以上、"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<img>"}]},{"type":"text","value":"を1つ。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<source>"}]},{"type":"text","value":"でリストアップされている中からブラウザが条件に合うものを選択。適切なものがなかったら"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<img>"}]},{"type":"text","value":"を使う。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<source>"}]},{"type":"text","value":"に設定する値はこちら↓"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"プロパティ"}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"説明"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"media"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"表示の条件。メディアクエリを記載"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"srcset"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"前述の"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<img>"}]},{"type":"text","value":"での説明と同じ。"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"sizes"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"srcsetとセットで使うやつ。前述と一緒"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"MIMEタイプの宣言。宣言しておくと、その形式の対応ブラウザかどうかも指定できる"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"前述の例に"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"srcset"}]},{"type":"text","value":"をリストアップすることで、さらにいろいろよしなにブラウザに選んでもらえるようになるようで。"}]},{"type":"element","tag":"code","props":{"code":" <picture>\n  <source media=\"(max-width: 680px)\" srcset=\"hoge-small.png 720w, hoge-medium.png 1280w, hoge-large.png 1920w\"/>\n  <source media=\"(max-width: 960px)\" srcset=\"fuga-small.png 720w, fuga-medium.png 1280w, fuga-large.png 1920w\" />\n  <img src=\"hoge.png\" />\n</picture>\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":" <picture>\n  <source media=\"(max-width: 680px)\" srcset=\"hoge-small.png 720w, hoge-medium.png 1280w, hoge-large.png 1920w\"/>\n  <source media=\"(max-width: 960px)\" srcset=\"fuga-small.png 720w, fuga-medium.png 1280w, fuga-large.png 1920w\" />\n  <img src=\"hoge.png\" />\n</picture>\n"}]}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参照：\n"},{"type":"element","tag":"a","props":{"href":"https://developer.mozilla.org/ja/docs/Web/HTML/Element/picture","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://developer.mozilla.org/ja/docs/Web/HTML/Element/picture"}]}]}]},{"type":"element","tag":"h3","props":{"id":"img-srcsetとpicture"},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<img srcset>"}]},{"type":"text","value":"と"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<picture>"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<img srcset>"}]},{"type":"text","value":"はそもそも、同じ画像をサイズや解像度違いで準備していることを前提としているため、ブラウザによっては、先に大きい画像を読み込んでいるとウィンドウを小さい画像対応のものにリサイズしても、改めて読込直したり直さなかったりする…っぽい。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nに対して、"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<picture>"}]},{"type":"text","value":"はクライアントサイドの状態によって別のものを読み込むんじゃ～なタグ。"},{"type":"element","tag":"br","props":{},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"読み込むコンテンツの必要性によって使い分けれるといいね。"}]},{"type":"element","tag":"h2","props":{"id":"ファイルの圧縮と形式"},"children":[{"type":"text","value":"ファイルの圧縮と形式"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"最近使う系だと、この辺りでしょうか"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"形式(拡張子)"}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"説明"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"jpg"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"写真系の画像で使う非可逆圧縮な形式。適切に圧縮して使おうね"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"png"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"イラストとかで使うことが多い形式。透過部分がある画像にも使えるよ"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"svg"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"ベクター形式が使える=1ファイルでいろいろなサイズを画像の荒れなく表示できる形式"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"webp"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"jpgやpngより高い圧縮率で使える、今からいい感じな形式"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"これらのファイル形式を運用方式や制作制限等々にあわせて準備できるとよいですね～。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ちなみに、下記のように"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"type"}]},{"type":"text","value":"指定して書くと、"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"svgが使えるブラウザにはsvg"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"webpが使えるブラウザにはwebp"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"どちらも使えなかったらpng"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"のファイルが表示されるようにできるとよ。"}]},{"type":"element","tag":"code","props":{"code":"<picture>\n  <source type=\"image/svg+xml\" srcset=\"hoge.svg\">\n  <source type=\"image/webp\" srcset=\"hoge.webp\">\n  <img src=\"hoge.png\" alt=\"hogeなhoge画像\">\n</picture>\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<picture>\n  <source type=\"image/svg+xml\" srcset=\"hoge.svg\">\n  <source type=\"image/webp\" srcset=\"hoge.webp\">\n  <img src=\"hoge.png\" alt=\"hogeなhoge画像\">\n</picture>\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"おわり"},"children":[{"type":"text","value":"おわり"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"は～。ちょっとレイアウトシフトのこと書こうとしただけだったのに、いろいろ周辺情報付けたしたら長くなった…"}]}]},"draft":false,"publishedAt":"2022-8-16","eyecatch":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_600,h_248/v1661247274/memoThumb/img-loading.png","tags":["html","css"],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"やりたいこと"},"children":[{"type":"text","value":"やりたいこと"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"画像の表示ってとても必要だけど、快適にサイトを見るには作るの結構気を使うんですよね～。あまり気を使えてないから、ちょっと今一度メモメモしといて、気を使えるようになろうかな～。"}]},{"type":"element","tag":"h2","props":{"id":"レイアウトシフト回避"},"children":[{"type":"text","value":"レイアウトシフト回避"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"読込が遅れてるコンテンツが表示されることで、今まで見てたコンテンツが急にガクンと場所が変わる現象、レイアウトシフト。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n利用者視点で見ると結構イラっとするんですよね。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nページ読み込みきる前に目的のもの見つけてタップしようとした瞬間にズレっとかね。\nでも、画像を全部読み込み終わるまでなにの描画もしないなんてね…"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nそれも困るから、どうしといたらいいのかメモメモ。"}]},{"type":"element","tag":"h3","props":{"id":"htmlにwidthheight属性を追加"},"children":[{"type":"text","value":"HTMLにwidth/height属性を追加"}]},{"type":"element","tag":"code","props":{"code":"<img src=\"hoge.jpg\" width=\"300\" height=\"124\">\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"img"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"src"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hoge.jpg"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"width"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"300"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"height"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"124"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"従来は"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"width/height"}]},{"type":"text","value":"属性はピクセルの数値指定だったけど、現在は数値に単位を指定しないことで比率計算的(アスペクト比指定)に使えるらしい。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\ncssで↓的な指定をすれば、先祖要素をもとにレスポンシブ対応もできるよ。よきよき。"}]},{"type":"element","tag":"code","props":{"code":"img {\n  width: 100%;\n  height: auto;\n}\n","language":"css"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"img"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#97E1F1"}},"children":[{"type":"text","value":"width"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"100"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"%"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#97E1F1"}},"children":[{"type":"text","value":"height"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"auto"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"cssでaspect-ratioを設定する"},"children":[{"type":"text","value":"CSSで"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"aspect-ratio"}]},{"type":"text","value":"を設定する"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"CSSで"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"aspect-ratio"}]},{"type":"text","value":"を設定しておくと、CSSのレイアウト指定の計算でプレースホルダーの領域をあらかじめ指定しておけるそうな。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nIEがサヨナラした現在は普通に使えるし、便利！ありがたい！"}]},{"type":"element","tag":"code","props":{"code":"img {\n  width: 100%;\n  aspect-ratio: 16 / 9;\n}\n","language":"css"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"img"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#97E1F1"}},"children":[{"type":"text","value":"width"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"100"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"%"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  aspect-ratio"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"16"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" / "}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"9"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"パフォーマンス改善"},"children":[{"type":"text","value":"パフォーマンス改善"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ブラウザのリソース読込みに対して指定をすることで、ブラウザのローディングスレッドとコンテンツの表示のバランスをいい感じにして、早くユーザーさんにいい感じにコンテンツを届けましょ、っていう対応、それがパフォーマンス改善。"}]},{"type":"element","tag":"h3","props":{"id":"lazy-loading"},"children":[{"type":"text","value":"Lazy Loading"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Lazy Loadingとは、視覚的ビューポート（現在表示されているところ）以外の読込を遅らせるということ。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n読込遅延を発生させることで、文章の読込を最適化させることができる。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ひと昔まえまでは、遅延によってSEOの影響があるだとか、ブラウザによる対応がマチマチすぎるマチマチ感があった…気がするのだけど、今は単純明解。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"読込が発生しない分、レイアウトシフトもおきるので、回避する設定を一緒に行うことを忘れずに。"}]},{"type":"element","tag":"code","props":{"code":"<img src=\"hoge.jpg\" width=\"300\" height=\"124\" loading=\"lazy\">\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"img"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"src"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hoge.jpg"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"width"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"300"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"height"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"124"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"loading"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"lazy"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"loadingが取る値は↓"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"値"}]},{"type":"element","tag":"th","props":{"align":null},"children":[]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"説明"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"eager"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"既定値"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"すぐに画像読込開始"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"lazy"}]},{"type":"element","tag":"td","props":{"align":null},"children":[]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"ブラウザがこの画像が必要と判断するまで待て"}]}]}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参照"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"element","tag":"a","props":{"href":"https://developer.mozilla.org/ja/docs/Web/API/HTMLImageElement/loading","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://developer.mozilla.org/ja/docs/Web/API/HTMLImageElement/loading"}]}]}]},{"type":"element","tag":"h3","props":{"id":"読込み処理の指定decode"},"children":[{"type":"text","value":"読込み処理の指定（Decode）"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"とりあえず、書き方。"}]},{"type":"element","tag":"code","props":{"code":"<img src=\"hoge.jpg\" decoding=\"async\">\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"img"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"src"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hoge.jpg"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"decoding"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"decodingが取る値は↓。意訳してるので違う場合は教えてください…"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"値"}]},{"type":"element","tag":"th","props":{"align":null},"children":[]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"説明"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"sync"}]},{"type":"element","tag":"td","props":{"align":null},"children":[]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"他のコンテンツと同期的に読込みしてね"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"td","props":{"align":null},"children":[]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"他のコンテンツと非同期的に読込みしてね"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"auto"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"既定値"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"ブラウザにお任せ"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"sync"}]},{"type":"text","value":"すると、他のコンテンツがこの画像を読み込むのを待ちます＝表示が遅れるかもしれないな～"},{"type":"element","tag":"br","props":{},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"async"}]},{"type":"text","value":"すると、この画像のことは置いといて、読み込む＝この画像は後から追っかけ表示になるかもな～"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参照"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"element","tag":"a","props":{"href":"https://developer.mozilla.org/ja/docs/Web/API/HTMLImageElement/loading","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://developer.mozilla.org/ja/docs/Web/API/HTMLImageElement/loading"}]}]}]},{"type":"element","tag":"h2","props":{"id":"レスポンシブ画像"},"children":[{"type":"text","value":"レスポンシブ画像"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"レスポンシブでサイトがつくられるのも当たり前になってるけど、表示されるスクリーンサイズは様々で。さらに言うと、みため小さいのに、高解像度なデバイスもあったり。"},{"type":"element","tag":"br","props":{},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ムダに大きい画像を読み込むのも負担だし、スクリーンの画角によっては表示させたい画像範囲が違ったり。"},{"type":"element","tag":"br","props":{},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"えぇい！ややこしい！"},{"type":"element","tag":"br","props":{},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"に立ち向かいつつ、いい感じの画像を表示しようよ、っていうのがレスポンシブ画像。"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参考"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"element","tag":"a","props":{"href":"https://developer.mozilla.org/ja/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://developer.mozilla.org/ja/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images"}]}]}]},{"type":"element","tag":"h3","props":{"id":"ひとつのimgタグで読込わけるsrcsetとsizes属性"},"children":[{"type":"text","value":"ひとつのimgタグで読込わける"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"srcset"}]},{"type":"text","value":"と"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"sizes"}]},{"type":"text","value":"属性"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"画像のパスとサイズ"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"表示の条件"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"を指定することで、HTML上で条件をよみとって表示を切り替えることができる"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"HTMLの書き方は↓"}]},{"type":"element","tag":"code","props":{"code":"<img\n  srcset=\"hoge-small.jpg 320w,\n          hoge-medium.jpg 480w,\n          hoge-large.jpg 800w\"\n  sizes=\"(max-width: 320px) 280px,\n          (max-width: 480px) 440px,\n          800px\"\n  src=\"hoge-large.jpg\"\n>\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"img"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"srcset"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hoge-small.jpg 320w,"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"          hoge-medium.jpg 480w,"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"          hoge-large.jpg 800w"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"sizes"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"(max-width: 320px) 280px,"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"          (max-width: 480px) 440px,"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"          800px"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"src"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hoge-large.jpg"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"src"}]},{"type":"text","value":"属性は<img>タグの必須要素なので、記載を忘れずに。候補画像のひとつとしても扱われるみたい。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"この方法は、"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"同じ画像のサイズ違いを表示させるというのが前提の方法"}]},{"type":"text","value":"。スクリーンサイズによって全然別のコンテンツを表示させたい場合には適さないので気をつけて！"}]},{"type":"element","tag":"h5","props":{"id":"画像のパスとサイズを指定する---srcset"},"children":[{"type":"text","value":"画像のパスとサイズを指定する - "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"srcset"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"srcset"}]},{"type":"text","value":"に【 "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"画像のパス"}]},{"type":"text","value":"+"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"半角スペース"}]},{"type":"text","value":"+"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"画像の横幅実寸ピクセルサイズ(単位:w)"}]},{"type":"text","value":"】をカンマ区切りで列挙。"}]},{"type":"element","tag":"code","props":{"code":"srcset=\"hoge-small.jpg 320w,\n        hoge-medium.jpg 480w,\n        hoge-large.jpg 800w\"\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"srcset=\"hoge-small.jpg 320w,"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"        hoge-medium.jpg 480w,"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"        hoge-large.jpg 800w\""}]}]}]}]}]},{"type":"element","tag":"h5","props":{"id":"表示の条件を指定する---sizes"},"children":[{"type":"text","value":"表示の条件を指定する - "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"sizes"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"sizes"}]},{"type":"text","value":"に【"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"メディアクエリ"}]},{"type":"text","value":"+"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"空白"}]},{"type":"text","value":"+"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"条件成立時のソースサイズ(幅)"}]},{"type":"text","value":"】をリスト化。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n条件にあてはまらないときのデフォルトサイズとして、最後にメディアクエリ無しのものも記載しておきましょう。"}]},{"type":"element","tag":"code","props":{"code":"sizes= \"(max-width: 320px) 280px,\n        (max-width: 480px) 440px,\n        800px\"\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"sizes= \"(max-width: 320px) 280px,"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"        (max-width: 480px) 440px,"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"        800px\""}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"↑の例だと、"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"画面幅320px以下の時は280px位の横幅の画像"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"画面幅480px以下の時は440px位の横幅の画像"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"そうじゃないときは800px位の横幅の画像\nを、"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"srcset"}]},{"type":"text","value":"の画像から選ぶよ"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"な感じ。"}]},{"type":"element","tag":"h3","props":{"id":"表示サイズは同じ解像度だけでファイルを変えたい"},"children":[{"type":"text","value":"表示サイズは同じ。解像度だけでファイルを変えたい"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"srcset"}]},{"type":"text","value":"は横幅(単位:w)ではなく、画面解像度(単位:x)でも指定可能。\n↓にしておくと、解像度によって表示画像を切り替えてくれるそうな～"}]},{"type":"element","tag":"code","props":{"code":"<img\n  srcset=\"hoge-low.jpg,\n          hoge-middle.jpg 1.5x,\n          hoge-high.jpg 2x\"\n  src=\"hoge-high.jpg\"\n>\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"img"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"srcset"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hoge-low.jpg,"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"          hoge-middle.jpg 1.5x,"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"          hoge-high.jpg 2x"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"src"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hoge-high.jpg"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"そもそもがっつり素材を変更できるpicture"},"children":[{"type":"text","value":"そもそもがっつり素材を変更できる"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<picture>"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"とりあえず、HTMLの書き方から。"}]},{"type":"element","tag":"code","props":{"code":"<picture>\n  <source media=\"(max-width: 680px)\" srcset=\"hoge-a.jpg\">\n  <source media=\"(max-width: 960px)\" srcset=\"hoge-b.jpg\">\n  <img src=\"hoge-b.jpg\" alt=\"hogeはhogeだよ\">\n</picture>\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"picture"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"source"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"media"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"(max-width: 680px)"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"srcset"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hoge-a.jpg"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"source"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"media"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"(max-width: 960px)"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"srcset"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hoge-b.jpg"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"img"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"src"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hoge-b.jpg"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"alt"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hogeはhogeだよ"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"picture"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<picture>"}]},{"type":"text","value":"の中身は"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<source>"}]},{"type":"text","value":"を0個以上、"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<img>"}]},{"type":"text","value":"を1つ。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<source>"}]},{"type":"text","value":"でリストアップされている中からブラウザが条件に合うものを選択。適切なものがなかったら"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<img>"}]},{"type":"text","value":"を使う。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<source>"}]},{"type":"text","value":"に設定する値はこちら↓"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"プロパティ"}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"説明"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"media"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"表示の条件。メディアクエリを記載"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"srcset"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"前述の"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<img>"}]},{"type":"text","value":"での説明と同じ。"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"sizes"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"srcsetとセットで使うやつ。前述と一緒"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"MIMEタイプの宣言。宣言しておくと、その形式の対応ブラウザかどうかも指定できる"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"前述の例に"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"srcset"}]},{"type":"text","value":"をリストアップすることで、さらにいろいろよしなにブラウザに選んでもらえるようになるようで。"}]},{"type":"element","tag":"code","props":{"code":" <picture>\n  <source media=\"(max-width: 680px)\" srcset=\"hoge-small.png 720w, hoge-medium.png 1280w, hoge-large.png 1920w\"/>\n  <source media=\"(max-width: 960px)\" srcset=\"fuga-small.png 720w, fuga-medium.png 1280w, fuga-large.png 1920w\" />\n  <img src=\"hoge.png\" />\n</picture>\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"picture"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"source"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"media"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"(max-width: 680px)"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"srcset"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hoge-small.png 720w, hoge-medium.png 1280w, hoge-large.png 1920w"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"/>"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"source"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"media"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"(max-width: 960px)"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"srcset"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"fuga-small.png 720w, fuga-medium.png 1280w, fuga-large.png 1920w"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"img"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"src"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hoge.png"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"picture"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参照：\n"},{"type":"element","tag":"a","props":{"href":"https://developer.mozilla.org/ja/docs/Web/HTML/Element/picture","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://developer.mozilla.org/ja/docs/Web/HTML/Element/picture"}]}]}]},{"type":"element","tag":"h3","props":{"id":"img-srcsetとpicture"},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<img srcset>"}]},{"type":"text","value":"と"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<picture>"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<img srcset>"}]},{"type":"text","value":"はそもそも、同じ画像をサイズや解像度違いで準備していることを前提としているため、ブラウザによっては、先に大きい画像を読み込んでいるとウィンドウを小さい画像対応のものにリサイズしても、改めて読込直したり直さなかったりする…っぽい。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nに対して、"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<picture>"}]},{"type":"text","value":"はクライアントサイドの状態によって別のものを読み込むんじゃ～なタグ。"},{"type":"element","tag":"br","props":{},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"読み込むコンテンツの必要性によって使い分けれるといいね。"}]},{"type":"element","tag":"h2","props":{"id":"ファイルの圧縮と形式"},"children":[{"type":"text","value":"ファイルの圧縮と形式"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"最近使う系だと、この辺りでしょうか"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"形式(拡張子)"}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"説明"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"jpg"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"写真系の画像で使う非可逆圧縮な形式。適切に圧縮して使おうね"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"png"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"イラストとかで使うことが多い形式。透過部分がある画像にも使えるよ"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"svg"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"ベクター形式が使える=1ファイルでいろいろなサイズを画像の荒れなく表示できる形式"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"webp"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"jpgやpngより高い圧縮率で使える、今からいい感じな形式"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"これらのファイル形式を運用方式や制作制限等々にあわせて準備できるとよいですね～。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ちなみに、下記のように"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"type"}]},{"type":"text","value":"指定して書くと、"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"svgが使えるブラウザにはsvg"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"webpが使えるブラウザにはwebp"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"どちらも使えなかったらpng"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"のファイルが表示されるようにできるとよ。"}]},{"type":"element","tag":"code","props":{"code":"<picture>\n  <source type=\"image/svg+xml\" srcset=\"hoge.svg\">\n  <source type=\"image/webp\" srcset=\"hoge.webp\">\n  <img src=\"hoge.png\" alt=\"hogeなhoge画像\">\n</picture>\n","language":"html"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"picture"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"source"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"image/svg+xml"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"srcset"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hoge.svg"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"source"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"image/webp"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"srcset"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hoge.webp"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"img"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"src"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hoge.png"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"alt"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"hogeなhoge画像"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"picture"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"おわり"},"children":[{"type":"text","value":"おわり"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"は～。ちょっとレイアウトシフトのこと書こうとしただけだったのに、いろいろ周辺情報付けたしたら長くなった…"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"やりたいこと","depth":2,"text":"やりたいこと"},{"id":"レイアウトシフト回避","depth":2,"text":"レイアウトシフト回避","children":[{"id":"htmlにwidthheight属性を追加","depth":3,"text":"HTMLにwidth/height属性を追加"},{"id":"cssでaspect-ratioを設定する","depth":3,"text":"CSSでaspect-ratioを設定する"}]},{"id":"パフォーマンス改善","depth":2,"text":"パフォーマンス改善","children":[{"id":"lazy-loading","depth":3,"text":"Lazy Loading"},{"id":"読込み処理の指定decode","depth":3,"text":"読込み処理の指定（Decode）"}]},{"id":"レスポンシブ画像","depth":2,"text":"レスポンシブ画像","children":[{"id":"ひとつのimgタグで読込わけるsrcsetとsizes属性","depth":3,"text":"ひとつのimgタグで読込わけるsrcsetとsizes属性"},{"id":"表示サイズは同じ解像度だけでファイルを変えたい","depth":3,"text":"表示サイズは同じ。解像度だけでファイルを変えたい"},{"id":"そもそもがっつり素材を変更できるpicture","depth":3,"text":"そもそもがっつり素材を変更できる<picture>"},{"id":"img-srcsetとpicture","depth":3,"text":"<img srcset>と<picture>"}]},{"id":"ファイルの圧縮と形式","depth":2,"text":"ファイルの圧縮と形式"},{"id":"おわり","depth":2,"text":"おわり"}]}},"_type":"markdown","_id":"content:memo:img-loading.md","_source":"content","_file":"memo/img-loading.md","_extension":"md"},{"_path":"/memo/nuxt-content-component","_draft":false,"_partial":false,"_empty":false,"title":"【@nuxt/content V2】Proseコンポーネント/MDC Syntaxで記事のコンテンツタイプ/スタイルをもっと自由に","description":"","excerpt":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"やりたいこと"},"children":[{"type":"text","value":"やりたいこと"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"待ちに待った@nuxt/contentのVue3対応。contentがV2になって、ちょっとばかり以前とクセが違ってたりする中で、おそらく前にはなかったProseコードを活用してみたので、メモメモ。"}]},{"type":"element","tag":"h2","props":{"id":"nuxtcontentについてを簡単に解説"},"children":[{"type":"text","value":"@nuxt/contentについてを簡単に解説"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":".md"}]},{"type":"text","value":"形式を中心に、ルールにのっとってコンテンツを記載したファイルを作成することで簡易的にCMSとして活用できるNuxt用のモジュール。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nファイルの存在を確認して、テンプレートにコンテンツを表示したり、リストが作れたりとなにかと便利。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"詳細は"},{"type":"element","tag":"a","props":{"href":"https://content.nuxtjs.org","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"公式ドキュメント"}]},{"type":"text","value":"を確認。"}]},{"type":"element","tag":"h2","props":{"id":"proseコンポーネント"},"children":[{"type":"text","value":"Proseコンポーネント"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参照："},{"type":"element","tag":"br","props":{},"children":[]},{"type":"element","tag":"a","props":{"href":"https://content.nuxtjs.org/api/components/prose","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://content.nuxtjs.org/api/components/prose"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"まずは、あらかじめ@nuxt/content側で準備されているコンポーネント。\nmd形式で記載することで、自動でhtml変換してくれる。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"heading要素やリスト、リンク等いろいろとあるけれど、\nどんなものがあるのかは"},{"type":"element","tag":"a","props":{"href":"https://content.nuxtjs.org/api/components/prose","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"参照に記載のURL"}]},{"type":"text","value":"を見ることとして、"},{"type":"element","tag":"br","props":{},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ここでメモメモしておきたいことは↓"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"[参照URLより]"}]},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nTo overwrite a prose component, create a component with the same name in your project"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"components/content/"}]},{"type":"text","value":"directory (ex: components/content/ProseA.vue)"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"[訳]"}]},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nProseコンポーネントを上書きするには、"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"components/content/"}]},{"type":"text","value":"ディレクトリに、同じ名前でコンポーネントを作ってね（例：components/content/ProseA.vue）"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"例えばスタイリングのために要素を付けたしたい等々ある場合は、"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"components/content/ProseH1.vue"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"components/content/ProseUl.vue"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"components/content/ProseBlockquote.vue"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"と、ファイルを作って、mdに記入しているコンテンツを挿入する部分に"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<slot>"}]},{"type":"text","value":"を活用した↓のような記載をすれば、デフォルトから変更した要素のコンポーネントを作ることができるよ、ってこと。"}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <h1>\n    <span><slot /></span>\n  </h1>\n</template>\n","filename":"ProseH1.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<template>\n  <h1>\n    <span><slot /></span>\n  </h1>\n</template>\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"mdc-syntax"},"children":[{"type":"text","value":"MDC Syntax"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参照：\n"},{"type":"element","tag":"a","props":{"href":"https://content.nuxtjs.org/guide/writing/mdc","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://content.nuxtjs.org/guide/writing/mdc"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"MDC(MarkDown Components) っていうのを活用して、前述の既存のコンポーネント以外にも作成することができるよ、って雰囲気で説明いいのだろうか…。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"例えば"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"components/content/card.vue"}]},{"type":"text","value":"っていうコンポーネントを作成して"}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <div>\n    <slot />\n  </div>\n</template>\n","filename":"card.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<template>\n  <div>\n    <slot />\n  </div>\n</template>\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"コンテンツのmdファイルに↓のように書くと、"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"card.vue"}]},{"type":"text","value":"の"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<slot>"}]},{"type":"text","value":"部分にテキストが表示される。"}]},{"type":"element","tag":"code","props":{"code":"::card\ncardコンポーネントに記載するコンテンツ\n::\n","filename":"article.md","language":"md"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"::card\ncardコンポーネントに記載するコンテンツ\n::\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"記事(mdファイル)のbody部分に↓を書いて、対応するコンポーネントを作成！これを覚えておこう。"}]},{"type":"element","tag":"code","props":{"code":"::コンポーネント名\nコンテンツ\n::\n","language":"md"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"::コンポーネント名\nコンテンツ\n::\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"yaml-method"},"children":[{"type":"text","value":"YAML method"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"YAMLを混ぜ込むことで、もっと活用の幅が広がるよ、ということで、前述のcardコンポーネントを拡張してみる。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"まずはコンポーネントの拡張。"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"defineProps"}]},{"type":"text","value":"すると、項目を定義できる。そして、VueのPropsデータとしてテンプレートに埋め込み。"}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <div>\n    <div><img :src=\"image\"></div>\n    <div>{{title}}</div>\n    <div><slot /></div>\n  </div>\n</template>\n\n<script setup>\ndefineProps({\n  title: {\n    type: String,\n    default: ''\n  },\n  image: {\n    type: String,\n    default: ''\n  }\n})\n</script>\n","filename":"card.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<template>\n  <div>\n    <div><img :src=\"image\"></div>\n    <div>{{title}}</div>\n    <div><slot /></div>\n  </div>\n</template>\n\n<script setup>\ndefineProps({\n  title: {\n    type: String,\n    default: ''\n  },\n  image: {\n    type: String,\n    default: ''\n  }\n})\n</script>\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"コンテンツの方は"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"---"}]},{"type":"text","value":"で囲んだ内側にYAMLを書くとコンポーネントにPropsとして渡すことができる。"}]},{"type":"element","tag":"code","props":{"code":"::card\n---\ntitle: コンポーネントのタイトル\nimage: 画像のURL\n---\nコンポーネントの本文とか、ボディ要素的な。\n::\n","filename":"article.md","language":"md"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"::card\n---\ntitle: コンポーネントのタイトル\nimage: 画像のURL\n---\nコンポーネントの本文とか、ボディ要素的な。\n::\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"かんた～ん！"}]},{"type":"element","tag":"h3","props":{"id":"codeブロック"},"children":[{"type":"text","value":"Codeブロック"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"前バージョンの名残でわかるだろ、ってことなのか、記載がなくてちょっと悩んだのでメモメモ。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"デフォルトのCodeProseコンポーネントにはファイル名の表示がなく、追加したいのだけど、\nmd形式で記載すると、そのHTML変換が"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<pre><code>"}]},{"type":"text","value":"なので、内側に書くのも違う…"},{"type":"element","tag":"br","props":{},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"解決方法は↓"}]},{"type":"element","tag":"code","props":{"code":"---LangType [filename.html]\nhogehoge\n---\n","filename":"article.md","language":"md"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"---LangType [filename.html]\nhogehoge\n---\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <div class=\"code-box\">\n    <span>{{filename}}</span>\n    <slot />\n  </div>\n</template>\n\n\n<script setup>\ndefineProps({\n  filename: {\n    type: String,\n    default: ''\n  }\n})\n</script>\n","filename":"ProseCode","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<template>\n  <div class=\"code-box\">\n    <span>{{filename}}</span>\n    <slot />\n  </div>\n</template>\n\n\n<script setup>\ndefineProps({\n  filename: {\n    type: String,\n    default: ''\n  }\n})\n</script>\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"---LangType [ファイル名]"}]},{"type":"text","value":"と記載することで、"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"filename"}]},{"type":"text","value":"propとして取得できた！"}]},{"type":"element","tag":"h5","props":{"id":"おまけコードハイライト"},"children":[{"type":"text","value":"おまけ：コードハイライト"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参照：\n"},{"type":"element","tag":"a","props":{"href":"https://content.nuxtjs.org/api/configuration#highlight","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://content.nuxtjs.org/api/configuration#highlight"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"以前のバージョンでは、"},{"type":"element","tag":"a","props":{"href":"https://prismjs.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"PrismJS"}]},{"type":"text","value":"を採用していたみたいなのだけど、"},{"type":"element","tag":"a","props":{"href":"https://shiki.matsu.io/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"Shiki"}]},{"type":"text","value":"に変更。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n設定の仕方もシンプルに"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":"にテーマ名をちょっと追記するだけ。"}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtConfig({\n  content: {\n    highlight: {\n      theme: 'dracula-soft'\n    }\n  }\n})\n","filename":"nuxt.config.ts","language":"json"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n  content: {\n    highlight: {\n      theme: 'dracula-soft'\n    }\n  }\n})\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"おわり"},"children":[{"type":"text","value":"おわり"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"シンプルながら多機能に使える"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"@nuxt/content"}]},{"type":"text","value":"。コンポーネントの拡張についてだけでも、まだまだできることあるっぽい。またなにかしたくなったら調べよう～"}]}]},"draft":false,"publishedAt":"2022-8-24","eyecatch":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_600,h_248/v1661272138/memoThumb/nuxt-content-component.png","tags":["Vue","Nuxt","nuxt/content"],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"やりたいこと"},"children":[{"type":"text","value":"やりたいこと"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"待ちに待った@nuxt/contentのVue3対応。contentがV2になって、ちょっとばかり以前とクセが違ってたりする中で、おそらく前にはなかったProseコードを活用してみたので、メモメモ。"}]},{"type":"element","tag":"h2","props":{"id":"nuxtcontentについてを簡単に解説"},"children":[{"type":"text","value":"@nuxt/contentについてを簡単に解説"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":".md"}]},{"type":"text","value":"形式を中心に、ルールにのっとってコンテンツを記載したファイルを作成することで簡易的にCMSとして活用できるNuxt用のモジュール。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nファイルの存在を確認して、テンプレートにコンテンツを表示したり、リストが作れたりとなにかと便利。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"詳細は"},{"type":"element","tag":"a","props":{"href":"https://content.nuxtjs.org","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"公式ドキュメント"}]},{"type":"text","value":"を確認。"}]},{"type":"element","tag":"h2","props":{"id":"proseコンポーネント"},"children":[{"type":"text","value":"Proseコンポーネント"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参照："},{"type":"element","tag":"br","props":{},"children":[]},{"type":"element","tag":"a","props":{"href":"https://content.nuxtjs.org/api/components/prose","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://content.nuxtjs.org/api/components/prose"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"まずは、あらかじめ@nuxt/content側で準備されているコンポーネント。\nmd形式で記載することで、自動でhtml変換してくれる。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"heading要素やリスト、リンク等いろいろとあるけれど、\nどんなものがあるのかは"},{"type":"element","tag":"a","props":{"href":"https://content.nuxtjs.org/api/components/prose","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"参照に記載のURL"}]},{"type":"text","value":"を見ることとして、"},{"type":"element","tag":"br","props":{},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ここでメモメモしておきたいことは↓"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"[参照URLより]"}]},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nTo overwrite a prose component, create a component with the same name in your project"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"components/content/"}]},{"type":"text","value":"directory (ex: components/content/ProseA.vue)"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"[訳]"}]},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nProseコンポーネントを上書きするには、"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"components/content/"}]},{"type":"text","value":"ディレクトリに、同じ名前でコンポーネントを作ってね（例：components/content/ProseA.vue）"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"例えばスタイリングのために要素を付けたしたい等々ある場合は、"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"components/content/ProseH1.vue"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"components/content/ProseUl.vue"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"components/content/ProseBlockquote.vue"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"と、ファイルを作って、mdに記入しているコンテンツを挿入する部分に"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<slot>"}]},{"type":"text","value":"を活用した↓のような記載をすれば、デフォルトから変更した要素のコンポーネントを作ることができるよ、ってこと。"}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <h1>\n    <span><slot /></span>\n  </h1>\n</template>\n","filename":"ProseH1.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"h"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"1>"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"span"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"><"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"slot"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" /></"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"span"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  </"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"h"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"1>"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"mdc-syntax"},"children":[{"type":"text","value":"MDC Syntax"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参照：\n"},{"type":"element","tag":"a","props":{"href":"https://content.nuxtjs.org/guide/writing/mdc","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://content.nuxtjs.org/guide/writing/mdc"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"MDC(MarkDown Components) っていうのを活用して、前述の既存のコンポーネント以外にも作成することができるよ、って雰囲気で説明いいのだろうか…。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"例えば"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"components/content/card.vue"}]},{"type":"text","value":"っていうコンポーネントを作成して"}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <div>\n    <slot />\n  </div>\n</template>\n","filename":"card.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"slot"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  </"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"コンテンツのmdファイルに↓のように書くと、"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"card.vue"}]},{"type":"text","value":"の"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<slot>"}]},{"type":"text","value":"部分にテキストが表示される。"}]},{"type":"element","tag":"code","props":{"code":"::card\ncardコンポーネントに記載するコンテンツ\n::\n","filename":"article.md","language":"md"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"::"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"card"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"cardコンポーネントに記載するコンテンツ"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"::"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"記事(mdファイル)のbody部分に↓を書いて、対応するコンポーネントを作成！これを覚えておこう。"}]},{"type":"element","tag":"code","props":{"code":"::コンポーネント名\nコンテンツ\n::\n","language":"md"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"::"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"コンポーネント名"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"コンテンツ"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"::"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"yaml-method"},"children":[{"type":"text","value":"YAML method"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"YAMLを混ぜ込むことで、もっと活用の幅が広がるよ、ということで、前述のcardコンポーネントを拡張してみる。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"まずはコンポーネントの拡張。"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"defineProps"}]},{"type":"text","value":"すると、項目を定義できる。そして、VueのPropsデータとしてテンプレートに埋め込み。"}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <div>\n    <div><img :src=\"image\"></div>\n    <div>{{title}}</div>\n    <div><slot /></div>\n  </div>\n</template>\n\n<script setup>\ndefineProps({\n  title: {\n    type: String,\n    default: ''\n  },\n  image: {\n    type: String,\n    default: ''\n  }\n})\n</script>\n","filename":"card.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"><"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"img"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"src"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"image"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"></"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">{{"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"title"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"}}</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"><"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"slot"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" /></"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  </"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"setup"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"defineProps"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  title"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    type"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#97E1F1"}},"children":[{"type":"text","value":"String"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    default"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"''"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  image"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    type"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#97E1F1"}},"children":[{"type":"text","value":"String"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    default"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"''"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"コンテンツの方は"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"---"}]},{"type":"text","value":"で囲んだ内側にYAMLを書くとコンポーネントにPropsとして渡すことができる。"}]},{"type":"element","tag":"code","props":{"code":"::card\n---\ntitle: コンポーネントのタイトル\nimage: 画像のURL\n---\nコンポーネントの本文とか、ボディ要素的な。\n::\n","filename":"article.md","language":"md"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"::"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"card"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"---"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#97E1F1"}},"children":[{"type":"text","value":"title"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"コンポーネントのタイトル"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#97E1F1"}},"children":[{"type":"text","value":"image"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"画像のURL"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"---"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"コンポーネントの本文とか、ボディ要素的な。"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"::"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"かんた～ん！"}]},{"type":"element","tag":"h3","props":{"id":"codeブロック"},"children":[{"type":"text","value":"Codeブロック"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"前バージョンの名残でわかるだろ、ってことなのか、記載がなくてちょっと悩んだのでメモメモ。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"デフォルトのCodeProseコンポーネントにはファイル名の表示がなく、追加したいのだけど、\nmd形式で記載すると、そのHTML変換が"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"<pre><code>"}]},{"type":"text","value":"なので、内側に書くのも違う…"},{"type":"element","tag":"br","props":{},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"解決方法は↓"}]},{"type":"element","tag":"code","props":{"code":"---LangType [filename.html]\nhogehoge\n---\n","filename":"article.md","language":"md"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"---LangType ["}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"filename.html"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"hogehoge"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"---"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <div class=\"code-box\">\n    <span>{{filename}}</span>\n    <slot />\n  </div>\n</template>\n\n\n<script setup>\ndefineProps({\n  filename: {\n    type: String,\n    default: ''\n  }\n})\n</script>\n","filename":"ProseCode","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"class"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"code-box"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"span"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">{{"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"filename"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"}}</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"span"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"slot"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  </"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"setup"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"defineProps"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  filename"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    type"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#97E1F1"}},"children":[{"type":"text","value":"String"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    default"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"''"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"---LangType [ファイル名]"}]},{"type":"text","value":"と記載することで、"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"filename"}]},{"type":"text","value":"propとして取得できた！"}]},{"type":"element","tag":"h5","props":{"id":"おまけコードハイライト"},"children":[{"type":"text","value":"おまけ：コードハイライト"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参照：\n"},{"type":"element","tag":"a","props":{"href":"https://content.nuxtjs.org/api/configuration#highlight","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://content.nuxtjs.org/api/configuration#highlight"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"以前のバージョンでは、"},{"type":"element","tag":"a","props":{"href":"https://prismjs.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"PrismJS"}]},{"type":"text","value":"を採用していたみたいなのだけど、"},{"type":"element","tag":"a","props":{"href":"https://shiki.matsu.io/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"Shiki"}]},{"type":"text","value":"に変更。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n設定の仕方もシンプルに"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":"にテーマ名をちょっと追記するだけ。"}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtConfig({\n  content: {\n    highlight: {\n      theme: 'dracula-soft'\n    }\n  }\n})\n","filename":"nuxt.config.ts","language":"json"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"export default defineNuxtConfig({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#EE6666"}},"children":[{"type":"text","value":"content"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"style":{"color":"#EE6666"}},"children":[{"type":"text","value":"highlight"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"style":{"color":"#EE6666"}},"children":[{"type":"text","value":"theme"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#EE6666"}},"children":[{"type":"text","value":"'dracula-soft'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"})"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"おわり"},"children":[{"type":"text","value":"おわり"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"シンプルながら多機能に使える"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"@nuxt/content"}]},{"type":"text","value":"。コンポーネントの拡張についてだけでも、まだまだできることあるっぽい。またなにかしたくなったら調べよう～"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"やりたいこと","depth":2,"text":"やりたいこと"},{"id":"nuxtcontentについてを簡単に解説","depth":2,"text":"@nuxt/contentについてを簡単に解説"},{"id":"proseコンポーネント","depth":2,"text":"Proseコンポーネント"},{"id":"mdc-syntax","depth":2,"text":"MDC Syntax","children":[{"id":"yaml-method","depth":3,"text":"YAML method"},{"id":"codeブロック","depth":3,"text":"Codeブロック"}]},{"id":"おわり","depth":2,"text":"おわり"}]}},"_type":"markdown","_id":"content:memo:nuxt-content-component.md","_source":"content","_file":"memo/nuxt-content-component.md","_extension":"md"},{"_path":"/memo/vue-css-var","_draft":false,"_partial":false,"_empty":false,"title":"Vue単一コンポーネント内のjs・cssで変数を共有する","description":"","excerpt":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"やりたいこと"},"children":[{"type":"text","value":"やりたいこと"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"おなじファイルの中に書いてるんだから、JavaScriptとCSSで変数、共有できたらいいのに。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nサイズとか、色とか、状態とか。なんかできたほうが便利そう。"}]},{"type":"element","tag":"h2","props":{"id":"javascript---css"},"children":[{"type":"text","value":"JavaScript -> CSS"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"JavaScriptで定義した変数をCSSで利用するのは、シンプルだった。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nJavaScript側で"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"ref"}]},{"type":"text","value":"を使って定義、CSS側で"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"v-bind"}]},{"type":"text","value":"を使って呼び出し。"}]},{"type":"element","tag":"code","props":{"code":"<script setup>\n  const color = ref(\"#008900\");\n</script>\n\n<style scoped>\n  .canvas {\n    color: v-bind(color);\n  }\n</style>\n","filename":"child.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<script setup>\n  const color = ref(\"#008900\");\n</script>\n\n<style scoped>\n  .canvas {\n    color: v-bind(color);\n  }\n</style>\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"css---javascript"},"children":[{"type":"text","value":"CSS -> JavaScript"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"CSSで定義した変数（カスタムプロパティ）をJavascriptで使う。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nJsからカスタムプロパティを定義したDOMのプロパティを取得する。"}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <div v-for=\"i of canvasCount\" class=\"box\" :key=\"i\"></div>\n</template>\n\n<script>\nexport default {\n  data() {\n    return {\n      canvasCount: 1\n    }\n  },\n\n  mounted() {\n    let c = getComputedStyle(document.querySelector('.box')).getPropertyValue('--box-count')\n    this.canvasCount = c\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.box {\n  $canvas-count: 6;\n  --canvas-count: #{$canvas-count};\n}\n</style>\n","filename":"child.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<template>\n  <div v-for=\"i of canvasCount\" class=\"box\" :key=\"i\"></div>\n</template>\n\n<script>\nexport default {\n  data() {\n    return {\n      canvasCount: 1\n    }\n  },\n\n  mounted() {\n    let c = getComputedStyle(document.querySelector('.box')).getPropertyValue('--box-count')\n    this.canvasCount = c\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.box {\n  $canvas-count: 6;\n  --canvas-count: #{$canvas-count};\n}\n</style>\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"sassのfunctionに変数としてはつかえない"},"children":[{"type":"text","value":"Sassのfunctionに変数としてはつかえない"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Sassの関数（function）に使う条件としては変数は使えない。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n例えば↓"}]},{"type":"element","tag":"code","props":{"code":"<script setup>\n  const count = ref(3);\n</script>\n\n<style lang=\"scss\" scoped>\n$count: v-bind(count);\n\n@for $i from 1 through #{$count} {\n  ul:nth-child(3n + #{$i}) {\n    background-color: lighten($base-color, $i * 5%);\n  }\n}\n","filename":"child.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<script setup>\n  const count = ref(3);\n</script>\n\n<style lang=\"scss\" scoped>\n$count: v-bind(count);\n\n@for $i from 1 through #{$count} {\n  ul:nth-child(3n + #{$i}) {\n    background-color: lighten($base-color, $i * 5%);\n  }\n}\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"これは、"}]},{"type":"element","tag":"code","props":{"code":"@for $i from 1 through var(--componentIDっぽいやつ-count（具体例：--48de8c64-count）) {\n\n}\n","filename":"child.vue","language":"Sass"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"@for $i from 1 through var(--componentIDっぽいやつ-count（具体例：--48de8c64-count）) {\n\n}\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"と展開されて、コンパイルエラーになる。"}]}]},"draft":false,"publishedAt":"2022-9-7","eyecatch":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_600,h_248/v1662533374/memoThumb/vue-css-var.png","tags":["Vue","JavaScript","css","scss"],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"やりたいこと"},"children":[{"type":"text","value":"やりたいこと"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"おなじファイルの中に書いてるんだから、JavaScriptとCSSで変数、共有できたらいいのに。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nサイズとか、色とか、状態とか。なんかできたほうが便利そう。"}]},{"type":"element","tag":"h2","props":{"id":"javascript---css"},"children":[{"type":"text","value":"JavaScript -> CSS"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"JavaScriptで定義した変数をCSSで利用するのは、シンプルだった。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nJavaScript側で"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"ref"}]},{"type":"text","value":"を使って定義、CSS側で"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"v-bind"}]},{"type":"text","value":"を使って呼び出し。"}]},{"type":"element","tag":"code","props":{"code":"<script setup>\n  const color = ref(\"#008900\");\n</script>\n\n<style scoped>\n  .canvas {\n    color: v-bind(color);\n  }\n</style>\n","filename":"child.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"setup"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" color "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"ref"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"#008900"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"style"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"scoped"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":".canvas"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"style":{"color":"#97E1F1"}},"children":[{"type":"text","value":"color"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" v-bind("}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"color"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"style"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"css---javascript"},"children":[{"type":"text","value":"CSS -> JavaScript"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"CSSで定義した変数（カスタムプロパティ）をJavascriptで使う。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nJsからカスタムプロパティを定義したDOMのプロパティを取得する。"}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <div v-for=\"i of canvasCount\" class=\"box\" :key=\"i\"></div>\n</template>\n\n<script>\nexport default {\n  data() {\n    return {\n      canvasCount: 1\n    }\n  },\n\n  mounted() {\n    let c = getComputedStyle(document.querySelector('.box')).getPropertyValue('--box-count')\n    this.canvasCount = c\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.box {\n  $canvas-count: 6;\n  --canvas-count: #{$canvas-count};\n}\n</style>\n","filename":"child.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"v-for"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"i "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"of"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" canvasCount"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"class"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"box"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"key"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"i"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"></"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"() {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      canvasCount"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"1"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"mounted"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"() {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"let"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" c "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"getComputedStyle"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"(document."}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"querySelector"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":".box"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"))."}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"getPropertyValue"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"--box-count"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":".canvasCount "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" c"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"style"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"lang"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"scss"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"scoped"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"box"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  $"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"canvas-count:"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" 6;"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  --"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"canvas-count:"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" #{$"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"canvas-count"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"};"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"style"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"sassのfunctionに変数としてはつかえない"},"children":[{"type":"text","value":"Sassのfunctionに変数としてはつかえない"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Sassの関数（function）に使う条件としては変数は使えない。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n例えば↓"}]},{"type":"element","tag":"code","props":{"code":"<script setup>\n  const count = ref(3);\n</script>\n\n<style lang=\"scss\" scoped>\n$count: v-bind(count);\n\n@for $i from 1 through #{$count} {\n  ul:nth-child(3n + #{$i}) {\n    background-color: lighten($base-color, $i * 5%);\n  }\n}\n","filename":"child.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"setup"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" count "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"ref"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"style"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"lang"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"scss"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"scoped"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"$"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"count:"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"v-bind"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"count"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"@"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"for"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" $"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"i"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" 1 "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"through"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" #{$"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"count"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"} {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"ul:nth-child"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"(3n + #{$"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"i"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"}) {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"background-color:"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"lighten"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"($"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"base-color"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":", $"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"i"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" * 5%);"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"これは、"}]},{"type":"element","tag":"code","props":{"code":"@for $i from 1 through var(--componentIDっぽいやつ-count（具体例：--48de8c64-count）) {\n\n}\n","filename":"child.vue","language":"Sass"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{}},"children":[{"type":"text","value":"@for $i from 1 through var(--componentIDっぽいやつ-count（具体例：--48de8c64-count）) {\n\n}"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"と展開されて、コンパイルエラーになる。"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"やりたいこと","depth":2,"text":"やりたいこと"},{"id":"javascript---css","depth":2,"text":"JavaScript -> CSS"},{"id":"css---javascript","depth":2,"text":"CSS -> JavaScript","children":[{"id":"sassのfunctionに変数としてはつかえない","depth":3,"text":"Sassのfunctionに変数としてはつかえない"}]}]}},"_type":"markdown","_id":"content:memo:vue-css-var.md","_source":"content","_file":"memo/vue-css-var.md","_extension":"md"},{"_path":"/memo/vue-input-model","_draft":false,"_partial":false,"_empty":false,"title":"【Vue3】v-modelを親子コンポーネントのフォーム要素で使う","description":"","excerpt":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"やりたいこと"},"children":[{"type":"text","value":"やりたいこと"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"フォーム要素の子コンポーネントでの値の変更と、親要素で所持する値を同期。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n下記に書くことは、\n"},{"type":"element","tag":"a","props":{"href":"https://v3.ja.vuejs.org/guide/migration/v-model.html","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://v3.ja.vuejs.org/guide/migration/v-model.html"}]},{"type":"text","value":"\nの内容のお勉強メモ。"}]},{"type":"element","tag":"h2","props":{"id":"vue2のころのはなし"},"children":[{"type":"text","value":"Vue2のころのはなし"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"わたしの勘違いなら申し訳ないのですが、\n【Vue ver.2】では"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"親コンポーネントで値を設定、modelとしてリアクティブにテンプレート要素に渡す。"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"子コンポーネントで値を受け取り、propsは直接変更できないので、data(computed)に渡す。"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"子コンポーネントで値の変更を検知したら、親要素にemitで変更通知"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"親子コンポーネントで変更を受け取って、データに渡す"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"っていう流れが必要だった…と思ってます。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"コードで書くと、こんな感じ。\n(syncとか使えばまた違ってたんですね…　勉強不足。)"}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <FormsElInputText\n    :model=\"formdata.text\"\n    placeholder=\"入力してください\"\n    @changed=\"ChangeInputeTextText\"\n  />\n</template>\n\n<script>\nexport default {\n  data () {\n    return {\n      formdata: {\n        text: null,\n      }\n    }\n  },\n\n  methods: {\n    ChangeInputeTextText (value) {\n      this.formdata.text = value\n    }\n  }\n}\n</script>\n\n","filename":"parent.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<template>\n  <FormsElInputText\n    :model=\"formdata.text\"\n    placeholder=\"入力してください\"\n    @changed=\"ChangeInputeTextText\"\n  />\n</template>\n\n<script>\nexport default {\n  data () {\n    return {\n      formdata: {\n        text: null,\n      }\n    }\n  },\n\n  methods: {\n    ChangeInputeTextText (value) {\n      this.formdata.text = value\n    }\n  }\n}\n</script>\n\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <div class=\"control-input\">\n    <input type=\"text\" v-model=\"mval\" />\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    model: {type: String, required: false},\n  },\n\n  emits:['changed'],\n\n  computed: {\n    mval: {\n      get() {\n        if (this.model) {\n          return this.model\n        } else {\n          return null\n        }\n      },\n      set(nVal) {\n        this.$emit('changed', nVal)\n      }\n    }\n  }\n}\n</script>\n\n","filename":"child.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<template>\n  <div class=\"control-input\">\n    <input type=\"text\" v-model=\"mval\" />\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    model: {type: String, required: false},\n  },\n\n  emits:['changed'],\n\n  computed: {\n    mval: {\n      get() {\n        if (this.model) {\n          return this.model\n        } else {\n          return null\n        }\n      },\n      set(nVal) {\n        this.$emit('changed', nVal)\n      }\n    }\n  }\n}\n</script>\n\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"vue3で使う"},"children":[{"type":"text","value":"Vue3で使う"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Vue3ではなんだか、書き方がシンプルにできるようで、見慣れなくて戸惑ってます。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n参考URLのところにあるような書き方を元からしていたら、そんなもんかと思えたような気もするのですが。"}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <div class=\"page\">\n    <ElementsInputText\n      type=\"password\"\n      placeholder=\"パスワードを入力してください\"\n      v-model:inputText=\"inputText\"\n    />\n  </div>\n</template>\n\n<script>\nexport default {\n  data() {\n    return {\n      inputText: null,\n    }\n  }\n}\n</script>\n","filename":"parent.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<template>\n  <div class=\"page\">\n    <ElementsInputText\n      type=\"password\"\n      placeholder=\"パスワードを入力してください\"\n      v-model:inputText=\"inputText\"\n    />\n  </div>\n</template>\n\n<script>\nexport default {\n  data() {\n    return {\n      inputText: null,\n    }\n  }\n}\n</script>\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <div class=\"control-input\">\n    <input\n      type=\"text\"\n      :value=\"inputText\"\n      @input=\"$emit('update:inputText', $event.target.value)\"\n    />\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    inputText: {\n      type: String\n    }\n  },\n\n  emits: ['update:inputText'],\n}\n</script>\n\n","filename":"childe.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<template>\n  <div class=\"control-input\">\n    <input\n      type=\"text\"\n      :value=\"inputText\"\n      @input=\"$emit('update:inputText', $event.target.value)\"\n    />\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    inputText: {\n      type: String\n    }\n  },\n\n  emits: ['update:inputText'],\n}\n</script>\n\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ちなみに"}]},{"type":"element","tag":"code","props":{"code":"<ChildComponent v-model:PropName=\"BindingDataValue\" />\n","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<ChildComponent v-model:PropName=\"BindingDataValue\" />\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"は、"}]},{"type":"element","tag":"code","props":{"code":"<ChildComponent :PropName=\"BindingDataValue\" @update:PropName=\"BindingDataValue = $event\" />\n","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"<ChildComponent :PropName=\"BindingDataValue\" @update:PropName=\"BindingDataValue = $event\" />\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"の省略形なのだそうで。"}]}]},"draft":false,"publishedAt":"2022-8-12","eyecatch":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_600,h_248/v1660630401/memoThumb/vue-input-model.png","tags":["Vue","Nuxt"],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"やりたいこと"},"children":[{"type":"text","value":"やりたいこと"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"フォーム要素の子コンポーネントでの値の変更と、親要素で所持する値を同期。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n下記に書くことは、\n"},{"type":"element","tag":"a","props":{"href":"https://v3.ja.vuejs.org/guide/migration/v-model.html","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://v3.ja.vuejs.org/guide/migration/v-model.html"}]},{"type":"text","value":"\nの内容のお勉強メモ。"}]},{"type":"element","tag":"h2","props":{"id":"vue2のころのはなし"},"children":[{"type":"text","value":"Vue2のころのはなし"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"わたしの勘違いなら申し訳ないのですが、\n【Vue ver.2】では"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"親コンポーネントで値を設定、modelとしてリアクティブにテンプレート要素に渡す。"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"子コンポーネントで値を受け取り、propsは直接変更できないので、data(computed)に渡す。"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"子コンポーネントで値の変更を検知したら、親要素にemitで変更通知"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"親子コンポーネントで変更を受け取って、データに渡す"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"っていう流れが必要だった…と思ってます。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"コードで書くと、こんな感じ。\n(syncとか使えばまた違ってたんですね…　勉強不足。)"}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <FormsElInputText\n    :model=\"formdata.text\"\n    placeholder=\"入力してください\"\n    @changed=\"ChangeInputeTextText\"\n  />\n</template>\n\n<script>\nexport default {\n  data () {\n    return {\n      formdata: {\n        text: null,\n      }\n    }\n  },\n\n  methods: {\n    ChangeInputeTextText (value) {\n      this.formdata.text = value\n    }\n  }\n}\n</script>\n\n","filename":"parent.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"FormsElInputText"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"model"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"formdata.text"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"placeholder"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"入力してください"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"@"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"changed"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"ChangeInputeTextText"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  />"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" () {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      formdata"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"        text"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"null"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  methods"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"ChangeInputeTextText"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"style":{"color":"#FFB86C"}},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":") {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":".formdata.text "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" value"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <div class=\"control-input\">\n    <input type=\"text\" v-model=\"mval\" />\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    model: {type: String, required: false},\n  },\n\n  emits:['changed'],\n\n  computed: {\n    mval: {\n      get() {\n        if (this.model) {\n          return this.model\n        } else {\n          return null\n        }\n      },\n      set(nVal) {\n        this.$emit('changed', nVal)\n      }\n    }\n  }\n}\n</script>\n\n","filename":"child.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"class"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"control-input"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"text"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"v-model"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"mval"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  </"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  props"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    model"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {type"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#97E1F1"}},"children":[{"type":"text","value":"String"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":", required"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"},"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  emits"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"changed"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  computed"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    mval"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"() {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"if"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":".model) {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"          "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":".model"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"        } "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"else"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"          "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"null"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"        }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":{"color":"#FFB86C"}},"children":[{"type":"text","value":"nVal"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":") {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"$emit"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"changed"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":", nVal)"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"vue3で使う"},"children":[{"type":"text","value":"Vue3で使う"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Vue3ではなんだか、書き方がシンプルにできるようで、見慣れなくて戸惑ってます。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n参考URLのところにあるような書き方を元からしていたら、そんなもんかと思えたような気もするのですが。"}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <div class=\"page\">\n    <ElementsInputText\n      type=\"password\"\n      placeholder=\"パスワードを入力してください\"\n      v-model:inputText=\"inputText\"\n    />\n  </div>\n</template>\n\n<script>\nexport default {\n  data() {\n    return {\n      inputText: null,\n    }\n  }\n}\n</script>\n","filename":"parent.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"class"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"page"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"ElementsInputText"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"password"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"placeholder"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"パスワードを入力してください"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"v-model"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"inputText"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"inputText"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    />"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  </"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"() {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      inputText"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"null"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"<template>\n  <div class=\"control-input\">\n    <input\n      type=\"text\"\n      :value=\"inputText\"\n      @input=\"$emit('update:inputText', $event.target.value)\"\n    />\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    inputText: {\n      type: String\n    }\n  },\n\n  emits: ['update:inputText'],\n}\n</script>\n\n","filename":"childe.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"class"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"control-input"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    <"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"input"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"text"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"inputText"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"@"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"$emit"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"update:inputText"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":", $event.target.value)"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    />"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  </"}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  props"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    inputText"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"      type"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#97E1F1"}},"children":[{"type":"text","value":"String"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  emits"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" ["}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"update:inputText"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"</"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ちなみに"}]},{"type":"element","tag":"code","props":{"code":"<ChildComponent v-model:PropName=\"BindingDataValue\" />\n","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<ChildComponent v-model:PropName=\"BindingDataValue\" />"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"は、"}]},{"type":"element","tag":"code","props":{"code":"<ChildComponent :PropName=\"BindingDataValue\" @update:PropName=\"BindingDataValue = $event\" />\n","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"<ChildComponent :PropName=\"BindingDataValue\" @update:PropName=\"BindingDataValue = $event\" />"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"の省略形なのだそうで。"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"やりたいこと","depth":2,"text":"やりたいこと"},{"id":"vue2のころのはなし","depth":2,"text":"Vue2のころのはなし"},{"id":"vue3で使う","depth":2,"text":"Vue3で使う"}]}},"_type":"markdown","_id":"content:memo:vue-input-model.md","_source":"content","_file":"memo/vue-input-model.md","_extension":"md"},{"_path":"/portfolio/detail/hanane_corp","_draft":false,"_partial":false,"_empty":false,"title":"hanane コーポレートサイト・販促ツール","description":"株式会社hanane コーポレートサイト","excerpt":{"type":"root","children":[{"type":"element","tag":"portfolio-column","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:column1":""},"children":[{"type":"element","tag":"h2","props":{"id":"overview"},"children":[{"type":"text","value":"overview"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"広報・PR掲載のみを展開していたWEBサイトを拡張、企業メッセージやユーザー向けの情報などへ拡張。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n関連キーワード検索でも当公式サイトが掲載されるようにコンテンツ展開を行う。"}]}]},{"type":"element","tag":"template","props":{"v-slot:column2":""},"children":[{"type":"element","tag":"portfolio-image","props":{"alt":"チャンスフラワーとは","src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_600,h_600/v1656833626/portfolio/hanane/corp_web/hanane_chanceflower_l.webp","src_all":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,w_600/v1656833626/portfolio/hanane/corp_web/hanane_chanceflower_l.webp"},"children":[]}]}]},{"type":"element","tag":"portfolio-column","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:column2":""},"children":[{"type":"element","tag":"h2","props":{"id":"一般ユーザー向け"},"children":[{"type":"text","value":"一般ユーザー向け"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"イベントのスケジュールや申し込み、出張販売のスケジュールなど一般ユーザー向けへの案内をWEB化。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n販促グッズへのQR掲載やLINE Officialアカウントからの誘導で、それまで店頭および電話対応で行っていたスケジュールの案内をユーザーのタイミングで確認できるように。"}]}]},{"type":"element","tag":"template","props":{"v-slot:column1":""},"children":[{"type":"element","tag":"portfolio-image","props":{"alt":"花つみカレンダー","src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_600,h_600,g_north/v1656833575/portfolio/hanane/corp_web/hanane_hanakai-list_l.webp","src_all":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,w_600/v1656833575/portfolio/hanane/corp_web/hanane_hanakai-list_l.webp"},"children":[]}]}]},{"type":"element","tag":"portfolio-column","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:column1":""},"children":[{"type":"element","tag":"h2","props":{"id":"企業店舗向け"},"children":[{"type":"text","value":"企業・店舗向け"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"販売箇所は直営店舗のみではなく、様々な街角の軒先を活用。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nご協力いただく店舗拡張のためのPRページを作成、申し込みや申し込みいただいた店舗の管理システムを作成。"}]}]},{"type":"element","tag":"template","props":{"v-slot:column2":""},"children":[{"type":"element","tag":"portfolio-image","props":{"alt":"設置個所募集LP","src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_600,h_600,g_north/v1656833634/portfolio/hanane/corp_web/hanane_collab_l.webp","src_all":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,w_600/v1656833634/portfolio/hanane/corp_web/hanane_collab_l.webp"},"children":[]}]}]},{"type":"element","tag":"portfolio-column","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:column2":""},"children":[{"type":"element","tag":"h2","props":{"id":"マルチデバイス"},"children":[{"type":"text","value":"マルチデバイス"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"全ページレスポンシブ対応。一般ユーザーや個人店舗の方への案内などスマートフォンやタブレットでの閲覧も省ストレスでご利用いただく。"}]}]},{"type":"element","tag":"template","props":{"v-slot:column1":""},"children":[{"type":"element","tag":"portfolio-image","props":{"alt":"店舗リスト","src":"https://res.cloudinary.com/nieve/image/upload/c_crop,g_north,h_500,w_320,x_0,y_1080/v1656833585/portfolio/hanane/corp_web/hanane_store_s.webp","src_all":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,w_370/v1656833585/portfolio/hanane/corp_web/hanane_store_s.webp"},"children":[]}]}]}]},"url":"https://hanane.co.jp","warning":"※現在、上記URLは機能しておりません。同一のものが、株式会社Hanavieさまのサイト(https://hanavie.co.jp/)にてご確認いただけます。","image":{"src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_800,h_500,g_north/v1656833645/portfolio/hanane/corp_web/hanane_top_l.webp","src_all":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,w_800/v1656833645/portfolio/hanane/corp_web/hanane_top_l.webp"},"year":2020,"priority":1,"role":["planning","design","front-end"],"tool":["WordPress","GoogleAnalytics","HTML / css","Photoshop","Illustrator","AfterEffects"],"body":{"type":"root","children":[{"type":"element","tag":"portfolio-column","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:column1":""},"children":[{"type":"element","tag":"h2","props":{"id":"overview"},"children":[{"type":"text","value":"overview"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"広報・PR掲載のみを展開していたWEBサイトを拡張、企業メッセージやユーザー向けの情報などへ拡張。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n関連キーワード検索でも当公式サイトが掲載されるようにコンテンツ展開を行う。"}]}]},{"type":"element","tag":"template","props":{"v-slot:column2":""},"children":[{"type":"element","tag":"portfolio-image","props":{"alt":"チャンスフラワーとは","src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_600,h_600/v1656833626/portfolio/hanane/corp_web/hanane_chanceflower_l.webp","src_all":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,w_600/v1656833626/portfolio/hanane/corp_web/hanane_chanceflower_l.webp"},"children":[]}]}]},{"type":"element","tag":"portfolio-column","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:column2":""},"children":[{"type":"element","tag":"h2","props":{"id":"一般ユーザー向け"},"children":[{"type":"text","value":"一般ユーザー向け"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"イベントのスケジュールや申し込み、出張販売のスケジュールなど一般ユーザー向けへの案内をWEB化。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n販促グッズへのQR掲載やLINE Officialアカウントからの誘導で、それまで店頭および電話対応で行っていたスケジュールの案内をユーザーのタイミングで確認できるように。"}]}]},{"type":"element","tag":"template","props":{"v-slot:column1":""},"children":[{"type":"element","tag":"portfolio-image","props":{"alt":"花つみカレンダー","src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_600,h_600,g_north/v1656833575/portfolio/hanane/corp_web/hanane_hanakai-list_l.webp","src_all":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,w_600/v1656833575/portfolio/hanane/corp_web/hanane_hanakai-list_l.webp"},"children":[]}]}]},{"type":"element","tag":"portfolio-column","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:column1":""},"children":[{"type":"element","tag":"h2","props":{"id":"企業店舗向け"},"children":[{"type":"text","value":"企業・店舗向け"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"販売箇所は直営店舗のみではなく、様々な街角の軒先を活用。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nご協力いただく店舗拡張のためのPRページを作成、申し込みや申し込みいただいた店舗の管理システムを作成。"}]}]},{"type":"element","tag":"template","props":{"v-slot:column2":""},"children":[{"type":"element","tag":"portfolio-image","props":{"alt":"設置個所募集LP","src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_600,h_600,g_north/v1656833634/portfolio/hanane/corp_web/hanane_collab_l.webp","src_all":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,w_600/v1656833634/portfolio/hanane/corp_web/hanane_collab_l.webp"},"children":[]}]}]},{"type":"element","tag":"portfolio-column","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:column2":""},"children":[{"type":"element","tag":"h2","props":{"id":"マルチデバイス"},"children":[{"type":"text","value":"マルチデバイス"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"全ページレスポンシブ対応。一般ユーザーや個人店舗の方への案内などスマートフォンやタブレットでの閲覧も省ストレスでご利用いただく。"}]}]},{"type":"element","tag":"template","props":{"v-slot:column1":""},"children":[{"type":"element","tag":"portfolio-image","props":{"alt":"店舗リスト","src":"https://res.cloudinary.com/nieve/image/upload/c_crop,g_north,h_500,w_320,x_0,y_1080/v1656833585/portfolio/hanane/corp_web/hanane_store_s.webp","src_all":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,w_370/v1656833585/portfolio/hanane/corp_web/hanane_store_s.webp"},"children":[]}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:portfolio:detail:1.hanane_corp.md","_source":"content","_file":"portfolio/detail/1.hanane_corp.md","_extension":"md"},{"_path":"/portfolio/detail/hanane_line","_draft":false,"_partial":false,"_empty":false,"title":"hanane 公式LINEアカウント／MEO","description":"meta description of the page","excerpt":{"type":"root","children":[{"type":"element","tag":"portfolio-column","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:column1":""},"children":[{"type":"element","tag":"h2","props":{"id":"line-bot"},"children":[{"type":"text","value":"LINE bot"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"LINEの公式アカウント（@hanane）にて、問い合わせ内容をbotメッセージ化。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n後述のマガジンでのお知らせを受け取るユーザーをキャッチするための目的を果たしつつ、WEBの一般ユーザー向けコンテンツのブックマーク的役割として利用されるユーザーを見受けることもできた。"}]}]},{"type":"element","tag":"template","props":{"v-slot:column2":""},"children":[{"type":"element","tag":"portfolio-image","props":{"alt":"","src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_600,h_370,g_north_east/v1659527863/portfolio/hanane/line/LINE_talk_bot.webp","src_all":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,w_600/v1659527863/portfolio/hanane/line/LINE_talk_bot.webp"},"children":[]}]}]},{"type":"element","tag":"portfolio-column","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:column2":""},"children":[{"type":"element","tag":"h2","props":{"id":"line-マガジン"},"children":[{"type":"text","value":"LINE マガジン"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"メールマガジンとあわせて公式アカウントへコンテンツを配信。季節の企画商品のEC販売への流入や、イベントの情報を月に1度程度のペースで配信を行う。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nカードタイプメッセージを活用し、「生花」を販売する当社ならではのリッチなコンテンツをテキストメール配信のコンテンツと大きく手間がかからない程度の作業で準備する。"}]}]},{"type":"element","tag":"template","props":{"v-slot:column1":""},"children":[{"type":"element","tag":"portfolio-image","props":{"alt":"","src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_600,h_370,g_south_east/v1659527889/portfolio/hanane/line/LINE_talk_magazine_2110.webp","src_all":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,w_600/v1659527889/portfolio/hanane/line/LINE_talk_magazine_2110.webp"},"children":[]}]}]},{"type":"element","tag":"h2","props":{"id":"meo--google-merchant-center"},"children":[{"type":"text","value":"MEO / Google Merchant Center"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"店舗名検索スニペットやGoogleマップ上のコンテンツを充実、調整（Googleマイビジネス）。実店舗やECサイトへの流入を行う。\nまた、Merchant Centerへの出稿でECサイトへの流入も計る。"}]}]},"image":{"src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_600,h_370,g_north_east/v1659527863/portfolio/hanane/line/LINE_talk_bot.webp","src_all":"http://loremflickr.com/600/600/flower"},"year":2021,"priority":2,"role":["planning","design"],"tool":["LINE Official Account Manager","Googleマイビジネス","GoogleAnalytics","Photoshop"],"body":{"type":"root","children":[{"type":"element","tag":"portfolio-column","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:column1":""},"children":[{"type":"element","tag":"h2","props":{"id":"line-bot"},"children":[{"type":"text","value":"LINE bot"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"LINEの公式アカウント（@hanane）にて、問い合わせ内容をbotメッセージ化。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\n後述のマガジンでのお知らせを受け取るユーザーをキャッチするための目的を果たしつつ、WEBの一般ユーザー向けコンテンツのブックマーク的役割として利用されるユーザーを見受けることもできた。"}]}]},{"type":"element","tag":"template","props":{"v-slot:column2":""},"children":[{"type":"element","tag":"portfolio-image","props":{"alt":"","src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_600,h_370,g_north_east/v1659527863/portfolio/hanane/line/LINE_talk_bot.webp","src_all":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,w_600/v1659527863/portfolio/hanane/line/LINE_talk_bot.webp"},"children":[]}]}]},{"type":"element","tag":"portfolio-column","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:column2":""},"children":[{"type":"element","tag":"h2","props":{"id":"line-マガジン"},"children":[{"type":"text","value":"LINE マガジン"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"メールマガジンとあわせて公式アカウントへコンテンツを配信。季節の企画商品のEC販売への流入や、イベントの情報を月に1度程度のペースで配信を行う。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nカードタイプメッセージを活用し、「生花」を販売する当社ならではのリッチなコンテンツをテキストメール配信のコンテンツと大きく手間がかからない程度の作業で準備する。"}]}]},{"type":"element","tag":"template","props":{"v-slot:column1":""},"children":[{"type":"element","tag":"portfolio-image","props":{"alt":"","src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_600,h_370,g_south_east/v1659527889/portfolio/hanane/line/LINE_talk_magazine_2110.webp","src_all":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,w_600/v1659527889/portfolio/hanane/line/LINE_talk_magazine_2110.webp"},"children":[]}]}]},{"type":"element","tag":"h2","props":{"id":"meo--google-merchant-center"},"children":[{"type":"text","value":"MEO / Google Merchant Center"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"店舗名検索スニペットやGoogleマップ上のコンテンツを充実、調整（Googleマイビジネス）。実店舗やECサイトへの流入を行う。\nまた、Merchant Centerへの出稿でECサイトへの流入も計る。"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"meo--google-merchant-center","depth":2,"text":"MEO / Google Merchant Center"}]}},"_type":"markdown","_id":"content:portfolio:detail:2.hanane_line.md","_source":"content","_file":"portfolio/detail/2.hanane_line.md","_extension":"md"},{"_path":"/portfolio/detail/uh_ticket","_draft":false,"_partial":false,"_empty":false,"title":"デジタルチケット券面 「Hikaru Utada Laughter in the Dark Tour 2018」","description":"meta description of the page","excerpt":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"overview"},"children":[{"type":"text","value":"overview"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"WEBアプリ上のデジタルチケット（QRおよび入場者の顔写真付き）券面を作成。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nチケットデジタル化過渡期において"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"アナログチケットであれば手元に記念品として所有できるが、デジタルだとできない"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"システマチックにQR等が表示されるだけ"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"のような展開に味気無さを感じ作成。"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"(縦長キャプチャのない端末が多い時代背景で)スクリーンショット1回でチケット前面がキャプチャできるようなレイアウト(スクロールが無い1ビューデザイン)"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"画面の向きのポートレートモード・ランドスケープモード問わず、同じ表示となる"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"会場や座席名、入場者の名前等々 動的要素のコンテンツ量、また入場者の利用端末のスクリーンサイズ問わず、同じようなデザインとなる"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ことを意識してデザイン・制作を行った。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"キラキラ要素は（動画キャプチャの撮れる端末が多くない時代背景で）キャプチャによる入場ではなく、実アクセスによるチケットであると証明するための要素となる。"}]}]},"image":{"src":"https://res.cloudinary.com/nieve/image/upload/v1658240237/portfolio/tapirs/uh-ticket_rotate.webp"},"year":2018,"priority":4,"role":["planning","design","front-end"],"tool":["html","css"],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"overview"},"children":[{"type":"text","value":"overview"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"WEBアプリ上のデジタルチケット（QRおよび入場者の顔写真付き）券面を作成。"},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"\nチケットデジタル化過渡期において"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"アナログチケットであれば手元に記念品として所有できるが、デジタルだとできない"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"システマチックにQR等が表示されるだけ"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"のような展開に味気無さを感じ作成。"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"(縦長キャプチャのない端末が多い時代背景で)スクリーンショット1回でチケット前面がキャプチャできるようなレイアウト(スクロールが無い1ビューデザイン)"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"画面の向きのポートレートモード・ランドスケープモード問わず、同じ表示となる"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"会場や座席名、入場者の名前等々 動的要素のコンテンツ量、また入場者の利用端末のスクリーンサイズ問わず、同じようなデザインとなる"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ことを意識してデザイン・制作を行った。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"キラキラ要素は（動画キャプチャの撮れる端末が多くない時代背景で）キャプチャによる入場ではなく、実アクセスによるチケットであると証明するための要素となる。"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"overview","depth":2,"text":"overview"}]}},"_type":"markdown","_id":"content:portfolio:detail:3.uh_ticket.md","_source":"content","_file":"portfolio/detail/3.uh_ticket.md","_extension":"md"},{"_path":"/portfolio/detail/curations_aib","_draft":false,"_partial":false,"_empty":false,"title":"air is borderless","description":"新規事業開発","excerpt":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"overview"},"children":[{"type":"text","value":"overview"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"電子タバコに関連するプロジェクトから拡張。吸いたいと煙が嫌。寒いと暑い。スメハラ。空気を通して感じる人との関係の我慢を知り、お互い我慢せずにいい関係を作ることを目標にしたWEBメディア。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"CMSの構築、サイトデザイン等のブランディンク、またコンテンツ作成者へのディレクションなど立ち上げにおいて幅広く担当。"}]}]},"image":{"src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_800,h_500,g_north/v1656831194/portfolio/curations/aib/image3.webp"},"year":2016,"priority":5,"role":["planning","direction","design","front-end"],"tool":["WordPress","Photoshop"],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"overview"},"children":[{"type":"text","value":"overview"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"電子タバコに関連するプロジェクトから拡張。吸いたいと煙が嫌。寒いと暑い。スメハラ。空気を通して感じる人との関係の我慢を知り、お互い我慢せずにいい関係を作ることを目標にしたWEBメディア。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"CMSの構築、サイトデザイン等のブランディンク、またコンテンツ作成者へのディレクションなど立ち上げにおいて幅広く担当。"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"overview","depth":2,"text":"overview"}]}},"_type":"markdown","_id":"content:portfolio:detail:4.curations_aib.md","_source":"content","_file":"portfolio/detail/4.curations_aib.md","_extension":"md"},{"_path":"/portfolio/detail/azisai_clinic","_draft":false,"_partial":false,"_empty":false,"title":"あじさいクリニック ホームページ","description":"あじさいクリニック ホームページ","excerpt":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"h1-text"},"children":[{"type":"text","value":"h1 text"}]},{"type":"element","tag":"portfolio-column","props":{},"children":[{"type":"element","tag":"h2","props":{"id":"overview"},"children":[{"type":"text","value":"overview"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"PCで見た時のページのレイアウトをこの形にすることで、新たな下位ページを作成する際にコンテンツレイアウトを考慮する必要性をなくすことで、デザインの工程を減らしている。\nまた、現在のページ更新はHTMLについての知識の浅い担当者が行うことができている。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"医院の工事と開院のスケジュール上、写真素材を提供いただくことが難しく、またサイトのスケジュールもタイトだったため、病院の名前になっている「あじさい」を元にしたテクスチャのようなイラストを配置。患者層を想定して、女性的にならないように、しかし病院的な硬さが無いようにイメージした。"}]}]}]},"draft":true,"url":"https://azisai.clinic/","image":{"src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,ar_1.0,c_lfill,w_800,h_500,g_north/v1750258426/azisai_clinic_top_yocnxh.png"},"year":2024,"priority":3,"role":["site planning","design","design"],"tool":["WordPress","Illustrator"],"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"h1-text"},"children":[{"type":"text","value":"h1 text"}]},{"type":"element","tag":"portfolio-column","props":{},"children":[{"type":"element","tag":"h2","props":{"id":"overview"},"children":[{"type":"text","value":"overview"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"PCで見た時のページのレイアウトをこの形にすることで、新たな下位ページを作成する際にコンテンツレイアウトを考慮する必要性をなくすことで、デザインの工程を減らしている。\nまた、現在のページ更新はHTMLについての知識の浅い担当者が行うことができている。"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"医院の工事と開院のスケジュール上、写真素材を提供いただくことが難しく、またサイトのスケジュールもタイトだったため、病院の名前になっている「あじさい」を元にしたテクスチャのようなイラストを配置。患者層を想定して、女性的にならないように、しかし病院的な硬さが無いようにイメージした。"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"overview","depth":2,"text":"overview"}]}},"_type":"markdown","_id":"content:portfolio:detail:azisai_clinic.md","_source":"content","_file":"portfolio/detail/azisai_clinic.md","_extension":"md"},{"_path":"/portfolio/gallery/chemistry_keepyourlove","_draft":false,"_partial":false,"_empty":false,"title":"CHEMISTRY + SYNERGY 「Keep Your Love」","description":"meta description of the page","excerpt":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"CD付録DVD メニュー画面"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-small"},"children":[{"type":"text","value":"※テキストの色はカーソル選択/実行による状態違いを表しています。"}]}]}]},"image":{"src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656917946/portfolio/smc/CellMenu/CHEMISTRY_KYLmenu_1.webp"},"year":2010,"month":10,"tool":["Photoshop"],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"CD付録DVD メニュー画面"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-small"},"children":[{"type":"text","value":"※テキストの色はカーソル選択/実行による状態違いを表しています。"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:portfolio:gallery:chemistry_keepyourlove.md","_source":"content","_file":"portfolio/gallery/chemistry_keepyourlove.md","_extension":"md"},{"_path":"/portfolio/gallery/frame_hatusnemiku","_draft":false,"_partial":false,"_empty":false,"title":"初音ミク -Project DIVA- 2nd","description":"meta description of the page","excerpt":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"デジタルサイネージ用店頭POP(動画フレーム)"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-small"},"children":[{"type":"text","value":"※右下空白部分に動画が再生されます"}]}]}]},"image":{"src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656915966/portfolio/smc/signage/%E5%88%9D%E9%9F%B3%E3%83%9F%E3%82%AF.webp"},"year":2010,"month":7,"tool":["Photoshop"],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"デジタルサイネージ用店頭POP(動画フレーム)"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-small"},"children":[{"type":"text","value":"※右下空白部分に動画が再生されます"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:portfolio:gallery:frame_hatusnemiku.md","_source":"content","_file":"portfolio/gallery/frame_hatusnemiku.md","_extension":"md"},{"_path":"/portfolio/gallery/kiyoshi_helpme","_draft":false,"_partial":false,"_empty":false,"title":"清 竜人「ヘルプミーヘルプミーヘルプミー」","description":"meta description of the page","excerpt":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"店頭試聴機用広告"}]}]}]},"image":{"src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656918230/portfolio/smc/interguide/%E6%B8%85%E7%AB%9C%E4%BA%BA_A01.webp"},"year":2009,"month":10,"images":["https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656918339/portfolio/smc/interguide/%E6%B8%85%E7%AB%9C%E4%BA%BA_A02.webp"],"tool":["Photoshop"],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"店頭試聴機用広告"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:portfolio:gallery:kiyoshi_helpme.md","_source":"content","_file":"portfolio/gallery/kiyoshi_helpme.md","_extension":"md"},{"_path":"/portfolio/gallery/kiyoshi_itaiyo","_draft":false,"_partial":false,"_empty":false,"title":"清 竜人「痛いよ」","description":"meta description of the page","excerpt":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"店頭試聴機用広告"}]}]}]},"image":{"src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656918149/portfolio/smc/interguide/%E6%B8%85%E7%AB%9C%E4%BA%BA_S01.webp"},"year":2010,"month":1,"images":["https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656918129/portfolio/smc/interguide/%E6%B8%85%E7%AB%9C%E4%BA%BA_S02.webp"],"tool":["Photoshop"],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"店頭試聴機用広告"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:portfolio:gallery:kiyoshi_itaiyo.md","_source":"content","_file":"portfolio/gallery/kiyoshi_itaiyo.md","_extension":"md"},{"_path":"/portfolio/gallery/morningmusume_pikapika","_draft":false,"_partial":false,"_empty":false,"title":"モーニング娘。「コンサートツアー2010 春 ～ピカッピカッ!～」","description":"meta description of the page","excerpt":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"Blu-ray メニュー画面"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-small"},"children":[{"type":"text","value":"※テキストの色はカーソル選択/実行による状態違いを表しています。"}]}]}]},"image":{"src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656824618/portfolio/smc/CellMenu/BDmenu.webp"},"year":2010,"month":9,"tool":["Photoshop"],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"Blu-ray メニュー画面"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-small"},"children":[{"type":"text","value":"※テキストの色はカーソル選択/実行による状態違いを表しています。"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:portfolio:gallery:morningmusume_pikapika.md","_source":"content","_file":"portfolio/gallery/morningmusume_pikapika.md","_extension":"md"},{"_path":"/portfolio/gallery/tamateyuichi_one","_draft":false,"_partial":false,"_empty":false,"title":"玉手 ゆういち「1」","description":"meta description of the page","excerpt":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"店頭試聴機用広告"}]}]}]},"image":{"src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656918143/portfolio/smc/interguide/%E7%8E%89%E6%89%8B%E3%82%86%E3%81%86%E3%81%84%E3%81%A1_01.webp"},"year":2009,"month":1,"images":["https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656918161/portfolio/smc/interguide/%E7%8E%89%E6%89%8B%E3%82%86%E3%81%86%E3%81%84%E3%81%A1_02.webp","https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656918166/portfolio/smc/interguide/%E7%8E%89%E6%89%8B%E3%82%86%E3%81%86%E3%81%84%E3%81%A1_03.webp"],"tool":["Photoshop","Illustrator"],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"店頭試聴機用広告"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:portfolio:gallery:tamateyuichi_one.md","_source":"content","_file":"portfolio/gallery/tamateyuichi_one.md","_extension":"md"},{"_path":"/portfolio/gallery/thee_greatest","_draft":false,"_partial":false,"_empty":false,"title":"THE MICHELLE GUN ELEPHANT Final works of rockin' blues","description":"meta description of the page","excerpt":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"店頭試聴機用広告"}]}]}]},"image":{"src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656918157/portfolio/smc/interguide/THEE_01.webp"},"year":2009,"month":12,"images":["https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656918170/portfolio/smc/interguide/THEE_02.webp","https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656918161/portfolio/smc/interguide/THEE_03.webp","https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656918208/portfolio/smc/interguide/THEE_04.webp","https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656918172/portfolio/smc/interguide/THEE_05.webp"],"tool":["Photoshop"],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"店頭試聴機用広告"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:portfolio:gallery:thee_greatest.md","_source":"content","_file":"portfolio/gallery/thee_greatest.md","_extension":"md"},{"_path":"/portfolio/gallery/tobirawotatakuhito","_draft":false,"_partial":false,"_empty":false,"title":"扉をたたく人","description":"meta description of the page","excerpt":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"店頭試聴機用広告"}]}]}]},"image":{"src":"https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656918238/portfolio/smc/interguide/%E6%89%89%E3%82%92%E3%81%9F%E3%81%9F%E3%81%8F%E4%BA%BA_01.webp"},"year":2009,"month":11,"images":["https://res.cloudinary.com/nieve/image/upload/q_auto:good,c_scale,h_320/v1656918306/portfolio/smc/interguide/%E6%89%89%E3%82%92%E3%81%9F%E3%81%9F%E3%81%8F%E4%BA%BA_02.webp"],"tool":["Photoshop"],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{"class":"text-title"},"children":[{"type":"text","value":"店頭試聴機用広告"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:portfolio:gallery:tobirawotatakuhito.md","_source":"content","_file":"portfolio/gallery/tobirawotatakuhito.md","_extension":"md"},{"_path":"/trial/test","_draft":false,"_partial":false,"_empty":false,"title":"Prose Components Sample","description":"いろいろ書きたい","excerpt":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"いろいろ書きたい"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/api/components/prose"},"children":[{"type":"text","value":"Link"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Block quote"}]}]},{"type":"element","tag":"code","props":{"code":"export default () => {\n  console.log('Code block')\n}\n","language":"javascript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default () => {\n  console.log('Code block')\n}\n"}]}]}]},{"type":"element","tag":"div","props":{"class":"langage-javascript"},"children":[{"type":"element","tag":"code","props":{"code":"const http = require('http')\nconst bodyParser = require('body-parser')\n\nhttp.createServer((req, res) => {\n    bodyParser.parse(req, (error, body) => {\n        res.end(body)\n    })\n}).listen(3000)\n```\n","language":"javascript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"const http = require('http')\nconst bodyParser = require('body-parser')\n\nhttp.createServer((req, res) => {\n    bodyParser.parse(req, (error, body) => {\n        res.end(body)\n    })\n}).listen(3000)\n```\n"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"code inline"}]},{"type":"text","value":".\n"},{"type":"element","tag":"code-inline","props":{"lang":"ts"},"children":[{"type":"text","value":"const codeInline: string = 'highlighted code inline'"}]}]},{"type":"element","tag":"h1","props":{"id":"h1-heading"},"children":[{"type":"text","value":"H1 Heading"}]},{"type":"element","tag":"h2","props":{"id":"h2-heading"},"children":[{"type":"text","value":"H2 Heading"}]},{"type":"element","tag":"h2","props":{"id":"h3-heading"},"children":[{"type":"text","value":"H3 Heading"}]},{"type":"element","tag":"h2","props":{"id":"h4-heading"},"children":[{"type":"text","value":"H4 Heading"}]},{"type":"element","tag":"h2","props":{"id":"h5-heading"},"children":[{"type":"text","value":"H5 Heading"}]},{"type":"element","tag":"h2","props":{"id":"h6-heading"},"children":[{"type":"text","value":"H6 Heading"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Divider under."}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Divider above."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"There are "},{"type":"element","tag":"span","props":{"class":"text-sub"},"children":[{"type":"text","value":"sub text"}]},{"type":"text","value":" and "},{"type":"element","tag":"span","props":{"class":"text-small"},"children":[{"type":"text","value":"sub text"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"A Cool Image","src":"http://placekitten.com/300/300"},"children":[]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Just"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"An"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Unordered"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"List"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"List element"}]}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Foo"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Bar"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Baz\nhonnge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Just a paragraph."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Just a strong paragraph."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Just a strong paragraph.Just a strong paragraph.Just a strong paragraph.Just a strong paragraph.Just a strong paragraph.Just a strong paragraph.Just a strong paragraph.Just a strong paragraph.Just a strong paragraph."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Just an italic paragraph."}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"Key"}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"Type"}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"Description"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Wonderful"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Table"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Wonderful"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Data"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Wonderful"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Website"}]}]}]}]}]},"draft":true,"navigation":false,"publishedAt":"2222-12-31","tags":["tag1","tag2"],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"いろいろ書きたい"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/api/components/prose"},"children":[{"type":"text","value":"Link"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Block quote"}]}]},{"type":"element","tag":"code","props":{"code":"export default () => {\n  console.log('Code block')\n}\n","language":"javascript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"  console."}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"Code block"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"div","props":{"class":"langage-javascript"},"children":[{"type":"element","tag":"code","props":{"code":"const http = require('http')\nconst bodyParser = require('body-parser')\n\nhttp.createServer((req, res) => {\n    bodyParser.parse(req, (error, body) => {\n        res.end(body)\n    })\n}).listen(3000)\n```\n","language":"javascript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" http "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#97E1F1"}},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"http"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" bodyParser "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#97E1F1"}},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"body-parser"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"http."}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"createServer"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":{"color":"#FFB86C"}},"children":[{"type":"text","value":"req"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":{"color":"#FFB86C"}},"children":[{"type":"text","value":"res"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    bodyParser."}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"(req, ("}]},{"type":"element","tag":"span","props":{"style":{"color":"#FFB86C"}},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":{"color":"#FFB86C"}},"children":[{"type":"text","value":"body"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"        res."}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"end"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"(body)"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"    })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"})."}]},{"type":"element","tag":"span","props":{"style":{"color":"#62E884"}},"children":[{"type":"text","value":"listen"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":{"color":"#BF9EEE"}},"children":[{"type":"text","value":"3000"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"```"}]}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"code inline"}]},{"type":"text","value":".\n"},{"type":"element","tag":"code-inline","props":{"lang":"ts","class":"colored"},"children":[{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" codeInline"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#97E1F1"}},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#F286C4"}},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":{"color":"#F6F6F4"}},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]},{"type":"element","tag":"span","props":{"style":{"color":"#E7EE98"}},"children":[{"type":"text","value":"highlighted code inline"}]},{"type":"element","tag":"span","props":{"style":{"color":"#DEE492"}},"children":[{"type":"text","value":"'"}]}]}]},{"type":"element","tag":"h1","props":{"id":"h1-heading"},"children":[{"type":"text","value":"H1 Heading"}]},{"type":"element","tag":"h2","props":{"id":"h2-heading"},"children":[{"type":"text","value":"H2 Heading"}]},{"type":"element","tag":"h2","props":{"id":"h3-heading"},"children":[{"type":"text","value":"H3 Heading"}]},{"type":"element","tag":"h2","props":{"id":"h4-heading"},"children":[{"type":"text","value":"H4 Heading"}]},{"type":"element","tag":"h2","props":{"id":"h5-heading"},"children":[{"type":"text","value":"H5 Heading"}]},{"type":"element","tag":"h2","props":{"id":"h6-heading"},"children":[{"type":"text","value":"H6 Heading"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Divider under."}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Divider above."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"There are "},{"type":"element","tag":"span","props":{"class":"text-sub"},"children":[{"type":"text","value":"sub text"}]},{"type":"text","value":" and "},{"type":"element","tag":"span","props":{"class":"text-small"},"children":[{"type":"text","value":"sub text"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"A Cool Image","src":"http://placekitten.com/300/300"},"children":[]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Just"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"An"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Unordered"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"List"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"List element"}]}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Foo"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Bar"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Baz\nhonnge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"hoge"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Just a paragraph."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Just a strong paragraph."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Just a strong paragraph.Just a strong paragraph.Just a strong paragraph.Just a strong paragraph.Just a strong paragraph.Just a strong paragraph.Just a strong paragraph.Just a strong paragraph.Just a strong paragraph."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Just an italic paragraph."}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"Key"}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"Type"}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"Description"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Wonderful"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Table"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Wonderful"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Data"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Wonderful"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Website"}]}]}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"h2-heading","depth":2,"text":"H2 Heading"},{"id":"h3-heading","depth":2,"text":"H3 Heading"},{"id":"h4-heading","depth":2,"text":"H4 Heading"},{"id":"h5-heading","depth":2,"text":"H5 Heading"},{"id":"h6-heading","depth":2,"text":"H6 Heading"}]}},"_type":"markdown","_id":"content:trial:test.md","_source":"content","_file":"trial/test.md","_extension":"md"}]