From 1373655894e3663a3cd5e24ee5976e7c0d9fb563 Mon Sep 17 00:00:00 2001 From: Anmol Sethi Date: Tue, 24 Jan 2023 14:57:35 -0800 Subject: [PATCH 1/3] install.sh: Regen --- ci/release/template/scripts/lib.sh | 8 ++++---- ci/sub | 2 +- install.sh | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ci/release/template/scripts/lib.sh b/ci/release/template/scripts/lib.sh index 699795908..2ee814abf 100644 --- a/ci/release/template/scripts/lib.sh +++ b/ci/release/template/scripts/lib.sh @@ -437,10 +437,10 @@ ensure_prefix() { if [ -n "${PREFIX-}" ]; then return fi - # The reason for checking whether bin is writable is that on macOS you have /usr/local + # The reason for checking whether lib is writable is that on macOS you have /usr/local # owned by root but you don't need root to write to its subdirectories which is all we # need to do. - if ! is_writable_dir "/usr/local/bin"; then + if ! is_writable_dir "/usr/local/lib"; then # This also handles M1 Mac's which do not allow modifications to /usr/local even # with sudo. PREFIX=$HOME/.local @@ -453,10 +453,10 @@ ensure_prefix_sh_c() { ensure_prefix sh_c="sh_c" - # The reason for checking whether bin is writable is that on macOS you have /usr/local + # The reason for checking whether lib is writable is that on macOS you have /usr/local # owned by root but you don't need root to write to its subdirectories which is all we # need to do. - if ! is_writable_dir "$PREFIX/bin"; then + if ! is_writable_dir "$PREFIX/lib"; then sh_c="sudo_sh_c" fi } diff --git a/ci/sub b/ci/sub index 1c94f3d01..64036dae6 160000 --- a/ci/sub +++ b/ci/sub @@ -1 +1 @@ -Subproject commit 1c94f3d0120199b85eb5e45841a9bb4515ddf965 +Subproject commit 64036dae6aa4da7c5928e0b00e4d360f4cafa238 diff --git a/install.sh b/install.sh index 026f423c9..04721fd93 100755 --- a/install.sh +++ b/install.sh @@ -573,10 +573,10 @@ ensure_prefix() { if [ -n "${PREFIX-}" ]; then return fi - # The reason for checking whether bin is writable is that on macOS you have /usr/local + # The reason for checking whether lib is writable is that on macOS you have /usr/local # owned by root but you don't need root to write to its subdirectories which is all we # need to do. - if ! is_writable_dir "/usr/local/bin"; then + if ! is_writable_dir "/usr/local/lib"; then # This also handles M1 Mac's which do not allow modifications to /usr/local even # with sudo. PREFIX=$HOME/.local @@ -589,10 +589,10 @@ ensure_prefix_sh_c() { ensure_prefix sh_c="sh_c" - # The reason for checking whether bin is writable is that on macOS you have /usr/local + # The reason for checking whether lib is writable is that on macOS you have /usr/local # owned by root but you don't need root to write to its subdirectories which is all we # need to do. - if ! is_writable_dir "$PREFIX/bin"; then + if ! is_writable_dir "$PREFIX/lib"; then sh_c="sudo_sh_c" fi } From 8b141d37f02ec3e134da6b9294cbd10ce3f1152b Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Sun, 29 Jan 2023 14:17:34 -0800 Subject: [PATCH 2/3] use bold and italic for code snippets --- d2renderers/d2svg/code.go | 3 +- d2renderers/d2svg/d2svg.go | 38 +++++++++++++++++++ .../dagre/sketch.exp.svg | 26 ++++++++++--- .../elk/sketch.exp.svg | 26 ++++++++++--- .../dagre/sketch.exp.svg | 13 +++++-- .../elk/sketch.exp.svg | 13 +++++-- .../stable/code_snippet/dagre/sketch.exp.svg | 24 +++++++++--- .../stable/code_snippet/elk/sketch.exp.svg | 24 +++++++++--- .../dagre/sketch.exp.svg | 13 +++++-- .../elk/sketch.exp.svg | 13 +++++-- .../unnamed_only_height/dagre/sketch.exp.svg | 13 +++++-- .../unnamed_only_height/elk/sketch.exp.svg | 13 +++++-- .../unnamed_only_width/dagre/sketch.exp.svg | 13 +++++-- .../unnamed_only_width/elk/sketch.exp.svg | 13 +++++-- .../dagre/sketch.exp.svg | 17 ++++++--- .../shape_set_width_height/elk/sketch.exp.svg | 17 ++++++--- 16 files changed, 222 insertions(+), 57 deletions(-) diff --git a/d2renderers/d2svg/code.go b/d2renderers/d2svg/code.go index 3356a290d..029b635e2 100644 --- a/d2renderers/d2svg/code.go +++ b/d2renderers/d2svg/code.go @@ -47,7 +47,8 @@ func styleAttr(styles map[chroma.TokenType]string, tt chroma.TokenType) string { } } } - return styles[tt] + out := strings.Replace(styles[tt], `font-weight="bold"`, `class="text-mono-bold"`, -1) + return strings.Replace(out, `font-style="italic"`, `class="text-mono-italic"`, -1) } // <<< END diff --git a/d2renderers/d2svg/d2svg.go b/d2renderers/d2svg/d2svg.go index e5a3412e4..306f9b095 100644 --- a/d2renderers/d2svg/d2svg.go +++ b/d2renderers/d2svg/d2svg.go @@ -1181,6 +1181,44 @@ func embedFonts(buf *bytes.Buffer, fontFamily *d2fonts.FontFamily) { } } + triggers = []string{ + `class="text-mono-bold"`, + } + + for _, t := range triggers { + if strings.Contains(content, t) { + fmt.Fprintf(buf, ` +.text-mono-bold { + font-family: "font-mono-bold"; +} +@font-face { + font-family: font-mono-bold; + src: url("%s"); +}`, + d2fonts.FontEncodings[d2fonts.SourceCodePro.Font(0, d2fonts.FONT_STYLE_BOLD)]) + break + } + } + + triggers = []string{ + `class="text-mono-italic"`, + } + + for _, t := range triggers { + if strings.Contains(content, t) { + fmt.Fprintf(buf, ` +.text-mono-italic { + font-family: "font-mono-italic"; +} +@font-face { + font-family: font-mono-italic; + src: url("%s"); +}`, + d2fonts.FontEncodings[d2fonts.SourceCodePro.Font(0, d2fonts.FONT_STYLE_ITALIC)]) + break + } + } + buf.WriteString(`]]>`) } diff --git a/e2etests/testdata/regression/code_leading_trailing_newlines/dagre/sketch.exp.svg b/e2etests/testdata/regression/code_leading_trailing_newlines/dagre/sketch.exp.svg index f98347562..a42fc16c7 100644 --- a/e2etests/testdata/regression/code_leading_trailing_newlines/dagre/sketch.exp.svg +++ b/e2etests/testdata/regression/code_leading_trailing_newlines/dagre/sketch.exp.svg @@ -41,18 +41,18 @@ width="883" height="354" viewBox="-102 -102 883 354"> \ No newline at end of file diff --git a/e2etests/testdata/regression/code_leading_trailing_newlines/elk/sketch.exp.svg b/e2etests/testdata/regression/code_leading_trailing_newlines/elk/sketch.exp.svg index 54cba0296..b01ba99e4 100644 --- a/e2etests/testdata/regression/code_leading_trailing_newlines/elk/sketch.exp.svg +++ b/e2etests/testdata/regression/code_leading_trailing_newlines/elk/sketch.exp.svg @@ -41,18 +41,18 @@ width="803" height="354" viewBox="-90 -90 803 354"> \ No newline at end of file diff --git a/e2etests/testdata/regression/unnamed_class_table_code/dagre/sketch.exp.svg b/e2etests/testdata/regression/unnamed_class_table_code/dagre/sketch.exp.svg index c70aa283b..85d57d493 100644 --- a/e2etests/testdata/regression/unnamed_class_table_code/dagre/sketch.exp.svg +++ b/e2etests/testdata/regression/unnamed_class_table_code/dagre/sketch.exp.svg @@ -61,9 +61,9 @@ width="626" height="1028" viewBox="-102 -102 626 1028"> \ No newline at end of file diff --git a/e2etests/testdata/regression/unnamed_class_table_code/elk/sketch.exp.svg b/e2etests/testdata/regression/unnamed_class_table_code/elk/sketch.exp.svg index 288d48059..ebf7d73d0 100644 --- a/e2etests/testdata/regression/unnamed_class_table_code/elk/sketch.exp.svg +++ b/e2etests/testdata/regression/unnamed_class_table_code/elk/sketch.exp.svg @@ -61,9 +61,9 @@ width="626" height="1028" viewBox="-90 -90 626 1028"> \ No newline at end of file diff --git a/e2etests/testdata/stable/code_snippet/dagre/sketch.exp.svg b/e2etests/testdata/stable/code_snippet/dagre/sketch.exp.svg index 4374c34c3..b471b9f5e 100644 --- a/e2etests/testdata/stable/code_snippet/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/code_snippet/dagre/sketch.exp.svg @@ -39,11 +39,11 @@ width="959" height="822" viewBox="-102 -102 959 822"> \ No newline at end of file diff --git a/e2etests/testdata/stable/code_snippet/elk/sketch.exp.svg b/e2etests/testdata/stable/code_snippet/elk/sketch.exp.svg index fbbbbfed5..5e0e2cdd3 100644 --- a/e2etests/testdata/stable/code_snippet/elk/sketch.exp.svg +++ b/e2etests/testdata/stable/code_snippet/elk/sketch.exp.svg @@ -39,11 +39,11 @@ width="959" height="822" viewBox="-90 -90 959 822"> \ No newline at end of file diff --git a/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/sketch.exp.svg index 670e3a4e8..7ca346857 100644 --- a/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/sketch.exp.svg @@ -43,9 +43,9 @@ width="5181" height="2986" viewBox="-78 -28 5181 2986"> \ No newline at end of file diff --git a/e2etests/testdata/stable/sequence_diagram_all_shapes/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_all_shapes/elk/sketch.exp.svg index 670e3a4e8..7ca346857 100644 --- a/e2etests/testdata/stable/sequence_diagram_all_shapes/elk/sketch.exp.svg +++ b/e2etests/testdata/stable/sequence_diagram_all_shapes/elk/sketch.exp.svg @@ -43,9 +43,9 @@ width="5181" height="2986" viewBox="-78 -28 5181 2986"> \ No newline at end of file diff --git a/e2etests/testdata/stable/unnamed_only_height/dagre/sketch.exp.svg b/e2etests/testdata/stable/unnamed_only_height/dagre/sketch.exp.svg index fe2a48f45..dd7ca4cf5 100644 --- a/e2etests/testdata/stable/unnamed_only_height/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/unnamed_only_height/dagre/sketch.exp.svg @@ -61,9 +61,9 @@ width="626" height="2752" viewBox="-102 -102 626 2752"> \ No newline at end of file diff --git a/e2etests/testdata/stable/unnamed_only_height/elk/sketch.exp.svg b/e2etests/testdata/stable/unnamed_only_height/elk/sketch.exp.svg index ef3feef4c..73c73f274 100644 --- a/e2etests/testdata/stable/unnamed_only_height/elk/sketch.exp.svg +++ b/e2etests/testdata/stable/unnamed_only_height/elk/sketch.exp.svg @@ -61,9 +61,9 @@ width="626" height="2752" viewBox="-90 -90 626 2752"> \ No newline at end of file diff --git a/e2etests/testdata/stable/unnamed_only_width/dagre/sketch.exp.svg b/e2etests/testdata/stable/unnamed_only_width/dagre/sketch.exp.svg index 7e7d4c34f..d42d617e2 100644 --- a/e2etests/testdata/stable/unnamed_only_width/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/unnamed_only_width/dagre/sketch.exp.svg @@ -61,9 +61,9 @@ width="716" height="1428" viewBox="-102 -102 716 1428"> \ No newline at end of file diff --git a/e2etests/testdata/stable/unnamed_only_width/elk/sketch.exp.svg b/e2etests/testdata/stable/unnamed_only_width/elk/sketch.exp.svg index f55dcf600..71c750a11 100644 --- a/e2etests/testdata/stable/unnamed_only_width/elk/sketch.exp.svg +++ b/e2etests/testdata/stable/unnamed_only_width/elk/sketch.exp.svg @@ -61,9 +61,9 @@ width="716" height="1428" viewBox="-90 -90 716 1428"> \ No newline at end of file diff --git a/e2etests/testdata/todo/shape_set_width_height/dagre/sketch.exp.svg b/e2etests/testdata/todo/shape_set_width_height/dagre/sketch.exp.svg index 891141274..4f33f6271 100644 --- a/e2etests/testdata/todo/shape_set_width_height/dagre/sketch.exp.svg +++ b/e2etests/testdata/todo/shape_set_width_height/dagre/sketch.exp.svg @@ -61,11 +61,11 @@ width="2482" height="2672" viewBox="-102 -102 2482 2672"> \ No newline at end of file diff --git a/e2etests/testdata/todo/shape_set_width_height/elk/sketch.exp.svg b/e2etests/testdata/todo/shape_set_width_height/elk/sketch.exp.svg index 1e3419ce4..213179c44 100644 --- a/e2etests/testdata/todo/shape_set_width_height/elk/sketch.exp.svg +++ b/e2etests/testdata/todo/shape_set_width_height/elk/sketch.exp.svg @@ -61,11 +61,11 @@ width="2622" height="2644" viewBox="-90 -90 2622 2644"> \ No newline at end of file From dc1679b872a309f06f9ff6095d6ea88b5e3a95a9 Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Sun, 29 Jan 2023 14:21:01 -0800 Subject: [PATCH 3/3] changelog --- ci/release/changelogs/next.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci/release/changelogs/next.md b/ci/release/changelogs/next.md index 17f4ec3db..72587383b 100644 --- a/ci/release/changelogs/next.md +++ b/ci/release/changelogs/next.md @@ -8,6 +8,8 @@ #### Improvements 🧹 +- Code snippets use bold and italic font styles as determined by highlighter [#710](https://github.com/terrastruct/d2/issues/710), [#741](https://github.com/terrastruct/d2/issues/741) + #### Bugfixes ⛑️ - Fixes groups overlapping in sequence diagrams when they end in a self loop. [#728](https://github.com/terrastruct/d2/pull/728)