HtmlForgeX

API Reference

Class

EmailTextBlockLine

Namespace HtmlForgeX.Email
Assembly HtmlForgeX.Email
Modifiers sealed

A single rich-text line used by EmailTextBlock.

Inheritance

  • Object
  • EmailTextBlockLine

Constructors

public EmailTextBlockLine() #

Methods

public EmailTextBlockLine Badge(String text, EmailStatusTone tone = Neutral, EmailFontSize size = Small) #
Returns: EmailTextBlockLine

Adds a compact pill/badge.

Parameters

text System.String requiredposition: 0
tone HtmlForgeX.Email.EmailStatusTone = Neutral optionalposition: 1
size HtmlForgeX.Email.EmailFontSize = Small optionalposition: 2
Bytes 4 overloads
public EmailTextBlockLine Bytes(Nullable<Int64> bytes, Int32 decimals = 2, EmailBytesUnitSystem unitSystem = Binary, CultureInfo culture = null) #
Returns: EmailTextBlockLine

Formats a byte-size value into a compact representation (e.g., "2.47 MB").

Parameters

bytes System.Int64 requiredposition: 0
decimals System.Int32 = 2 optionalposition: 1
unitSystem HtmlForgeX.Email.EmailBytesUnitSystem = Binary optionalposition: 2
culture System.Globalization.CultureInfo = null optionalposition: 3
public EmailTextBlockLine Bytes(Nullable<Int64> bytes, EmailFontSize size, Int32 decimals = 2, EmailBytesUnitSystem unitSystem = Binary, CultureInfo culture = null) #
Returns: EmailTextBlockLine

Formats a byte-size value into a compact representation (e.g., "2.47 MB").

Parameters

bytes System.Int64 requiredposition: 0
size HtmlForgeX.Email.EmailFontSize requiredposition: 1
decimals System.Int32 = 2 optionalposition: 2
unitSystem HtmlForgeX.Email.EmailBytesUnitSystem = Binary optionalposition: 3
culture System.Globalization.CultureInfo = null optionalposition: 4
Bytes(System.Nullable{System.Int64} bytes, System.Int32 decimals, HtmlForgeX.Email.EmailBytesUnitSystem unitSystem, System.Globalization.CultureInfo culture) #

Formats a byte-size value into a compact representation (nullable). When the value is null, does nothing.

Parameters

bytes System.Nullable{System.Int64} required
decimals System.Int32 required
unitSystem HtmlForgeX.Email.EmailBytesUnitSystem required
culture System.Globalization.CultureInfo required
Bytes(System.Nullable{System.Int64} bytes, HtmlForgeX.Email.EmailFontSize size, System.Int32 decimals, HtmlForgeX.Email.EmailBytesUnitSystem unitSystem, System.Globalization.CultureInfo culture) #

Formats a byte-size value into a compact representation (nullable). When the value is null, does nothing.

Parameters

bytes System.Nullable{System.Int64} required
size HtmlForgeX.Email.EmailFontSize required
decimals System.Int32 required
unitSystem HtmlForgeX.Email.EmailBytesUnitSystem required
culture System.Globalization.CultureInfo required
CompactNumber 2 overloads
public EmailTextBlockLine CompactNumber(Nullable<Int64> value, Int32 decimals = 1, EmailCompactNumberCase suffixCase = Lower, CultureInfo culture = null, Nullable<EmailFontSize> size = null) #
Returns: EmailTextBlockLine

Formats a compact number (e.g., "1.2k", "3.4M").

Parameters

value System.Int64 requiredposition: 0
decimals System.Int32 = 1 optionalposition: 1
suffixCase HtmlForgeX.Email.EmailCompactNumberCase = Lower optionalposition: 2
culture System.Globalization.CultureInfo = null optionalposition: 3
size System.Nullable{HtmlForgeX.Email.EmailFontSize} = null optionalposition: 4
CompactNumber(System.Nullable{System.Int64} value, System.Int32 decimals, HtmlForgeX.Email.EmailCompactNumberCase suffixCase, System.Globalization.CultureInfo culture, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Formats a compact number (nullable). When the value is null, does nothing.

Parameters

value System.Nullable{System.Int64} required
decimals System.Int32 required
suffixCase HtmlForgeX.Email.EmailCompactNumberCase required
culture System.Globalization.CultureInfo required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
Date 4 overloads
public EmailTextBlockLine Date(Nullable<DateTimeOffset> value, String format = "MMM d, yyyy", CultureInfo culture = null, Nullable<EmailFontSize> size = null) #
Returns: EmailTextBlockLine

Formats a date using an email-friendly default.

Parameters

value System.DateTime requiredposition: 0
format System.String = "MMM d, yyyy" optionalposition: 1
culture System.Globalization.CultureInfo = null optionalposition: 2
size System.Nullable{HtmlForgeX.Email.EmailFontSize} = null optionalposition: 3
Date(System.Nullable{System.DateTime} value, System.String format, System.Globalization.CultureInfo culture, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Formats a date using an email-friendly default (nullable). When the value is null, does nothing.

Parameters

value System.Nullable{System.DateTime} required
format System.String required
culture System.Globalization.CultureInfo required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
Date(System.DateTimeOffset value, System.String format, System.Globalization.CultureInfo culture, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Formats a date using an email-friendly default.

Parameters

value System.DateTimeOffset required
format System.String required
culture System.Globalization.CultureInfo required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
Date(System.Nullable{System.DateTimeOffset} value, System.String format, System.Globalization.CultureInfo culture, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Formats a date using an email-friendly default (nullable). When the value is null, does nothing.

Parameters

value System.Nullable{System.DateTimeOffset} required
format System.String required
culture System.Globalization.CultureInfo required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
DateTime 4 overloads
public EmailTextBlockLine DateTime(Nullable<DateTimeOffset> value, String format = "MMM d, yyyy · h:mm tt", CultureInfo culture = null, Nullable<EmailFontSize> size = null) #
Returns: EmailTextBlockLine

Formats a date+time using an email-friendly default.

Parameters

value System.DateTime requiredposition: 0
format System.String = "MMM d, yyyy · h:mm tt" optionalposition: 1
culture System.Globalization.CultureInfo = null optionalposition: 2
size System.Nullable{HtmlForgeX.Email.EmailFontSize} = null optionalposition: 3
DateTime(System.Nullable{System.DateTime} value, System.String format, System.Globalization.CultureInfo culture, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Formats a date+time using an email-friendly default (nullable). When the value is null, does nothing.

Parameters

value System.Nullable{System.DateTime} required
format System.String required
culture System.Globalization.CultureInfo required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
DateTime(System.DateTimeOffset value, System.String format, System.Globalization.CultureInfo culture, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Formats a date+time using an email-friendly default.

Parameters

value System.DateTimeOffset required
format System.String required
culture System.Globalization.CultureInfo required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
DateTime(System.Nullable{System.DateTimeOffset} value, System.String format, System.Globalization.CultureInfo culture, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Formats a date+time using an email-friendly default (nullable). When the value is null, does nothing.

Parameters

value System.Nullable{System.DateTimeOffset} required
format System.String required
culture System.Globalization.CultureInfo required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
public EmailTextBlockLine Dot(EmailStatusTone tone = Neutral, EmailFontSize size = Small) #
Returns: EmailTextBlockLine

Adds a colored dot indicator (●) for status-like inline labels.

Parameters

tone HtmlForgeX.Email.EmailStatusTone = Neutral optionalposition: 0
size HtmlForgeX.Email.EmailFontSize = Small optionalposition: 1
Duration 2 overloads
public EmailTextBlockLine Duration(Nullable<TimeSpan> duration, Int32 maxParts = 2, Nullable<EmailFontSize> size = null) #
Returns: EmailTextBlockLine

Formats a duration into a compact representation (e.g., "1h 30m").

Parameters

duration System.TimeSpan requiredposition: 0
maxParts System.Int32 = 2 optionalposition: 1
size System.Nullable{HtmlForgeX.Email.EmailFontSize} = null optionalposition: 2
Duration(System.Nullable{System.TimeSpan} duration, System.Int32 maxParts, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Formats a duration into a compact representation (nullable). When the value is null, does nothing.

Parameters

duration System.Nullable{System.TimeSpan} required
maxParts System.Int32 required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
public EmailTextBlockLine EmailAddress(String email, String text = null, Nullable<EmailFontSize> size = null) #
Returns: EmailTextBlockLine

Adds an email address as a mailto link (no manual mailto: required).

Parameters

email System.String requiredposition: 0
text System.String = null optionalposition: 1
size System.Nullable{HtmlForgeX.Email.EmailFontSize} = null optionalposition: 2
public EmailTextBlockLine Enum<TEnum>(Nullable<TEnum> value, Boolean humanize = true, Nullable<EmailFontSize> size = null) #
Returns: EmailTextBlockLine

Type Parameters

TEnum

Parameters

value TEnum requiredposition: 0
humanize Boolean = true optionalposition: 1
size Nullable<EmailFontSize> = null optionalposition: 2
Enum``1 2 overloads
Enum``1(``0 value, System.Boolean humanize, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Renders an enum value (optionally humanized) without manual formatting.

Parameters

value ``0 required
humanize System.Boolean required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
Enum``1(System.Nullable{``0} value, System.Boolean humanize, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Renders an enum value (nullable). When the value is null, does nothing.

Parameters

value System.Nullable{``0} required
humanize System.Boolean required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
Hash 2 overloads
public EmailTextBlockLine Hash(String hash, Boolean breakAll = true) #
Returns: EmailTextBlockLine

Renders a hash/checksum value in monospace (useful for SHA256/MD5 checksums).

Parameters

hash System.String requiredposition: 0
breakAll System.Boolean = true optionalposition: 1
public EmailTextBlockLine Hash(String hash, EmailFontSize size, Boolean breakAll = true) #
Returns: EmailTextBlockLine

Renders a hash/checksum value in monospace (useful for SHA256/MD5 checksums).

Parameters

hash System.String requiredposition: 0
size HtmlForgeX.Email.EmailFontSize requiredposition: 1
breakAll System.Boolean = true optionalposition: 2
HashCompact 2 overloads
public EmailTextBlockLine HashCompact(String hash, Int32 head = 12, Int32 tail = 8, String ellipsis = "…") #
Returns: EmailTextBlockLine

Renders a hash/checksum in monospace and truncates the middle for readability.

Parameters

hash System.String requiredposition: 0
head System.Int32 = 12 optionalposition: 1
tail System.Int32 = 8 optionalposition: 2
ellipsis System.String = "…" optionalposition: 3
public EmailTextBlockLine HashCompact(String hash, EmailFontSize size, Int32 head = 12, Int32 tail = 8, String ellipsis = "…") #
Returns: EmailTextBlockLine

Renders a hash/checksum in monospace and truncates the middle for readability.

Parameters

hash System.String requiredposition: 0
size HtmlForgeX.Email.EmailFontSize requiredposition: 1
head System.Int32 = 12 optionalposition: 2
tail System.Int32 = 8 optionalposition: 3
ellipsis System.String = "…" optionalposition: 4
public EmailTextBlockLine Icon(String icon, Nullable<EmailStatusTone> tone = null, EmailFontSize size = Small) #
Returns: EmailTextBlockLine

Adds a small icon/glyph. Use emoji or a simple symbol (e.g., ●, ✓, ⚠).

Parameters

icon System.String requiredposition: 0
tone System.Nullable{HtmlForgeX.Email.EmailStatusTone} = null optionalposition: 1
size HtmlForgeX.Email.EmailFontSize = Small optionalposition: 2
Id 2 overloads
public EmailTextBlockLine Id(String id, Boolean breakAll = true) #
Returns: EmailTextBlockLine

Renders an ID-like value in monospace (order IDs, request IDs, etc.).

Parameters

id System.String requiredposition: 0
breakAll System.Boolean = true optionalposition: 1
public EmailTextBlockLine Id(String id, EmailFontSize size, Boolean breakAll = true) #
Returns: EmailTextBlockLine

Renders an ID-like value in monospace (order IDs, request IDs, etc.).

Parameters

id System.String requiredposition: 0
size HtmlForgeX.Email.EmailFontSize requiredposition: 1
breakAll System.Boolean = true optionalposition: 2
IdCompact 2 overloads
public EmailTextBlockLine IdCompact(String id, Int32 head = 10, Int32 tail = 6, String ellipsis = "…") #
Returns: EmailTextBlockLine

Renders an ID-like value in monospace and truncates the middle for readability.

Parameters

id System.String requiredposition: 0
head System.Int32 = 10 optionalposition: 1
tail System.Int32 = 6 optionalposition: 2
ellipsis System.String = "…" optionalposition: 3
public EmailTextBlockLine IdCompact(String id, EmailFontSize size, Int32 head = 10, Int32 tail = 6, String ellipsis = "…") #
Returns: EmailTextBlockLine

Renders an ID-like value in monospace and truncates the middle for readability.

Parameters

id System.String requiredposition: 0
size HtmlForgeX.Email.EmailFontSize requiredposition: 1
head System.Int32 = 10 optionalposition: 2
tail System.Int32 = 6 optionalposition: 3
ellipsis System.String = "…" optionalposition: 4
IpAddress 2 overloads
public EmailTextBlockLine IpAddress(String ipAddress) #
Returns: EmailTextBlockLine

Renders an IP address in monospace (typically no aggressive wrapping).

Parameters

ipAddress System.String requiredposition: 0
public EmailTextBlockLine IpAddress(String ipAddress, EmailFontSize size) #
Returns: EmailTextBlockLine

Renders an IP address in monospace (typically no aggressive wrapping).

Parameters

ipAddress System.String requiredposition: 0
size HtmlForgeX.Email.EmailFontSize requiredposition: 1
public EmailTextBlockLine LineBreak() #
Returns: EmailTextBlockLine

Adds a line break.

Link 2 overloads
Money 2 overloads
public EmailTextBlockLine Money(Nullable<Decimal> amount, String currencySymbol = "$", Int32 decimals = 2, CultureInfo culture = null, Nullable<EmailFontSize> size = null) #
Returns: EmailTextBlockLine

Formats a currency value (e.g., "$1,234.50").

Parameters

amount System.Decimal requiredposition: 0
currencySymbol System.String = "$" optionalposition: 1
decimals System.Int32 = 2 optionalposition: 2
culture System.Globalization.CultureInfo = null optionalposition: 3
size System.Nullable{HtmlForgeX.Email.EmailFontSize} = null optionalposition: 4
Money(System.Nullable{System.Decimal} amount, System.String currencySymbol, System.Int32 decimals, System.Globalization.CultureInfo culture, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Formats a currency value (nullable). When the value is null, does nothing.

Parameters

amount System.Nullable{System.Decimal} required
currencySymbol System.String required
decimals System.Int32 required
culture System.Globalization.CultureInfo required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
Monospace 2 overloads
public EmailTextBlockLine Monospace(String text, Boolean breakAll = true) #
Returns: EmailTextBlockLine

Adds monospace text (useful for codes/IDs).

Parameters

text System.String requiredposition: 0
breakAll System.Boolean = true optionalposition: 1
public EmailTextBlockLine Monospace(String text, EmailFontSize size, Boolean breakAll = true) #
Returns: EmailTextBlockLine

Adds monospace text with a specific font size.

Parameters

text System.String requiredposition: 0
size HtmlForgeX.Email.EmailFontSize requiredposition: 1
breakAll System.Boolean = true optionalposition: 2
Muted 2 overloads
public EmailTextBlockLine Muted(String text) #
Returns: EmailTextBlockLine

Adds muted text.

Parameters

text System.String requiredposition: 0
public EmailTextBlockLine Muted(String text, EmailFontSize size) #
Returns: EmailTextBlockLine

Adds muted text with a specific font size.

Parameters

text System.String requiredposition: 0
size HtmlForgeX.Email.EmailFontSize requiredposition: 1
Number 2 overloads
public EmailTextBlockLine Number(Nullable<Decimal> value, Int32 decimals = 0, CultureInfo culture = null, Nullable<EmailFontSize> size = null) #
Returns: EmailTextBlockLine

Formats a number (e.g., "1,234.5").

Parameters

value System.Decimal requiredposition: 0
decimals System.Int32 = 0 optionalposition: 1
culture System.Globalization.CultureInfo = null optionalposition: 2
size System.Nullable{HtmlForgeX.Email.EmailFontSize} = null optionalposition: 3
Number(System.Nullable{System.Decimal} value, System.Int32 decimals, System.Globalization.CultureInfo culture, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Formats a number (nullable). When the value is null, does nothing.

Parameters

value System.Nullable{System.Decimal} required
decimals System.Int32 required
culture System.Globalization.CultureInfo required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
Percent 2 overloads
public EmailTextBlockLine Percent(Nullable<Decimal> percent, Int32 decimals = 0, CultureInfo culture = null, Nullable<EmailFontSize> size = null) #
Returns: EmailTextBlockLine

Formats a percent (expects percent units, e.g. 12.3 => "12.3%").

Parameters

percent System.Decimal requiredposition: 0
decimals System.Int32 = 0 optionalposition: 1
culture System.Globalization.CultureInfo = null optionalposition: 2
size System.Nullable{HtmlForgeX.Email.EmailFontSize} = null optionalposition: 3
Percent(System.Nullable{System.Decimal} percent, System.Int32 decimals, System.Globalization.CultureInfo culture, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Formats a percent (nullable). When the value is null, does nothing.

Parameters

percent System.Nullable{System.Decimal} required
decimals System.Int32 required
culture System.Globalization.CultureInfo required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
public EmailTextBlockLine PhoneNumber(String phoneNumber, String text = null, Nullable<EmailFontSize> size = null) #
Returns: EmailTextBlockLine

Adds a phone number as a tel link (no manual tel: required).

Parameters

phoneNumber System.String requiredposition: 0
text System.String = null optionalposition: 1
size System.Nullable{HtmlForgeX.Email.EmailFontSize} = null optionalposition: 2
RelativeTime 2 overloads
public EmailTextBlockLine RelativeTime(Nullable<DateTimeOffset> when, Nullable<DateTimeOffset> now = null, Nullable<EmailFontSize> size = null) #
Returns: EmailTextBlockLine

Formats a timestamp relative to now (e.g., "2h ago", "in 3d").

Parameters

when System.DateTimeOffset requiredposition: 0
now System.Nullable{System.DateTimeOffset} = null optionalposition: 1
size System.Nullable{HtmlForgeX.Email.EmailFontSize} = null optionalposition: 2
RelativeTime(System.Nullable{System.DateTimeOffset} when, System.Nullable{System.DateTimeOffset} now, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Formats a timestamp relative to now (nullable). When the value is null, does nothing.

Parameters

when System.Nullable{System.DateTimeOffset} required
now System.Nullable{System.DateTimeOffset} required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
public EmailTextBlockLine Status(String label, EmailStatusTone tone = Neutral, String meta = "", String href = null, EmailFontSize metaSize = Small) #
Returns: EmailTextBlockLine

Renders a compact status indicator (dot + label + optional meta) without raw HTML.

Parameters

label System.String requiredposition: 0
tone HtmlForgeX.Email.EmailStatusTone = Neutral optionalposition: 1
meta System.String = "" optionalposition: 2
href System.String = null optionalposition: 3
metaSize HtmlForgeX.Email.EmailFontSize = Small optionalposition: 4
Strong 2 overloads
public EmailTextBlockLine Strong(String text) #
Returns: EmailTextBlockLine

Adds bold text.

Parameters

text System.String requiredposition: 0
public EmailTextBlockLine Strong(String text, EmailFontSize size) #
Returns: EmailTextBlockLine

Adds bold text with a specific font size.

Parameters

text System.String requiredposition: 0
size HtmlForgeX.Email.EmailFontSize requiredposition: 1
Text 2 overloads
public EmailTextBlockLine Text(String text) #
Returns: EmailTextBlockLine

Adds plain text.

Parameters

text System.String requiredposition: 0
public EmailTextBlockLine Text(String text, EmailFontSize size) #
Returns: EmailTextBlockLine

Adds plain text with a specific font size.

Parameters

text System.String requiredposition: 0
size HtmlForgeX.Email.EmailFontSize requiredposition: 1
Time 4 overloads
public EmailTextBlockLine Time(Nullable<DateTimeOffset> value, String format = "h:mm tt", CultureInfo culture = null, Nullable<EmailFontSize> size = null) #
Returns: EmailTextBlockLine

Formats a time using an email-friendly default.

Parameters

value System.DateTime requiredposition: 0
format System.String = "h:mm tt" optionalposition: 1
culture System.Globalization.CultureInfo = null optionalposition: 2
size System.Nullable{HtmlForgeX.Email.EmailFontSize} = null optionalposition: 3
Time(System.Nullable{System.DateTime} value, System.String format, System.Globalization.CultureInfo culture, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Formats a time using an email-friendly default (nullable). When the value is null, does nothing.

Parameters

value System.Nullable{System.DateTime} required
format System.String required
culture System.Globalization.CultureInfo required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
Time(System.DateTimeOffset value, System.String format, System.Globalization.CultureInfo culture, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Formats a time using an email-friendly default.

Parameters

value System.DateTimeOffset required
format System.String required
culture System.Globalization.CultureInfo required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
Time(System.Nullable{System.DateTimeOffset} value, System.String format, System.Globalization.CultureInfo culture, System.Nullable{HtmlForgeX.Email.EmailFontSize} size) #

Formats a time using an email-friendly default (nullable). When the value is null, does nothing.

Parameters

value System.Nullable{System.DateTimeOffset} required
format System.String required
culture System.Globalization.CultureInfo required
size System.Nullable{HtmlForgeX.Email.EmailFontSize} required
public EmailTextBlockLine Url(String url, String text = null, Nullable<EmailFontSize> size = null) #
Returns: EmailTextBlockLine

Adds a URL link (no manual formatting required).

Parameters

url System.String requiredposition: 0
text System.String = null optionalposition: 1
size System.Nullable{HtmlForgeX.Email.EmailFontSize} = null optionalposition: 2