feat: Markdown mode keybind (Ctrl + M)

This commit is contained in:
ThatOneCalculator 2022-04-03 23:55:59 -07:00
parent 667e00b894
commit ee5e9a1ca3
3 changed files with 18 additions and 11 deletions

View File

@ -31,7 +31,7 @@
- ‍🧑‍💻 [CLI Client](https://github.com/zer0bin-dev/zer0)
- 🚀 Easily selfhostable
- 👀 View counter
- ⌨️ Keybinds (<kbd>Ctrl</kbd> + <kbd>S</kbd>: save paste, <kbd>Ctrl</kbd> + <kbd>N</kbd>: new paste, <kbd>Ctrl</kbd> + <kbd>D</kbd>: duplicate paste)
- ⌨️ Keybinds (<kbd>Ctrl</kbd> + <kbd>S</kbd>: save paste, <kbd>Ctrl</kbd> + <kbd>N</kbd>: new paste, <kbd>Ctrl</kbd> + <kbd>D</kbd>: duplicate paste, <kbd>Ctrl</kbd> + <kbd>M</kbd>: toggle markdown mode)
- 📱 Mobile-friendly UI
- 🧈 Super smooth scrolling
- 🖼️ Badge generation for stats (seen below)

View File

@ -68,7 +68,7 @@ tippy("#save-button", {
})
tippy("#markdown-button", {
content: "Markdown mode<br><span class='keybind'>Markdown rendering</span>",
content: "Markdown mode<br><span class='keybind'>Ctrl + M</span>",
placement: "bottom",
animation: "scale",
theme: "rosepine",

View File

@ -237,6 +237,18 @@ async function duplicatePaste() {
editor.value = content
}
function toggleMarkdown() {
let val = editor.value
markdownButton.lastElementChild.classList.toggle("markdown")
if (isMarkdown) {
isMarkdown = false
val = val.substring(val.indexOf("\n") + 1)
} else {
isMarkdown = true
val = `---\n${val}`
}
}
saveButton.addEventListener("click", async function () {
await savePaste()
})
@ -251,6 +263,9 @@ document.addEventListener("keydown", (e) => {
} else if (e.ctrlKey && e.key === "d") {
e.preventDefault()
duplicatePaste()
} else if (e.ctrlKey && e.key === "m") {
e.preventDefault()
toggleMarkdown()
}
})
@ -295,15 +310,7 @@ hideButton.addEventListener("click", function () {
})
markdownButton.addEventListener("click", function () {
let val = editor.value
markdownButton.lastElementChild.classList.toggle("markdown")
if (isMarkdown) {
isMarkdown = false
val = val.substring(val.indexOf("\n") + 1)
} else {
isMarkdown = true
val = `---\n${val}`
}
toggleMarkdown()
})
singleViewButton.addEventListener("click", function () {