自サイトの開発環境を作った
自サイト「Neo's World」を最近リニューアルしている。といっても、見た目はほとんど変わらない。変更したのは裏側、開発環境が主だからだ。
開発環境およびソースコードは以下の GitHub リポジトリに公開している。
導入している npm パッケージ
現時点の package.json
より依存パッケージをリストアップする。
"devDependencies": {
"@neos21/gulp-template-html": "^1.0.0",
"babel-preset-es2015": "^6.24.1",
"babelify": "^7.3.0",
"browser-sync": "^2.18.13",
"browserify": "^14.4.0",
"del": "^3.0.0",
"gulp": "^3.9.1",
"gulp-changed": "^3.1.0",
"gulp-load-plugins": "^1.5.0",
"gulp-plumber": "^1.1.0",
"gulp-rename": "^1.2.2",
"gulp-sass": "^3.1.0",
"gulp-watch": "^4.3.11",
"htmlhint": "^0.9.13",
"run-sequence": "^2.1.0",
"textlint": "^8.2.1",
"textlint-plugin-html": "^0.1.5",
"textlint-rule-ja-hiragana-hojodoushi": "^1.0.4",
"textlint-rule-ja-no-abusage": "^1.2.1",
"textlint-rule-ja-no-redundant-expression": "^1.0.3",
"textlint-rule-ja-no-successive-word": "^1.0.2",
"textlint-rule-max-ten": "^2.0.3",
"textlint-rule-no-doubled-conjunction": "^1.0.2",
"textlint-rule-no-doubled-conjunctive-particle-ga": "^1.0.2",
"textlint-rule-no-doubled-joshi": "^3.5.1",
"textlint-rule-no-dropping-the-ra": "^1.1.2",
"textlint-rule-no-mix-dearu-desumasu": "^3.0.3",
"textlint-rule-no-mixed-zenkaku-and-hankaku-alphabet": "^1.0.1",
"textlint-rule-no-nfd": "^1.0.1",
"vinyl-source-stream": "^1.1.0"
}
基本は Gulp タスクでアレコレ作っていて、TextLint を別で入れていたりする。
以前紹介した @neos21/gulp-template-html を自分で使って、テンプレート HTML とデータ HTML を組み合わせてビルドするようにしている。これでテンプレの差し替えが楽になった。
- template-html を Fork してオレオレ HTML ジェネレータを作った
- template-html を Gulp プラグイン化する gulp-template-html を Fork した
CSS は SCSS で作成するように移行して、ES2015 で JS が書ける環境も揃えた。が、JS を使うタイミングは今のところない。
その他の画像ファイルなどは Gulp で dist
ディレクトリにコピーするだけで、圧縮などはしていない。
IDE は VSCode
これまで Atom を使っていたが、圧倒的な動作の軽さと、安定したターミナルが標準装備というところで、VSCode に乗り換えた。
Beautify、EditorConfig、HTMLHint を入れてコードの整形や Lint を行っている。
開発時はターミナルでライブリロードを実行しっぱなしにしておいて、Browser-Sync で表示を確認しながらコーディングしている。
文章校正
文章校正には TextLint を使用している。まだ設定しながらではあるが、プラガブルにルールを追加・設定していけるので良い。常体・敬体が混在していたので、template-html を使ったテンプレ化をしつつ、常体に統一しようと考えている。
サイトのアップロード
ココまできたらサイトのデプロイも自動化したいが、ホスティングしている XREA とは何も連携していないので、手動で FFFTP を使ってアップロードしている。コマンドラインから FTP アップロードとかできたりしないかなぁ~。
チマチマと自分が望んだ環境を構築できていて、自己満足している。