You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.1 KiB
Python
77 lines
2.1 KiB
Python
![]()
2 months ago
|
CONSOLE_HTML_FORMAT = """\
|
||
|
<!DOCTYPE html>
|
||
|
<head>
|
||
|
<meta charset="UTF-8">
|
||
|
<style>
|
||
|
{stylesheet}
|
||
|
body {{
|
||
|
color: {foreground};
|
||
|
background-color: {background};
|
||
|
}}
|
||
|
</style>
|
||
|
</head>
|
||
|
<html>
|
||
|
<body>
|
||
|
<pre style="font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace"><code>{code}</code></pre>
|
||
|
</body>
|
||
|
</html>
|
||
|
"""
|
||
|
|
||
|
CONSOLE_SVG_FORMAT = """\
|
||
|
<svg class="rich-terminal" viewBox="0 0 {width} {height}" xmlns="http://www.w3.org/2000/svg">
|
||
|
<!-- Generated with Rich https://www.textualize.io -->
|
||
|
<style>
|
||
|
|
||
|
@font-face {{
|
||
|
font-family: "Fira Code";
|
||
|
src: local("FiraCode-Regular"),
|
||
|
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||
|
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||
|
font-style: normal;
|
||
|
font-weight: 400;
|
||
|
}}
|
||
|
@font-face {{
|
||
|
font-family: "Fira Code";
|
||
|
src: local("FiraCode-Bold"),
|
||
|
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||
|
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||
|
font-style: bold;
|
||
|
font-weight: 700;
|
||
|
}}
|
||
|
|
||
|
.{unique_id}-matrix {{
|
||
|
font-family: Fira Code, monospace;
|
||
|
font-size: {char_height}px;
|
||
|
line-height: {line_height}px;
|
||
|
font-variant-east-asian: full-width;
|
||
|
}}
|
||
|
|
||
|
.{unique_id}-title {{
|
||
|
font-size: 18px;
|
||
|
font-weight: bold;
|
||
|
font-family: arial;
|
||
|
}}
|
||
|
|
||
|
{styles}
|
||
|
</style>
|
||
|
|
||
|
<defs>
|
||
|
<clipPath id="{unique_id}-clip-terminal">
|
||
|
<rect x="0" y="0" width="{terminal_width}" height="{terminal_height}" />
|
||
|
</clipPath>
|
||
|
{lines}
|
||
|
</defs>
|
||
|
|
||
|
{chrome}
|
||
|
<g transform="translate({terminal_x}, {terminal_y})" clip-path="url(#{unique_id}-clip-terminal)">
|
||
|
{backgrounds}
|
||
|
<g class="{unique_id}-matrix">
|
||
|
{matrix}
|
||
|
</g>
|
||
|
</g>
|
||
|
</svg>
|
||
|
"""
|
||
|
|
||
|
_SVG_FONT_FAMILY = "Rich Fira Code"
|
||
|
_SVG_CLASSES_PREFIX = "rich-svg"
|