From cec3718bdd089bcf58575740c5ae4f86b27226d1 Mon Sep 17 00:00:00 2001 From: tjpcc Date: Sat, 14 Jan 2023 19:59:12 -0700 Subject: markdown converter --- gemtext/types.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'gemtext/types.go') diff --git a/gemtext/types.go b/gemtext/types.go index fefbece..440fed4 100644 --- a/gemtext/types.go +++ b/gemtext/types.go @@ -75,6 +75,9 @@ type Line interface { // Raw reproduces the original bytes from the source reader. Raw() []byte + + // String represents the original bytes from the source reader as a string. + String() string } // Document is the list of lines that make up a full text/gemini resource. @@ -87,6 +90,7 @@ type TextLine struct { func (tl TextLine) Type() LineType { return LineTypeText } func (tl TextLine) Raw() []byte { return tl.raw } +func (tl TextLine) String() string { return string(tl.raw) } // LinkLine is a line of LineTypeLink. type LinkLine struct { @@ -97,6 +101,7 @@ type LinkLine struct { func (ll LinkLine) Type() LineType { return LineTypeLink } func (ll LinkLine) Raw() []byte { return ll.raw } +func (ll LinkLine) String() string { return string(ll.raw) } // URL returns the original url portion of the line. // @@ -114,6 +119,7 @@ type PreformatToggleLine struct { func (tl PreformatToggleLine) Type() LineType { return LineTypePreformatToggle } func (tl PreformatToggleLine) Raw() []byte { return tl.raw } +func (tl PreformatToggleLine) String() string { return string(tl.raw) } // AltText returns the alt-text portion of the line. // @@ -135,6 +141,7 @@ type PreformattedTextLine struct { func (tl PreformattedTextLine) Type() LineType { return LineTypePreformattedText } func (tl PreformattedTextLine) Raw() []byte { return tl.raw } +func (tl PreformattedTextLine) String() string { return string(tl.raw) } // HeadingLine is a line of LineTypeHeading[1,2,3]. type HeadingLine struct { @@ -145,6 +152,7 @@ type HeadingLine struct { func (hl HeadingLine) Type() LineType { return hl.lineType } func (hl HeadingLine) Raw() []byte { return hl.raw } +func (hl HeadingLine) String() string { return string(hl.raw) } // Body returns the portion of the line with the header text. func (hl HeadingLine) Body() string { return string(hl.body) } @@ -157,6 +165,7 @@ type ListItemLine struct { func (li ListItemLine) Type() LineType { return LineTypeListItem } func (li ListItemLine) Raw() []byte { return li.raw } +func (li ListItemLine) String() string { return string(li.raw) } // Body returns the text of the list item. func (li ListItemLine) Body() string { return string(li.body) } @@ -169,6 +178,7 @@ type QuoteLine struct { func (ql QuoteLine) Type() LineType { return LineTypeQuote } func (ql QuoteLine) Raw() []byte { return ql.raw } +func (ql QuoteLine) String() string { return string(ql.raw) } // Body returns the text of the quote. func (ql QuoteLine) Body() string { return string(ql.body) } -- cgit v1.2.3