Coverage for src / graphable / views / markdown.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.13.3, created at 2026-02-16 21:32 +0000

1from logging import getLogger 

2from pathlib import Path 

3 

4logger = getLogger(__name__) 

5 

6 

7def wrap_in_markdown(content: str, language: str) -> str: 

8 """ 

9 Wrap a string in a Markdown code block. 

10 

11 Args: 

12 content (str): The content to wrap. 

13 language (str): The language identifier for the code block (e.g., 'mermaid', 'd2'). 

14 

15 Returns: 

16 str: The Markdown-wrapped content. 

17 """ 

18 return f"```{language}\n{content}\n```" 

19 

20 

21def export_markdown_wrapped(content: str, language: str, output: Path) -> None: 

22 """ 

23 Export content wrapped in Markdown to a file. 

24 

25 Args: 

26 content (str): The content to wrap and export. 

27 language (str): The language identifier. 

28 output (Path): The output file path. 

29 """ 

30 logger.info(f"Exporting Markdown-wrapped content to: {output}") 

31 with open(output, "w+") as f: 

32 f.write(wrap_in_markdown(content, language))