近年、Web開発者とデザイナーの間で、静的サイトへの関心が大幅に高まっています。 また、この傾向を無視せず、数か月前にクラウドストレージをそのようなサイトをホストするプラットフォームとして使用する方法を説明した記事を公開しました 。 かなり意外なことに、この記事について非常に興味深い議論が始まり、読者から静的サイトについてさらに詳しく話してほしいとの要望がありました。 今日、私たちはこの要求を満たし、リポジトリに基づいて静的サイトに関する一連の記事を開始します。
このシリーズの最初の出版物は、静的サイトジェネレーターの比較分析に当てられます。
比較基準
静的Webサイトジェネレーターは、テキストレコード(マークアップの有無にかかわらず)を静的なHTMLページに変換するソフトウェアツールです。 この種のツールはすべてほぼ同じように機能します。コンテンツが取得され、テンプレートに接着されてから、ホスティングに送信されます。 既存の静的サイトジェネレーターの数は、数千ではないにしても数百です。
この多数のすべてから本当に価値のある製品を選択する方法は? 比較レビューを準備することにしました。 希望どおり。 あなたの一人が選択をするのを助けます。 比較のために、最初にクラウドストレージと友達にできるジェネレーターを選択しました。 第二に、次の基準も考慮に入れました。
- インストールと構成の容易さ。
- 追加の拡張機能とプラグインの存在;
- サポートのレベル(製品の開発方法、更新頻度、詳細なドキュメントはありますか)。
- サポートされている展開方法。
ジェネレーターの概要
ミドルマン、ジキル、オクトプレス
これら3つのジェネレーターはすべてRubyで記述されており、多くの点で機能セットの点で似ています。 そのため、これらを1つのグループにまとめることにしました。
これらすべての製品のインストール手順には、いくつかの困難が伴います。Linuxシステムの公式リポジトリに含まれるRubyのバージョンでは、おそらく十分ではないため、最新バージョンにアップグレードする必要があります。 また、RubyGemsパッケージマネージャーとRbenvバージョンマネージャーをインストールする必要があります。
私たちは、 MiddleManを独自のプラクティスで積極的に使用しています。 クラウドストレージプロモーションサイトとselectel.ioが機能するのはその上です。 その間違いない利点は、シンプルで理解しやすい言語で書かれた優れた詳細なドキュメントです。 Middleman用に多くの拡張機能とプラグインが作成されており、そのリストは常に更新されています。
FTP、SFTP、rsync、gitを使用した展開がサポートされています(展開手順を自動化するためのスクリプトは公式Webサイトに掲載されています。別の拡張機能がGitHubに公開されています )。 AWSおよびBitBalloonへのデプロイも可能です(対応するプラグインがあります)。
Jekyll ( Habréの記事も参照)は、主にGitHub Pagesに基づく静的サイトのデフォルトエンジンとして使用されることで知られています。 非常に頻繁にブログに使用されます。 Jekyllの間違いない利点は、Liquidマークアップのサポートです。これにより、プログラミング言語ではなく、マークアップ言語のみの構造を使用してテンプレートを作成できます。
Jekyllには非常に多くの拡張機能とプラグインがあります( 公式Webサイトの情報、およびこことここを参照してください )。 公式プラグインは、主にGitHubページで動作するように「調整」されています。 GitHubで公開されているプラグインの大部分は、ブログ機能を強化するために設計されています( タグクラウド 、 フルテキストブログ検索、さらには科学および教育ブログ用の特別なプラグインを 追加し ます )。
FTPのサポートは、rsyncとgitの使用と同様にサポートされています。
以前の2つの製品とは異なり、 Octopressは専用のジェネレーターです。本質的に、追加のプラグインとレスポンシブテンプレートを備えたJekyllのアドオンであり、より便利なブログを提供します。
投稿のデフォルトのマークアップ形式はMarkdownですが、プレーンHTMLを使用できます。 Octopressの間違いない利点は、他のサイトからの移動のサポートです。たとえば、Wordpressブログのすべてのエントリを特別なスクリプトを使用して新しい静的ブログに転送できます(ただし、転送後に一部のテキストのデザインが壊れて編集する必要がある可能性が非常に高いです)手動で)。 すぐに使えるサポートは、コメントの転送を簡素化するDisqusサービスでもサポートされています。 Octopressベースのブログは、ソーシャルネットワーク(Facebook、Twitter、Google Plusなど)と統合できます。
たとえば、カレンダーの挿入(Wordpressブログで時々見られるものに似ています)、同様の投稿のリスト、タグクラウドなどを実装するプラグインがあります。
デフォルトでは、git(GitHub PagesまたはHerokuで)またはrsync(SFTPを構成したりrsyncを実行できるホスティングサービスで)を使用したデプロイがサポートされています。 FTPを介して展開を設定できます(これを行う方法については、 こちらを参照してください )。
ハイド
静的サイトのこのジェネレーターは、もともとPythonのみで記述されたJekyllの完全な類似体として意図されていました-したがって、R.L。 スティーブンソン「ジキル博士とハイド氏の奇妙な物語」
Hydeの古いバージョンと新しいバージョンを区別する必要があります。 古いバージョンは Djangoテンプレートに基づいています。 その開発は現在一時停止中です(2009年から2010年のGitHubリポジトリに関する最近のコミット)。 新しいHyde ( GitHubのリポジトリも参照)は、現在活発に開発されています。
機能面では、新しいHydeはMiddleManやJekyllと変わりません。 私たちは彼を少しテストし、彼は私たちに非常に良い印象を与えました。 検出された欠点のうち、1つだけを挙げます。上記のプロジェクトは積極的な開発の段階にあります。 これが、これまでのところ非常に簡潔で簡潔な形式でドキュメントが提示されている理由であり、プラグインと拡張機能はほとんどありません(公式Webサイトの短いリストです)。
展開はGitHubページとAmazon S3でサポートされています。
将来、このツールがさらに開発され、作業がより便利になることを期待しましょう。
ペリカン
PelicanもPythonで書かれています。 多くの静的サイトジェネレーターと比較して、ドラフトの操作、ソーシャルネットワークとの統合、画像の追加、HTMLページのPDFへの変換、多言語サポートなど、非常に幅広い機能を備えています。 ブログに非常に適しています(ブログをWordpressに移植するためのプラグインがあります)。
投稿は、 reStructuredTextおよびAsciidoc形式だけでなく、Markdownでも作成できます 。
PipanによってPelicanによってインストールされます。 インストール中に、ユーザーにはいくつかの質問が表示されます。サイトのファイルの保存場所、サイトの呼び出し方法、サイトの展開方法と展開方法です。 FTP、SSH、Amazon S3、GitHubページ、Dropbox、RackSpaceクラウドファイルなど、多くのサポートされている展開方法があります。
成長する
Grow ( GitHubの公式リポジトリも参照)は、最近発見した非常に興味深い有望なツールです。 Pythonで書かれています。 Growをインストールするには、公式サイトからスクリプトをダウンロードするだけです。必要なパッケージはすべて自動的にインストールされます。
成長は、「コードではなく構成」アプローチに基づいています。 これはどういう意味ですか? 新しいプロジェクトを作成するには(用語Growでは、プロジェクトはポッドと呼ばれます)、ローカルマシン(GitHubのリポジトリ)でテーマを複製する必要があります。 テーマには、Webサイトのアーキテクチャ全体を記述する構成ファイルのセットが含まれています。 プログラミングコードは必要ありません。
すべてのプロジェクト設定は、podspec.yaml構成ファイルに保存されます。 以下のパラメーターを示します。
- プロジェクトのメタデータ(名前など);
- プロジェクトで使用される前処理ツール(SASS、Closure Complilerなど)。
- サイトのローカライズに関する情報(特に、サイトを利用できるロケールのリスト)。
- 静的ファイルと特別ページに関する情報。
- 展開設定。
Growでコンテンツはどのように機能しますか? 編集可能なすべてのコンテンツ(Markdown形式とHTMLの両方で表示可能)は/ contentディレクトリに保存されます。 ページ構造は、YAML形式の構成ファイルに記述されています(こちらの例を参照 )。 サイト構築中に、Growは指定された設定に基づいてページを生成します。
Growはテキストの断片を自動的に翻訳できます。このために、Google翻訳と連携するGoslateライブラリが使用されます。 サイトを翻訳するには、translateコマンドを実行するだけです。
任意のWebサーバーを展開プラットフォームとして指定できます。 Dropbox、Google Cloud Storage、Amazon S3、Dropbox、Google AppEngineのサポートがサポートされています。
もちろん、クイックレビューの一環として、Growを使用したすべての機能について話すことはほとんど不可能です。 試してみることをお勧めします-このツールは非常に有望です。
ナノブロガー
このブログ指向の静的サイトジェネレーターは、bashで記述されている点で注目に値します。 彼はcat、grep、sedコマンドラインユーティリティを静的HTMLページを作成するための主要なツールとして使用しています。
Nanobloggerは、そのシンプルさの点で、PythonまたはRubyで作成された多くのジェネレーターよりも機能が劣っていません。 その便利な機能の中で、Atom / RSSサポート、ウェブサイトでカレンダーを作成する機能、カテゴリ別に投稿をソートする機能、投稿のアーカイブを作成する機能などを選択できます。
Nanobloggerのインストールは非常に簡単です。ほとんどの一般的なLinuxディストリビューションの公式リポジトリに含まれており、標準パッケージマネージャーを使用してインストールされます。
コマンドラインからNanobloggerを操作すると便利です。 すべてのコマンドの詳細はドキュメントに記載されており、その構文はシンプルで簡単です。
また、ソースコードは必要に応じて非常に簡単に記述され、特定のプロジェクトのニーズに合わせていつでも変更および「調整」できます(たとえば、Nanobloggerに基づいてブログを構成する著者自身の経験を共有する出版物を参照)。
nanobloggerにはプラグインと拡張機能があります。 プラグインの公式セット(nanoblogger extras)も公式リポジトリに含まれており、標準的な方法でインストールされます。
残念ながら、2013年、Nanobloggerの開発と改善に関する作業は無期限に中断されました( 公式Webサイトの情報を参照)。
Docpad
DocPadは CoffeeScript で書かれています。 これを使用するには、NodeJSをクライアントマシンにインストールする必要があります。
多くの人がブログに使用していますが、そのアプリケーションの実際の可能性ははるかに広くなっています。 この製品は、静的サイトの純粋なジェネレーターではありません。ジェネレーターとしても、エンジンとしても、テンプレートエンジンとしても使用できます。 DocPadには、現時点で必要な機能のみを使用できる非常に便利なAPIが装備されています。 残りは常に独立して実装できます。
DocPadの間違いない利点は、もちろん、非常に詳細なドキュメントです。 さらに、いわゆる「スケルトン」が公式Webサイトに公開されています。これは、ユーザーが独自のサイトを作成できる基礎となる空白です。
DocPad 用に作成されたさまざまなプラグインがあります。 最も興味深い拡張機能の中で、静的ブログへの投稿の公開を容易にするWYSIWYGエディターとWebインターフェイスについて言及します。
公式Webサイトでは、Heroku、Appfog、Windows Azure、Docker、GitHub Pagesなどのさまざまなサイトへの展開を自動化するスクリプトが公開されています。 クラウドストレージにデプロイするための特別なスクリプト 、Amazon S3およびGoogleStorageもあります。
おわりに
レビューの結果は、次の表に要約できます。
発電機 | 言語 | 免許 | 設置 | サポート | 拡張機能 | 展開する |
---|---|---|---|---|---|---|
ミドルマン
3.3.5 | ルビー | MIT | 最新バージョンのRuby、RubyGemsが必要 | 詳細なドキュメントが利用可能であり、定期的に更新されます | 多くのプラグインと拡張機能、新しいものが定期的に表示されます | FTP、SFTP、rsync、Git、AWS、BitBalloon |
ジキル
2.3.0 | ルビー | MIT | Ruby、RubyGems、Rbenvの最新バージョンが必要 | 詳細なドキュメントが利用可能であり、定期的に更新されます | 多くのプラグインと拡張機能 | Git、FTP。 SFTP、rsync、Amazon S3、Heroku |
オクトプレス
3.0 | ルビー | MIT | Ruby、RubyGems、Rbenvの最新バージョンが必要 | 詳細なドキュメントが利用可能であり、定期的に更新されます | 多くのプラグインと拡張機能 | GitHubページ、Heroku、FTP、SFTP、rsync |
ハイド
0.8.8 | Python | MIT | pip経由でインストール | 最低 | 非常に少ないプラグイン | GitHubページ、Amazon S3、SFTP |
ペリカン
3.4 | Python | GNU GPL | pip経由でインストール | 積極的に開発および保守されている詳細なドキュメント | ブログ用の多数のプラグイン | FTP、SSH、Dropbox、Amazon S3、Rackspace Cloudfiles |
SDKを成長させる
0.0.31 | Python | MIT | スクリプト経由でインストール | ビデオ付きの詳細なドキュメント | プラグインはありません。 追加のテーマとテンプレートが利用可能です。 | Dropbox、Google Cloud Storage、Amazon S3、Google AppEngine |
ナノブロガー
3.5 | バッシュ | GNU GPL | パッケージマネージャー経由でインストール | 開発とサポートが一時停止 | いくつかの拡張機能 | rsync FTP |
Docpad
6.69 | CoffeeScript | MIT | インストールにはNodeJSとNPMが必要です | 詳細なドキュメントが利用可能であり、定期的に更新されます | 多くの異なる拡張機能とプラグイン | Heroku、Appfog、Windows Azure、Docker、GitHub Pages |
トピックを掘り下げたい人のために、いくつかの便利なリンク:
静的サイトジェネレーターであるHabrausersでどのような経験がありますか?
ここにコメントを残すことができない場合- 私たちのブログへようこそ。