HtmlForgeX

API Reference

Class

InlineTextBuilder

Namespace HtmlForgeX.Email.EmailTableCell
Assembly HtmlForgeX.Email
Modifiers sealed

Builder for simple inline content (text, bold, muted, line breaks) used in table cells.

Inheritance

  • Object
  • InlineTextBuilder

Constructors

public InlineTextBuilder() #

Methods

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

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 2 overloads
public InlineTextBuilder Bytes(Nullable<Int64> bytes, Int32 decimals = 2, EmailBytesUnitSystem unitSystem = Binary, CultureInfo culture = null, EmailFontSize size = Small) #
Returns: InlineTextBuilder

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
size HtmlForgeX.Email.EmailFontSize = Small optionalposition: 4
Bytes(System.Nullable{System.Int64} bytes, System.Int32 decimals, HtmlForgeX.Email.EmailBytesUnitSystem unitSystem, System.Globalization.CultureInfo culture, HtmlForgeX.Email.EmailFontSize size) #

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
size HtmlForgeX.Email.EmailFontSize required
CompactNumber 2 overloads
public InlineTextBuilder CompactNumber(Nullable<Int64> value, Int32 decimals = 1, EmailCompactNumberCase suffixCase = Lower, CultureInfo culture = null, Nullable<EmailFontSize> size = null) #
Returns: InlineTextBuilder

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 InlineTextBuilder Date(Nullable<DateTimeOffset> value, String format = "MMM d, yyyy", CultureInfo culture = null, Nullable<EmailFontSize> size = null) #
Returns: InlineTextBuilder

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 InlineTextBuilder DateTime(Nullable<DateTimeOffset> value, String format = "MMM d, yyyy · h:mm tt", CultureInfo culture = null, Nullable<EmailFontSize> size = null) #
Returns: InlineTextBuilder

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 InlineTextBuilder Dot(EmailStatusTone tone = Neutral, EmailFontSize size = Small) #
Returns: InlineTextBuilder

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 InlineTextBuilder Duration(Nullable<TimeSpan> duration, Int32 maxParts = 2, Nullable<EmailFontSize> size = null) #
Returns: InlineTextBuilder

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 InlineTextBuilder EmailAddress(String email, String text = null, EmailFontSize size = Regular) #
Returns: InlineTextBuilder

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 HtmlForgeX.Email.EmailFontSize = Regular optionalposition: 2
public InlineTextBuilder Enum<TEnum>(Nullable<TEnum> value, Boolean humanize = true, Nullable<EmailFontSize> size = null) #
Returns: InlineTextBuilder

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
public InlineTextBuilder Hash(String hash, EmailFontSize size = Small, Boolean breakAll = true) #
Returns: InlineTextBuilder

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

Parameters

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

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
size HtmlForgeX.Email.EmailFontSize = Small optionalposition: 3
ellipsis System.String = "…" optionalposition: 4
public InlineTextBuilder Icon(String icon, Nullable<EmailStatusTone> tone = null, EmailFontSize size = Small) #
Returns: InlineTextBuilder

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
public InlineTextBuilder Id(String id, EmailFontSize size = Small, Boolean breakAll = true) #
Returns: InlineTextBuilder

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

Parameters

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

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
size HtmlForgeX.Email.EmailFontSize = Small optionalposition: 3
ellipsis System.String = "…" optionalposition: 4
public InlineTextBuilder IpAddress(String ipAddress, EmailFontSize size = Small) #
Returns: InlineTextBuilder

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

Parameters

ipAddress System.String requiredposition: 0
size HtmlForgeX.Email.EmailFontSize = Small optionalposition: 1
public InlineTextBuilder LineBreak() #
Returns: InlineTextBuilder

Adds a line break.

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

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
public InlineTextBuilder Monospace(String text, EmailFontSize size = Small, Boolean breakAll = true) #
Returns: InlineTextBuilder

Adds monospace text (useful for IDs/hashes/codes).

Parameters

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

Adds muted text (uses the hfx-muted class + optional font size).

Parameters

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

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 InlineTextBuilder Percent(Nullable<Decimal> percent, Int32 decimals = 0, CultureInfo culture = null, Nullable<EmailFontSize> size = null) #
Returns: InlineTextBuilder

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 InlineTextBuilder PhoneNumber(String phoneNumber, String text = null, EmailFontSize size = Regular) #
Returns: InlineTextBuilder

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 HtmlForgeX.Email.EmailFontSize = Regular optionalposition: 2
RelativeTime 2 overloads
public InlineTextBuilder RelativeTime(Nullable<DateTimeOffset> when, Nullable<DateTimeOffset> now = null, Nullable<EmailFontSize> size = null) #
Returns: InlineTextBuilder

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 InlineTextBuilder Status(String label, EmailStatusTone tone = Neutral, String meta = "", String href = null, EmailFontSize metaSize = Small) #
Returns: InlineTextBuilder

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 InlineTextBuilder Strong(String text) #
Returns: InlineTextBuilder

Adds bold text.

Parameters

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

Adds bold text with a specific font size.

Parameters

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

Adds plain text.

Parameters

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

Adds plain text with a specific font size.

Parameters

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

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 InlineTextBuilder Url(String url, String text = null, EmailFontSize size = Regular) #
Returns: InlineTextBuilder

Adds a URL link (no manual formatting required).

Parameters

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