archsight 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +4 -0
  3. data/docs/configuration.md +5 -0
  4. data/docs/diagram.md +69 -0
  5. data/docs/index.md.erb +1 -0
  6. data/docs/modeling.md +3 -1
  7. data/docs/pdf-export.md +118 -0
  8. data/lib/archsight/analysis/typst_renderer.rb +25 -78
  9. data/lib/archsight/cli.rb +39 -1
  10. data/lib/archsight/database.rb +4 -3
  11. data/lib/archsight/diagram/cli.rb +11 -1
  12. data/lib/archsight/diagram/errors.rb +1 -0
  13. data/lib/archsight/diagram/graph/attributes.rb +3 -1
  14. data/lib/archsight/diagram/graph/node.rb +18 -1
  15. data/lib/archsight/diagram/includes.rb +168 -0
  16. data/lib/archsight/diagram/layout/expander.rb +75 -3
  17. data/lib/archsight/diagram/layout/rank_arranger.rb +3 -1
  18. data/lib/archsight/diagram/parser/ast.rb +5 -0
  19. data/lib/archsight/diagram/parser/table_layout.rb +2 -0
  20. data/lib/archsight/diagram/parser.rb +58 -16
  21. data/lib/archsight/diagram.rb +20 -4
  22. data/lib/archsight/export/confluence/storage.rb +6 -1
  23. data/lib/archsight/helpers/diagram_blocks.rb +34 -19
  24. data/lib/archsight/helpers/diagram_includes.rb +67 -0
  25. data/lib/archsight/helpers.rb +1 -0
  26. data/lib/archsight/linter.rb +10 -2
  27. data/lib/archsight/markdown.rb +17 -1
  28. data/lib/archsight/pdf/cache.rb +41 -0
  29. data/lib/archsight/pdf/compiler.rb +69 -0
  30. data/lib/archsight/pdf/dependency_graph.rb +127 -0
  31. data/lib/archsight/pdf/document.rb +227 -0
  32. data/lib/archsight/pdf/embeds.rb +134 -0
  33. data/lib/archsight/pdf/images.rb +94 -0
  34. data/lib/archsight/pdf/markdown.rb +217 -0
  35. data/lib/archsight/pdf/remote_image.rb +122 -0
  36. data/lib/archsight/pdf/resource_sheet.rb +129 -0
  37. data/lib/archsight/pdf/sample_document.rb +67 -0
  38. data/lib/archsight/pdf/tables.rb +72 -0
  39. data/lib/archsight/pdf/theme.rb +125 -0
  40. data/lib/archsight/pdf/typst/archsight.typ +152 -0
  41. data/lib/archsight/pdf/typst.rb +45 -0
  42. data/lib/archsight/pdf.rb +30 -0
  43. data/lib/archsight/references.rb +4 -3
  44. data/lib/archsight/resources/application_component.rb +10 -0
  45. data/lib/archsight/resources/application_service.rb +9 -0
  46. data/lib/archsight/resources/config.rb +147 -0
  47. data/lib/archsight/resources/technology_service.rb +9 -0
  48. data/lib/archsight/version.rb +1 -1
  49. data/lib/archsight/web/api/json_helpers.rb +3 -2
  50. data/lib/archsight/web/api/openapi/spec.yaml +239 -2
  51. data/lib/archsight/web/api/page_helpers.rb +1 -1
  52. data/lib/archsight/web/api/pdf_helpers.rb +46 -0
  53. data/lib/archsight/web/api/routes.rb +34 -3
  54. data/lib/archsight/web/application.rb +2 -1
  55. data/lib/archsight/web/public/vue/DocPage-D3QtnrmO.js +1 -0
  56. data/lib/archsight/web/public/vue/EditorPage-lZyG6dVt.js +35 -0
  57. data/lib/archsight/web/public/vue/ErrorPage-BhdYGZJk.js +2 -0
  58. data/lib/archsight/web/public/vue/GraphView-CoqAjFdR.js +1 -0
  59. data/lib/archsight/web/public/vue/HomePage-B7SaXVeb.js +2 -0
  60. data/lib/archsight/web/public/vue/{InstanceRouter-Ca_C8izS.css → InstanceRouter-BCKbW-Wp.css} +1 -1
  61. data/lib/archsight/web/public/vue/InstanceRouter-DJJn9fhP.js +1 -0
  62. data/lib/archsight/web/public/vue/KindList-UqMajqbf.js +1 -0
  63. data/lib/archsight/web/public/vue/PageView-CirIXjW6.js +1 -0
  64. data/lib/archsight/web/public/vue/QueryError-BIJH6gQC.js +1 -0
  65. data/lib/archsight/web/public/vue/ResourceList-761vG1Jw.js +2 -0
  66. data/lib/archsight/web/public/vue/SearchResults-BPHa6yhK.js +1 -0
  67. data/lib/archsight/web/public/vue/WikiPage-Bi7dzY2h.js +3 -0
  68. data/lib/archsight/web/public/vue/{WikiPage-TpmM1VAF.css → WikiPage-CuUi4C8v.css} +1 -1
  69. data/lib/archsight/web/public/vue/{index-yiZbbvAs.js → index-BF4zUlWZ.js} +2 -2
  70. data/lib/archsight/web/public/vue/index-BO59Fbpf.css +1 -0
  71. data/lib/archsight/web/public/vue.html +2 -2
  72. metadata +37 -17
  73. data/lib/archsight/web/public/vue/DocPage-C8Ysway-.js +0 -1
  74. data/lib/archsight/web/public/vue/EditorPage-pr2MR6_b.js +0 -35
  75. data/lib/archsight/web/public/vue/ErrorPage-FAkpW-hn.js +0 -2
  76. data/lib/archsight/web/public/vue/GraphView-liQJzFyo.js +0 -1
  77. data/lib/archsight/web/public/vue/HomePage-DYpzSXG8.js +0 -2
  78. data/lib/archsight/web/public/vue/InstanceRouter-BdkBTmGO.js +0 -1
  79. data/lib/archsight/web/public/vue/KindList-CrgI4qDb.js +0 -1
  80. data/lib/archsight/web/public/vue/PageView-BIxT_t49.js +0 -1
  81. data/lib/archsight/web/public/vue/QueryError-ChdyV8B1.js +0 -1
  82. data/lib/archsight/web/public/vue/ResourceList-DdtaHY4k.js +0 -2
  83. data/lib/archsight/web/public/vue/SearchResults-BYRAcK_o.js +0 -1
  84. data/lib/archsight/web/public/vue/WikiPage-CgvRN6R2.js +0 -3
  85. data/lib/archsight/web/public/vue/index-BLSE5DSv.css +0 -1
@@ -5,10 +5,10 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>Archsight</title>
7
7
  <link rel="icon" href="/favicon.ico" />
8
- <script type="module" crossorigin src="/vue/index-yiZbbvAs.js"></script>
8
+ <script type="module" crossorigin src="/vue/index-BF4zUlWZ.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/vue/rolldown-runtime-COiEfhsA.js">
10
10
  <link rel="modulepreload" crossorigin href="/vue/mermaid-C3bOamfn.js">
11
- <link rel="stylesheet" crossorigin href="/vue/index-BLSE5DSv.css">
11
+ <link rel="stylesheet" crossorigin href="/vue/index-BO59Fbpf.css">
12
12
  </head>
13
13
  <body>
14
14
  <div id="app"></div>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: archsight
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vincent Landgraf
@@ -235,6 +235,7 @@ files:
235
235
  - docs/licenses.md
236
236
  - docs/modeling.md
237
237
  - docs/pages.md
238
+ - docs/pdf-export.md
238
239
  - docs/search.md
239
240
  - docs/togaf.md
240
241
  - docs/tool.md
@@ -278,6 +279,7 @@ files:
278
279
  - lib/archsight/diagram/graph/edge.rb
279
280
  - lib/archsight/diagram/graph/gap_spec.rb
280
281
  - lib/archsight/diagram/graph/node.rb
282
+ - lib/archsight/diagram/includes.rb
281
283
  - lib/archsight/diagram/layout.rb
282
284
  - lib/archsight/diagram/layout/expander.rb
283
285
  - lib/archsight/diagram/layout/force_simulation.rb
@@ -362,6 +364,7 @@ files:
362
364
  - lib/archsight/helpers/analysis_renderer.rb
363
365
  - lib/archsight/helpers/asset_images.rb
364
366
  - lib/archsight/helpers/diagram_blocks.rb
367
+ - lib/archsight/helpers/diagram_includes.rb
365
368
  - lib/archsight/helpers/embeds.rb
366
369
  - lib/archsight/helpers/fenced_blocks.rb
367
370
  - lib/archsight/helpers/formatting.rb
@@ -421,6 +424,21 @@ files:
421
424
  - lib/archsight/openapi.rb
422
425
  - lib/archsight/page_loader.rb
423
426
  - lib/archsight/page_tree.rb
427
+ - lib/archsight/pdf.rb
428
+ - lib/archsight/pdf/cache.rb
429
+ - lib/archsight/pdf/compiler.rb
430
+ - lib/archsight/pdf/dependency_graph.rb
431
+ - lib/archsight/pdf/document.rb
432
+ - lib/archsight/pdf/embeds.rb
433
+ - lib/archsight/pdf/images.rb
434
+ - lib/archsight/pdf/markdown.rb
435
+ - lib/archsight/pdf/remote_image.rb
436
+ - lib/archsight/pdf/resource_sheet.rb
437
+ - lib/archsight/pdf/sample_document.rb
438
+ - lib/archsight/pdf/tables.rb
439
+ - lib/archsight/pdf/theme.rb
440
+ - lib/archsight/pdf/typst.rb
441
+ - lib/archsight/pdf/typst/archsight.typ
424
442
  - lib/archsight/query.rb
425
443
  - lib/archsight/query/ast.rb
426
444
  - lib/archsight/query/errors.rb
@@ -445,6 +463,7 @@ files:
445
463
  - lib/archsight/resources/business_product.rb
446
464
  - lib/archsight/resources/business_role.rb
447
465
  - lib/archsight/resources/compliance_evidence.rb
466
+ - lib/archsight/resources/config.rb
448
467
  - lib/archsight/resources/data_object.rb
449
468
  - lib/archsight/resources/implementation_deliverable.rb
450
469
  - lib/archsight/resources/implementation_event.rb
@@ -484,6 +503,7 @@ files:
484
503
  - lib/archsight/web/api/json_helpers.rb
485
504
  - lib/archsight/web/api/openapi/spec.yaml
486
505
  - lib/archsight/web/api/page_helpers.rb
506
+ - lib/archsight/web/api/pdf_helpers.rb
487
507
  - lib/archsight/web/api/requirements_helpers.rb
488
508
  - lib/archsight/web/api/routes.rb
489
509
  - lib/archsight/web/application.rb
@@ -2882,35 +2902,35 @@ files:
2882
2902
  - lib/archsight/web/public/vendor/redoc/redoc.standalone.js
2883
2903
  - lib/archsight/web/public/vendor/redoc/redoc.standalone.js.LICENSE.txt
2884
2904
  - lib/archsight/web/public/vue.html
2885
- - lib/archsight/web/public/vue/DocPage-C8Ysway-.js
2905
+ - lib/archsight/web/public/vue/DocPage-D3QtnrmO.js
2886
2906
  - lib/archsight/web/public/vue/EditorPage-CbG4mc9T.css
2887
- - lib/archsight/web/public/vue/EditorPage-pr2MR6_b.js
2907
+ - lib/archsight/web/public/vue/EditorPage-lZyG6dVt.js
2908
+ - lib/archsight/web/public/vue/ErrorPage-BhdYGZJk.js
2888
2909
  - lib/archsight/web/public/vue/ErrorPage-Ck9izEUS.css
2889
- - lib/archsight/web/public/vue/ErrorPage-FAkpW-hn.js
2890
2910
  - lib/archsight/web/public/vue/GraphView-BvWAbUAl.css
2891
- - lib/archsight/web/public/vue/GraphView-liQJzFyo.js
2892
- - lib/archsight/web/public/vue/HomePage-DYpzSXG8.js
2893
- - lib/archsight/web/public/vue/InstanceRouter-BdkBTmGO.js
2894
- - lib/archsight/web/public/vue/InstanceRouter-Ca_C8izS.css
2895
- - lib/archsight/web/public/vue/KindList-CrgI4qDb.js
2911
+ - lib/archsight/web/public/vue/GraphView-CoqAjFdR.js
2912
+ - lib/archsight/web/public/vue/HomePage-B7SaXVeb.js
2913
+ - lib/archsight/web/public/vue/InstanceRouter-BCKbW-Wp.css
2914
+ - lib/archsight/web/public/vue/InstanceRouter-DJJn9fhP.js
2915
+ - lib/archsight/web/public/vue/KindList-UqMajqbf.js
2896
2916
  - lib/archsight/web/public/vue/KindList-yYcRT2BV.css
2897
2917
  - lib/archsight/web/public/vue/PageView-B93woeN3.css
2898
- - lib/archsight/web/public/vue/PageView-BIxT_t49.js
2918
+ - lib/archsight/web/public/vue/PageView-CirIXjW6.js
2899
2919
  - lib/archsight/web/public/vue/QueryError-3EqjpbyV.css
2900
- - lib/archsight/web/public/vue/QueryError-ChdyV8B1.js
2920
+ - lib/archsight/web/public/vue/QueryError-BIJH6gQC.js
2921
+ - lib/archsight/web/public/vue/ResourceList-761vG1Jw.js
2901
2922
  - lib/archsight/web/public/vue/ResourceList-D75O87zG.css
2902
- - lib/archsight/web/public/vue/ResourceList-DdtaHY4k.js
2923
+ - lib/archsight/web/public/vue/SearchResults-BPHa6yhK.js
2903
2924
  - lib/archsight/web/public/vue/SearchResults-BV6UHriJ.css
2904
- - lib/archsight/web/public/vue/SearchResults-BYRAcK_o.js
2905
- - lib/archsight/web/public/vue/WikiPage-CgvRN6R2.js
2906
- - lib/archsight/web/public/vue/WikiPage-TpmM1VAF.css
2925
+ - lib/archsight/web/public/vue/WikiPage-Bi7dzY2h.js
2926
+ - lib/archsight/web/public/vue/WikiPage-CuUi4C8v.css
2907
2927
  - lib/archsight/web/public/vue/architecture-WOLXFQ4H-BGN-TV5r.js
2908
2928
  - lib/archsight/web/public/vue/cynefin-EF2NZ3EQ-CZd6g_tq.js
2909
2929
  - lib/archsight/web/public/vue/eventmodeling-K75KTNOO-CYnbEx8O.js
2910
2930
  - lib/archsight/web/public/vue/gitGraph-VSP46ZUC-DialfQSk.js
2911
2931
  - lib/archsight/web/public/vue/graphviz-1lWBhpEX.js
2912
- - lib/archsight/web/public/vue/index-BLSE5DSv.css
2913
- - lib/archsight/web/public/vue/index-yiZbbvAs.js
2932
+ - lib/archsight/web/public/vue/index-BF4zUlWZ.js
2933
+ - lib/archsight/web/public/vue/index-BO59Fbpf.css
2914
2934
  - lib/archsight/web/public/vue/info-OHQRW6UA-BuhOW7ss.js
2915
2935
  - lib/archsight/web/public/vue/katex-B_JcIwqj.js
2916
2936
  - lib/archsight/web/public/vue/mermaid-C3bOamfn.js
@@ -1 +0,0 @@
1
- import{F as e,L as t,P as n,Q as r,d as i,q as a,t as o,tt as s}from"./index-yiZbbvAs.js";import{t as c}from"./WikiPage-CgvRN6R2.js";var l={key:1},u={__name:`DocPage`,props:{filename:String},setup(u){let d=u,f=s(null);function p(e,t){let n=new DOMParser().parseFromString(e,`text/html`).body,r=n.querySelector(`:scope > article`)||n,i=r.querySelector(`h1`),a=i?.textContent.trim()||t.split(`/`).pop().replace(/[-_]/g,` `);i?.remove();let o=[...r.querySelectorAll(`h2[id], h3[id], h4[id]`)].map(e=>({level:Number(e.tagName[1]),id:e.id,text:e.textContent.trim()})),s=[{title:`Documentation`}];return t.startsWith(`resources/`)&&s.push({title:`Resource types`}),{title:a,html:r.innerHTML,toc:o.length>=2?o:[],breadcrumb:s}}async function m(){let e=await i(d.filename);f.value=e?p(e,d.filename):{title:`Not found`,html:`<p>Documentation not found.</p>`,toc:[],breadcrumb:[{title:`Documentation`}]},o(f.value.title)}return r(()=>d.filename,m,{immediate:!0}),(r,i)=>f.value?(a(),e(c,{key:0,title:f.value.title,html:f.value.html,breadcrumb:f.value.breadcrumb,toc:f.value.toc},null,8,[`title`,`html`,`breadcrumb`,`toc`])):(a(),t(`article`,l,[...i[0]||=[n(`p`,null,`Loading...`,-1)]]))}};export{u as default};