SideGuy · Shareable Builder
← All Shareables

Build a Shareable Instant

Or run with Claude API (generates content automatically):
python3 tools/shareable-generator/run.py \ --slug "slug" \ --name "Name" \ --context "Context about this person or business."
Live Preview
Text PJ
Text PJ
858-461-8054
\n'; } function esc(s){ return (s||'').replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"'); } function livePreview(){ updateCLI(); var html = getHTML(); var frame = document.getElementById('preview-frame'); frame.srcdoc = html; } function updateCLI(){ var slug = document.getElementById('f-slug').value || 'slug'; var name = document.getElementById('f-name').value || 'Name'; var sub = document.getElementById('f-sub').value || 'Context about this person.'; document.getElementById('cli-box').textContent = 'python3 tools/shareable-generator/run.py \\\n'+ ' --slug "'+slug+'" \\\n'+ ' --name "'+name+'" \\\n'+ ' --context "'+sub.slice(0,120).replace(/\n/g,' ')+'"'; } function generateAndDownload(){ var slug = document.getElementById('f-slug').value || 'shareable'; var html = getHTML(); var blob = new Blob([html],{type:'text/html'}); var a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = slug+'.html'; a.click(); showStatus('Downloaded '+slug+'.html — drop it in shareables/ and commit.','ok'); } function copyHTML(){ var html = getHTML(); navigator.clipboard.writeText(html).then(function(){ showStatus('HTML copied to clipboard.','ok'); }).catch(function(){ showStatus('Copy failed — try downloading instead.','err'); }); } function showStatus(msg,type){ var el = document.getElementById('status'); el.textContent = msg; el.className = type; el.style.display='block'; setTimeout(function(){el.style.display='none';},4000); } // Init preview livePreview();