Documentation
¶
Overview ¶
d2themes defines themes to make d2 diagrams pretty Color codes: darkest (N1) -> lightest (N7)
Index ¶
Constants ¶
This section is empty.
Variables ¶
var CoolNeutral = Neutral{
N1: "#0A0F25",
N2: "#676C7E",
N3: "#9499AB",
N4: "#CFD2DD",
N5: "#DEE1EB",
N6: "#EEF1F8",
N7: "#FFFFFF",
}
var DarkMauveNeutral = Neutral{
N1: "#CDD6F4",
N2: "#BAC2DE",
N3: "#A6ADC8",
N4: "#585B70",
N5: "#45475A",
N6: "#313244",
N7: "#1E1E2E",
}
var DarkNeutral = Neutral{
N1: "#F4F6FA",
N2: "#BBBEC9",
N3: "#868A96",
N4: "#676D7D",
N5: "#3A3D49",
N6: "#191C28",
N7: "#000410",
}
var WarmNeutral = Neutral{
N1: "#170206",
N2: "#535152",
N3: "#787777",
N4: "#CCCACA",
N5: "#DFDCDC",
N6: "#ECEBEB",
N7: "#FFFFFF",
}
Functions ¶
func ResolveThemeColor ¶
func ShapeTheme ¶
Types ¶
type ColorPalette ¶
type ColorPalette struct {
Neutrals Neutral `json:"neutrals"`
// Base Colors: used for containers
B1 string `json:"b1"`
B2 string `json:"b2"`
B3 string `json:"b3"`
B4 string `json:"b4"`
B5 string `json:"b5"`
B6 string `json:"b6"`
// Alternative colors A
AA2 string `json:"aa2"`
AA4 string `json:"aa4"`
AA5 string `json:"aa5"`
// Alternative colors B
AB4 string `json:"ab4"`
AB5 string `json:"ab5"`
}
type PatternOverlay
deprecated
type PatternOverlay struct {
// contains filtered or unexported fields
}
PatternOverlay renders a legacy pattern overlay for a themable element.
Deprecated: PatternOverlay is no longer used by D2 and will be removed after one compatibility release. There is no replacement.
func NewPatternOverlay
deprecated
func NewPatternOverlay(el *ThemableElement, pattern string) *PatternOverlay
NewPatternOverlay returns a legacy pattern overlay.
Deprecated: PatternOverlay is no longer used by D2 and will be removed after one compatibility release. There is no replacement.
func (*PatternOverlay) Render
deprecated
func (o *PatternOverlay) Render() (string, error)
Render renders the legacy pattern overlay.
Deprecated: PatternOverlay is no longer used by D2 and will be removed after one compatibility release. There is no replacement.
type SpecialRules ¶
type ThemableElement ¶
type ThemableElement struct {
X float64
X1 float64
X2 float64
Y float64
Y1 float64
Y2 float64
Width float64
Height float64
R float64
Rx float64
Ry float64
Cx float64
Cy float64
D string
Mask string
Points string
Transform string
Href string
Xmlns string
Fill string
Stroke string
StrokeDashArray string
BackgroundColor string
Color string
ClassName string
Style string
Attributes string
Content string
ClipPath string
FillPattern string
// contains filtered or unexported fields
}
ThemableElement is a helper class for creating new XML elements. This should be preferred over formatting and must be used whenever Fill, Stroke, BackgroundColor or Color contains a color from a theme. i.e. N[1-7] | B[1-6] | AA[245] | AB[45]
func NewThemableElement ¶
func NewThemableElement(tag string, inlineTheme *Theme) *ThemableElement
func (*ThemableElement) Copy ¶
func (el *ThemableElement) Copy() *ThemableElement
func (*ThemableElement) Render ¶
func (el *ThemableElement) Render() string
func (*ThemableElement) SetMaskUrl ¶
func (el *ThemableElement) SetMaskUrl(url string)
func (*ThemableElement) SetTranslate ¶
func (el *ThemableElement) SetTranslate(x, y float64)
type ThemableSketchOverlay ¶
type ThemableSketchOverlay struct {
// contains filtered or unexported fields
}
func NewThemableSketchOverlay ¶
func NewThemableSketchOverlay(el *ThemableElement, fill string) *ThemableSketchOverlay
func (*ThemableSketchOverlay) Render ¶
func (o *ThemableSketchOverlay) Render() (string, error)
TODO we can just call el.Copy() to prevent that WARNING: Do not reuse the element afterwards as this function changes the Class property
type Theme ¶
type Theme struct {
ID int64 `json:"id"`
Name string `json:"name"`
Colors ColorPalette `json:"colors"`
SpecialRules SpecialRules `json:"specialRules,omitempty"`
}
func (*Theme) ApplyOverrides ¶
func (t *Theme) ApplyOverrides(overrides *d2target.ThemeOverrides)