d2svg

package
v0.0.0-...-e815181 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2023 License: MPL-2.0 Imports: 30 Imported by: 0

Documentation

Overview

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

Index

Constants

View Source
const (
	DEFAULT_PADDING = 100
)

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

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

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

func RenderText

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

func ThemeCSS

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

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

type RenderOpts

type RenderOpts struct {
	Pad         *int64
	Sketch      *bool
	Center      *bool
	ThemeID     *int64
	DarkThemeID *int64
	Font        string
	// the svg will be scaled by this factor, if unset the svg will fit to screen
	Scale *float64

	// 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