mirror of
https://github.com/TrentSPalmer/fcc-challenges.git
synced 2024-12-22 14:12:48 -08:00
modified: markdown-previewer/markdownPreviewer.css
modified: markdown-previewer/markdownPreviewer.js
This commit is contained in:
parent
15c1baf09a
commit
d9fe7747ec
@ -74,7 +74,31 @@ img {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
@media (orientation: landscape) {
|
||||
#textEditor {
|
||||
background-color: #073642;
|
||||
}
|
||||
|
||||
#buttonHeader {
|
||||
height: 3rem;
|
||||
}
|
||||
|
||||
@media (orientation: portrait), (max-device-width: 768px) {
|
||||
#editorAndPreview {
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
#editor {
|
||||
height: 30vh;
|
||||
width: 100vw;
|
||||
}
|
||||
#preview {
|
||||
overflow-y: scroll;
|
||||
height: 40vh;
|
||||
width: 100vw;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-device-width: 1024px), (orientation: landscape) and (max-device-height: 425px) {
|
||||
#editorAndPreview {
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
@ -87,22 +111,11 @@ img {
|
||||
resize: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (orientation: portrait) {
|
||||
#buttonHeader {
|
||||
height: 3rem;
|
||||
}
|
||||
#editorAndPreview {
|
||||
flex-direction: column;
|
||||
}
|
||||
#editor {
|
||||
height: 43vh;
|
||||
width: 100vw;
|
||||
}
|
||||
#preview {
|
||||
overflow: scroll;
|
||||
height: 50vh;
|
||||
padding-bottom: 3%;
|
||||
}
|
||||
@media (max-device-height: 425px) {
|
||||
#textEditor, #preview {
|
||||
height: 90vh;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,48 +1,54 @@
|
||||
marked.setOptions({
|
||||
breaks: true,
|
||||
breaks: true
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
$(document).ready(function () {
|
||||
/* if there is editorText in sessionStorage, load that into
|
||||
* the editor, otherwise load the default text into the editor */
|
||||
if (sessionStorage.hasOwnProperty('editorText')) {
|
||||
$('#editor').val(sessionStorage.editorText);
|
||||
if (sessionStorage.hasOwnProperty("editorText")) {
|
||||
$("#editor").val(sessionStorage.editorText);
|
||||
} else {
|
||||
$('#editor').val(defaultText);
|
||||
};
|
||||
$("#editor").val(defaultText);
|
||||
}
|
||||
|
||||
// render the editor contents to the preview element
|
||||
$('#preview').html(marked($('#editor').val()));
|
||||
$("#preview").html(getMarkUp($("#editor").val()));
|
||||
|
||||
/* on every input event in the editor, store the editor
|
||||
* contents in sessionStorage and also render the contents
|
||||
* of the editor to the preview element */
|
||||
$('#editor').on('input',function() {
|
||||
sessionStorage.setItem('editorText',$(this).val());
|
||||
$('#preview').html(marked($(this).val()));
|
||||
$("#editor").on("input", function () {
|
||||
sessionStorage.setItem("editorText", $(this).val());
|
||||
$("#preview").html(getMarkUp($(this).val()));
|
||||
scrollSync();
|
||||
});
|
||||
|
||||
// handle eraseButton
|
||||
$('#eraseButton').click(function() {
|
||||
$('#editor').val('');
|
||||
sessionStorage.setItem('editorText',$('#editor').val());
|
||||
$('#preview').html(marked($('#editor').val()));
|
||||
$("#eraseButton").click(function () {
|
||||
$("#editor").val("");
|
||||
sessionStorage.setItem("editorText", $("#editor").val());
|
||||
$("#preview").html(getMarkUp($("#editor").val()));
|
||||
});
|
||||
|
||||
// handle reloadButton
|
||||
$('#reloadButton').click(function() {
|
||||
$('#editor').val(defaultText);
|
||||
sessionStorage.setItem('editorText',defaultText);
|
||||
$('#preview').html(marked(defaultText));
|
||||
$("#reloadButton").click(function () {
|
||||
$("#editor").val(defaultText);
|
||||
sessionStorage.setItem("editorText", defaultText);
|
||||
$("#preview").html(getMarkUp(defaultText));
|
||||
});
|
||||
|
||||
$('#editor').on('scroll', scrollSync);
|
||||
$("#editor").on("scroll", scrollSync);
|
||||
});
|
||||
|
||||
const scrollSync = () => {
|
||||
const editorScrollable = document.getElementById('editor').scrollHeight - $('#editor').height();
|
||||
const previewScrollable = document.getElementById('preview').scrollHeight - $('#preview').height();
|
||||
const editorScrollRatio = $('#editor').scrollTop() === 0 ? 0 : $('#editor').scrollTop() / editorScrollable;
|
||||
const editorScrollable = document.getElementById("editor").scrollHeight - $("#editor").height();
|
||||
const previewScrollable = document.getElementById("preview").scrollHeight - $("#preview").height();
|
||||
let editorScrollRatio = $("#editor").scrollTop() === 0 ? 0 : $("#editor").scrollTop() / editorScrollable;
|
||||
if (editorScrollRatio > 0.90) { editorScrollRatio = 1.5; }
|
||||
const previewScrollPosition = previewScrollable * editorScrollRatio;
|
||||
$('#preview').scrollTop(previewScrollPosition);
|
||||
$("#preview").scrollTop(previewScrollPosition);
|
||||
};
|
||||
|
||||
const getMarkUp = (text) => {
|
||||
return marked(text);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user