| CONSOLE_HTML_FORMAT = """\ |
| <!DOCTYPE html> |
| <head> |
| <meta charset="UTF-8"> |
| <style> |
| {stylesheet} |
| body {{ |
| color: {foreground}; |
| background-color: {background}; |
| }} |
| </style> |
| </head> |
| <html> |
| <body> |
| <code> |
| <pre style="font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace">{code}</pre> |
| </code> |
| </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" |