mirror of https://github.com/status-im/codimd.git
Support import from gist, fix some minor typo and issues
This commit is contained in:
parent
49b51e478f
commit
692903f1a1
|
@ -504,6 +504,7 @@ var ui = {
|
||||||
import: {
|
import: {
|
||||||
dropbox: $(".ui-import-dropbox"),
|
dropbox: $(".ui-import-dropbox"),
|
||||||
googleDrive: $(".ui-import-google-drive"),
|
googleDrive: $(".ui-import-google-drive"),
|
||||||
|
gist: $(".ui-import-gist"),
|
||||||
clipboard: $(".ui-import-clipboard")
|
clipboard: $(".ui-import-clipboard")
|
||||||
},
|
},
|
||||||
beta: {
|
beta: {
|
||||||
|
@ -1181,6 +1182,10 @@ function buildImportFromGoogleDrive() {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
//import from gist
|
||||||
|
ui.toolbar.import.gist.click(function () {
|
||||||
|
//na
|
||||||
|
});
|
||||||
//import from clipboard
|
//import from clipboard
|
||||||
ui.toolbar.import.clipboard.click(function () {
|
ui.toolbar.import.clipboard.click(function () {
|
||||||
//na
|
//na
|
||||||
|
@ -1283,6 +1288,7 @@ function applyScrollspyActive(top, headerMap, headers, target, offset) {
|
||||||
active.closest('li').addClass('active').parent().closest('li').addClass('active').parent().closest('li').addClass('active');
|
active.closest('li').addClass('active').parent().closest('li').addClass('active').parent().closest('li').addClass('active');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// clipboard modal
|
||||||
//fix for wrong autofocus
|
//fix for wrong autofocus
|
||||||
$('#clipboardModal').on('shown.bs.modal', function () {
|
$('#clipboardModal').on('shown.bs.modal', function () {
|
||||||
$('#clipboardModal').blur();
|
$('#clipboardModal').blur();
|
||||||
|
@ -1298,10 +1304,55 @@ $("#clipboardModalConfirm").click(function () {
|
||||||
$("#clipboardModalContent").html('');
|
$("#clipboardModalContent").html('');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// refresh modal
|
||||||
$('#refreshModalRefresh').click(function () {
|
$('#refreshModalRefresh').click(function () {
|
||||||
location.reload(true);
|
location.reload(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// gist import modal
|
||||||
|
$("#gistImportModalClear").click(function () {
|
||||||
|
$("#gistImportModalContent").val('');
|
||||||
|
});
|
||||||
|
$("#gistImportModalConfirm").click(function () {
|
||||||
|
var gisturl = $("#gistImportModalContent").val();
|
||||||
|
if (!gisturl) return;
|
||||||
|
$('#gistImportModal').modal('hide');
|
||||||
|
$("#gistImportModalContent").val('');
|
||||||
|
if (!isValidURL(gisturl)) {
|
||||||
|
showMessageModal('<i class="fa fa-github"></i> Import from Gist', 'Not a valid URL :(', '', '', false);
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
var hostname = url('hostname', gisturl)
|
||||||
|
if (hostname !== 'gist.github.com') {
|
||||||
|
showMessageModal('<i class="fa fa-github"></i> Import from Gist', 'Not a valid Gist URL :(', '', '', false);
|
||||||
|
} else {
|
||||||
|
ui.spinner.show();
|
||||||
|
$.get('https://api.github.com/gists/' + url('-1', gisturl))
|
||||||
|
.success(function (data) {
|
||||||
|
if (data.files) {
|
||||||
|
var contents = "";
|
||||||
|
Object.keys(data.files).forEach(function (key) {
|
||||||
|
contents += key;
|
||||||
|
contents += '\n---\n';
|
||||||
|
contents += data.files[key].content;
|
||||||
|
contents += '\n\n';
|
||||||
|
});
|
||||||
|
replaceAll(contents);
|
||||||
|
} else {
|
||||||
|
showMessageModal('<i class="fa fa-github"></i> Import from Gist', 'Unable to fetch gist files :(', '', '', false);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.error(function (data) {
|
||||||
|
showMessageModal('<i class="fa fa-github"></i> Import from Gist', 'Not a valid Gist URL :(', '', JSON.stringify(data), false);
|
||||||
|
})
|
||||||
|
.complete(function () {
|
||||||
|
ui.spinner.hide();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
function parseToEditor(data) {
|
function parseToEditor(data) {
|
||||||
var parsed = toMarkdown(data);
|
var parsed = toMarkdown(data);
|
||||||
if (parsed)
|
if (parsed)
|
||||||
|
@ -1320,9 +1371,9 @@ function replaceAll(data) {
|
||||||
|
|
||||||
function importFromUrl(url) {
|
function importFromUrl(url) {
|
||||||
//console.log(url);
|
//console.log(url);
|
||||||
if (url == null) return;
|
if (!url) return;
|
||||||
if (!isValidURL(url)) {
|
if (!isValidURL(url)) {
|
||||||
showMessageModal('<i class="fa fa-cloud-download"></i> Import from URL', 'Not valid URL :(', '', '', false);
|
showMessageModal('<i class="fa fa-cloud-download"></i> Import from URL', 'Not a valid URL :(', '', '', false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
@ -1336,7 +1387,7 @@ function importFromUrl(url) {
|
||||||
replaceAll(data);
|
replaceAll(data);
|
||||||
},
|
},
|
||||||
error: function (data) {
|
error: function (data) {
|
||||||
showMessageModal('<i class="fa fa-cloud-download"></i> Import from URL', 'Import failed :(', '', data, false);
|
showMessageModal('<i class="fa fa-cloud-download"></i> Import from URL', 'Import failed :(', '', JSON.stringify(data), false);
|
||||||
},
|
},
|
||||||
complete: function () {
|
complete: function () {
|
||||||
ui.spinner.hide();
|
ui.spinner.hide();
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
<div id="toc-affix" class="ui-affix-toc ui-toc-dropdown unselectable hidden-print" data-spy="affix" style="top:51px;display:none;"></div>
|
<div id="toc-affix" class="ui-affix-toc ui-toc-dropdown unselectable hidden-print" data-spy="affix" style="top:51px;display:none;"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- clipboard modal -->
|
||||||
<div class="modal fade" id="clipboardModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
<div class="modal fade" id="clipboardModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-lg">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
|
@ -55,6 +56,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- refresh modal -->
|
||||||
<div class="modal fade" id="refreshModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
<div class="modal fade" id="refreshModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-sm">
|
<div class="modal-dialog modal-sm">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
|
@ -102,7 +104,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body" style="color:black;">
|
<div class="modal-body" style="color:black;">
|
||||||
<h5>Sorry, you've reached the max length this note can be.</h5>
|
<h5>Sorry, you've reached the max length this note can be.</h5>
|
||||||
<strong>Please reduce the content or divided it to more notes, thank you!</strong>
|
<strong>Please reduce the content or divide it to more notes, thank you!</strong>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-warning" data-dismiss="modal">OK</button>
|
<button type="button" class="btn btn-warning" data-dismiss="modal">OK</button>
|
||||||
|
@ -121,11 +123,32 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body" style="color:black;">
|
<div class="modal-body" style="color:black;">
|
||||||
<h5></h5>
|
<h5></h5>
|
||||||
<a target="_blank"></a>
|
<a target="_blank" style="word-break: break-all;"></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">OK</button>
|
<button type="button" class="btn btn-default" data-dismiss="modal">OK</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- gist import modal -->
|
||||||
|
<div class="modal fade" id="gistImportModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
<h4 class="modal-title" id="myModalLabel">Import from Gist</h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<input type="url" class="form-control" placeholder="Paste your gist url here... (like: https://gist.github.com/username/gistid)" id="gistImportModalContent">
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
||||||
|
<button type="button" class="btn btn-danger" id="gistImportModalClear">Clear</button>
|
||||||
|
<button type="button" class="btn btn-primary" id="gistImportModalConfirm">Import</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<%- include modal %>
|
|
@ -48,6 +48,8 @@
|
||||||
</li>
|
</li>
|
||||||
<li role="presentation"><a role="menuitem" class="ui-import-google-drive" tabindex="-1" href="#" target="_self"><i class="fa fa-cloud-download fa-fw"></i> Google Drive</a>
|
<li role="presentation"><a role="menuitem" class="ui-import-google-drive" tabindex="-1" href="#" target="_self"><i class="fa fa-cloud-download fa-fw"></i> Google Drive</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li role="presentation"><a role="menuitem" class="ui-import-gist" href="#" data-toggle="modal" data-target="#gistImportModal"><i class="fa fa-github fa-fw"></i> Gist</a>
|
||||||
|
</li>
|
||||||
<li role="presentation"><a role="menuitem" class="ui-import-clipboard" href="#" data-toggle="modal" data-target="#clipboardModal"><i class="fa fa-clipboard fa-fw"></i> Clipboard</a>
|
<li role="presentation"><a role="menuitem" class="ui-import-clipboard" href="#" data-toggle="modal" data-target="#clipboardModal"><i class="fa fa-clipboard fa-fw"></i> Clipboard</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="divider"></li>
|
<li class="divider"></li>
|
||||||
|
@ -131,6 +133,8 @@
|
||||||
</li>
|
</li>
|
||||||
<li role="presentation"><a role="menuitem" class="ui-import-google-drive" tabindex="-1" href="#" target="_self"><i class="fa fa-cloud-download fa-fw"></i> Google Drive</a>
|
<li role="presentation"><a role="menuitem" class="ui-import-google-drive" tabindex="-1" href="#" target="_self"><i class="fa fa-cloud-download fa-fw"></i> Google Drive</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li role="presentation"><a role="menuitem" class="ui-import-gist" href="#" data-toggle="modal" data-target="#gistImportModal"><i class="fa fa-github fa-fw"></i> Gist</a>
|
||||||
|
</li>
|
||||||
<li role="presentation"><a role="menuitem" class="ui-import-clipboard" href="#" data-toggle="modal" data-target="#clipboardModal"><i class="fa fa-clipboard fa-fw"></i> Clipboard</a>
|
<li role="presentation"><a role="menuitem" class="ui-import-clipboard" href="#" data-toggle="modal" data-target="#clipboardModal"><i class="fa fa-clipboard fa-fw"></i> Clipboard</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="divider"></li>
|
<li class="divider"></li>
|
||||||
|
|
Loading…
Reference in New Issue