giblish 0.8.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/unit_tests.yml +30 -0
  3. data/.gitignore +7 -3
  4. data/.ruby-version +1 -1
  5. data/Changelog.adoc +59 -0
  6. data/README.adoc +261 -0
  7. data/docs/concepts/text_search.adoc +213 -0
  8. data/docs/concepts/text_search_im/cgi-search_request.puml +35 -0
  9. data/docs/concepts/text_search_im/cgi-search_request.svg +397 -0
  10. data/docs/concepts/text_search_im/search_request.puml +40 -0
  11. data/docs/concepts/text_search_im/search_request.svg +408 -0
  12. data/docs/howtos/trigger_generation.adoc +180 -0
  13. data/docs/{setup_server_assets → howtos/trigger_generation_im}/Render Documents.png +0 -0
  14. data/docs/{setup_server_assets → howtos/trigger_generation_im}/View Documents.png +0 -0
  15. data/docs/{setup_server_assets → howtos/trigger_generation_im}/deploy_with_hooks.graphml +0 -0
  16. data/docs/{setup_server_assets → howtos/trigger_generation_im}/deploy_with_hooks.svg +0 -0
  17. data/docs/{setup_server_assets → howtos/trigger_generation_im}/deploy_with_jenkins.graphml +0 -0
  18. data/docs/{setup_server_assets → howtos/trigger_generation_im}/deploy_with_jenkins.svg +0 -0
  19. data/docs/howtos/trigger_generation_im/docgen_github.puml +51 -0
  20. data/docs/{setup_server_assets → howtos/trigger_generation_im}/giblish_deployment.graphml +0 -0
  21. data/docs/howtos/trigger_generation_im/post-receive-example.sh +50 -0
  22. data/docs/reference/box_flow_spec.adoc +22 -0
  23. data/docs/reference/search_spec.adoc +185 -0
  24. data/giblish.gemspec +50 -29
  25. data/lib/giblish/adocsrc_providers.rb +23 -0
  26. data/lib/giblish/application.rb +214 -41
  27. data/lib/giblish/cmdline.rb +273 -259
  28. data/lib/giblish/config_utils.rb +41 -0
  29. data/lib/giblish/configurator.rb +163 -0
  30. data/lib/giblish/conversion_info.rb +120 -0
  31. data/lib/giblish/docattr_providers.rb +125 -0
  32. data/lib/giblish/docid/docid.rb +181 -0
  33. data/lib/giblish/github_trigger/webhook_manager.rb +64 -0
  34. data/lib/giblish/gitrepos/checkoutmanager.rb +124 -0
  35. data/lib/giblish/{gititf.rb → gitrepos/gititf.rb} +30 -4
  36. data/lib/giblish/gitrepos/gitsummary.erb +61 -0
  37. data/lib/giblish/gitrepos/gitsummaryprovider.rb +78 -0
  38. data/lib/giblish/gitrepos/history_pb.rb +41 -0
  39. data/lib/giblish/indexbuilders/d3treegraph.rb +88 -0
  40. data/lib/giblish/indexbuilders/depgraphbuilder.rb +109 -0
  41. data/lib/giblish/indexbuilders/dotdigraphadoc.rb +174 -0
  42. data/lib/giblish/indexbuilders/standard_index.erb +10 -0
  43. data/lib/giblish/indexbuilders/subtree_indices.rb +132 -0
  44. data/lib/giblish/indexbuilders/templates/circles.html.erb +111 -0
  45. data/lib/giblish/indexbuilders/templates/flame.html.erb +61 -0
  46. data/lib/giblish/indexbuilders/templates/tree.html.erb +366 -0
  47. data/lib/giblish/indexbuilders/templates/treemap.html.erb +127 -0
  48. data/lib/giblish/indexbuilders/verbatimtree.rb +94 -0
  49. data/lib/giblish/pathtree.rb +473 -74
  50. data/lib/giblish/resourcepaths.rb +150 -0
  51. data/lib/giblish/search/expand_adoc.rb +55 -0
  52. data/lib/giblish/search/headingindexer.rb +312 -0
  53. data/lib/giblish/search/request_manager.rb +110 -0
  54. data/lib/giblish/search/searchquery.rb +68 -0
  55. data/lib/giblish/search/textsearcher.rb +349 -0
  56. data/lib/giblish/subtreeinfobuilder.rb +77 -0
  57. data/lib/giblish/treeconverter.rb +272 -0
  58. data/lib/giblish/utils.rb +142 -294
  59. data/lib/giblish/version.rb +1 -1
  60. data/lib/giblish.rb +10 -7
  61. data/scripts/hooks/post-receive.example +66 -0
  62. data/{docgen/scripts/githook_examples → scripts/hooks}/post-update.example +0 -0
  63. data/{docgen → scripts}/resources/css/adoc-colony.css +0 -0
  64. data/scripts/resources/css/giblish-serif.css +419 -0
  65. data/scripts/resources/css/giblish.css +1979 -419
  66. data/{docgen → scripts}/resources/fonts/Ubuntu-B.ttf +0 -0
  67. data/{docgen → scripts}/resources/fonts/Ubuntu-BI.ttf +0 -0
  68. data/{docgen → scripts}/resources/fonts/Ubuntu-R.ttf +0 -0
  69. data/{docgen → scripts}/resources/fonts/Ubuntu-RI.ttf +0 -0
  70. data/{docgen → scripts}/resources/fonts/mplus1p-regular-fallback.ttf +0 -0
  71. data/{docgen → scripts}/resources/images/giblish_logo.png +0 -0
  72. data/{docgen → scripts}/resources/images/giblish_logo.svg +0 -0
  73. data/{docgen → scripts}/resources/themes/giblish.yml +0 -0
  74. data/scripts/wserv_development.rb +32 -0
  75. data/web_apps/cgi_search/gibsearch.rb +43 -0
  76. data/web_apps/gh_webhook_trigger/config.ru +2 -0
  77. data/web_apps/gh_webhook_trigger/gh_webhook_trigger.rb +73 -0
  78. data/web_apps/gh_webhook_trigger/public/dummy.txt +3 -0
  79. data/web_apps/sinatra_search/config.ru +2 -0
  80. data/web_apps/sinatra_search/public/dummy.txt +3 -0
  81. data/web_apps/sinatra_search/sinatra_search.rb +34 -0
  82. data/web_apps/sinatra_search/tmp/restart.txt +0 -0
  83. metadata +180 -71
  84. data/.rubocop.yml +0 -7
  85. data/.travis.yml +0 -3
  86. data/Changelog +0 -16
  87. data/Gemfile +0 -4
  88. data/README.adoc +0 -1
  89. data/Rakefile +0 -41
  90. data/bin/console +0 -14
  91. data/bin/setup +0 -8
  92. data/data/testdocs/malformed/no_header.adoc +0 -5
  93. data/data/testdocs/toplevel.adoc +0 -19
  94. data/data/testdocs/wellformed/adorned_purpose.adoc +0 -17
  95. data/data/testdocs/wellformed/docidtest/docid_1.adoc +0 -24
  96. data/data/testdocs/wellformed/docidtest/docid_2.adoc +0 -8
  97. data/data/testdocs/wellformed/simple.adoc +0 -14
  98. data/data/testdocs/wellformed/source_highlighting/highlight_source.adoc +0 -38
  99. data/docgen/resources/css/giblish.css +0 -1979
  100. data/docgen/scripts/Jenkinsfile +0 -18
  101. data/docgen/scripts/gen_adoc_org.sh +0 -58
  102. data/docs/README.adoc +0 -387
  103. data/docs/setup_server.adoc +0 -202
  104. data/lib/giblish/buildgraph.rb +0 -216
  105. data/lib/giblish/buildindex.rb +0 -459
  106. data/lib/giblish/core.rb +0 -451
  107. data/lib/giblish/docconverter.rb +0 -308
  108. data/lib/giblish/docid.rb +0 -180
  109. data/lib/giblish/docinfo.rb +0 -75
  110. data/lib/giblish/indexheadings.rb +0 -251
  111. data/lib/giblish-search.cgi +0 -459
  112. data/scripts/hooks/post-receive +0 -57
  113. data/scripts/publish_html.sh +0 -99
@@ -0,0 +1,397 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="581.25px" preserveAspectRatio="none" style="width:657px;height:581px;background:#00000000;" version="1.1" viewBox="0 0 657 581" width="657.2917px" zoomAndPan="magnify"><defs/><g><rect height="45.0846" rx="4.1667" ry="4.1667" style="stroke:#BABDBF;stroke-width:1.0416666666666667;fill:none;" width="335.4167" x="165.1042" y="14.5833"/><text fill="#2FA4E7" font-family="Verdana" font-size="20.8333" lengthAdjust="spacing" textLength="308.3333" x="178.6458" y="44.338">Using CGI for search requests</text><rect fill="#EEEEEE" height="497.3633" rx="4.1667" ry="4.1667" style="stroke:#868E96;stroke-width:1.0416666666666667;" width="511.4583" x="112.5" y="71.1263"/><text fill="#343A40" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="218.75" x="258.8542" y="87.9374">The Document Hosting Server</text><line style="stroke:#BABDBF;stroke-width:2.0833333333333335;stroke-dasharray:5.0,5.0;" x1="34.375" x2="34.375" y1="173.1445" y2="574.7396"/><line style="stroke:#BABDBF;stroke-width:2.0833333333333335;stroke-dasharray:5.0,5.0;" x1="207.2917" x2="207.2917" y1="173.1445" y2="574.7396"/><line style="stroke:#BABDBF;stroke-width:2.0833333333333335;stroke-dasharray:5.0,5.0;" x1="408.3333" x2="408.3333" y1="173.1445" y2="574.7396"/><line style="stroke:#BABDBF;stroke-width:2.0833333333333335;stroke-dasharray:5.0,5.0;" x1="568.75" x2="568.75" y1="173.1445" y2="574.7396"/><text fill="#2FA4E7" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="42.7083" x="10.4167" y="164.9882">Viewer</text><ellipse cx="34.8958" cy="92.9688" rx="8.3333" ry="8.3333" style="stroke:#2FA4E7;stroke-width:2.0833333333333335;fill:none;"/><path d="M34.8958,101.3021 L34.8958,129.4271 M21.3542,109.6354 L48.4375,109.6354 M34.8958,129.4271 L21.3542,145.0521 M34.8958,129.4271 L48.4375,145.0521 " fill="none" style="stroke:#2FA4E7;stroke-width:2.0833333333333335;"/><rect height="39.5508" rx="4.1667" ry="4.1667" style="stroke:#2FA4E7;stroke-width:1.5625;fill:none;" width="98.9583" x="158.3333" y="132.5521"/><text fill="#2FA4E7" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="73.9583" x="170.8333" y="156.6549">Web Server</text><rect height="68.6523" rx="4.1667" ry="4.1667" style="stroke:#2FA4E7;stroke-width:1.5625;fill:none;" width="115.625" x="351.0417" y="103.4505"/><text fill="#2FA4E7" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="90.625" x="363.5417" y="127.5533">Search Result</text><text fill="#2FA4E7" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="66.6667" x="375.5208" y="142.1041">Generator</text><text fill="#2FA4E7" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="31.25" x="393.2292" y="156.6549">(CGI)</text><text fill="#2FA4E7" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="84.375" x="523.9583" y="164.9882">Search index</text><path d="M550.5208,110.6771 C550.5208,100.2604 569.2708,100.2604 569.2708,100.2604 C569.2708,100.2604 588.0208,100.2604 588.0208,110.6771 L588.0208,137.7604 C588.0208,148.1771 569.2708,148.1771 569.2708,148.1771 C569.2708,148.1771 550.5208,148.1771 550.5208,137.7604 L550.5208,110.6771 " style="stroke:#2FA4E7;stroke-width:1.5625;fill:none;"/><path d="M550.5208,110.6771 C550.5208,121.0938 569.2708,121.0938 569.2708,121.0938 C569.2708,121.0938 588.0208,121.0938 588.0208,110.6771 " fill="none" style="stroke:#2FA4E7;stroke-width:1.5625;"/><path d="M297.9167,192.9362 L297.9167,248.1445 A4.1667,4.1667 0 0 0 302.0833,252.3112 L515.625,252.3112 A4.1667,4.1667 0 0 0 519.7917,248.1445 L519.7917,199.1862 L509.375,188.7695 L302.0833,188.7695 A4.1667,4.1667 0 0 0 297.9167,192.9362 " style="stroke:#033C73;stroke-width:1.0416666666666667;fill:none;"/><path d="M509.375,188.7695 L509.375,197.1029 A2.0833,2.0833 0 0 0 511.4583,199.1862 L519.7917,199.1862 L509.375,188.7695 " style="stroke:#033C73;stroke-width:1.0416666666666667;fill:none;"/><text fill="#033C73" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="183.3333" x="309.375" y="210.789">The CGI script could use the</text><text fill="#033C73" font-family="monospace" font-size="12.5" lengthAdjust="spacing" textLength="167.7083" x="309.375" y="225.3398">Giblish::RequestManager</text><text fill="#033C73" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="189.5833" x="309.375" y="239.8905">class to do most of the work.</text><polygon fill="#2FA4E7" points="195.3125,300.0651,205.7292,304.2318,195.3125,308.3984,199.4792,304.2318" style="stroke:#2FA4E7;stroke-width:1.0416666666666667;"/><line style="stroke:#2FA4E7;stroke-width:3.125;" x1="34.8958" x2="201.5625" y1="304.2318" y2="304.2318"/><text fill="#343A40" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="8.3333" x="47.3958" y="286.7167">1</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="87.5" x="70.3125" y="279.4413">Search Query</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="76.0417" x="70.3125" y="293.9921">(html POST)</text><polygon fill="#2FA4E7" points="396.3542,354.1667,406.7708,358.3333,396.3542,362.5,400.5208,358.3333" style="stroke:#2FA4E7;stroke-width:1.0416666666666667;"/><line style="stroke:#2FA4E7;stroke-width:3.125;" x1="207.8125" x2="402.6042" y1="358.3333" y2="358.3333"/><text fill="#343A40" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="8.3333" x="220.3125" y="340.8183">2</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="66.6667" x="243.2292" y="333.5429">Invoke CGI</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="36.4583" x="243.2292" y="348.0937">script</text><polygon fill="#2FA4E7" points="556.7708,408.2682,567.1875,412.4349,556.7708,416.6016,560.9375,412.4349" style="stroke:#2FA4E7;stroke-width:1.0416666666666667;"/><line style="stroke:#2FA4E7;stroke-width:3.125;" x1="408.8542" x2="563.0208" y1="412.4349" y2="412.4349"/><text fill="#343A40" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="8.3333" x="421.3542" y="394.9198">3</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="71.875" x="444.2708" y="387.6444">Search the</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="34.375" x="444.2708" y="402.1952">index</text><polygon fill="#2FA4E7" points="219.2708,480.0456,208.8542,484.2122,219.2708,488.3789,215.1042,484.2122" style="stroke:#2FA4E7;stroke-width:1.0416666666666667;"/><line style="stroke:#2FA4E7;stroke-width:3.125;" x1="213.0208" x2="407.8125" y1="484.2122" y2="484.2122"/><text fill="#343A40" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="8.3333" x="230.7292" y="466.6972">4</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="84.375" x="253.6458" y="459.4218">Return serch</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="80.2083" x="253.6458" y="473.9726">result (html)</text><path d="M413.5417,430.1432 L413.5417,499.9349 A4.1667,4.1667 0 0 0 417.7083,504.1016 L645.8333,504.1016 A4.1667,4.1667 0 0 0 650,499.9349 L650,436.3932 L639.5833,425.9766 L417.7083,425.9766 A4.1667,4.1667 0 0 0 413.5417,430.1432 " style="stroke:#033C73;stroke-width:1.0416666666666667;fill:none;"/><path d="M639.5833,425.9766 L639.5833,434.3099 A2.0833,2.0833 0 0 0 641.6667,436.3932 L650,436.3932 L639.5833,425.9766 " style="stroke:#033C73;stroke-width:1.0416666666666667;fill:none;"/><text fill="#033C73" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="188.5417" x="425" y="447.996">Giblish contains help classes</text><text fill="#033C73" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="200" x="425" y="462.5468">that provide most of the heavy</text><text fill="#033C73" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="152.0833" x="425" y="477.0976">lifting for retrieving and</text><text fill="#033C73" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="188.5417" x="425" y="491.6484">formatting the search result.</text><polygon fill="#2FA4E7" points="46.3542,551.8229,35.9375,555.9896,46.3542,560.1563,42.1875,555.9896" style="stroke:#2FA4E7;stroke-width:1.0416666666666667;"/><line style="stroke:#2FA4E7;stroke-width:3.125;" x1="40.1042" x2="206.7708" y1="555.9896" y2="555.9896"/><text fill="#343A40" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="8.3333" x="57.8125" y="538.4745">5</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="93.75" x="80.7292" y="531.1991">return search</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="37.5" x="80.7292" y="545.7499">result</text><!--MD5=[d106587639b2b6f3746ea7123ebb446d]
2
+ @startuml
3
+ !theme cerulean-outline
4
+ ' !theme spacelab
5
+ hide footbox
6
+ autonumber
7
+
8
+ title "Using CGI for search requests"
9
+
10
+ actor Viewer as Vi
11
+
12
+ box "The Document Hosting Server" #EEEEEE
13
+ participant "Web Server" as Webserv
14
+ participant "Search Result\nGenerator\n(CGI)" as Searcher
15
+ note over of Searcher
16
+ The CGI script could use the
17
+ ""Giblish::RequestManager""
18
+ class to do most of the work.
19
+ end note
20
+ database "Search index" as Index
21
+ end box
22
+
23
+ Vi -> Webserv : Search Query\n(html POST)
24
+ Webserv -> Searcher : Invoke CGI\nscript
25
+ Searcher -> Index : Search the\nindex
26
+ Searcher -> Webserv : Return serch\nresult (html)
27
+ note right
28
+ Giblish contains help classes
29
+ that provide most of the heavy
30
+ lifting for retrieving and
31
+ formatting the search result.
32
+ end note
33
+ Webserv -> Vi : return search\nresult
34
+ @enduml
35
+
36
+ @startuml
37
+
38
+
39
+
40
+ skinparam backgroundColor transparent
41
+ skinparam useBetaStyle false
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+ skinparam defaultFontName "Verdana"
50
+ skinparam defaultFontSize 12
51
+ skinparam dpi 100
52
+ skinparam shadowing false
53
+ skinparam roundcorner 8
54
+ skinparam ParticipantPadding 40
55
+ skinparam BoxPadding 40
56
+ skinparam Padding 5
57
+ skinparam ArrowColor #868E96
58
+ skinparam stereotype {
59
+ CBackgroundColor #EDF0F2
60
+ CBorderColor #BABDBF
61
+ ABackgroundColor #8FB961
62
+ ABorderColor $SUCCESS_DARK
63
+ IBackgroundColor #D2494E
64
+ IBorderColor $DANGER_DARK
65
+ EBackgroundColor #E47833
66
+ EBorderColor $WARNING_DARK
67
+ NBackgroundColor #35638F
68
+ NBorderColor $INFO_DARK
69
+ }
70
+ skinparam title {
71
+ FontColor #2FA4E7
72
+ BorderColor #BABDBF
73
+ FontSize 20
74
+ BorderRoundCorner 8
75
+ BorderThickness 1
76
+ BackgroundColor transparent
77
+ }
78
+
79
+ skinparam legend {
80
+ BackgroundColor transparent
81
+ BorderColor #BABDBF
82
+ FontColor #343A40
83
+ }
84
+
85
+ skinparam swimlane {
86
+ BorderColor #033C73
87
+ BorderThickness 2
88
+ TitleBackgroundColor #EDF0F2-#E9ECEF
89
+ TitleFontColor #2FA4E7
90
+ }
91
+
92
+
93
+ skinparam activity {
94
+ FontColor #2FA4E7
95
+ BorderColor #2FA4E7
96
+ BackgroundColor transparent
97
+ BarColor #73A839
98
+ StartColor #033C73
99
+ EndColor #033C73
100
+ DiamondBackgroundColor transparent
101
+ DiamondBorderColor #BABDBF
102
+ DiamondFontColor #BABDBF
103
+ }
104
+
105
+
106
+ skinparam participant {
107
+ FontColor #2FA4E7
108
+ BorderColor #2FA4E7
109
+ BackgroundColor transparent
110
+ ParticipantBorderThickness 2
111
+ }
112
+
113
+
114
+ skinparam actor {
115
+ FontColor #2FA4E7
116
+ BorderColor #2FA4E7
117
+ BackgroundColor transparent
118
+ }
119
+
120
+
121
+ skinparam arrow {
122
+ Thickness 3
123
+ Color #2FA4E7
124
+ FontColor #343A40
125
+ }
126
+
127
+
128
+ skinparam sequence {
129
+ BorderColor #2FA4E7
130
+ TitleFontColor #2FA4E7
131
+ BackgroundColor transparent
132
+ StartColor #2FA4E7
133
+ EndColor #2FA4E7
134
+ BoxBackgroundColor transparent
135
+ BoxBorderColor #868E96
136
+ BoxFontColor #343A40
137
+ LifeLineBorderColor #BABDBF
138
+ LifeLineBorderThickness 2
139
+ LifeLineBackgroundColor transparent
140
+ GroupBorderColor #868E96
141
+ GroupFontColor #343A40
142
+ GroupHeaderFontColor #033C73
143
+ DividerBackgroundColor transparent
144
+ DividerBorderColor #868E96
145
+ DividerBorderThickness 2
146
+ DividerFontColor #343A40
147
+ ReferenceBackgroundColor transparent
148
+ ReferenceBorderColor #868E96
149
+ ReferenceFontColor #343A40
150
+ ReferenceHeaderFontColor #033C73
151
+ }
152
+
153
+
154
+ skinparam partition {
155
+ BorderColor #2FA4E7
156
+ FontColor #2FA4E7
157
+ BackgroundColor transparent
158
+ }
159
+
160
+
161
+ skinparam collections {
162
+ FontColor #2FA4E7
163
+ BorderColor #2FA4E7
164
+ BackgroundColor transparent
165
+ }
166
+
167
+
168
+ skinparam control {
169
+ FontColor #2FA4E7
170
+ BorderColor #2FA4E7
171
+ BackgroundColor transparent
172
+ }
173
+
174
+
175
+ skinparam entity {
176
+ FontColor #2FA4E7
177
+ BorderColor #2FA4E7
178
+ BackgroundColor transparent
179
+ }
180
+
181
+
182
+ skinparam boundary {
183
+ FontColor #2FA4E7
184
+ BorderColor #2FA4E7
185
+ BackgroundColor transparent
186
+ }
187
+
188
+
189
+ skinparam agent {
190
+ BackgroundColor transparent
191
+ BorderColor #999999
192
+ FontColor #333333
193
+ }
194
+
195
+
196
+ skinparam note {
197
+ BorderThickness 1
198
+ BackgroundColor transparent
199
+ BorderColor #033C73
200
+ FontColor #033C73
201
+ }
202
+
203
+
204
+ skinparam artifact {
205
+ BackgroundColor transparent
206
+ BorderColor #868E96
207
+ FontColor #868E96
208
+ }
209
+
210
+
211
+ skinparam component {
212
+ FontColor #2FA4E7
213
+ BorderColor #2FA4E7
214
+ BackgroundColor transparent
215
+ }
216
+
217
+
218
+ skinparam interface {
219
+ BackgroundColor transparent
220
+ BorderColor #C71C22
221
+ FontColor #343A40
222
+ }
223
+
224
+
225
+ skinparam storage {
226
+ BackgroundColor transparent
227
+ BorderColor #DD5600
228
+ FontColor #DD5600
229
+ }
230
+
231
+
232
+ skinparam node {
233
+ BackgroundColor transparent
234
+ BorderColor #343A40
235
+ FontColor #343A40
236
+ }
237
+
238
+
239
+ skinparam cloud {
240
+ BackgroundColor #F2FCFE-#eeeeee
241
+ BorderColor #F2FCFE
242
+ FontColor #343A40
243
+ }
244
+
245
+
246
+ skinparam database {
247
+ FontColor #2FA4E7
248
+ BorderColor #2FA4E7
249
+ BackgroundColor transparent
250
+ }
251
+
252
+
253
+ skinparam class {
254
+ FontColor #2FA4E7
255
+ BorderColor #2FA4E7
256
+ BackgroundColor transparent
257
+ FontColor #F8F9FA
258
+ HeaderBackgroundColor #2FA4E7-#2683B9
259
+ StereotypeFontColor #343A40
260
+ BorderThickness 1
261
+ AttributeFontColor #343A40
262
+ AttributeFontSize 11
263
+ }
264
+
265
+
266
+ skinparam object {
267
+ FontColor #2FA4E7
268
+ BorderColor #2FA4E7
269
+ BackgroundColor transparent
270
+ StereotypeFontColor #343A40
271
+ BorderThickness 1
272
+ AttributeFontColor #BABDBF
273
+ AttributeFontSize 11
274
+ }
275
+
276
+
277
+ skinparam usecase {
278
+ FontColor #2FA4E7
279
+ BorderColor #2FA4E7
280
+ BackgroundColor transparent
281
+ BorderThickness 2
282
+ StereotypeFontColor #2FA4E7
283
+ }
284
+
285
+
286
+ skinparam rectangle {
287
+ FontColor #2FA4E7
288
+ BorderColor #2FA4E7
289
+ BackgroundColor transparent
290
+ BorderThickness 2
291
+ StereotypeFontColor #2FA4E7
292
+ }
293
+
294
+
295
+ skinparam package {
296
+ BackgroundColor transparent
297
+ BorderColor #2FA4E7
298
+ FontColor #2FA4E7
299
+ BorderThickness 2
300
+ }
301
+
302
+
303
+ skinparam folder {
304
+ BackgroundColor transparent
305
+ BorderColor #DD5600
306
+ FontColor #DD5600
307
+ BorderThickness 2
308
+ }
309
+
310
+
311
+ skinparam frame {
312
+ BackgroundColor transparent
313
+ BorderColor #033C73
314
+ FontColor #033C73
315
+ BorderThickness 2
316
+ }
317
+
318
+
319
+ skinparam state {
320
+ FontColor #2FA4E7
321
+ BorderColor #2FA4E7
322
+ BackgroundColor transparent
323
+ StartColor #033C73
324
+ EndColor #033C73
325
+ AttributeFontColor #BABDBF
326
+ AttributeFontSize 11
327
+ }
328
+
329
+
330
+ skinparam queue {
331
+ FontColor #2FA4E7
332
+ BorderColor #2FA4E7
333
+ BackgroundColor transparent
334
+ }
335
+
336
+
337
+ skinparam card {
338
+ BackgroundColor transparent
339
+ BorderColor #033C73
340
+ FontColor #033C73
341
+ }
342
+
343
+
344
+ skinparam file {
345
+ BackgroundColor transparent
346
+ BorderColor #868E96
347
+ FontColor #868E96
348
+ }
349
+
350
+
351
+ skinparam stack {
352
+ FontColor #2FA4E7
353
+ BorderColor #2FA4E7
354
+ BackgroundColor transparent
355
+ }
356
+
357
+
358
+
359
+ hide footbox
360
+ autonumber
361
+
362
+ title "Using CGI for search requests"
363
+
364
+ actor Viewer as Vi
365
+
366
+ box "The Document Hosting Server" #EEEEEE
367
+ participant "Web Server" as Webserv
368
+ participant "Search Result\nGenerator\n(CGI)" as Searcher
369
+ note over of Searcher
370
+ The CGI script could use the
371
+ ""Giblish::RequestManager""
372
+ class to do most of the work.
373
+ end note
374
+ database "Search index" as Index
375
+ end box
376
+
377
+ Vi -> Webserv : Search Query\n(html POST)
378
+ Webserv -> Searcher : Invoke CGI\nscript
379
+ Searcher -> Index : Search the\nindex
380
+ Searcher -> Webserv : Return serch\nresult (html)
381
+ note right
382
+ Giblish contains help classes
383
+ that provide most of the heavy
384
+ lifting for retrieving and
385
+ formatting the search result.
386
+ end note
387
+ Webserv -> Vi : return search\nresult
388
+ @enduml
389
+
390
+ PlantUML version 1.2021.7(Sun May 23 14:40:07 CEST 2021)
391
+ (GPL source distribution)
392
+ Java Runtime: OpenJDK Runtime Environment
393
+ JVM: OpenJDK 64-Bit Server VM
394
+ Default Encoding: UTF-8
395
+ Language: en
396
+ Country: US
397
+ --></g></svg>
@@ -0,0 +1,40 @@
1
+ @startuml
2
+ !theme cerulean-outline
3
+ hide footbox
4
+ autonumber
5
+
6
+ title "Using a Passenger web-app for search requests"
7
+
8
+ actor Viewer as Vi
9
+
10
+ box "Document-hosting Server" #EEEEEE
11
+ participant "Web Server" as Webserv
12
+ participant "Passenger" as Pass
13
+ participant "Search script\n(Web app)" as Searcher
14
+ note over of Searcher
15
+ This could eg be a
16
+ sinatra-based application
17
+ that use the
18
+ ""Giblish::RequestManager""
19
+ class.
20
+ end note
21
+ database "Search index" as Index
22
+ end box
23
+
24
+ Vi -> Webserv : Search Query\n(html POST)
25
+ Webserv -> Pass : hand over\nPOST request
26
+ Pass -> Searcher : hand over\nPOST request
27
+ Searcher -> Index : Search the\nindex
28
+ Searcher -> Pass : Return search\nresult (html)
29
+ note right
30
+ Giblish contains help
31
+ classes fthat provide
32
+ most of the heavy lifting
33
+ for retrieving and formatting
34
+ the search result.
35
+ end note
36
+ Pass -> Webserv : Return search\nresult (html)
37
+ Webserv -> Vi : Return search\nresult (html)
38
+ @enduml
39
+
40
+