ブログ内検索

プログラミング教材開発
大阪府高槻市原地区で肥料教室を開いています
検索キーワード:「改行」
 

SOY CMSで外部CSSファイルを自動でインライン化する

/** Geminiが自動生成した概要 **/
SOY CMSでWebサイトの高速化のため、外部CSSを自動インライン化・圧縮する方法を解説。`cms:module`でのCSS直接記述による修正の課題を解決すべく、`link`タグを介し、PHPモジュールが外部CSSを読み込み・圧縮した上で`<style>`タグとしてインライン出力する手法を提案しています。 これによりSOY CMS経由では圧縮・インライン化されたCSSが出力され、ブラウザとサーバー間の転送量削減とSEO(Core Web Vitals)に貢献。外部ファイルでの管理によりCSS修正が容易になり、ページごとのCSS制御も可能となる点が大きなメリットです。

 

【SEO対策】HTMLの圧縮

/** Geminiが自動生成した概要 **/
HTMLの圧縮は、Webページの表示速度向上とデータ転送量削減に効果的なSEO対策です。HTMLソースコードには、可読性向上のために改行やタブが含まれていますが、これらは表示には不要なため、転送前に削除することでデータ量を減らせます。SOY CMSでは、HTML圧縮プラグインを利用することで、テンプレート編集時の可読性を維持しつつ、転送時には自動的にHTMLを圧縮できます。このプラグインは、HTMLキャッシュプラグインや静的化プラグインと併用することで、圧縮処理の負荷を軽減し、更なる高速化を実現します。HTML圧縮プラグインを含むパッケージはsaitodev.co/soycms/からダウンロード可能です。

 

SOY InquiryでParsley.jsを利用する

/** Geminiが自動生成した概要 **/
SOY InquiryにParsley.jsを組み込むと、見栄えの良い入力内容チェックが利用できます。フォームテンプレートにParsley.jsのスクリプトを挿入し、SOY Inquiryのフォーム設定画面で各項目にdata-parsely-triggerとrequired属性を設定します。さらに、data-parsely-required-message属性を追加すると、エラーメッセージをカスタマイズできます。これにより、各項目に合わせたエラーメッセージが表示され、ユーザーフレンドリーなフォームが作成できます。

 

SOY Inquiryで長いカラム名がある場合は詳細で整形をする

/** Geminiが自動生成した概要 **/
SOY Inquiryの管理画面で、長いカラム名を持つお問い合わせフォームの表示崩れを解消するアップデートが行われました。従来、最も長いカラム名に合わせて全項目の表示幅が拡張され、無駄なスペースが生じていましたが、今回の修正で改善。最長カラム名の値は改行表示となり、その他の項目は2番目に長いカラム名に合わせた幅で表示されるようになりました。これにより、長いカラム名を含むフォームでも見やすく整形された詳細情報を確認できます。アップデート版はsaitodev.co/soycms/soyinquiry/からダウンロード可能です。

 

SOY CMSのカスタムフィールドアドバンスドでペアフィールドを追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのカスタムフィールドアドバンスドに、セレクトボックスの値に紐づく値を出力できる「ペアフィールド」が追加されました。記事投稿画面ではセレクトボックスと同様に表示され、設定画面で各項目に「ペア」となる値を設定できます。公開側では`cms:id="****_pair_1"`でペアの値を出力可能。****はフィールドIDです。例えば、`<img src="/img/<-- cms:id="staff_pair_1" /-->.png"`のように複雑なHTMLをシンプルに記述できます。複数ペア設定も可能になりました。この機能を含むパッケージはsaitodev.co/soycmsからダウンロードできます。

 

妻がプログラミングをはじめてGo言語とQtでアプリを公開するまで

/** Geminiが自動生成した概要 **/
妻にプログラミングを教えた動機は、事務職希望の女性こそプログラミングスキルを身につけるべきだという考えに基づいている。事務作業はルーティン化しやすい反面、変化への対応が求められる。プログラミングは論理的思考力や問題解決能力を養い、変化への対応力を高める。これらは事務職で役立つだけでなく、キャリアの幅を広げる可能性も秘めている。妻は最初の実験台であり、私自身にとっても新たな言語を教える貴重な経験となった。将来的には、プログラミング教育の普及を通じて、女性がより活躍できる社会を目指したいと考えている。

 

Go言語とSQLite3でデータを取得する

/** Geminiが自動生成した概要 **/
Go言語とSQLite3を用いて、`sample.db`内の`orders`テーブルから3件のデータを取得するプログラムです。`db.Query`でSQLクエリを実行し、`rows.Next()`で各行を処理、`rows.Scan()`でid、user_id、priceの各列の値を変数に格納します。最後に`fmt.Print`と`fmt.Println`を用いて取得したデータを表示します。出力はid、user_id、priceがそれぞれ一行ずつ表示され、各レコードごとに空行で区切られます。

 

Go言語で特定のサイトの複数の画像を取得する

/** Geminiが自動生成した概要 **/
Go言語で特定サイトから複数画像を取得する処理を解説しています。まず、対象ページのHTMLを取得し、正規表現を用いて`img`タグの`src`属性から画像パスを抽出します。抽出したパスは`/site/files`を含むものだけをスライスに格納します。次に、スライス内の各パスに対して、サイトのドメインを付加して完全なURLを生成し、`http.Get`で画像データを取得します。取得したデータは`ioutil.ReadAll`でバイト型に変換後、ファイル名を取得するためにパスの最後の`/`以降の文字列をファイル名として新規ファイルを作成し、画像データを書き込み保存します。

 

Ubuntu版BracketsのBeautifyの設定

/** Geminiが自動生成した概要 **/
BracketsエディタのプラグインBeautifyでPHPファイル保存時の自動改行を停止しようと試みたが、設定変更は断念。PHPの終了タグ`?>`の後の改行が不要だったのが理由。しかし、最近のPHPコード規約では、PHPのみのファイルでは終了タグ自体が不要と知り、全ファイルから`?>`を削除することに。結果として、Bracketsの自動改行挿入設定は変更せずそのままとした。

 

SOY CMSのブロック内の繰り返し表示で何記事目毎に任意の文字列を表示したい

/** Geminiが自動生成した概要 **/
SOY CMSのブロック繰り返し表示で、n番目ごとに文字列を表示する方法を紹介します。`<!-- soy:id="loop" step="n" -->`タグを使用し、nに整数値を指定することで実現できます。例えば、3記事ごとに文字列を表示したい場合は`step="3"`とします。ブログ記事一覧で3の倍数の記事に適用した例では、3番目と6番目の記事に文字列が表示されました。偶数番目の記事には`step="2"`、奇数番目の場合は`step="2"`とCSSの`display:none;`を組み合わせることで実現可能です。この方法は`b_block:id="entry_list"`だけでなく、SOY Shopの`block:id="item_list"`など、ブロック繰り返し表示であればどこでも使用できます。

おすすめの検索キーワード
おすすめの記事

Powered by SOY CMS   ↑トップへ