HTMLコーディングルール
弊社が設置するテンプレートは、基本的にはルールに従った作りになっています。そのテンプレートを作成した際のルールを以下に記載してあります。テンプレートを例にコーディングを進め、迷ったときにこちらのルールを確認するようにしてください。
目次
HTMLバージョン
HTML5を使用
<!DOCTYPE html>
文字コード
UTF-8を使用し、BOM無しのUTF-8で保存
<meta charset="utf-8">
コーディング時のインデント
4スペース分のインデントを取る
誤った例
- インデントが2スペース分になっている
- 開始タグと閉じタグも合わせていない
<div> <section> <h2>ホームページ制作</h2> <p>お客様の事業の成功へと導くホームページ制作です。</p> </section> <section> <h2>ロゴ制作</h2> <p>企業の顔となるロゴ制作です。ブランドアイデンティティを保つため統一ルールも一緒に制作します。</p> </section> </div>
正しいインデントの例
- インデントが4スペース分になっている
- 開始タグと閉じタグも合わせている
<div>
<section>
<h2>ホームページ制作</h2>
<p>「好きなもの、私らしく」をコンセプトに女性向けのヘアーアクセサリーやアクセサリー、服飾雑貨など季節に合わせてトレンドのファッションアイテムを中心にライフスタイルを提案するブランドです。</p>
</section>
<section>
<h2>ロゴ制作</h2>
<p>企業の顔となるロゴ制作です。ブランドアイデンティティを保つため統一ルールも一緒に制作します。</p>
</section>
</div>
jQuery
基本は最新版を使用。プラグインを使用し、かつ古いバージョンが必要な場合は、バージョンダウンOKとします。
対応ブラウザ
以下のブラウザを標準対応のブラウザとします。案件によっては変動がある可能性もあります。
Windows
- Google Chrome 最新版
- Microsoft Edge 最新版
- Firefox 最新版
Mac
- Safari 最新版
- Firefox 最新版
- Google Chrome 最新版
スマートフォン
- iOS Safari最新版
- android Chrome最新版
ディレクトリ構造
バージョンアップに伴い、必要なファイル、保管されているファイルは変更されることがあります。また、特に説明が必要ないファイルは以下に記載をしていません。サイトに応じて適宜判断をしてください。
制作者はコーディングが必要なファイルです(プロジェクトにより差があります) .com ルートディレクトリー ├ _site_standards-------------:cursor設定用のファイル ├ css │ ├ reset.css------------------:WEB・管理ページ共通リセット用 │ ├ variables.css--------------:制作者デザイン設計値(:root の CSS 変数) │ ├ foundation.css-------------:制作者HTMLタグの基準スタイル │ ├ layout.css-----------------:制作者サイト構造(l-) │ ├ component.css--------------:制作者共通UI部品(c-) │ ├ page.css-------------------:制作者ページ固有スタイル(p-) │ ├ slickmap.css---------------:slickmap │ ├ admin-------------------:管理ページ用 │ │ ├ admin.css----------------:管理ページ PC用 │ │ ├ adminSmart.css-----------:管理ページ SP用(max-width:640px) │ │ ├ iframe.css---------------:管理ページ iframe PC用 │ │ ├ iframeSmart.css----------:管理ページ iframe SP用 │ │ ├ common.css---------------:管理ページ 共通 │ │ ├ dropzone.css-------------:dropzone用 │ │ ├ setup.css----------------:セットアップ画面用 │ │ ├ document.css-------------:PDF書き出し時のスタイルシート │ │ └ tinyMCE.css--------------:TinyMCE用 │ └ vendor------------------:外部ライブラリ │ ├ colorbox.css------------:colorbox │ ├ validationEngine.jquery.css:問合せフォーム validation │ ├ jquery.subwindow.css----:問合せフォーム subwindow │ ├ fontawesome_all.css-----:Font Awesome │ └ code-prettify.css-------:コード表示(レギュレーション等) │ ├ images----------------------:制作者画像一式 │ ├ bg-----------------------:CSSで使用する背景画像 │ ├ common-------------------:ヘッダー・フッターなど共通パーツで使う画像 │ ├ img----------------------:ページ内で使用する画像 │ │ ├ about------------------:.com/about ページで使用する画像 │ │ └ area-------------------:.com/area ページで使用する画像 │ │ - ├ tokyo_01.jpg-----------:.com/area/tokyo ページで使用する画像 │ │ - ├ saitama_01.jpg---------:.com/area/saitama ページで使用する画像 │ │ - └ tokyo----------------:.com/area/tokyo の内部階層の写真 │ │ --- ├ shibuya_01.jpg------:.com/area/tokyo/shibuya の写真 │ │ --- └ shibuya_02.jpg------:.com/area/tokyo/shibuya の写真 │ │ ├ top_01.jpg---------------:トップページで使用する画像 │ │ └ top_02.jpg---------------:トップページで使用する画像 │ ├ colorbox-----------------:カラーボックスで使用する画像 │ ├ header-------------------:ヘッダーで使用する画像 │ ├ icons--------------------:アイコン画像、アイコンSVGファイル │ ├ tablesorter--------------:管理画面で使用するテーブル順序入替 │ └ video--------------------:.mp4などの動画ファイル │ ├ js │ ├ plugins------------------:freoのプラグインで必要なJSを格納 │ │ └ forms.js-----------------:フォームで使用するファイル │ ├ common.js------------------:freoの設置パスを設定するファイル │ ├ jquery.js------------------:管理ページ用 │ └ admin.js-------------------:管理ページ用 │ ├ bxslider--------------------:オプションのbxslider ├ configs---------------------:設定ファイル ├ database--------------------:データベース(SQLite用) ├ files-----------------------:アップロードファイル ├ libs------------------------:メインプログラム │ ├ freo---------------------:freoメインプログラム │ └ smarty-------------------:smartyメインプログラム ├ mails-----------------------:メールテンプレート │ ├ templates-------------------:テンプレート │ ├ internals----------------:内部で使用するファイル │ │ ├ admin------------------:管理ページ │ │ ├ category---------------:制作者カテゴリー │ │ │- ├ default.html----------:デフォルトファイル。指定がないときに使用されるファイル │ │ │- └ top.html--------------:top カテゴリーで使用されるファイル │ │ ├ default----------------:制作者トップページ │ │ │- └ default.html----------:.com/ で使用されるファイル │ │ ├ entry------------------:制作者バックナンバー │ │ │- └ default.html----------:デフォルトファイル。指定がないときに使用されるファイル │ │ ├ login------------------:管理ページログイン │ │ ├ page-------------------:制作者内部ページの大元テンプレート(2行下との違いに注意) │ │ │- ├ default.html----------:デフォルトファイル。指定がないときに使用されるファイル │ │ │- └ about.html------------:.com/about で使用されるファイル │ │ └ view-------------------:制作者エントリー │ │ │- ├ default.html----------:デフォルトファイル。指定がないときに使用されるファイル │ │ │- └ 15.html---------------:.com/view/15 で使用されるファイル │ ├ page---------------------:制作者内部ページ(個別ファイル) │ │ ├ about.html---------------:.com/about の内容 │ │ ├ about │ │ │- ├ staff.html-----------:.com/about/staff の内容 │ │ │- ├ president.html-------:.com/about/president の内容 │ │ │- └ map.html-------------:.com/about/map の内容 │ │ ├ services.html-----------:.com/services の内容 │ │ ├ services │ │ │- ├ paper.html------------:.com/services/paper の内容 │ │ │- ├ print.html------------:.com/services/print の内容 │ │ │- └ web.html--------------:.com/services/web の内容 │ │ └ area │ │ - ├ tokyo.html-------------:.com/area/tokyo の内容 │ │ - ├ saitama.html-----------:.com/area/saitama の内容 │ │ - └ tokyo │ │ --- ├ toshima.html---------:.com/area/tokyo/toshima の内容 │ │ --- └ shibuya.html---------:.com/area/tokyo/shibuya の内容 │ ├ plugins------------------:プラグイン格納ファイル │ │ ├ form-------------------:フォーム │ │ │- ├ form----------------:制作者特定のテンプレートを指定する際のフォルダー │ │ │--│ ├ estimate.html-------:.com/form/estimate のフォームで使用されるファイル │ │ │--│ └ pamphlet.html-------:.com/form/pamphlet のフォームで使用されるファイル │ │ │- ├ form.html-------------:指定ファイルがない場合のフォームで使用されるファイル │ │ │- ├ preview.html----------:送信確認画面 │ │ │- └ complete.html---------:送信完了画面 │ │ └ page_all---------------:ページ一括表示 │ │ - ├ default.html-----------:基本テンプレート │ │ - ├ slickmap.html----------:slickmap │ │ - └ megamenu.html----------:megamenu │ ├ footer.html----------------:制作者フッター共通 │ ├ header.html----------------:制作者ヘッダー共通 │ └ utility.html---------------:制作者サイドバー共通 │ ├ templates_c----------------:コンパイル済みテンプレート ├ tinymce--------------------:TinyMCE ├ vendor---------------------:mpdf用ファイル ├ .htaccess--------------------:mod_rewriteの設定や転送設定(取り扱い要注意) ├ config.php-------------------:設定ファイル ├ index.php--------------------:起動ファイル └ robots.txt-------------------:検索エンジン用
命名規則
WEBサイトは制作者とは別の人が管理をすることはよくあることです。なので、誰がいつ作業をしても分かるような統一ルールを定めてあります。規定に従ってファイル名、フォルダー名、freoのページIDを命名することで、メンテナンス性の向上、ミスの削減、一貫性の向上、ファイル名を考える時間の削減につながります。
共通ルール
- 半角英数字のみを使用する。
- 記号は「-」(ハイフン)、「_」(アンダースコア)のみ使用する。
- 全角スペース、半角スペースは使用しない。
良い例
about_01.html about_01.jpg test_03.svg
悪い例
埼玉県.html WEBサイト_01.jpg test@.php
ファイル・フォルダ・freoページID
- ファイルの内容を推測できるような英単語を使用したファイル名、ページIDにする。
- フォルダーの内容を推測できるような英単語を使用したフォルダ名にする。
JSファイル
jQueryライブラリーをダウンロードして使用する際は、bxsliderフォルダーと同様のアップロードの仕方をしてください。ライブラリーの名称が分かるように、ファイル一式をサーバーにアップロードしてください。
.com ルートディレクトリー ├ bxslider-------------------:オプションのbxslider └ parallax-------------------:例 parallaxのフォルダー
品質管理
以下のツールを利用してチェックを行ってください。
Nu Html Checker
https://validator.w3.org/nu/
Errorは全て修正必須とし、Warningはサイトの構成上修正できないエラーは許容範囲とする。