3

コメントやユーザー プロファイルなどのユーザー インタラクションが多い Web サイトを作成するためにDocPadを検討しています。ファイル ベースのデータ ストレージが好きなので、ユーザーが投稿したデータを src/documents/ の下のファイルに書き込むことを考えました (例: src/documents)。 /comments/ some-generated-id .html.md および src/documents/users/ user-name .html.md)。

これには、ユーザー入力を処理および保存するためのサーバー側のロジックが必要になります。どのように対処しますか?コードをどこに配置すればよいですか? これはプラグインに行くべきだと思います。そのような準備ができているプラ​​グインはありますか?

4

2 に答える 2

1

私はそれを理解したと思います。

@balupton の説明に従って、/plugins/userInput/userInput.plugin.coffee の下にプラグインを作成しました: http://bevry.me/docpad/plugin-write

私のプラグインの中に私はこれを持っています:

<!-- language: lang-coffee -->
module.exports = (BasePlugin) ->
  class userInput extends BasePlugin
    name: "userInput"
    serverExtend: (options) ->
      {server} = options
      docpad = @docpad
      server.delete '*', userInput.deleteContent
      server.get '*', (request, response, next) ->
        switch request.query.action
          when 'delete' then userInput.deleteContent request, response, next
          else next()
    @deleteContent: (request, response, next) ->
      response.send 'That was really cool shit, man. Now it\'s gone!'

これは単なる概念実証です。実際にコンテンツを削除または変更するわけではありません。とにかく、それは私の質問に答えます。ここから、実際のデータ操作を簡単に実装できるはずです。もう少し成熟したら、このプラグインを共有します。

ところでDocPadは素晴らしいです。私は長い間、このようなことを夢見ていました。後ろにいるすべての人に感謝します。

于 2012-12-09T22:32:59.100 に答える
0

1) すべての動的コンテンツは、一部のサービス プロバイダーに「オフショア」する必要があります。広告から広告サービスへのように (ほとんどの場合、そのように行われます) disqus へのコメント、またはそこにある任意の rss サービスに類似した rss へのコメント

2) ユーザー プロファイルは簡単ではありません。(そして、google+/facebook のようなサードパーティのユーザー プロファイル サービスに接続できない場合を除きます)

1 つの解決策は、ユーザーが生成したすべてのコンテンツを処理するサーバーを構築してから、静的ファイルを更新することです。

それは遅く、面倒かもしれません。

于 2013-02-09T10:47:57.120 に答える