これは「失われたケース」かもしれませんが、DocPad によって生成された 1 つまたは複数のページをパスワードで保護することは可能ですか?
protected = true
ページのメタデータ セクションで発言できるようにするプラグインまたは何かを作成することは可能ですか?
または、ページを保護するために .htaccess などを使用する必要がありますか?
これは「失われたケース」かもしれませんが、DocPad によって生成された 1 つまたは複数のページをパスワードで保護することは可能ですか?
protected = true
ページのメタデータ セクションで発言できるようにするプラグインまたは何かを作成することは可能ですか?
または、ページを保護するために .htaccess などを使用する必要がありますか?
node.js ホスティング プロバイダーでホストすることを計画している場合は、次の要点を使用できます: https://gist.github.com/4557006
serverExtend
イベントを使用して、新しい Express.js ミドルウェアを追加するという考え方です。イベント経由で追加されたserverExtend
ミドルウェアは、docpad のミドルウェアが追加される前に追加されるため、これは、この認証レイヤーの理想的な場所であり、カスタム ルート/ミドルウェアなどの他のほとんどのユース ケースにも適しています。要求されているドキュメントが保護されているかどうか、そうでない場合はミドルウェア チェーンを下っていきます (おそらく docpad ミドルウェアにアクセスして正常にレンダリングされます)、または保護されたドキュメントである場合は、express basicAuth ミドルウェアに転送します。
protected = true
ページのメタデータで実際に宣言し、protectedPages という名前のコレクションを に持つことができると思いますdocpad.coffee
。
collections:
protectedPages: (database) ->
database.findAllLive({protected: true})
そして、.htaccess.eco
次のようなファイルを作成します。
AuthUserFile /full/path/to/.htpasswd
AuthType Basic
AuthName "Protected area"
<% for document in @getCollection('protectedPages').toJSON(): %>
<Files "<%= document.url %>">
Require valid-user
</Files>
<% end %>
これを .htaccess ファイルを生成するプラグインに変換するのは簡単です。例として、サイトマップ プラグインを使用できます。