import gradio as gr from rich.console import Console from rich.syntax import Syntax def log_file_to_html_string(): log_file = "mylog.log" console = Console(record=True, width=150) with open(log_file, "rt") as f: syntax = Syntax(f.read(), "python", theme="monokai", word_wrap=True) console.print(syntax) html_content = console.export_html(inline_styles=True) return html_content #theme = gr.themes.Default().set( # body_background_fill="repeating-linear-gradient(45deg, *primary_800, *primary_800 10px, *primary_900 10px, *primary_900 20px)", # body_background_fill_dark="repeating-linear-gradient(45deg, *primary_800, *primary_800 10px, *primary_900 10px, *primary_900 20px)", # ) with gr.Blocks() as demo: name = gr.Markdown("# Reddit Scraper") output = gr.HTML(log_file_to_html_string, every=1) demo.load(None, _js=""" () => { document.body.classList.toggle('dark'); document.querySelector('gradio-app').style.backgroundColor = 'var(--color-background-primary)' } """,) if __name__ == '__main__': demo.launch(server_name="0.0.0.0", show_error=True, server_port=7860, enable_queue=True)