File size: 2,196 Bytes
e764231
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
"""
Simple Gradio app for Hugging Face Spaces to display and offer the CapCut article HTML for download.
Place this file inside: capcutmodapk/app.py
Make sure you add a requirements.txt with:
    gradio

This app will:
- Load `capcut-article.html` (created earlier) if present
- Render the HTML inside the Space using gr.HTML
- Provide a download button (gr.File) for the HTML file

"""

import os
from pathlib import Path
import gradio as gr

HERE = Path(__file__).parent
HTML_FILE = HERE / "capcut-article.html"

# read the article html if it exists
if HTML_FILE.exists():
    article_html = HTML_FILE.read_text(encoding="utf-8")
else:
    article_html = "<h2>CapCut Article Not Found</h2><p>Please add <code>capcut-article.html</code> to this folder.</p>"


def provide_file():
    """Return path to the HTML file so Gradio's File component can serve it for download."""
    if HTML_FILE.exists():
        return str(HTML_FILE.resolve())
    return None


def make_interface():
    with gr.Blocks(title="CapCut Article Viewer") as demo:
        gr.Markdown("# CapCut Article — Viewer & Download")
        gr.Markdown("This Space displays the CapCut article and provides a download link for the HTML file.\n\nIf you want to edit the article, open `capcut-article.html` in the repository and commit your changes.")

        with gr.Row():
            with gr.Column(scale=3):
                # Render article HTML (safe for Spaces)
                gr.HTML(article_html, elem_id="article-view")

            with gr.Column(scale=1):
                gr.Markdown("### Download")
                file_output = gr.File(value=provide_file(), label="Download capcut-article.html")

                gr.Markdown("---")
                gr.Markdown("### Repo structure expected:\n\n```\nthecupcutapk/\n  capcutmodapk/\n    app.py\n    capcut-article.html\n```\n\nIf `capcut-article.html` is missing, add it to the folder and re-run the Space.")

        gr.Markdown("---\nMade for Hugging Face Spaces — simple, static article viewer.\n")
    return demo


app = make_interface()

if __name__ == "__main__":
    # For local testing: python app.py
    app.launch(server_name="0.0.0.0", server_port=7860)