Documentation ¶
Index ¶
- type GemMail
- func (gemmail *GemMail) AddReceiver(address string)
- func (gemmail *GemMail) AddTag(tag string)
- func (gemmail *GemMail) AppendSender(address string, blurb string)
- func (gemmail *GemMail) AppendTimestamp(timestamp time.Time)
- func (gemmail *GemMail) Clone(cloneTags bool) GemMail
- func (gemmail *GemMail) ContainsSender(address string) bool
- func (gemmail *GemMail) HasTag(tag string) bool
- func (gemmail *GemMail) MessageBodyString() string
- func (gemmail *GemMail) PrependSender(address string, blurb string)
- func (gemmail *GemMail) PrependTimestamp(timestamp time.Time)
- func (gemmail *GemMail) RemoveReceiver(address string)
- func (gemmail *GemMail) RemoveSender(address string)
- func (gemmail *GemMail) RemoveTag(tag string)
- func (gemmail *GemMail) SetGemTextBody(gemtext string)
- func (gemmail *GemMail) SetID()
- func (gemmail *GemMail) SetTag(tag string, value bool, last_modification_timestamp time.Time)
- func (gemmail *GemMail) String() string
- func (gemmail *GemMail) String_MisfinB() string
- type GemMailLine
- type GemMailLineHeading1
- type GemMailLineHeading2
- type GemMailLineHeading3
- type GemMailLineLink
- type GemMailLineListItem
- type GemMailLinePreformattedText
- type GemMailLinePreformattingToggle
- type GemMailLineQuote
- type GemMailLineSender
- type GemMailLineText
- type GemMailLineTimestamp
- type Tag
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GemMail ¶
type GemMail struct { ID string // MD5 Hash of timestamp and orig. sender Subject GemMailLineHeading1 // First level-1 heading of gemmail body (not included in the GemtextLines array) Senders []GemMailLineSender Receivers map[string]struct{} Timestamps []GemMailLineTimestamp GemtextLines []GemMailLine // NOTE: Does not include first level-1 heading (the Subject) Tags map[string]Tag }
func CreateGemMailFromBody ¶
Create gemmail from body. After setting timestamp and sender, run gemmail.SetID() if you intend to add the message to a gembox or store it in memory.
func ParseGemMail_MisfinB ¶
func ParseGemMail_MisfinC ¶
When using the new Misfin(C) format, where the first 3 lines are set as senders, recipients, and timestamps
func (*GemMail) AddReceiver ¶
func (*GemMail) AppendSender ¶
Appends sender to header information, just below the last sender line
func (*GemMail) AppendTimestamp ¶
Appends timestamp to header information
func (*GemMail) Clone ¶
Clones gemmail. This is necessary if you want to make modifications only within a specific scope (particularly for loops)
func (*GemMail) ContainsSender ¶
func (*GemMail) MessageBodyString ¶
func (*GemMail) PrependSender ¶
Prepends sender to header information as first sender line of file
func (*GemMail) PrependTimestamp ¶
Prepends timestamp to header information
func (*GemMail) RemoveReceiver ¶
func (*GemMail) RemoveSender ¶
func (*GemMail) SetGemTextBody ¶
func (*GemMail) String ¶
Convert GemMail struct to string Always uses Misfin(C) format, where first three lines is always senders, recipients, timestamps. If nothing is located in any one, then they are blank lines
func (*GemMail) String_MisfinB ¶
Convert GemMail struct to string
type GemMailLine ¶
type GemMailLine interface { String() string // contains filtered or unexported methods }
type GemMailLineHeading1 ¶
type GemMailLineHeading1 string
LineHeading1 is a first-level heading line. This is equivalent to the gemmail's Subject
func (*GemMailLineHeading1) Clone ¶
func (heading1 *GemMailLineHeading1) Clone() GemMailLineHeading1
func (GemMailLineHeading1) String ¶
func (l GemMailLineHeading1) String() string
type GemMailLineHeading2 ¶
type GemMailLineHeading2 string
LineHeading2 is a second-level heading line.
func (*GemMailLineHeading2) Clone ¶
func (heading2 *GemMailLineHeading2) Clone() GemMailLineHeading2
func (GemMailLineHeading2) String ¶
func (l GemMailLineHeading2) String() string
type GemMailLineHeading3 ¶
type GemMailLineHeading3 string
LineHeading3 is a third-level heading line.
func (*GemMailLineHeading3) Clone ¶
func (heading3 *GemMailLineHeading3) Clone() GemMailLineHeading3
func (GemMailLineHeading3) String ¶
func (l GemMailLineHeading3) String() string
type GemMailLineLink ¶
LineLink is a link line.
func (*GemMailLineLink) Clone ¶
func (link *GemMailLineLink) Clone() GemMailLineLink
func (GemMailLineLink) String ¶
func (l GemMailLineLink) String() string
type GemMailLineListItem ¶
type GemMailLineListItem string
LineListItem is an unordered list item line.
func (*GemMailLineListItem) Clone ¶
func (listItem *GemMailLineListItem) Clone() GemMailLineListItem
func (GemMailLineListItem) String ¶
func (l GemMailLineListItem) String() string
type GemMailLinePreformattedText ¶
type GemMailLinePreformattedText string
LinePreformattedText is a preformatted text line.
func (*GemMailLinePreformattedText) Clone ¶
func (preformattedText *GemMailLinePreformattedText) Clone() GemMailLinePreformattedText
func (GemMailLinePreformattedText) String ¶
func (l GemMailLinePreformattedText) String() string
type GemMailLinePreformattingToggle ¶
type GemMailLinePreformattingToggle string
LinePreformattingToggle is a preformatting toggle line.
func (*GemMailLinePreformattingToggle) Clone ¶
func (performattedToggle *GemMailLinePreformattingToggle) Clone() GemMailLinePreformattingToggle
func (GemMailLinePreformattingToggle) String ¶
func (l GemMailLinePreformattingToggle) String() string
type GemMailLineQuote ¶
type GemMailLineQuote string
LineQuote is a quote line.
func (*GemMailLineQuote) Clone ¶
func (quote *GemMailLineQuote) Clone() GemMailLineQuote
func (GemMailLineQuote) String ¶
func (l GemMailLineQuote) String() string
type GemMailLineSender ¶
func (*GemMailLineSender) Clone ¶
func (sender *GemMailLineSender) Clone() GemMailLineSender
func (GemMailLineSender) String ¶
func (l GemMailLineSender) String() string
type GemMailLineText ¶
type GemMailLineText string
LineText is a text line.
func (*GemMailLineText) Clone ¶
func (lineText *GemMailLineText) Clone() GemMailLineText
func (GemMailLineText) String ¶
func (l GemMailLineText) String() string
type GemMailLineTimestamp ¶
type GemMailLineReceivers []string // Array of addresses
func (GemMailLineTimestamp) String ¶
func (l GemMailLineTimestamp) String() string
func (l GemMailLineReceivers) String() string { var builder strings.Builder fmt.Fprintf(&builder, ":") for _, r := range l { fmt.Fprintf(&builder, " %s", r) } return builder.String() }