53 lines
1.7 KiB
Markdown
53 lines
1.7 KiB
Markdown
{{{
|
|
"title": "Guestbook",
|
|
"status": "growing!",
|
|
"planted": "1/6/2026",
|
|
"last_tended_to": "1/10/2026",
|
|
"allow_inline": "true"
|
|
}}}
|
|
|
|
### Thanks for visiting my garden! Here's my guestbook:
|
|
|
|
<div class="signatures" style="position: relative;" id="signatures">
|
|
|
|
[[hidden__signatures]]
|
|
|
|
</div>
|
|
|
|
I'd love to get to know you too.
|
|
|
|
<label for="entry">If you're comfortable, go ahead and sign!</label>
|
|
Feel free to add whatever you want to share:
|
|
* who you are
|
|
* where you're reading from
|
|
* what time is it where you are?
|
|
* stuff you'd like to show me
|
|
* what you enjoyed
|
|
* what you hated >:(
|
|
|
|
<textarea id="entry" class="guestbook" maxlength=500></textarea>
|
|
<button id="sign" style="margin: 0 auto; width: 50%; display: table" onclick="
|
|
let signature = document.getElementById('entry').value;
|
|
if(signature.length == 0) { return; }
|
|
fetch('loam/sign', { method: 'post', body: signature}).then(() => {
|
|
console.log(signature);
|
|
const placeholder = document.getElementById('signatures');
|
|
let marked = import(`https://cdn.jsdelivr.net/npm/marked/lib/marked.esm.js`).then((mod)=> {
|
|
let marked = mod.marked
|
|
fetch('hidden/signatures.md')
|
|
.then((response) => {
|
|
if(!response.ok) {
|
|
return 'Unable to get signatures :('
|
|
}
|
|
return response.text();
|
|
})
|
|
.then((md) => {
|
|
placeholder.innerHTML = marked.parse(md);
|
|
// console.log('reloaded placeholder!')
|
|
})
|
|
});
|
|
});
|
|
const btn = document.getElementById('sign');
|
|
btn.disabled = true;
|
|
btn.innerHTML = 'thanks!'
|
|
">Sign</button>
|