【问题标题】:should the app save the html content or markdown content into database? [closed]应用程序应该将 html 内容或 markdown 内容保存到数据库中吗? [关闭]
【发布时间】:2013-04-22 16:00:48
【问题描述】:

我现在正在构建一个简单的应用程序,其中包括编辑博客等内容。我有一些选择,例如 tinymc,一个很好的 html 编辑器,我打算使用它。但后来我发现了一些关于降价的东西,它很容易使用,现在也很流行。在 Markdown 支持的编辑器中,EpicEditor 是一个不错的选择。由于某些原因,WYSIWYGs 很糟糕而且很复杂。所以我决定使用降价编辑器。

然后在node.js服务器端,我有两种选择来存储内容,要么是markdown,要么是html,就像在cod中一样,它首先将markdown解析为html,然后将其保存到数据库中。

app.post('/post', function(req, res){
    var currentUser = req.session.user,
        html = markdown.makeHtml(req.body.post),
        post = new Post(currentUser.name, req.body.title, html);
    post.save(function(err){
        if(err){
            req.flash('error', err); 
            return res.redirect('/');
        }
        req.flash('success', 'scc!');
        res.redirect('/');
    });
});

将html保存到数据库的好处是,应用在加载内容时不需要从markdown解析为html。 而将markdown保存到数据库的好处是,当用户想再次编辑内容时,客户端更容易编辑markdown内容。

【问题讨论】:

  • 定义“更好”。没有澄清,更好是主观的和毫无意义的,问题是无法回答的。

标签: html editor markdown epiceditor


【解决方案1】:

一般来说,最好保留原始输入,然后(按需)将其转换为目标视图。这使您可以将原始输入返回以供以后编辑,并将原始输入转换为不同格式的不同视图(例如,如果您想将数据放入电子邮件中,您可以将降价保留为文本的纯文本电子邮件的版本)。

也就是说,Markdown 到 HTML 的成本可能很高(就 CPU 而言),因此您可能希望在输入时(或首次查看时)将其转换为 HTML,然后缓存结果(可能在同一数据库的另一列中)表作为降价存储)。不过,您仍应保留原始输入。

【讨论】:

    猜你喜欢
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多