summaryrefslogtreecommitdiff
path: root/gemtext/types.go
diff options
context:
space:
mode:
authortjpcc <tjp@ctrl-c.club>2023-01-14 19:59:12 -0700
committertjpcc <tjp@ctrl-c.club>2023-01-14 19:59:12 -0700
commitcec3718bdd089bcf58575740c5ae4f86b27226d1 (patch)
tree497733255e0459d2a6bcbd059ea3e124d602d1b2 /gemtext/types.go
parent88b98dcf18f9bc9b098a574c96deabf9d323a997 (diff)
markdown converter
Diffstat (limited to 'gemtext/types.go')
-rw-r--r--gemtext/types.go10
1 files changed, 10 insertions, 0 deletions
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) }