JPressProjects / jpress

JPress,一个使用 Java 开发的建站神器,目前已经有 10w+ 网站使用 JPress 进行驱动,其中包括多个政府机构,200+上市公司,中科院、红+字会等。
http://www.jpress.cn
GNU Lesser General Public License v3.0
2.68k stars 1.18k forks source link

初始化编辑器时候可以把markdown编辑器的原文显示出来么 #35

Closed dengdaiyemanren closed 6 years ago

dengdaiyemanren commented 8 years ago

不展示原文的话和原来的样式有很大的差异,不利于从其他markdown文本copy内容。

softxiang commented 7 years ago

这个问题你解决了吗?还发现重新编辑之前的markdown的时候样式变成html样式了 image

dengdaiyemanren commented 7 years ago

经过调试发现原因是: 数据库中保持的是markdown 编译之后的文本,重新从数据库中获取后得到的调整后的html片段,所以加了

标签。 解决方法之一是: 在数据库中加一个字段保持编译之前的文本,在编辑态展示这个文本,就没有问题了。

步骤: 1、jpress_context 加一个字段,如 marked 2、修改代码BaseContent.java

    public java.lang.String getMarked() {
        return get("marked");
    }

    public void setMarked(java.lang.String marked) {
        set("marked", marked);
    }

3、 1)修改页面:_edit_include.html

2)修改页面:edit.html

function initMarkdownEditor(){
    if("" != $('#content_marked').attr('value'))
    {
        $('#textarea').text($('#content_marked').attr('value'));
     }

     simplemde = new SimpleMDE({ element: $("#textarea")[0] });  
}
function save(){

     $('#content_slug').attr('value',$("#slug_text").text());

    if("tinymce" == _editor){
        tinymce.activeEditor.uploadImages(function(success) {
            tinymce.triggerSave();
             $('#content_marked').attr('value',"");
            doSubmit();
        });
    }else{
        $("#textarea").text(simplemde.markdown(simplemde.value()));
        $('#content_marked').attr('value',simplemde.value());
        debugger;
        doSubmit();
    }
    return false;
 }