d2svg

package
v0.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2023 License: MPL-2.0 Imports: 30 Imported by: 39

Documentation

Overview

d2svg implements an SVG renderer for d2 diagrams. The input is d2exporter's output

Index

Constants

View Source
const (
	DEFAULT_PADDING = 100
)
View Source
const DEFAULT_THEME int64 = 0

Variables

View Source
var BaseStylesheet string
View Source
var DEFAULT_DARK_THEME *int64 = nil // no theme selected
View Source
var LinkIcon string
View Source
var MarkdownCSS string
View Source
var TooltipIcon string

Functions

func EmbedFonts added in v0.3.0

func EmbedFonts(buf *bytes.Buffer, diagramHash, source string, fontFamily *d2fonts.FontFamily, corpus string)

func Render

func Render(diagram *d2target.Diagram, opts *RenderOpts) ([]byte, error)

func RenderMultiboard added in v0.4.1

func RenderMultiboard(diagram *d2target.Diagram, opts *RenderOpts) ([][]byte, error)

func RenderText added in v0.1.4

func RenderText(text string, x, height float64) string

func ThemeCSS added in v0.3.0

func ThemeCSS(diagramHash string, themeID int64, darkThemeID *int64) (stylesheet string, err error)

TODO include only colors that are being used to reduce size

Types

type DiagramObject added in v0.1.0

type DiagramObject interface {
	GetID() string
	GetZIndex() int
}

type RenderOpts added in v0.1.3

type RenderOpts struct {
	Pad         int
	Sketch      bool
	Center      bool
	ThemeID     int64
	DarkThemeID *int64
	Font        string
	// disables the fit to screen behavior and ensures the exported svg has the exact dimensions
	SetDimensions bool

	// MasterID is passed when the diagram should use something other than its own hash for unique targeting
	// Currently, that's when multi-boards are collapsed
	MasterID string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL