Fix escaping on snippet export.
Browse files- templates.py +6 -6
templates.py
CHANGED
|
@@ -60,7 +60,7 @@ def load_js(demo_type: DemoType) -> str:
|
|
| 60 |
|
| 61 |
let template = `{gradio_lite_html_template.replace('STARTING_CODE', starting_app_code(demo_type))}`;
|
| 62 |
if (codeValue) {{
|
| 63 |
-
template = `{gradio_lite_html_template}`.replace('STARTING_CODE', codeValue.
|
| 64 |
}}
|
| 65 |
template = template.replace('STARTING_REQUIREMENTS', requirementsValue || '');
|
| 66 |
const frame = document.getElementById('gradio-iframe');
|
|
@@ -182,17 +182,17 @@ def copy_share_link_js(demo_type: DemoType) -> str:
|
|
| 182 |
def copy_snippet_js(demo_type: DemoType) -> str:
|
| 183 |
if demo_type == DemoType.GRADIO:
|
| 184 |
return f"""async (code, requirements) => {{
|
| 185 |
-
const escapedCode = code.
|
| 186 |
const template = `{gradio_lite_snippet_template}`;
|
| 187 |
// Step 1: Generate the HTML content
|
| 188 |
-
const completedTemplate = template.replace('STARTING_CODE',
|
| 189 |
const snippet = completedTemplate;
|
| 190 |
await navigator.clipboard.writeText(snippet);
|
| 191 |
return [code, requirements];
|
| 192 |
}}"""
|
| 193 |
elif demo_type == DemoType.STREAMLIT:
|
| 194 |
return f"""async (code) => {{
|
| 195 |
-
const escapedCode = code.
|
| 196 |
const template = `{stlite_snippet_template}`;
|
| 197 |
// Step 1: Generate the HTML content
|
| 198 |
const completedTemplate = template.replace('STARTING_CODE', code);
|
|
@@ -206,7 +206,7 @@ def copy_snippet_js(demo_type: DemoType) -> str:
|
|
| 206 |
def download_code_js(demo_type: DemoType) -> str:
|
| 207 |
if demo_type == demo_type.GRADIO:
|
| 208 |
return f"""(code, requirements) => {{
|
| 209 |
-
const escapedCode = code.
|
| 210 |
// Step 1: Generate the HTML content
|
| 211 |
const completedTemplate = `{gradio_lite_html_template}`.replace('STARTING_CODE', escapedCode).replace('STARTING_REQUIREMENTS', requirements);
|
| 212 |
|
|
@@ -229,7 +229,7 @@ def download_code_js(demo_type: DemoType) -> str:
|
|
| 229 |
}}"""
|
| 230 |
elif demo_type == demo_type.STREAMLIT:
|
| 231 |
return f"""(code) => {{
|
| 232 |
-
const escapedCode = code.
|
| 233 |
// Step 1: Generate the HTML content
|
| 234 |
const completedTemplate = `{stlite_html_template}`.replace('STARTING_CODE', escapedCode);
|
| 235 |
|
|
|
|
| 60 |
|
| 61 |
let template = `{gradio_lite_html_template.replace('STARTING_CODE', starting_app_code(demo_type))}`;
|
| 62 |
if (codeValue) {{
|
| 63 |
+
template = `{gradio_lite_html_template}`.replace('STARTING_CODE', codeValue.replaceAll(String.fromCharCode(92), String.fromCharCode(92) + String.fromCharCode(92)).replaceAll('`', String.fromCharCode(92) + '`'));
|
| 64 |
}}
|
| 65 |
template = template.replace('STARTING_REQUIREMENTS', requirementsValue || '');
|
| 66 |
const frame = document.getElementById('gradio-iframe');
|
|
|
|
| 182 |
def copy_snippet_js(demo_type: DemoType) -> str:
|
| 183 |
if demo_type == DemoType.GRADIO:
|
| 184 |
return f"""async (code, requirements) => {{
|
| 185 |
+
const escapedCode = code.replaceAll(String.fromCharCode(92), String.fromCharCode(92) + String.fromCharCode(92) + String.fromCharCode(92) + String.fromCharCode(92)).replaceAll('`', String.fromCharCode(92) + '`');
|
| 186 |
const template = `{gradio_lite_snippet_template}`;
|
| 187 |
// Step 1: Generate the HTML content
|
| 188 |
+
const completedTemplate = template.replace('STARTING_CODE', escapedCode).replace('STARTING_REQUIREMENTS', requirements);
|
| 189 |
const snippet = completedTemplate;
|
| 190 |
await navigator.clipboard.writeText(snippet);
|
| 191 |
return [code, requirements];
|
| 192 |
}}"""
|
| 193 |
elif demo_type == DemoType.STREAMLIT:
|
| 194 |
return f"""async (code) => {{
|
| 195 |
+
const escapedCode = code.replaceAll(String.fromCharCode(92), String.fromCharCode(92) + String.fromCharCode(92) + String.fromCharCode(92)).replaceAll('`', String.fromCharCode(92) + '`');
|
| 196 |
const template = `{stlite_snippet_template}`;
|
| 197 |
// Step 1: Generate the HTML content
|
| 198 |
const completedTemplate = template.replace('STARTING_CODE', code);
|
|
|
|
| 206 |
def download_code_js(demo_type: DemoType) -> str:
|
| 207 |
if demo_type == demo_type.GRADIO:
|
| 208 |
return f"""(code, requirements) => {{
|
| 209 |
+
const escapedCode = code.replaceAll(String.fromCharCode(92), String.fromCharCode(92) + String.fromCharCode(92)).replaceAll('`', String.fromCharCode(92) + '`');
|
| 210 |
// Step 1: Generate the HTML content
|
| 211 |
const completedTemplate = `{gradio_lite_html_template}`.replace('STARTING_CODE', escapedCode).replace('STARTING_REQUIREMENTS', requirements);
|
| 212 |
|
|
|
|
| 229 |
}}"""
|
| 230 |
elif demo_type == demo_type.STREAMLIT:
|
| 231 |
return f"""(code) => {{
|
| 232 |
+
const escapedCode = code.replaceAll(String.fromCharCode(92), String.fromCharCode(92) + String.fromCharCode(92)).replaceAll('`', String.fromCharCode(92) + '`');
|
| 233 |
// Step 1: Generate the HTML content
|
| 234 |
const completedTemplate = `{stlite_html_template}`.replace('STARTING_CODE', escapedCode);
|
| 235 |
|