giblish 0.8.2 → 2.0.0.pre.alpha1

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 (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 +54 -32
  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 +188 -85
  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
+