commit dee68d9f81928fa94de14c48d4dc7a834fdaf2b6058e458e208a61ba3e0ba612 Author: Jeff Kowalczyk Date: Fri Aug 2 04:28:29 2024 +0000 Accepting request 1191073 from home:jfkw:branches:devel:languages:go - Update to version 0.6.6: * Glob inverse filters are implemented (e.g. *: {!&shape: circle; style.fill: red} to turn all non-circles red) #2008 * Globs can be used in glob filter values, including checking for existence (e.g. *: {&link: *; style.fill: red} to turn all objects with a link red) #2009 * Opacity 0 shapes no longer have a label mask which made any segment of connections going through them lower opacity #1940 * Bidirectional connections are now animated in opposite directions rather than one direction #1939 * Local relative icons are relative to the d2 file instead of CLI invoke path #1924 * Custom label positions weren't being read when the width was smaller than the label #1928 * Using shape: circle for arrowheads no longer removes all arrowheads along path in sketch mode #1942 * Globs to null connections work #1965 * Edge globs setting styles inherit correctly in child boards #1967 * Board links imported with spread imports work #1972 * Fix importing a file with nested boards #1998 * Fix importing a file with underscores in links #1999 * Replace a panic with an error message resulting from invalid link usage #2011 * Fix globs not applying to scenarios on keys that were applied in earlier scenarios #2021 * Fix edge case of invalid SVG from code blocks #2031 - Update to version 0.6.5: * D2 0.6.5 has a hotfix for 0.6.4 breaking plugin compatibility. Also includes 2 compiler fixes regarding substitutions/vars. * Fix executable plugins that implement standalone router #1910 * Fix compiler error with multiple nested spread substitutions #1913 * Fix substitutions from imports into different scopes #1914 - Update to version 0.6.4: * style.underline works on connections #1836 * none is added as an accepted value for fill-pattern. Previously there was no way to cancel the fill-pattern on select objects set by a theme that applies it (Origami) #1882 * Dimensions can be set less than label dimensions #1901 * Boards no longer inherit label fields from parents #1838 * Prevents near targeting a child of a special object like grid cells, which wasn't doing anything #1851 * Theme flags on CLI apply to PDFs #1894 OBS-URL: https://build.opensuse.org/request/show/1191073 OBS-URL: https://build.opensuse.org/package/show/devel:languages:go/d2?expand=0&rev=15 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_service b/_service new file mode 100644 index 0000000..33a2df7 --- /dev/null +++ b/_service @@ -0,0 +1,17 @@ + + + https://github.com/terrastruct/d2.git + git + v0.6.6 + @PARENT_TAG@ + v(.*) + + + + + *.tar + gz + + + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..48b9b17 --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + https://github.com/terrastruct/d2.git + c2dea55d1bcf3a3c6589d81f26fa932bb5ff0705 \ No newline at end of file diff --git a/d2-0.6.3.tar.gz b/d2-0.6.3.tar.gz new file mode 100644 index 0000000..2316d72 --- /dev/null +++ b/d2-0.6.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04144b52fd38dd062f7776e2d4fdd305d1e2a5a861a36944abc78707fba4e361 +size 19079582 diff --git a/d2-0.6.6.tar.gz b/d2-0.6.6.tar.gz new file mode 100644 index 0000000..d751164 --- /dev/null +++ b/d2-0.6.6.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec0c68539dc446d0016e0438ae165136d1d1746954cc7af10270ae8351c8b1fb +size 19591673 diff --git a/d2.changes b/d2.changes new file mode 100644 index 0000000..e33517f --- /dev/null +++ b/d2.changes @@ -0,0 +1,339 @@ +------------------------------------------------------------------- +Fri Aug 2 03:40:33 UTC 2024 - Jeff Kowalczyk + +- Update to version 0.6.6: + * Glob inverse filters are implemented (e.g. *: {!&shape: circle; style.fill: red} to turn all non-circles red) #2008 + * Globs can be used in glob filter values, including checking for existence (e.g. *: {&link: *; style.fill: red} to turn all objects with a link red) #2009 + * Opacity 0 shapes no longer have a label mask which made any segment of connections going through them lower opacity #1940 + * Bidirectional connections are now animated in opposite directions rather than one direction #1939 + * Local relative icons are relative to the d2 file instead of CLI invoke path #1924 + * Custom label positions weren't being read when the width was smaller than the label #1928 + * Using shape: circle for arrowheads no longer removes all arrowheads along path in sketch mode #1942 + * Globs to null connections work #1965 + * Edge globs setting styles inherit correctly in child boards #1967 + * Board links imported with spread imports work #1972 + * Fix importing a file with nested boards #1998 + * Fix importing a file with underscores in links #1999 + * Replace a panic with an error message resulting from invalid link usage #2011 + * Fix globs not applying to scenarios on keys that were applied in earlier scenarios #2021 + * Fix edge case of invalid SVG from code blocks #2031 + +------------------------------------------------------------------- +Thu Apr 18 05:12:41 UTC 2024 - Jeff Kowalczyk + +- Update to version 0.6.5: + * D2 0.6.5 has a hotfix for 0.6.4 breaking plugin compatibility. Also includes 2 compiler fixes regarding substitutions/vars. + * Fix executable plugins that implement standalone router #1910 + * Fix compiler error with multiple nested spread substitutions #1913 + * Fix substitutions from imports into different scopes #1914 + +------------------------------------------------------------------- +Thu Apr 11 05:46:12 UTC 2024 - Jeff Kowalczyk + +- Update to version 0.6.4: + * style.underline works on connections #1836 + * none is added as an accepted value for fill-pattern. Previously there was no way to cancel the fill-pattern on select objects set by a theme that applies it (Origami) #1882 + * Dimensions can be set less than label dimensions #1901 + * Boards no longer inherit label fields from parents #1838 + * Prevents near targeting a child of a special object like grid cells, which wasn't doing anything #1851 + * Theme flags on CLI apply to PDFs #1894 + * Fixes styles in connections not overriding styles set by globs #1857 + * Fixes null being set on a nested shape not working in certain cases when connections also pointed to that shape #1830 + * Fixes edge case of bad import syntax crashing using d2 as a library #1829 + * Fixes style.fill not applying to markdown #1872 + * Fixes compiler erroring on certain styles when the shape's shape value is not all lowercase (e.g. Circle) #1887 + +------------------------------------------------------------------- +Wed Jan 17 22:48:08 UTC 2024 - Jeff Kowalczyk + +- Update to version 0.6.3: + * Themes can be customized via d2-config vars. #1777 + * Icons can be added for special objects (sql_table, class, code, markdown, latex). #1774 + * Fix importing files that override an existing value with an array. #1762 + * Fixes missing unfilled triangle arrowheads when sketch flag is on. #1763 + * Fixes a bug where the render target could be incorrect if the target path contains "index". #1764 + * Fixes ELK layout with outside labels/icons. #1776 + * Fixes a bug where an edge could become disconnected with dagre layout and direction right. #1778 + +------------------------------------------------------------------- +Thu Dec 7 06:22:00 UTC 2023 - Jeff Kowalczyk + +- Update to version 0.6.2: + * ELK routes sql_table edges to the exact columns (ty @landmaj) #1681 + * Unfilled triangle arrowhead is available. #1711 + * Grid containers customize label positions. #1715 + * A single board from a multi-board diagram can be rendered with --target flag. #1725 + * Grid cells can contain nested edges #1629 + * Edges can go across constant nears, sequence diagrams, and grids, including nested ones. #1631 + * All vars defined in a scope are accessible everywhere in that scope, i.e., an object can use a var defined after itself. #1695 + * Encoding API switches to standard zlib encoding so that decoding doesn't depend on source. #1709 + * currentcolor is accepted as a color option to inherit parent colors. (ty @hboomsma) #1700 + * Grid containers can be sized with width/height even when using a layout plugin without that feature. #1731 + * Watch mode watches for changes in both the input file and imported files #1720 + * Fixes a bug calculating grid height with only grid-rows and different horizontal-gap and vertical-gap values. #1646 + * Grid layout accounts for each cell's outside labels and icons #1624 + * Grid layout accounts for labels wider or taller than the shape and fixes default label positions for image grid cells. #1670 + * Fixes a panic with a spread substitution in a glob map #1643 + * Fixes use of null in sql_table constraints (ty @landmaj) #1660 + * Fixes ELK growing shapes with width/height set #1679 + * Adds a compiler error when accidentally using an arrowhead on a shape #1686 + * Correctly reports errors from invalid values set by globs. #1691 + * Fixes panic when spread substitution referenced a nonexistant var. #1695 + * Fixes incorrect appendix icon numbering. #1704 + * Fixes crash when using --watch and navigating to an invalid board path #1693 + * Fixes edge case where nested edge globs were creating excess shapes #1713 + * Fixes a panic with a connection to a grid cell that is a container in TALA #1729 + * Fixes incorrect grid cell positioning when the grid has a shape set and fixes content sometimes escaping circle shapes. #1734 + * Fixes content sometimes escaping cloud shapes. #1736 + * Fixes panic using a glob filter (e.g. &a) outside globs. #1748 + * Fixes glob keys with import values (e.g. user*: @lib/user). #1755 + +------------------------------------------------------------------- +Fri Oct 6 14:30:23 UTC 2023 - Jeff Kowalczyk + +- Update to version 0.6.1: + * The globs feature underwent a major rewrite and is now almost finalized + * UTF-16 files are automatically detected and supported #1525 + * Grid diagrams can now have simple connections between top-level cells #1586 + * Globs are lazily-evaluated #1552 + * Latex blocks includes Mathjax's ASM extension #1544 + * font-color works on Markdown #1546 + * font-color works on arrowheads #1582 + * CLI failure message includes input path #1617 + * d2 fmt formats all files passed as arguments rather than just the first non-formatted (thank you @maxbrunet) #1523 + * Fixes Markdown cropping last element in mixed-element blocks (e.g. em and strong) #1543 + * Adds compiler error for non-blockstring empty labels #1590 + * Prevents multiple constant nears overlapping in some cases #1591 + * Fixes crash from empty nested grid #1594 + * d2fmt with variable substitution mid-string is formatted correctly #1611 + * Fixes certain shape IDs not working with dagre #1610 + * Fixes font-size adjustments missing from rendered code shape #1614 + +------------------------------------------------------------------- +Tue Aug 29 16:22:59 UTC 2023 - Lubos Kocman + +- Adjust license to cover also redistributed vendor/github.com/* files + +------------------------------------------------------------------- +Sat Aug 12 19:01:23 UTC 2023 - jkowalczyk@suse.com + +- Update to version 0.6.0: + * Variables and substitutions are implemented. See docs. #1473 + * Configure timeout value with D2_TIMEOUT env var #1392 + * Scale renders and disable fit to screen with --scale flag #1413 + * null keyword can be used to un-declare. See docs #1446 + * Develop multi-board diagrams in watch mode (links to layers/scenarios/steps work in --watch) #1503 + * Glob patterns have been implemented. See docs. #1479 + * Display version on CLI help invocation #1400 + * Improved readability of connection labels when they overlap another connection #447 + * Error message when shape is given a composite #1415 + * Improved rendering and text measurement for code shapes #1425 + * The autoformatter moves board declarations to the bottom of its scope #1424 + * All font styles in sketch mode use a consistent font-family #1463 + * Tooltip and link icons are positioned on shape border #1466 + * Tooltip and link icons are always rendered over shapes #1467 + * Boards with no objects are considered folders #1504 + * DEBUG environment variable ignored if set incorrectly #1505 + * Fixes edge case in compiler using dots in quotes #1401 + * Fixes grid label font size for TALA #1412 + * Fixes person shape label positioning with multiple or 3d #1478 +- _service tar_scm disable changesgenerate. Upstream uses small + incremental commits and the automated changelog is overly long. + Use GitHub release summary instead. + +------------------------------------------------------------------- +Sat Jun 10 14:38:45 UTC 2023 - jkowalczyk@suse.com + +- Update to version 0.5.1: + * d2ir: Fix for windows + +------------------------------------------------------------------- +Sat Jun 10 14:35:48 UTC 2023 - jkowalczyk@suse.com + +- Update to version 0.5.0: + * D2 files have the ability to import from other D2 files #1371 + * sql_table alternatively takes an array of constraints instead of being limited to a single one #1245 + * Use shape-specific sizing for grid containers #1294 + * Grid diagrams support nested shapes or grid diagrams #1309 + * grid-gap, vertical-gap, and horizontal-gap apply to padding on grid diagrams #1309 + * Watch mode browser uses an error favicon to easily indicate compiler errors #1240 + * Grid layout performance improved when there are many similarly sized shapes #1315 + * Connections and labels are adjusted for shapes with 3d or multiple #1340 + * Constraints in sql_table render even if they have no matching abbreviation #1372 + * Constraints in sql_table sheds their excessive letter-spacing and is padded from the end consistently #1372 + * Duplicate image URLs in icons are only fetched once #1373 + * In watch mode, images are cached by default across compiles. Can be disabled with flag --img-cache=0. #1373 + * Common invalid array separator , usage in class arrays returns a helpful error message #1376 + * Invalid constraint usage is met with an error message, preventing a common mistake of omitting shape: sql_table #1379 + * Connections no longer obscure outside labels #1381 + * Container connections in dagre are more balanced #1384 + * Connections that go through shape labels are now masked translucently #1383 + * Shadow is no longer cut off when --pad is 0. Thank you @LeonardsonCC ! #1326 + * Fixes grid layout overwriting label placements for nested objects #1345 + * Fixes fonts not rendering correctly on certain platforms #1356 + * Fixes folders not rendering in animations (--animate-interval) #1357 + * Fixes panic using reserved keywords as containers #1358 + * When multiple classes are change different attributes of arrowheads, all are applied instead of only the last one #1362 + * Prevent empty block strings #1364 + * Fixes dagre mis-aligning a nested shape's connection #1370 + * Fixes a bug in grids sometimes putting a shape on the next row/column #1380 + * @xyz is now reserved as a pattern for imports + +------------------------------------------------------------------- +Tue May 2 18:31:14 UTC 2023 - jkowalczyk@suse.com + +- Update to version 0.4.2: + * update get point at distance + * fix reparsing flags + * add logseq plugin + * add md block info + * fix elk issue when container named root + * add d2sketch in ci + * fix e2e profile passing args + * fast attempt with debt balancing + skip bad rows + * add maximum attempts + * improve grid expand evenly + * search for white index + * fix gif pallete + * add profiling for e2e tests + * implement arrays for classes + * add more detailed error msg + * account for non-orthogonal connection segments + * arrowhead refactor + * fix generate unique number id + * model_order cycle breaking elk + * fix elk self loop spacing + * d2oracle: don't modify classes + * Update japan.d2 + * enforce min size for text shapes + * remove border-radius percent tests, add border-radius pill (with a big value) test + * feat: revert percentage border-radius. Accept higher border-radius value and limit it to half of the smaller shape side to be rendered as a pill + * feat: check border-radius value value before checking its decimals. New rx and ry compute method. + * feat: add possiblity to set shape border-radius with percentage value + +------------------------------------------------------------------- +Tue Apr 18 02:00:30 UTC 2023 - jkowalczyk@suse.com + +- Update to version 0.4.1: + * [ci-force] add japan example + * [ci-base] add d2 pptx example + * remove d2graph edge.MinWidth MinHeight + * adjust label positioning for arrowhead + * update bounding box for arrowhead labels + * position arrowhead labels + * render with arrowhead dimensions + * set arrowhead label dimensions + * pptx board path + * refactor boardType + * refactor ppt + * remove import + * show message while generating gif + * navbar on pptx + * add example + * add constants + * navbar on pdfs + * Update lib/xgif/xgif.go + * export root + * package docs + * export gifs + * Fixing typos + * refactor d2graph.Attributes + * relative paths + * refactor LabelWidth and LabelHeight to LabelDimensions + * convert png boards to gif + * Update generate_png.js + * add exportExtension + * add dark terrastruct flagship theme + * e2etests: Add ent2d2 test case + * don't increase font size for md text if container + * update markdown text measurement and rendering to use font-size + * rename to horizontal-gap and vertical-gap + * fix grid panic with insuffient objects + * if storing int and casting float64 each use + * set scale when generating png + * use grid-gap values for layout + * add grid-gap keywords + * handdrawn semibold + * custom semibold font option + * using semibold + * add SourceCodePro-Semibold font + * measure with semibold + * use semibold font instead of font-weight: 600 + * setting up semibold font + * add SourceSansPro-Semibold font + * support multiboard rendering in e2e tests + * changelog and ci + * return svg + * move to a single file + * generate files from templates + * fix layout of grid in constant near + * move xml to templates + * fix links in keynote + * [ci-force] update contributing + * add links to pptx + * fix urls in changelogs + * fix image resizing + * minor fixes for MS PowerPoint + * fix image size + * rename and docs + * update title + * slide title + * fix size and position + * add pptx export + * base ppt export + +------------------------------------------------------------------- +Sun Apr 9 02:38:41 UTC 2023 - jkowalczyk@suse.com + +- Initial package version 0.4.0: + * update link to tree-sitter grammar + * add text-transform as keyword + * fix watch mode + * Add `text-transform` attribute to the `style` block + * fix solo near + * markdown class has to have diagramHash targeting + * Lifeline should inherit the stroke style from the actor + * fix empty layer + * fix: attach objects of tempGraph + * Add d2-filter as community plugin + * update keywords rows -> grid-rows + * new method for placing nodes across rows + * fix inheritence bug + * rename to grid diagram + * validate descendants + * layout evenly with rows and columns + * center container if growing to fit label + * validate edges + * add padding between dagre labels + * fixing rows creation + * finish column logic + * more dynamic grid sizing according to node sizes + * evenly size grid nodes + * values must be positive + * layout with grids + * Truncate to 32-bit precision to avoid floating-point arithmetic divergence between platforms + * docs(readme): add golang queue library as example. + * chore: feature description doc + * fixes #1104 + * namespace transitions + * fix builds on 32bit + * have watch mode parse svg message correctly + * fix: find outer near contaienr + * fix: validation for near obj connect to outside + * fix: a clean spilit for temp graph + * d2parser: Fix #322 + * fix: validateNear outside connection + * fix: nil labelPosition + * fix: calc labelPosition + * fix: delete redundant file + * fix: use method instead of attribute + * fix: delete redundant variable + * fix: delete redundant return value + * fix: ignore objects inside near container when calc boundingBox + * fix: calc labelDimension + * fix: integrate logic of construct sub graph inside WithoutConstantNears + * fix: add validation for near connectioins + * fix: compile_test testcase + * fix: revert near_bad_connected compile_test + * fix: delete redundant testcases + * feat: descendants now is allowed for container with near attribute diff --git a/d2.spec b/d2.spec new file mode 100644 index 0000000..db96da9 --- /dev/null +++ b/d2.spec @@ -0,0 +1,55 @@ +# +# spec file for package d2 +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: d2 +Version: 0.6.6 +Release: 0 +Summary: CLI tool and modern declarative language that turns text to diagrams +License: Apache-2.0 AND MIT AND MPL-2.0 AND EPL-2.0 AND GPL-2.0-or-later AND BSD-3-Clause +Group: Productivity/Text/Utilities +URL: https://github.com/terrastruct/d2 +Source: %{name}-%{version}.tar.gz +Source1: vendor.tar.gz +BuildRequires: golang(API) >= 1.20 + +%description +A modern declarative diagramming language that turns text to diagrams. Create +beautiful diagrams in minutes. Simple syntax. Endlessly customizable. D2 is the +fastest and easiest way to get a mental model from your head onto the screen, +then make edits with your team. + +%prep +%autosetup -a 1 + +%build +go build \ + -buildmode=pie + +%check +# execute the binary as a basic check +./%{name} --help + +%install +install -D -m 0755 %{name} "%{buildroot}/%{_bindir}/%{name}" + +%files +%doc README.md +%license LICENSE.txt +%{_bindir}/%{name} + +%changelog diff --git a/vendor.tar.gz b/vendor.tar.gz new file mode 100644 index 0000000..82a1132 --- /dev/null +++ b/vendor.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10df8563b4570a689052974e18d816ea4104700d0e509033c1dcf6a36df38fb1 +size 7586203