フロントまわりを極力npmに切り離したWordpress開発環境です。 WordpressとMySQLはDocker使ってフレッシュ&クリーン&高速&シンプルな環境を用意しました。
元ネタのテーマはBlankSlateを使いました。
cp .env.sample .env
make
yarn start
あとはよしなに。 なお、 yarn build
で例によって圧縮版を出力します
DBファイルをバックアップ取ってやります。
make export
.
|- /.github/ # GitHub用issue, PRテンプレ
|- /data/ # DBデータ 今のところMySQLのみ(自動生成ディレクトリ)
|- /flow-typed/ # flowtype用型ファイル(自動生成ディレクトリ)
|- /frontend/ # フロントエンドを構成するファイル
| |- /assets/ # まるごとthemes/fl以下にコピー
| |- /scripts/ # JavaScriptはこちら
| |- /styles/ # CSSはこちら
|- /logs/ # ログ 今のところnginxしかない
|- /node_modules/ # 3rd-party libraries and utilities for nodeJs (自動生成ディレクトリ)
|- /settings/ # マウントしたい設定型ファイル 今のところnginxしかない
|- /tools/ # ビルドツール関連
| |- /gulp/ # gulpタスクを記述したjs。タスクごとに1ファイルとする
| |- /shell-scripts/ # 便利系シェル
| |- /webpack/ # webpackビルド設定
| |- /config.js # ビルド関係設定ファイル
|- /wordpress/ # テーマやプラグインはこちら
| |- /plugins/ # プラグイン開発ディレクトリ WPコンテナにまるごとマウントされとる
| |- /themes/ # テーマ開発ディレクトリ
| |- /fl/ # 実際に扱うテーマ
|- .env # ローカル環境変数設定ファイル (自動生成ディレクトリ)
|- .env.sample # .env元ネタ
|- .eslintignore # eslintから除外するファイル
|- .eslintrc # eslint設定ファイル
|- .flowconfig # flowtype設定ファイル
|- .gitattributes # git設定 yarn.lockをバイナリ扱いなど
|- .gitignore # git管理対象外を記述
|- .node-version # ndenv用のバージョン指定
|- .prettierignore # prettier対象除外設定
|- .prettierrc # prettier設定
|- .stylelintrc # stylelint設定ファイル
|- gulpfile.js # gulp実行ファイル
|- Makefile # makeコマンド設定ファイル
|- package.json # The list of 3rd party libraries for nodeJs
|- README.md # README
|- yarn.lock # yarn用利用npmsバージョン管理ファイル
ほとんどいじってないです。画像突っ込めるかの確認に"武丸"さんを貼っただけ
使っているツール周りは基本的にscaffold-frontendと同じです。 一部使ってないツールや設定(JSからのCSS読み込み)が混じってますが、どうしようか決めかねてます。
以下を参考に、利用者が投稿したコンテンツに対してスタイルを当てておく必要がある。 これでだいたいWISIWYGで付与されるスタイルは一通り当たってるはず。
/* このクラスは適当 */
.post {
h1,
h2,
h3,
h4 {
font-weight: var(--fontWeight-bold);
margin: 0.5em 0;
}
h1 {
font-size: 2.4em;
}
h2 {
font-size: 2em;
}
h3 {
font-size: 1.8em;
}
h4 {
font-size: 1.6em;
}
h5 {
font-size: 1.4em;
}
h6 {
font-size: 1.2em;
}
em {
font-style: italic;
}
strong {
font-weight: var(--fontWeight-bold);
}
ul,
ol {
margin: 20px 0 20px 1em;
}
ul li {
list-style-type: disc;
}
ol li {
list-style-type: decimal;
}
blockquote {
background: rgba(0, 0, 0, 0.1);
margin: 20px 0;
padding: 20px 30px;
font-size: 1.1em;
}
a {
color: var(--color-brand);
}
img {
margin: 20px 0;
}
p {
word-break: break-all;
}
hr {
margin: 1rem 0;
}
}
共通っぽいファイルは端折った ブログやるわけでない場合、かなり削除できる
functions.php
index.php
header.php
footer.php
sidebar.php
entry.php
nav-below.php
entry-footer.php
entry-meta.php
entry-summary.php
(カテゴリ一覧とか用)
the_excerpt
wp_link_pages
entry-content.php
(アーカイブされてない記事用)
the_post_thumbnail
the_content
wp_link_pages
attachment.php
404.php
archive.php
author.php
category.php
search.php
page.php
tag.php
commit時に勝手にコードを整形してくれる。
エディタを設定すると保存時にもいい感じに整形してくれる。
{
// prettier
"[javascript]": {
"editor.formatOnSave": true
},
"[css]": {
"editor.formatOnSave": true
},
}
グローバル設定をどうするかは人によりますが、falseにしといたほうがいいと思います。他のプロジェクトで適当に整形されたりするので。
この辺を参考に。