bloom_demo_long / screenshot.py
darragh's picture
.
9d3f78d
## HTML and JS code to give Gradio HTML
before_prompt = """
<div id = "img_placeholder">
</div>
<div class="relative" id="capture" align="justify" style="display:none;">
<div class="absolute font-semibold" style="left:7%; right:7%; bottom:32%; top:7%; font-size: 8rem; line-height: 1; padding: 1rem; font-family:-apple-system, BlinkMacSystemFont, 'Arial', sans-serif;" id="text_box">
<p class="text" style="color:white; white-space:pre-wrap;" dir="auto" id = "prompt">"""
prompt_to_generation = """</p>
<p class="text" style="color:#FE57A0; white-space:pre-wrap;" dir="auto" id="generation">"""
after_generation = """</p>
</div>
<img src="https://huggingface.co/spaces/huggingface/bloom_demo/raw/main/bg.jpg" class="w-full" />
</div>
"""
js_save = """() => {
/*might need to add .root to launch locally */
var gradioapp = document.body.getElementsByTagName('gradio-app')[0];
/* Save image */
capture = gradioapp.querySelector('#capture')
img_placeholder = gradioapp.querySelector('#img_placeholder')
html2canvas(capture, {
useCORS: true,
onclone: function (clonedDoc) {
clonedDoc.querySelector('#capture').style.display = 'block';
/*Fits text to box*/
var text_box = clonedDoc.querySelector('#text_box');
var prompt = clonedDoc.querySelector('#prompt');
var generation = clonedDoc.querySelector('#generation');
console.log(text_box, generation, prompt)
cur_font_size = getComputedStyle(text_box).getPropertyValue("font-size")
while( (text_box.clientHeight < text_box.scrollHeight || text_box.clientWidth < text_box.scrollWidth) & parseInt(cur_font_size) > 10) {
console.log(cur_font_size, text_box.clientHeight, text_box.scrollHeight, text_box.clientWidth, text_box.scrollWidth)
cur_font_size = 0.98 * parseInt(cur_font_size) + "px"
cur_line_height = 1.1 * parseInt(cur_font_size) + "px"
text_box.style.fontSize = cur_font_size
prompt.style.fontSize = cur_font_size
generation.style.fontSize = cur_font_size
text_box.style.lineHeight = cur_line_height
prompt.style.lineHeight = cur_line_height
generation.style.lineHeight = cur_line_height
}
}
}).then((canvas)=>{
img_placeholder.prepend(canvas);
})
}"""
js_load_script="""() => {
var script = document.createElement('script');
script.src = "https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js";
document.head.appendChild(script);
}"""