使いやすい静的HTMLジェネレータを求めて

2016年4月13日 / category:その他-lab

久しぶりの更新になります、、、
去年から使いやすい静的HTMLジェネレータを探しているのですが、見つかりません。。。
現在、Gruntを使用してフロントエンド開発をしていますので、gruntを実行してhtmlファイルがスムーズに生成される環境にしたいわけです。

まず、最初に触ったのは、Slimです。
Slimは、Ruby製のテンプレートエンジンなので、静的HTMLジェネレータとは少し違うわけですが、触ってみました。

が・・・。

どうしても、出力されるhtmlコードのインデントが取れない・・・。

例えば、

index.slim
body
  h1 タイトル

こんな感じでコードを記述すると、

index.html
<body>
  <h1>
    タイトル
  </h1>
</body>

こんな感じでhtmlのコードが出力されます。
気になるのです、インデントが・・・。
僕は、インデントが嫌いなタイプなので、どうしてもインデントが許せないのです。

index.html
<body>
<h1>タイトル</h1>
</body>

これが理想の出力コードなのです。
インデントを無しにして出力できれば、Slimは完璧なのですが、調べても調べてもその方法を見つけることができず・・・断念。
ここはコーダーのプライドとしては譲れない。

もし・・・、インデントを無しにして出力する方法があれば、教えていただきたいです。

ということで、Slimはあきらめ、続いて手を出したのが、友人が薦めてくれたjekyll

これぞ、静的HTMLジェネレータ。
素晴らしい。コードも思い通りに出力されるし。
これこれ。求めていたのは。

が・・・。

Gruntと連動しようとすると、windowsと相性が悪い・・・。
rudyやらなんやらのバージョンが合っていないなどなど、黒い画面から色々と文句を言われる・・・。
頑張ってみたものの、結果、上手く連動ができず・・・断念。

もし・・・、windows環境で、Gruntとjekyllがうまく連動できている方、ぜひご教授を・・・。

ということで、jekyllはあきらめ、続いて手を出したのが、hexo
まず、読み方がわからない。ま、そこはひとまずおいておき、Gruntと上手く連動できるか試してみる。

むっちゃ簡単。

特に何の問題もなく、Gruntとうまく連動し、SassファイルやらTypeScriptファイルやら、そしてhexoのejsファイルを更新する毎に、cssファイル、jsファイル、htmlファイルを出力してくれる環境ができました。
(ただし、いくつか細かいところで不具合あり・・・)

これで実務で問題なく使える!

と、喜んでいたのは束の間・・・。

Gruntにインストールしたhexoのファイルの階層が深すぎる・・・。

C:/Users/XXXXXX/Desktop/node_modules/hexo-renderer-marked/node_modules/hexo-util/node_modules/cross-spawn/node_modules/spawn-sync/node_modules/try-thread-sleep/node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/mkdirp/node_modules/minimist/example/parse.js

深すぎる・・・。
案の定、ファイルを削除しようとすると、

フォルダーには名前が長すぎる項目が含まれていて、ごみ箱に移動できません。

と、怒られる。

これは・・・、致命的。
案件毎に、このファイルが作られるわけで、案件終了後にバックアップを取ったり、削除したりしようとすると、怒られるわけで・・・。

これは・・・、無理だ。

もし・・・、この解決策をご存じな方、ぜひご教授を・・・。

ということで、hexoもあきらめることに。
てか、なんて読むんだよ!

使いやすい静的HTMLジェネレータを求めて、なんだかんだ半年が過ぎてます。
静的HTMLジェネレータは、他にもMiddlemanやHugoなどなど、まだまだあるわけですが・・・。
自分の理想している静的HTMLジェネレータが果たしてあるのか・・・。

最近は、Gruntを卒業しようかとも考えております。

このエントリーをはてなブックマークに追加