mirror of
https://github.com/MathiasDPX/blog.git
synced 2025-05-10 07:33:09 +00:00
fix editor not using URL from env
This commit is contained in:
parent
265d29c275
commit
d084b546b2
2 changed files with 56 additions and 2 deletions
|
@ -1,5 +1,6 @@
|
|||
"""Used for editor/editor's preview"""
|
||||
|
||||
import os
|
||||
import base64
|
||||
from flask import Blueprint, request, render_template
|
||||
|
||||
|
@ -7,7 +8,7 @@ editor_routes = Blueprint('simple_page', __name__, template_folder='templates')
|
|||
|
||||
@editor_routes.route("/editor")
|
||||
def editor():
|
||||
return render_template("editor/editor.html")
|
||||
return render_template("editor/editor.html", hostname=os.getenv("URL"))
|
||||
|
||||
@editor_routes.route("/preview/<b64>")
|
||||
@editor_routes.route("/preview/")
|
||||
|
|
|
@ -13,6 +13,59 @@
|
|||
<label for="previewSwitch">Preview</label>
|
||||
<input type="checkbox" id="previewSwitch">
|
||||
</div>
|
||||
<script src="{{ url_for('static', filename='editor.js') }}"></script>
|
||||
<script>
|
||||
const codeArea = document.getElementById('code')
|
||||
const previewFrame = document.getElementById('preview')
|
||||
const previewSwitch = document.getElementById('previewSwitch')
|
||||
let lastCode = ''
|
||||
let previewMode = false
|
||||
|
||||
function forceUpdatePreview() {
|
||||
const currentCode = codeArea.value
|
||||
const encodedCode = btoa(currentCode)
|
||||
let url = `{{ hostname }}/preview/${encodedCode}`
|
||||
if (previewMode) {
|
||||
url += "?website=True"
|
||||
}
|
||||
previewFrame.src = url
|
||||
}
|
||||
|
||||
function updatePreview() {
|
||||
const currentCode = codeArea.value
|
||||
if (currentCode !== lastCode) {
|
||||
forceUpdatePreview();
|
||||
lastCode = currentCode
|
||||
}
|
||||
}
|
||||
|
||||
function saveCode() {
|
||||
const currentCode = codeArea.value
|
||||
const blob = new Blob([currentCode], { type: 'text/plain' })
|
||||
const url = URL.createObjectURL(blob)
|
||||
const a = document.createElement('a')
|
||||
a.href = url
|
||||
a.download = 'code.html'
|
||||
a.style.display = 'none'
|
||||
document.body.appendChild(a)
|
||||
a.click()
|
||||
document.body.removeChild(a)
|
||||
URL.revokeObjectURL(url)
|
||||
}
|
||||
|
||||
setInterval(updatePreview, 1000)
|
||||
updatePreview()
|
||||
|
||||
document.addEventListener('keydown', function(event) {
|
||||
if (event.ctrlKey && event.key === 's') {
|
||||
event.preventDefault()
|
||||
saveCode()
|
||||
}
|
||||
})
|
||||
|
||||
previewSwitch.addEventListener('change', function(event) {
|
||||
previewMode = event.target.checked
|
||||
forceUpdatePreview()
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue