From 0e4ec932a30f4c466d854f3bf42b7ddd467694b9 Mon Sep 17 00:00:00 2001 From: Alban Bailly Date: Mon, 4 Dec 2023 16:42:32 -0500 Subject: [PATCH 01/11] Add index file --- docs/index.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 docs/index.md diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000000..308ef4b99a0 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,16 @@ +# Akamai Cloud Manager Documentation + +## Get Started + +To setup cloud manager and get ready for development, process to the [get started docs](GETTING_STARTED.md) + +## Contributing + +If you already have your development environment set up, please read the [contributing guidelines](CONTRIBUTING.md) to get help in creating your first Pull Request. + +To report a bug or request a feature in Cloud Manager, please [open a GitHub Issue](https://github.com/linode/manager/issues/new). For general feedback, use [linode.com/feedback](https://www.linode.com/feedback/). + +## License + +All code located in this repository is distributed under the terms of the [APLv2 +license](LICENSE). \ No newline at end of file From 3adcc203011b41a778d2587ea82f5c3712e275fe Mon Sep 17 00:00:00 2001 From: Alban Bailly Date: Mon, 4 Dec 2023 17:01:53 -0500 Subject: [PATCH 02/11] Include contributing and theme pick --- docs/_config.yml | 2 ++ docs/index.md | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 docs/_config.yml diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 00000000000..a540f7ce6c0 --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,2 @@ +theme: jekyll-theme-minimal +include: contributing.md \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 308ef4b99a0..d4ecc165977 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,7 +2,7 @@ ## Get Started -To setup cloud manager and get ready for development, process to the [get started docs](GETTING_STARTED.md) +To setup cloud manager and get ready for development, process to the [get started docs](GETTING_STARTED.md). ## Contributing From 525f118a6e729e4a93d1349298a1c45a8e3a8614 Mon Sep 17 00:00:00 2001 From: Alban Bailly Date: Mon, 4 Dec 2023 17:06:33 -0500 Subject: [PATCH 03/11] uppercase --- docs/_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_config.yml b/docs/_config.yml index a540f7ce6c0..203ed82f261 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,2 +1,2 @@ theme: jekyll-theme-minimal -include: contributing.md \ No newline at end of file +include: CONTRIBUTING.md \ No newline at end of file From 27422ad4ea84638b748d6e016d1bb0fbe92c92b2 Mon Sep 17 00:00:00 2001 From: Alban Bailly Date: Mon, 4 Dec 2023 17:10:13 -0500 Subject: [PATCH 04/11] include as array --- docs/_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_config.yml b/docs/_config.yml index 203ed82f261..dee7abc0789 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,2 +1,2 @@ theme: jekyll-theme-minimal -include: CONTRIBUTING.md \ No newline at end of file +include: ['CONTRIBUTING.md'] From d62010ada01ae973191523706b12524ac106f50b Mon Sep 17 00:00:00 2001 From: Alban Bailly Date: Tue, 5 Dec 2023 13:10:38 -0500 Subject: [PATCH 05/11] Basic theming --- docs/.gitignore | 3 + docs/CONTRIBUTING.md | 4 + docs/GETTING_STARTED.md | 4 + docs/Gemfile | 6 + docs/Gemfile.lock | 279 ++++++++++++++++++ docs/_config.yml | 5 +- docs/_includes/nav_footer_custom.html | 3 + docs/_sass/color_schemes/akamai.scss | 10 + docs/assets/images/akamai-logo.png | Bin 0 -> 37095 bytes docs/assets/images/favicon.ico | Bin 0 -> 16958 bytes .../01-repository-structure.md | 4 + .../02-component-structure.md | 4 + docs/development-guide/03-component-state.md | 4 + .../development-guide/04-component-library.md | 4 + docs/development-guide/05-fetching-data.md | 4 + docs/development-guide/06-performance.md | 4 + docs/development-guide/07-accessibility.md | 4 + docs/development-guide/08-testing.md | 4 + docs/development-guide/09-mocking-data.md | 4 + docs/development-guide/10-local-dev-tools.md | 4 + docs/development-guide/11-feature-flags.md | 4 + .../12-managing-dependencies.md | 4 + docs/development-guide/13-coding-standards.md | 4 + .../14-configuring-environments.md | 4 + docs/development-guide/index.md | 12 + docs/index.md | 9 +- 26 files changed, 387 insertions(+), 4 deletions(-) create mode 100644 docs/.gitignore create mode 100644 docs/Gemfile create mode 100644 docs/Gemfile.lock create mode 100644 docs/_includes/nav_footer_custom.html create mode 100644 docs/_sass/color_schemes/akamai.scss create mode 100644 docs/assets/images/akamai-logo.png create mode 100644 docs/assets/images/favicon.ico create mode 100644 docs/development-guide/index.md diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000000..e1d719e1b06 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,3 @@ +.jekyll-cache +.sass-cache +_site diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 92f1030604a..ddc8bdb1d7e 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -1,3 +1,7 @@ +--- +nav_order: 3 +--- + # Contributing Thanks for your interest in contributing to the Linode Cloud Manager! diff --git a/docs/GETTING_STARTED.md b/docs/GETTING_STARTED.md index 0b09c94ba73..91bc5d78573 100644 --- a/docs/GETTING_STARTED.md +++ b/docs/GETTING_STARTED.md @@ -1,3 +1,7 @@ +--- +nav_order: 2 +--- + # Getting Started ## Using the getting_started.sh script diff --git a/docs/Gemfile b/docs/Gemfile new file mode 100644 index 00000000000..e0f799a89e2 --- /dev/null +++ b/docs/Gemfile @@ -0,0 +1,6 @@ +source 'https://rubygems.org' + +gem 'github-pages', group: :jekyll_plugins +gem "just-the-docs" + +gem "webrick", "~> 1.7" \ No newline at end of file diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock new file mode 100644 index 00000000000..978c8d6aefc --- /dev/null +++ b/docs/Gemfile.lock @@ -0,0 +1,279 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (7.1.2) + base64 + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + minitest (>= 5.1) + mutex_m + tzinfo (~> 2.0) + addressable (2.8.5) + public_suffix (>= 2.0.2, < 6.0) + base64 (0.2.0) + bigdecimal (3.1.4) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.11.1) + colorator (1.1.0) + commonmarker (0.23.10) + concurrent-ruby (1.2.2) + connection_pool (2.4.1) + dnsruby (1.70.0) + simpleidn (~> 0.2.1) + drb (2.2.0) + ruby2_keywords + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + ethon (0.16.0) + ffi (>= 1.15.0) + eventmachine (1.2.7) + execjs (2.9.1) + faraday (2.7.12) + base64 + faraday-net_http (>= 2.0, < 3.1) + ruby2_keywords (>= 0.0.4) + faraday-net_http (3.0.2) + ffi (1.16.3) + forwardable-extended (2.6.0) + gemoji (3.0.1) + github-pages (228) + github-pages-health-check (= 1.17.9) + jekyll (= 3.9.3) + jekyll-avatar (= 0.7.0) + jekyll-coffeescript (= 1.1.1) + jekyll-commonmark-ghpages (= 0.4.0) + jekyll-default-layout (= 0.1.4) + jekyll-feed (= 0.15.1) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.13.0) + jekyll-include-cache (= 0.2.1) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.3) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.8.0) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) + jekyll-theme-architect (= 0.2.0) + jekyll-theme-cayman (= 0.2.0) + jekyll-theme-dinky (= 0.2.0) + jekyll-theme-hacker (= 0.2.0) + jekyll-theme-leap-day (= 0.2.0) + jekyll-theme-merlot (= 0.2.0) + jekyll-theme-midnight (= 0.2.0) + jekyll-theme-minimal (= 0.2.0) + jekyll-theme-modernist (= 0.2.0) + jekyll-theme-primer (= 0.6.0) + jekyll-theme-slate (= 0.2.0) + jekyll-theme-tactile (= 0.2.0) + jekyll-theme-time-machine (= 0.2.0) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.12.0) + kramdown (= 2.3.2) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.4) + mercenary (~> 0.3) + minima (= 2.5.1) + nokogiri (>= 1.13.6, < 2.0) + rouge (= 3.26.0) + terminal-table (~> 1.4) + github-pages-health-check (1.17.9) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (~> 4.0) + public_suffix (>= 3.0, < 5.0) + typhoeus (~> 1.3) + html-pipeline (2.14.3) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.8.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + jekyll (3.9.3) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (>= 0.7, < 2) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (>= 1.17, < 3) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-avatar (0.7.0) + jekyll (>= 3.0, < 5.0) + jekyll-coffeescript (1.1.1) + coffee-script (~> 2.2) + coffee-script-source (~> 1.11.1) + jekyll-commonmark (1.4.0) + commonmarker (~> 0.22) + jekyll-commonmark-ghpages (0.4.0) + commonmarker (~> 0.23.7) + jekyll (~> 3.9.0) + jekyll-commonmark (~> 1.4.0) + rouge (>= 2.0, < 5.0) + jekyll-default-layout (0.1.4) + jekyll (~> 3.0) + jekyll-feed (0.15.1) + jekyll (>= 3.7, < 5.0) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.13.0) + jekyll (>= 3.4, < 5.0) + octokit (~> 4.0, != 4.4.0) + jekyll-include-cache (0.2.1) + jekyll (>= 3.7, < 5.0) + jekyll-mentions (1.6.0) + html-pipeline (~> 2.3) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.3) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) + jekyll-theme-architect (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.6.0) + jekyll (> 3.5, < 5.0) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.12.0) + gemoji (~> 3.0) + html-pipeline (~> 2.2) + jekyll (>= 3.0, < 5.0) + just-the-docs (0.7.0) + jekyll (>= 3.8.5) + jekyll-include-cache + jekyll-seo-tag (>= 2.0) + rake (>= 12.3.1) + kramdown (2.3.2) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.8.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.3.6) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.20.0) + mutex_m (0.2.0) + nokogiri (1.15.5-arm64-darwin) + racc (~> 1.4) + octokit (4.25.1) + faraday (>= 1, < 3) + sawyer (~> 0.9) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (4.0.7) + racc (1.7.3) + rake (13.1.0) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.6) + rouge (3.26.0) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.9.2) + addressable (>= 2.3.5) + faraday (>= 0.17.3, < 3) + simpleidn (0.2.1) + unf (~> 0.1.4) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + typhoeus (1.4.1) + ethon (>= 0.9.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.9.1) + unicode-display_width (1.8.0) + webrick (1.8.1) + +PLATFORMS + arm64-darwin-22 + +DEPENDENCIES + github-pages + just-the-docs + webrick (~> 1.7) + +BUNDLED WITH + 2.3.26 diff --git a/docs/_config.yml b/docs/_config.yml index dee7abc0789..42399082380 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,2 +1,5 @@ -theme: jekyll-theme-minimal include: ['CONTRIBUTING.md'] +theme: just-the-docs +color_scheme: akamai +favicon_ico: '/assets/images/favicon.ico' +logo: '/assets/images/akamai-logo.png' diff --git a/docs/_includes/nav_footer_custom.html b/docs/_includes/nav_footer_custom.html new file mode 100644 index 00000000000..4fa81531941 --- /dev/null +++ b/docs/_includes/nav_footer_custom.html @@ -0,0 +1,3 @@ +
+ Copyright Akamai Technologies, Inc. ©{{ site.time | date: "%Y"}} +
\ No newline at end of file diff --git a/docs/_sass/color_schemes/akamai.scss b/docs/_sass/color_schemes/akamai.scss new file mode 100644 index 00000000000..d009fd53a31 --- /dev/null +++ b/docs/_sass/color_schemes/akamai.scss @@ -0,0 +1,10 @@ +// For overrides, see https://github.com/just-the-docs/just-the-docs/blob/main/_sass/support/_variables.scss + + +$link-color: rgb(37, 117, 208); + +.nav-list li a { + line-height: 1.3 !important; + padding-bottom: 0.5rem !important; + padding-top: 0.5rem !important; +} \ No newline at end of file diff --git a/docs/assets/images/akamai-logo.png b/docs/assets/images/akamai-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c418ee4a73bdfb283674c7016f8bc06e704ed895 GIT binary patch literal 37095 zcmZsD1yojDur?tjAt~J@-5}lF-6ai@FWn8&NOyO4w{%N4(%m8bzkFWf-u18bB1h!x zGkfBhXJ*gwi=2!o{9CNIARr*{;$lJyARyq5ARwTO(2&5N)ISKU0>6O*6hs9;%Exf_ zfqxM)QWH0pmIk2&UPFU`2AP4pdHogO7Z&gfczY%&2srRN=x?`u%T z*I#ti-Bbku;R6vD;#YD8JxYU0)mE;1nd5LW{tli6As}EZ5KY;O>RXr@?5&^_HXSAI z)A6KU1si;PH(ij;^_2oK1X&Ih5fM#}14aTRZ(9bL4_QLM)p#fU>E)QSX)u

Gld> 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 literal 0 HcmV?d00001 diff --git a/docs/assets/images/favicon.ico b/docs/assets/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f2c712fdba4fd4e394f91f7eb8e80de2be06d3cd GIT binary patch literal 16958 zcmdskMS<;87oGE%yi%cz2Fj>~r`cMXvy^uH`G&2;; zGDE|n5Gp7VlL&j6QhFgl3(Sm&%`Kx+nzCr9X>Y%0=AO&(diUNl)83=kmH$5Hp7Xr@ z&pC7Mxo7U`I2ryG3J$-|cg9@nIA=SKGX_xQ6oJ&&erOv!ppJUQiTS;MgEJ6}2a~|< z;4ZKfbe@=ul8p+lAz(Im2J8YyfE$9H$!22DJKS2qo#2BIo;vsMXkQL4wU=FTk>DX? zy%rn=I?rJFW7?-Cmx*1^a2WtrgDMDe)vx!_KFMx&$wq_EEbvzh?|*1tm~19?y~C$J z*dD`M#$MLEVRo}iHX3{;fWtta+hOHZ$!22TJDhJb;4OVI$9{InMugJ>L+&>vn~8nz z@SbPLeTx0;l8p%OX@=ZS#W_C??s4~Z`Mj@4b`9G0Zw@X?lK2X)#uhv4EVoicU0^|gSY8@zF;RKyHVhOz+miOx0{unXz;$n zfV+I|Pq}@L^f0_WG~mD6&S=<;0&h8&)bH!Pl^5I1%uY18KWxZ&?sDR$)ysCdf=ZC(W`=xsSOa8LYp9&PmC^>cQQ!eX z{-YIt&rbSky{b#2B>x-1W)L;*(sl^6DUOuYK5@0GOQZC7yn~G6zeneX{wB{R)zAKL zcogjQxJ32AjsXANp3PdlK5b<<$Qu5w0sk$E8@lqH&(EICR#l%y35O@aL61w+_`jg| zp*sS|_d25gg{n`ZB>!gkkM+0_7jYzb(Y(q zoKMJmH-CdcQF+iF_r8{J^v^#iUjr0xUCxb)W223{WUepM@{4`P4Bdv#ztBGobZaqG zAN)q$xi)wPV-R-`koPIeK;?6NP%rEn{f5s!v3W|1qvDA??o5cf#b8NT?Eh1T&n&nB zYynlE=P|hv-`JJ{_PQ@s_Rqi3ofx6NPLGY=6+q^O_}Kt12dC>gre*9#gH9lv4+E8( zlJaae-qfGc!^ZUckDE1{H$vj8JeDdwCDDCO)0bz5_kp}0y9CSuw}R_{jOh%}0pznO zI&XtRK=}`oFVo&szedbuxH9_dJv+rU zOv?N_Px+#}!oWuS$eKMLWRz`RO8kxm^0`nsuW80V_IorR%2!YZ&qZG{uu(o_Uatig zH=F11O9a1s(j3xM*md<8)d8HL2Nbx;UIhKkzgQb z0kYQ=*#_j^A$d&(cY|laUZDKw@<-}JpLtC9iw^eFdhxBtk#dLblj{wJc0oVt`d{pi z0O^vF1_XWW| z7=!Is7W-jiSpI!c2M5#l-#dfxuG+v5Mu%ed*%qv)8oDu#jZbC1cGO0 zLEA>IW$l|4?C&J6iPs9Yg19_)p%c3PQZIi4xen|Daenl6Srp;J%K3viXDK89?^#1uzqIfW<)8wthDAbzQfT;}<{0x~w|wwac+;k~ZO53oo|%$8PQKRO;~*>T zz4ABO!59aggUA6~#{J6yt zPR=d2yT#hqH0^GwcHEJ7yRt?6EOX15691zEp`5b#!{I{?7B1uB)cUlT>yniGaZ}@{ N#?>v>8Mzga{{fCcRWkqp literal 0 HcmV?d00001 diff --git a/docs/development-guide/01-repository-structure.md b/docs/development-guide/01-repository-structure.md index fee00a5cc03..0cdabf28c6e 100644 --- a/docs/development-guide/01-repository-structure.md +++ b/docs/development-guide/01-repository-structure.md @@ -1,3 +1,7 @@ +--- +parent: Development Guide +--- + # Repository Structure The linode/manager repository is a monorepo that houses three packages: diff --git a/docs/development-guide/02-component-structure.md b/docs/development-guide/02-component-structure.md index 55a0f57b14e..d3247c8179b 100644 --- a/docs/development-guide/02-component-structure.md +++ b/docs/development-guide/02-component-structure.md @@ -1,3 +1,7 @@ +--- +parent: Development Guide +--- + # Component Structure Components are the basic building blocks of the Cloud Manager UI. Many components are atomic and reusable, appearing in many places across the app (e.g. `