我正在考虑DocPad建立一个包含大量用户互动的网站,例如评论,用户档案等。我喜欢基于文件的数据存储,所以我考虑将用户发布的数据写在src / documents下的文件中/(例如,src / documents / comments / some-generated-id .html.md和src / documents / users / user-name .html.md)。< / p>
这需要一些服务器端逻辑来处理和存储用户输入。你会如何解决这个问题?我应该把代码放在哪里?我想这应该是一个插件。有这样的现成插件吗?
答案 0 :(得分:1)
我想我已经明白了。
我在/plugins/userInput/userInput.plugin.coffee下制作插件,如@balupton所述: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!'
这只是概念的证明。它并不真正删除或更改任何内容。无论如何,这回答了我的问题,从这里应该很容易实现真正的数据操作。我会在它更成熟的时候分享这个插件。
BTW DocPad真棒。我很长一段时间都在梦想这样的事情。感谢背后的所有人。
答案 1 :(得分:0)
1)任何/所有动态内容都应该向某个服务提供商“外包”。喜欢 广告到广告服务(好吧,它几乎总是这样做) 对disqus或类似的评论 rss到任何rss服务
2)用户档案并不容易。 (除非您无法与某些第三方用户个人资料服务联系,例如google + / facebook)
一种解决方案是构建处理所有用户生成内容的服务器,然后为您更新静态文件。
这可能很慢,也很麻烦。