6

DocPad は他の静的サイト ジェネレーターと同等であると説明されていますが、「静的サイトの生成に限定されない」とも説明されています。

DocPad の Web サイトやその他のドキュメントを閲覧しましたが、動的コンテンツを組み込む方法や、どのような種類の制限が関係している可能性があるかを説明していると思われるものをまだ見つけることができませんでした。

比較的初心者なので、動的コンテンツをDocPadに組み込む方法論をよりよく理解するのを誰かが助けてくれるかどうか疑問に思っています...? たとえば、AJAX、および特定のタグがクリックされたときに Flickr から Web ページに画像を動的にロードするようなことを行うための動的サーバー側スクリプト...

ありがとう。

4

1 に答える 1

12

したがって、DocPad が動的コンテンツを容易にする方法がいくつかあります。

  1. regenerateEvery 構成オプション経由。これにより、指定した頻度で Web サイトが再生成されます。これは、リモート フィード ソース (最新のソーシャル アクティビティなど) からデータを取り込むためのfeedrのようなプラグインや、クローンを作成してプロジェクト内の git リポジトリを最新の状態に保つrepoclonerなどのプラグインと組み合わせると優れています。このオプションの利点は、非常に簡単に実行できることと、動的な Web サイトの錯覚を提供することです。たとえば、Benjamin Lupton の Web サイトはこの方法を適用して、ホームページの統計情報とサイドバーのソーシャル データを最新の状態に保ちます。1 時間ごとに最新の情報で再生成されます。それを高速にし、また幻想的に動的にします。

  2. dynamic メタデータ プロパティ経由。これに設定するとtrue、一度だけではなく、リクエストごとにそのドキュメントを再レンダリングする必要があることを DocPad サーバーに伝えます。これは、検索ページやその他のフォームの Kitchensink Skeleton 内でうまく機能ます。この方法は、PHP 開発に最も似ています。

  3. serverExtend イベント経由。このイベントを使用すると、DocPad サーバーにフックして拡張し、サーバー側のロジックや処理などを追加できます。一般的な使用例は、サーバーにルーティングを追加してルート エイリアスを処理し、連絡先などのフォーム処理を追加することです。フォーム、または Backbone.js アプリケーション用の RESTULful インターフェイスを追加します。DocPad Web サイトはこれを使用して、追加のルーティングを追加し、ドキュメントの受信後フックを再生成します。NodeChatスケルトンはこれを使用して、Socket.io サーバー側ロジックを追加します

  4. API経由。この方法は最も複雑ですが、DocPad を既存の node.js アプリケーションの一部にしたいだけの場合は、非常にやりがいがあります。これにより、コード内に DocPad インスタンスを作成し、それを操作できます。grunt-docs grunt タスクはこれを利用します:)

于 2013-05-06T00:17:37.137 に答える