diff options
Diffstat (limited to 'src/conventionalrp/renderers')
| -rw-r--r-- | src/conventionalrp/renderers/__init__.py | 4 | ||||
| -rw-r--r-- | src/conventionalrp/renderers/base.py | 6 | ||||
| -rw-r--r-- | src/conventionalrp/renderers/html_renderer.py | 21 | ||||
| -rw-r--r-- | src/conventionalrp/renderers/json_renderer.py | 9 | ||||
| -rw-r--r-- | src/conventionalrp/renderers/markdown_renderer.py | 26 |
5 files changed, 66 insertions, 0 deletions
diff --git a/src/conventionalrp/renderers/__init__.py b/src/conventionalrp/renderers/__init__.py new file mode 100644 index 0000000..ce04364 --- /dev/null +++ b/src/conventionalrp/renderers/__init__.py @@ -0,0 +1,4 @@ +# FILE: /trpg-log-processor/trpg-log-processor/src/trpg_log_processor/renderers/__init__.py +""" +This file initializes the renderers module. +"""
\ No newline at end of file diff --git a/src/conventionalrp/renderers/base.py b/src/conventionalrp/renderers/base.py new file mode 100644 index 0000000..498adec --- /dev/null +++ b/src/conventionalrp/renderers/base.py @@ -0,0 +1,6 @@ +class BaseRenderer: + def render(self, data): + raise NotImplementedError("Render method must be implemented by subclasses.") + + def set_style(self, style): + self.style = style
\ No newline at end of file diff --git a/src/conventionalrp/renderers/html_renderer.py b/src/conventionalrp/renderers/html_renderer.py new file mode 100644 index 0000000..3c30549 --- /dev/null +++ b/src/conventionalrp/renderers/html_renderer.py @@ -0,0 +1,21 @@ +from .base import BaseRenderer + +class HTMLRenderer(BaseRenderer): + def __init__(self): + super().__init__() + self.title = "TRPG Log Output" + + def render(self, data): + html_content = f"<html><head><title>{self.title}</title></head><body>" + html_content += "<h1>TRPG Log Output</h1>" + html_content += "<ul>" + + for entry in data: + html_content += f"<li>{entry}</li>" + + html_content += "</ul></body></html>" + return html_content + + def set_style(self, style): + # Implement style setting if needed + pass
\ No newline at end of file diff --git a/src/conventionalrp/renderers/json_renderer.py b/src/conventionalrp/renderers/json_renderer.py new file mode 100644 index 0000000..4313001 --- /dev/null +++ b/src/conventionalrp/renderers/json_renderer.py @@ -0,0 +1,9 @@ +from .base import BaseRenderer + +class JSONRenderer(BaseRenderer): + def render(self, data): + import json + return json.dumps(data, ensure_ascii=False, indent=4) + + def set_style(self, style): + self.style = style # Placeholder for potential styling options in the future
\ No newline at end of file diff --git a/src/conventionalrp/renderers/markdown_renderer.py b/src/conventionalrp/renderers/markdown_renderer.py new file mode 100644 index 0000000..396d6a4 --- /dev/null +++ b/src/conventionalrp/renderers/markdown_renderer.py @@ -0,0 +1,26 @@ +from .base import BaseRenderer + +class MarkdownRenderer(BaseRenderer): + def render(self, data): + """ + Renders the given data in Markdown format. + + Args: + data (dict): The data to render. + + Returns: + str: The rendered Markdown string. + """ + markdown_output = "" + for key, value in data.items(): + markdown_output += f"## {key}\n\n{value}\n\n" + return markdown_output + + def set_style(self, style): + """ + Sets the style for the Markdown renderer. + + Args: + style (dict): A dictionary of style options. + """ + self.style = style # Currently, Markdown does not support styling, but this can be extended.
\ No newline at end of file |
