Browse Source

Fix broken transformation of divs and spans.

master
Jan Černohorský 9 months ago
parent
commit
c90e00a1ae
  1. 8
      src/formatitko/transform_processor.py

8
src/formatitko/transform_processor.py

@ -131,7 +131,6 @@ class TransformProcessor(NOPProcessor):
return super().transform_Para(e) return super().transform_Para(e)
def transform_Div(self, e: Div) -> Union[Div, Group, Null, RawBlock]: def transform_Div(self, e: Div) -> Union[Div, Group, Null, RawBlock]:
e.content = self.transform(e.content)
if "group" in e.classes: if "group" in e.classes:
# `.group` class for Divs # `.group` class for Divs
@ -191,10 +190,9 @@ class TransformProcessor(NOPProcessor):
if "lang" in e.attributes: if "lang" in e.attributes:
warnings.warn("To set language in a way formátítko will understand, this Div has to have the `.group` class and be a Group.", UserWarning) warnings.warn("To set language in a way formátítko will understand, this Div has to have the `.group` class and be a Group.", UserWarning)
return e return super().transform_Div(e)
def transform_Span(self, e: Span) -> Span: def transform_Span(self, e: Span) -> Span:
e.content = self.transform(e.content)
if "group" in e.classes: if "group" in e.classes:
# `.group` class for Spans # `.group` class for Spans
@ -251,7 +249,7 @@ class TransformProcessor(NOPProcessor):
# This is a shorthand for just printing the content of some metadata. # This is a shorthand for just printing the content of some metadata.
elif re.match(r"^\$[\w.]+$", e.content[0].text): elif re.match(r"^\$[\w.]+$", e.content[0].text):
val = self.context.get_metadata(e.content[0].text[1:], False) val = self.context.get_metadata(e.content[0].text[1:], False)
if isinstance(val, MetaInlines): if isinstance(val, MetaInlines): # TODO: Trust transform for this
e = Span(*val.content) e = Span(*val.content)
e = self.transform(e) e = self.transform(e)
elif isinstance(val, MetaString): elif isinstance(val, MetaString):
@ -262,7 +260,7 @@ class TransformProcessor(NOPProcessor):
raise TypeError(f"Cannot print value of metadatum '{e.content[0].text[1:]}' of type '{type(val)}'") raise TypeError(f"Cannot print value of metadatum '{e.content[0].text[1:]}' of type '{type(val)}'")
return e return e
return e return super().transform_Span(e)
def transform_CodeBlock(self, e: CodeBlock) -> Union[CodeBlock, Div, Null]: def transform_CodeBlock(self, e: CodeBlock) -> Union[CodeBlock, Div, Null]:
if "markdown" in e.classes and "group" in e.classes: if "markdown" in e.classes and "group" in e.classes:

Loading…
Cancel
Save