Add support of exporting raw html

This commit is contained in:
Cheng-Han, Wu 2016-06-17 16:17:37 +08:00
parent 4d24476316
commit cb1e00d1d1
3 changed files with 32 additions and 5 deletions

View file

@ -430,10 +430,7 @@ function postProcess(code) {
return result; return result;
} }
//extract markdown body to html and compile to template function generateCleanHTML(view) {
function exportToHTML(view) {
var title = renderTitle(ui.area.markdown);
var filename = renderFilename(ui.area.markdown) + '.html';
var src = view.clone(); var src = view.clone();
var eles = src.find('*'); var eles = src.find('*');
//remove syncscroll parts //remove syncscroll parts
@ -469,6 +466,25 @@ function exportToHTML(view) {
$(value).html(iframe); $(value).html(iframe);
} }
}); });
return src;
}
function exportToRawHTML(view) {
var filename = renderFilename(ui.area.markdown) + '.html';
var src = generateCleanHTML(view);
$(src).find('a.anchor').remove();
var html = src[0].outerHTML;
var blob = new Blob([html], {
type: "text/html;charset=utf-8"
});
saveAs(blob, filename);
}
//extract markdown body to html and compile to template
function exportToHTML(view) {
var title = renderTitle(ui.area.markdown);
var filename = renderFilename(ui.area.markdown) + '.html';
var src = generateCleanHTML(view);
//generate toc //generate toc
var toc = $('#toc').clone(); var toc = $('#toc').clone();
toc.find('*').removeClass('active'); toc.find('*').removeClass('active');

View file

@ -505,7 +505,8 @@ var ui = {
publish: $(".ui-publish"), publish: $(".ui-publish"),
download: { download: {
markdown: $(".ui-download-markdown"), markdown: $(".ui-download-markdown"),
html: $(".ui-download-html") html: $(".ui-download-html"),
rawhtml: $(".ui-download-raw-html")
}, },
export: { export: {
dropbox: $(".ui-save-dropbox"), dropbox: $(".ui-save-dropbox"),
@ -1174,6 +1175,12 @@ ui.toolbar.download.html.click(function (e) {
e.stopPropagation(); e.stopPropagation();
exportToHTML(ui.area.markdown); exportToHTML(ui.area.markdown);
}); });
// raw html
ui.toolbar.download.rawhtml.click(function (e) {
e.preventDefault();
e.stopPropagation();
exportToRawHTML(ui.area.markdown);
});
//export to dropbox //export to dropbox
ui.toolbar.export.dropbox.click(function () { ui.toolbar.export.dropbox.click(function () {
var filename = renderFilename(ui.area.markdown) + '.md'; var filename = renderFilename(ui.area.markdown) + '.md';

View file

@ -68,6 +68,8 @@
</li> </li>
<li role="presentation"><a role="menuitem" class="ui-download-html" tabindex="-1" href="#" target="_self"><i class="fa fa-file-code-o fa-fw"></i> HTML</a> <li role="presentation"><a role="menuitem" class="ui-download-html" tabindex="-1" href="#" target="_self"><i class="fa fa-file-code-o fa-fw"></i> HTML</a>
</li> </li>
<li role="presentation"><a role="menuitem" class="ui-download-raw-html" tabindex="-1" href="#" target="_self"><i class="fa fa-file-code-o fa-fw"></i> Raw HTML</a>
</li>
<li class="divider"></li> <li class="divider"></li>
<li role="presentation"><a role="menuitem" class="ui-help" href="#" data-toggle="modal" data-target=".help-modal"><i class="fa fa-question-circle fa-fw"></i> Help</a> <li role="presentation"><a role="menuitem" class="ui-help" href="#" data-toggle="modal" data-target=".help-modal"><i class="fa fa-question-circle fa-fw"></i> Help</a>
</li> </li>
@ -163,6 +165,8 @@
</li> </li>
<li role="presentation"><a role="menuitem" class="ui-download-html" tabindex="-1" href="#" target="_self"><i class="fa fa-file-code-o fa-fw"></i> HTML</a> <li role="presentation"><a role="menuitem" class="ui-download-html" tabindex="-1" href="#" target="_self"><i class="fa fa-file-code-o fa-fw"></i> HTML</a>
</li> </li>
<li role="presentation"><a role="menuitem" class="ui-download-raw-html" tabindex="-1" href="#" target="_self"><i class="fa fa-file-code-o fa-fw"></i> Raw HTML</a>
</li>
</ul> </ul>
</li> </li>
</ul> </ul>