diff --git a/config.yaml b/config.yaml index 52770e0d19..1f29a53d54 100644 --- a/config.yaml +++ b/config.yaml @@ -35,6 +35,7 @@ taxonomies: industry: 'industries' rh_product: 'rh_products' partners: 'partners' + focus_area: 'focus_areas' blog_tag: 'blog_tags' mediaTypes: diff --git a/content/patterns/_index.md b/content/patterns/_index.md index 26571f3ef8..8a44047087 100644 --- a/content/patterns/_index.md +++ b/content/patterns/_index.md @@ -9,4 +9,4 @@ outputs: - json --- -Browse through available patterns and their respective documentation for deployment and operation. Filter patterns by type, industry, and product. +Browse through available patterns and their respective documentation for deployment and operation. Filter patterns by tier, focus area, industry, and product. diff --git a/content/patterns/amd-rag-chat-qna/_index.adoc b/content/patterns/amd-rag-chat-qna/_index.adoc index a091e5724b..72abb3ee6b 100644 --- a/content/patterns/amd-rag-chat-qna/_index.adoc +++ b/content/patterns/amd-rag-chat-qna/_index.adoc @@ -14,6 +14,10 @@ partners: - AMD industries: - General +focus_areas: +- AI +- Data +- Observability aliases: /amd-rag-chat-qna/ #pattern_logo: amd-rag-chat-qna.png links: diff --git a/content/patterns/ansible-edge-gitops-kasten/_index.md b/content/patterns/ansible-edge-gitops-kasten/_index.md index d6b4691881..c5545cf664 100644 --- a/content/patterns/ansible-edge-gitops-kasten/_index.md +++ b/content/patterns/ansible-edge-gitops-kasten/_index.md @@ -13,6 +13,10 @@ partners: - Veeam Kasten industries: - Chemical +focus_areas: +- Edge +- Virtualization +- Resilience aliases: /ansible-edge-gitops-kasten/ pattern_logo: veeam-kasten.png links: diff --git a/content/patterns/ansible-edge-gitops/_index.adoc b/content/patterns/ansible-edge-gitops/_index.adoc index 32036fd5c4..147aa1438e 100644 --- a/content/patterns/ansible-edge-gitops/_index.adoc +++ b/content/patterns/ansible-edge-gitops/_index.adoc @@ -11,6 +11,10 @@ rh_products: - Red Hat OpenShift Data Foundation industries: - Chemical +focus_areas: +- Edge +- Virtualization +- DevSecOps aliases: /ansible-edge-gitops/ pattern_logo: ansible-edge.png links: diff --git a/content/patterns/ansible-gitops-framework/_index.md b/content/patterns/ansible-gitops-framework/_index.md index 72ebc69b77..b32d5225ff 100644 --- a/content/patterns/ansible-gitops-framework/_index.md +++ b/content/patterns/ansible-gitops-framework/_index.md @@ -7,6 +7,9 @@ rh_products: - Red Hat Ansible Automation Platform - Red Hat Enterprise Linux industries: +focus_areas: +- DevSecOps +- Security aliases: /agof/ pattern_logo: ansible-edge.png links: diff --git a/content/patterns/azure-rag-llm-gitops/_index.adoc b/content/patterns/azure-rag-llm-gitops/_index.adoc index 6caea9b05b..8a4cfd0cb8 100644 --- a/content/patterns/azure-rag-llm-gitops/_index.adoc +++ b/content/patterns/azure-rag-llm-gitops/_index.adoc @@ -11,6 +11,10 @@ partners: - Microsoft industries: - General +focus_areas: +- AI +- Data +- DevSecOps aliases: /azure-rag-llm-gitops/ #pattern_logo: links: diff --git a/content/patterns/cockroachdb/_index.md b/content/patterns/cockroachdb/_index.md index 2553cc7aef..8e555dd5fe 100644 --- a/content/patterns/cockroachdb/_index.md +++ b/content/patterns/cockroachdb/_index.md @@ -11,6 +11,9 @@ links: install: https://github.com/validatedpatterns/cockroachdb-pattern?tab=readme-ov-file#how-to-deploy bugs: https://github.com/validatedpatterns/cockroachdb-pattern/issues feedback: https://docs.google.com/forms/d/e/1FAIpQLScI76b6tD1WyPu2-d_9CCVDr3Fu5jYERthqLKJDUGwqBg7Vcg/viewform +focus_areas: +- Data +- Resilience --- # Cockroach diff --git a/content/patterns/coco-pattern/_index.adoc b/content/patterns/coco-pattern/_index.adoc index 6e6f4cf283..2cd5df5b62 100644 --- a/content/patterns/coco-pattern/_index.adoc +++ b/content/patterns/coco-pattern/_index.adoc @@ -10,6 +10,9 @@ rh_products: - Red Hat Build of Trustee industries: - General +focus_areas: +- Security +- Virtualization aliases: /coco-pattern/ pattern_logo: coco-logo.png links: diff --git a/content/patterns/connected-vehicle-architecture/_index.md b/content/patterns/connected-vehicle-architecture/_index.md index daf5fbc3dc..ddd6632caa 100644 --- a/content/patterns/connected-vehicle-architecture/_index.md +++ b/content/patterns/connected-vehicle-architecture/_index.md @@ -11,6 +11,10 @@ links: install: https://github.com/validatedpatterns/connected-vehicle-architecture?tab=readme-ov-file#bobby-car bugs: https://github.com/validatedpatterns/connected-vehicle-architecture/issues feedback: https://docs.google.com/forms/d/e/1FAIpQLScI76b6tD1WyPu2-d_9CCVDr3Fu5jYERthqLKJDUGwqBg7Vcg/viewform +focus_areas: +- Edge +- Data +- Observability --- # Connected Vehicle Architecture diff --git a/content/patterns/devsecops/_index.md b/content/patterns/devsecops/_index.md index b9bebf138e..72a214f74e 100644 --- a/content/patterns/devsecops/_index.md +++ b/content/patterns/devsecops/_index.md @@ -11,6 +11,10 @@ rh_products: - Red Hat Advanced Cluster Security industries: - General +focus_areas: +- DevSecOps +- Security +- Observability aliases: /devsecops/ # uncomment once this exists # pattern_logo: devsecops.png diff --git a/content/patterns/emerging-disease-detection/_index.adoc b/content/patterns/emerging-disease-detection/_index.adoc index c5db9e12e8..97fc2fe9b0 100644 --- a/content/patterns/emerging-disease-detection/_index.adoc +++ b/content/patterns/emerging-disease-detection/_index.adoc @@ -10,6 +10,10 @@ rh_products: - Red Hat AMQ Streams industries: - medical +focus_areas: +- AI +- Data +- Observability aliases: /emerging-disease-detection/ // pattern_logo: emerging-disease-detection.png links: diff --git a/content/patterns/federated-edge-observability/_index.adoc b/content/patterns/federated-edge-observability/_index.adoc index 687a298d83..fe9cc0f341 100644 --- a/content/patterns/federated-edge-observability/_index.adoc +++ b/content/patterns/federated-edge-observability/_index.adoc @@ -11,6 +11,10 @@ rh_products: - Red Hat Enterprise Linux - Red Hat OpenShift Data Foundation industries: +focus_areas: +- Edge +- Observability +- Virtualization aliases: /federated-edge-observability links: github: https://github.com/validatedpatterns-sandbox/federated-edge-observability diff --git a/content/patterns/gaudi-rag-chat-qna/_index.adoc b/content/patterns/gaudi-rag-chat-qna/_index.adoc index 2a9781aefe..9f12019045 100644 --- a/content/patterns/gaudi-rag-chat-qna/_index.adoc +++ b/content/patterns/gaudi-rag-chat-qna/_index.adoc @@ -14,6 +14,9 @@ partners: - Intel industries: - General +focus_areas: +- AI +- Data aliases: /gaudi-rag-chat-qna/ #pattern_logo: gaudi-rag-chat-qna.png links: diff --git a/content/patterns/gpfs-tester/_index.adoc b/content/patterns/gpfs-tester/_index.adoc index f570083287..b3cb32f148 100644 --- a/content/patterns/gpfs-tester/_index.adoc +++ b/content/patterns/gpfs-tester/_index.adoc @@ -7,6 +7,9 @@ rh_products: - Red Hat OpenShift Container Platform industries: - storage services +focus_areas: +- Data +- Resilience aliases: /gpfs-tester/ pattern_logo: mlops-fraud-detection.png links: diff --git a/content/patterns/hypershift/_index.adoc b/content/patterns/hypershift/_index.adoc index 4a5f862ba6..0e98437f86 100644 --- a/content/patterns/hypershift/_index.adoc +++ b/content/patterns/hypershift/_index.adoc @@ -10,6 +10,9 @@ partners: - AWS Controller for Kubernetes industries: - Infrastructure +focus_areas: +- Edge +- Resilience aliases: /hypershift/ pattern_logo: medical-diagnosis.png links: diff --git a/content/patterns/industrial-edge/_index.md b/content/patterns/industrial-edge/_index.md index 4c01014cb6..e1612a874e 100644 --- a/content/patterns/industrial-edge/_index.md +++ b/content/patterns/industrial-edge/_index.md @@ -12,6 +12,10 @@ rh_products: industries: - Industrial - Manufacturing +focus_areas: +- Edge +- Observability +- Security aliases: /industrial-edge/ pattern_logo: industrial-edge.png links: diff --git a/content/patterns/ingress-mesh-bgp/_index.adoc b/content/patterns/ingress-mesh-bgp/_index.adoc index 40034de41f..9376fea471 100644 --- a/content/patterns/ingress-mesh-bgp/_index.adoc +++ b/content/patterns/ingress-mesh-bgp/_index.adoc @@ -10,6 +10,10 @@ rh_products: industries: - General - Telecommunications +focus_areas: +- Edge +- Observability +- Resilience aliases: /ingress-mesh-bgp/ # pattern_logo: ingress-mesh-bgp.png # TODO: Create pattern logo links: diff --git a/content/patterns/kong-gateway/_index.md b/content/patterns/kong-gateway/_index.md index 096ff2e98f..cb19493e7f 100644 --- a/content/patterns/kong-gateway/_index.md +++ b/content/patterns/kong-gateway/_index.md @@ -10,6 +10,9 @@ links: install: https://github.com/validatedpatterns/kong-gateway?tab=readme-ov-file#start-here bugs: https://github.com/validatedpatterns-sandbox/kong-gateway/issues feedback: https://docs.google.com/forms/d/e/1FAIpQLScI76b6tD1WyPu2-d_9CCVDr3Fu5jYERthqLKJDUGwqBg7Vcg/viewform +focus_areas: +- Security +- Observability --- # About the Kong pattern diff --git a/content/patterns/layered-zero-trust/_index.adoc b/content/patterns/layered-zero-trust/_index.adoc index d0cfb5889c..0a284bfd01 100644 --- a/content/patterns/layered-zero-trust/_index.adoc +++ b/content/patterns/layered-zero-trust/_index.adoc @@ -6,6 +6,9 @@ summary: Layered Zero Trust demonstrates how to operationalize Zero Trust securi rh_products: - Red Hat OpenShift Container Platform industries: +focus_areas: +- Security +- DevSecOps aliases: /layered-zero-trust/ links: github: https://github.com/validatedpatterns/layered-zero-trust/ diff --git a/content/patterns/medical-diagnosis-amx/_index.adoc b/content/patterns/medical-diagnosis-amx/_index.adoc index def179ffe8..3ad13756fc 100644 --- a/content/patterns/medical-diagnosis-amx/_index.adoc +++ b/content/patterns/medical-diagnosis-amx/_index.adoc @@ -12,6 +12,9 @@ partners: - Intel industries: - medical +focus_areas: +- AI +- Data aliases: /medical-diagnosis-amx/ variant_of: medical-diagnosis pattern_logo: medical-diagnosis.png diff --git a/content/patterns/medical-diagnosis/_index.adoc b/content/patterns/medical-diagnosis/_index.adoc index e1c51ee01b..ef20aab824 100644 --- a/content/patterns/medical-diagnosis/_index.adoc +++ b/content/patterns/medical-diagnosis/_index.adoc @@ -11,6 +11,9 @@ partners: - IBM Fusion industries: - medical +focus_areas: +- AI +- Data aliases: /medical-diagnosis/ pattern_logo: medical-diagnosis.png links: diff --git a/content/patterns/mlops-fraud-detection/_index.adoc b/content/patterns/mlops-fraud-detection/_index.adoc index c6e6f895a0..44d34a79f6 100644 --- a/content/patterns/mlops-fraud-detection/_index.adoc +++ b/content/patterns/mlops-fraud-detection/_index.adoc @@ -10,6 +10,10 @@ partners: - IBM Fusion industries: - financial services +focus_areas: +- AI +- Data +- Observability aliases: /mlops-fraud-detection/ pattern_logo: mlops-fraud-detection.png links: diff --git a/content/patterns/multicloud-gitops-Portworx/_index.md b/content/patterns/multicloud-gitops-Portworx/_index.md index 233ea4384e..0b718d4825 100644 --- a/content/patterns/multicloud-gitops-Portworx/_index.md +++ b/content/patterns/multicloud-gitops-Portworx/_index.md @@ -7,9 +7,13 @@ rh_products: - Red Hat OpenShift Container Platform - Red Hat Advanced Cluster Management partners: -- Portworx Enterprise +- Portworx industries: - General +focus_areas: +- DevSecOps +- Resilience +- Data aliases: /multicloud-gitops-Portworx/ variant_of: multicloud-gitops pattern_logo: multicloud-gitops-Portworx.png diff --git a/content/patterns/multicloud-gitops-amx-rhoai/_index.adoc b/content/patterns/multicloud-gitops-amx-rhoai/_index.adoc index bb3f501222..548cc5a70e 100644 --- a/content/patterns/multicloud-gitops-amx-rhoai/_index.adoc +++ b/content/patterns/multicloud-gitops-amx-rhoai/_index.adoc @@ -12,6 +12,10 @@ partners: - Intel industries: - General +focus_areas: +- AI +- DevSecOps +- Data aliases: /multicloud-gitops-amx-rhoai/ variant_of: multicloud-gitops # uncomment once this exists diff --git a/content/patterns/multicloud-gitops-amx/_index.adoc b/content/patterns/multicloud-gitops-amx/_index.adoc index 606ff7a5d7..5036b9f9d3 100644 --- a/content/patterns/multicloud-gitops-amx/_index.adoc +++ b/content/patterns/multicloud-gitops-amx/_index.adoc @@ -11,6 +11,10 @@ partners: - Intel industries: - General +focus_areas: +- AI +- DevSecOps +- Data aliases: /multicloud-gitops-amx/ variant_of: multicloud-gitops # uncomment once this exists diff --git a/content/patterns/multicloud-gitops-qat/_index.adoc b/content/patterns/multicloud-gitops-qat/_index.adoc index d6659a1af3..9d3b88cbc7 100644 --- a/content/patterns/multicloud-gitops-qat/_index.adoc +++ b/content/patterns/multicloud-gitops-qat/_index.adoc @@ -11,6 +11,9 @@ partners: - Intel industries: - General +focus_areas: +- Security +- DevSecOps aliases: /multicloud-gitops-qat/ variant_of: multicloud-gitops # uncomment once this exists diff --git a/content/patterns/multicloud-gitops-sgx-hello-world/_index.adoc b/content/patterns/multicloud-gitops-sgx-hello-world/_index.adoc index 1539f9048b..888deafe92 100644 --- a/content/patterns/multicloud-gitops-sgx-hello-world/_index.adoc +++ b/content/patterns/multicloud-gitops-sgx-hello-world/_index.adoc @@ -11,6 +11,9 @@ partners: - Intel industries: - General +focus_areas: +- Security +- DevSecOps aliases: /multicloud-gitops-sgx-hello-world/ variant_of: multicloud-gitops # uncomment once this exists diff --git a/content/patterns/multicloud-gitops-sgx/_index.adoc b/content/patterns/multicloud-gitops-sgx/_index.adoc index c531e40404..23660db338 100644 --- a/content/patterns/multicloud-gitops-sgx/_index.adoc +++ b/content/patterns/multicloud-gitops-sgx/_index.adoc @@ -11,6 +11,9 @@ partners: - Intel industries: - General +focus_areas: +- Security +- DevSecOps aliases: /multicloud-gitops-sgx/ variant_of: multicloud-gitops # uncomment once this exists diff --git a/content/patterns/multicloud-gitops/_index.adoc b/content/patterns/multicloud-gitops/_index.adoc index 89b9aa53d5..6e5e7079b1 100644 --- a/content/patterns/multicloud-gitops/_index.adoc +++ b/content/patterns/multicloud-gitops/_index.adoc @@ -8,6 +8,10 @@ rh_products: - Red Hat Advanced Cluster Management industries: - General +focus_areas: +- DevSecOps +- Resilience +- Security aliases: /multicloud-gitops/ pattern_logo: multicloud-gitops.png links: diff --git a/content/patterns/netapp-dr-starter-kit/_index.adoc b/content/patterns/netapp-dr-starter-kit/_index.adoc index 9266fb6427..38bb7aa4f8 100644 --- a/content/patterns/netapp-dr-starter-kit/_index.adoc +++ b/content/patterns/netapp-dr-starter-kit/_index.adoc @@ -11,6 +11,9 @@ rh_products: - Red Hat OpenShift Virtualization industries: - General +focus_areas: +- Resilience +- Data aliases: /netapp-dr-starter-kit/ links: github: https://github.com/validatedpatterns-sandbox/netapp-dr-starter-kit diff --git a/content/patterns/omnicloud/_index.md b/content/patterns/omnicloud/_index.md index 1367a09309..f4ddac9796 100644 --- a/content/patterns/omnicloud/_index.md +++ b/content/patterns/omnicloud/_index.md @@ -9,6 +9,10 @@ rh_products: - Red Hat Quay industries: - General +focus_areas: + - DevSecOps + - Resilience + - Data aliases: /omnicloud/ # uncomment once this exists # pattern_logo: devsecops.png diff --git a/content/patterns/openshift-ai/_index.adoc b/content/patterns/openshift-ai/_index.adoc index 666cb03b70..60c7c367df 100644 --- a/content/patterns/openshift-ai/_index.adoc +++ b/content/patterns/openshift-ai/_index.adoc @@ -9,6 +9,9 @@ rh_products: - Red Hat Pipelines industries: - General +focus_areas: +- AI +- Data aliases: /rhoai/ links: github: https://github.com/validatedpatterns-sandbox/openshift-ai diff --git a/content/patterns/portworx-dr/_index.adoc b/content/patterns/portworx-dr/_index.adoc index 0fc47c3af2..266948fd95 100644 --- a/content/patterns/portworx-dr/_index.adoc +++ b/content/patterns/portworx-dr/_index.adoc @@ -12,8 +12,11 @@ rh_products: - Red Hat OpenShift Data Foundation DR Hub Operator - Red Hat Advanced Cluster Management partners: -- Portworx by Everpure +- Portworx industries: [] +focus_areas: +- Resilience +- Data aliases: /portworx-dr/ pattern_logo: ansible-edge.png links: diff --git a/content/patterns/rag-llm-cpu/_index.md b/content/patterns/rag-llm-cpu/_index.md index cdbed326dd..c82eae1e92 100644 --- a/content/patterns/rag-llm-cpu/_index.md +++ b/content/patterns/rag-llm-cpu/_index.md @@ -12,6 +12,9 @@ partners: - IBM Fusion industries: - General +focus_areas: + - AI + - Data aliases: /rag-llm-cpu/ links: github: https://github.com/validatedpatterns-sandbox/rag-llm-cpu diff --git a/content/patterns/rag-llm-gitops/_index.md b/content/patterns/rag-llm-gitops/_index.md index 51c5717473..fd0e622970 100644 --- a/content/patterns/rag-llm-gitops/_index.md +++ b/content/patterns/rag-llm-gitops/_index.md @@ -12,6 +12,10 @@ partners: - Elastic industries: - General +focus_areas: + - AI + - Data + - DevSecOps aliases: /ai/ # uncomment once this exists # pattern_logo: retail.png diff --git a/content/patterns/ramendr-starter-kit/_index.adoc b/content/patterns/ramendr-starter-kit/_index.adoc index ce79aead1e..2cc09257a7 100644 --- a/content/patterns/ramendr-starter-kit/_index.adoc +++ b/content/patterns/ramendr-starter-kit/_index.adoc @@ -12,6 +12,10 @@ rh_products: - Red Hat OpenShift Data Foundation DR Hub Operator - Red Hat Advanced Cluster Management industries: [] +focus_areas: +- Resilience +- Data +- Virtualization aliases: /ramendr-starter-kit/ pattern_logo: ansible-edge.png links: diff --git a/content/patterns/regional-dr/_index.md b/content/patterns/regional-dr/_index.md index 30b3778424..8c6c7657a5 100644 --- a/content/patterns/regional-dr/_index.md +++ b/content/patterns/regional-dr/_index.md @@ -6,6 +6,9 @@ summary: This variant of the Validated Patterns framework deploys a Regional Dis rh_products: - Red Hat OpenShift Container Platform industries: +focus_areas: +- Resilience +- Data pattern_logo: regional-dr.png links: github: https://github.com/validatedpatterns/regional-resiliency-pattern diff --git a/content/patterns/retail/_index.adoc b/content/patterns/retail/_index.adoc index 7168507025..b41254d58b 100644 --- a/content/patterns/retail/_index.adoc +++ b/content/patterns/retail/_index.adoc @@ -9,6 +9,9 @@ rh_products: - Red Hat AMQ industries: - Retail +focus_areas: +- Data +- Edge aliases: /retail/ # uncomment once this exists # pattern_logo: retail.png diff --git a/content/patterns/telco-hub/_index.adoc b/content/patterns/telco-hub/_index.adoc index b393a48598..1a76185558 100644 --- a/content/patterns/telco-hub/_index.adoc +++ b/content/patterns/telco-hub/_index.adoc @@ -11,6 +11,10 @@ rh_products: - Red Hat OpenShift Data Foundation (ODF) (Optional) industries: - Telecommunications +focus_areas: +- Edge +- Resilience +- Observability aliases: /telco-hub/ # uncomment once this exists # pattern_logo: telco-hub.png diff --git a/content/patterns/travelops/_index.adoc b/content/patterns/travelops/_index.adoc index eb757d2318..acff175d1c 100644 --- a/content/patterns/travelops/_index.adoc +++ b/content/patterns/travelops/_index.adoc @@ -11,6 +11,10 @@ rh_products: - Red Hat ElasticSearch industries: - General +focus_areas: +- Security +- Observability +- DevSecOps aliases: /travelops/ links: github: https://github.com/validatedpatterns/travelops diff --git a/content/patterns/trilio-continuous-recovery/_index.md b/content/patterns/trilio-continuous-recovery/_index.md index f62881e721..8b9d97a47f 100644 --- a/content/patterns/trilio-continuous-recovery/_index.md +++ b/content/patterns/trilio-continuous-recovery/_index.md @@ -11,6 +11,9 @@ partners: - Trilio industries: - General +focus_areas: + - Resilience + - Data aliases: /trilio-cr/ links: github: https://github.com/trilio-demo/trilio-continuous-restore diff --git a/content/patterns/virtualization-starter-kit/_index.md b/content/patterns/virtualization-starter-kit/_index.md index cc67d4bb1d..c9aade2976 100644 --- a/content/patterns/virtualization-starter-kit/_index.md +++ b/content/patterns/virtualization-starter-kit/_index.md @@ -10,6 +10,9 @@ rh_products: - Red Hat OpenShift Data Foundation industries: - Any +focus_areas: +- Virtualization +- Resilience aliases: /virtualization-starter-kit/ pattern_logo: ansible-edge.png links: diff --git a/layouts/partials/menu-patterns-browser.html b/layouts/partials/menu-patterns-browser.html index d6c848bff8..0011bc9687 100644 --- a/layouts/partials/menu-patterns-browser.html +++ b/layouts/partials/menu-patterns-browser.html @@ -52,6 +52,30 @@

+ + +
+

+ +

+
+
+
+
+
+
+
+
+
+
diff --git a/layouts/partials/patterns-browser.html b/layouts/partials/patterns-browser.html index f99240b262..1f31b0fd1f 100644 --- a/layouts/partials/patterns-browser.html +++ b/layouts/partials/patterns-browser.html @@ -25,6 +25,8 @@

{{ $patterns := where $.Pages "Section" "patterns"}}
+
+
diff --git a/layouts/partials/patterns-index.html b/layouts/partials/patterns-index.html index a4f247710a..9cdf630cf2 100644 --- a/layouts/partials/patterns-index.html +++ b/layouts/partials/patterns-index.html @@ -3,6 +3,36 @@ {{ partial "menu-patterns.html" . }}
+
{{ partial "toc-mobile.html" . }} @@ -10,70 +40,67 @@
{{ partial "toc.html" . }}
-
+
-
-
-

{{ .Title }}

-
-
- {{ if (isset .Params "pattern_logo") }} -
-
-
- -
-
+

Pattern

+
+
+

{{ .Title }}

+ {{ if or (isset .Params "authors") (isset .Params "company") }} +
+ {{ if (isset .Params "authors") }} + {{ partial "authors.html" . }} + {{ end }} + {{ if and (isset .Params "authors") (isset .Params "company") }} + | + {{ end }} + {{ if (isset .Params "company") }} + {{ .Params.company }} + {{ end }}
{{ end }}
- {{ if (isset .Params "authors") }} -
- Author{{if (gt .Params.authors 1)}}s{{ end }}: -
-
- {{ partial "authors.html" . }} -
- {{ end }} - {{ if (isset .Params "company") }} -
- Company: -
-
- {{ .Params.company }} -
- {{ end }} -
- Validation status: -
-
- {{ $validated := .Param "tier" }} - {{ if (eq $validated "maintained" ) }} - {{ partial "label-maintained.html" . }} - {{ else if (eq $validated "tested" ) }} - {{ partial "label-tested.html" . }} + - {{ if (isset .Params "ci") }} -
- CI status: -
-
- {{ partial "ci.html" . }} -
- {{ end }} - {{ if (isset .Params "links") }} -
- Links: -
-
- {{ partial "links.html" . }} -
+
+ +
+ Status + {{ $validated := .Param "tier" }} + {{ if (eq $validated "maintained" ) }} + {{ partial "label-maintained.html" . }} + {{ else if (eq $validated "tested" ) }} + {{ partial "label-tested.html" . }} + {{ else }} + {{ partial "label-sandbox.html" . }} {{ end }}
+ + {{ if (isset .Params "ci") }} +
+ {{ partial "ci.html" . }} +
+ {{ end }} + + {{ if (isset .Params "links") }} +
+

Resources

+ {{ partial "links.html" . }} +
+ {{ end }} + + {{ if (isset .Params "partners") }} +

+ {{ delimit .Params.partners ", " }} and related names, logos, and product names are trademarks or registered trademarks of their respective owners. This pattern is contributed as community content and is not an official product endorsement. +

+ {{ end }} +
diff --git a/layouts/patterns/list.json.json b/layouts/patterns/list.json.json index 146663a2aa..c7d1672242 100644 --- a/layouts/patterns/list.json.json +++ b/layouts/patterns/list.json.json @@ -35,6 +35,15 @@ {{- $industries_filter_types := slice "AND" "OR" }} {{- $industries_dict := dict "filter_list" $industries_list "filter_types" $industries_filter_types }} + {{/* Focus areas */}} + {{- $focus_areas := .Site.Taxonomies.focus_areas }} + {{- $focus_areas_list := slice }} + {{- range $index, $focus_area := $focus_areas.Alphabetical }} + {{- $focus_areas_list = $focus_areas_list | append (dict "Name" $focus_area.Name "LinkTitle" $focus_area.Page.LinkTitle) }} + {{- end }} + {{- $focus_areas_filter_types := slice "AND" "OR" }} + {{- $focus_areas_dict := dict "filter_list" $focus_areas_list "filter_types" $focus_areas_filter_types }} + {{/* Tiers */}} {{- $tiers_list := slice -}} {{- $tiers_list = $tiers_list | append (dict "Name" "maintained" "LinkTitle" "Maintained" "color" "green") }} @@ -43,6 +52,6 @@ {{- $tiers_filter_types := slice "OR" }} {{- $tiers_dict := dict "filter_list" $tiers_list "filter_types" $tiers_filter_types }} - {{- $filter_categories := dict "rh_products" $rh_products_dict "partners" $partners_dict "industries" $industries_dict "tier" $tiers_dict -}} + {{- $filter_categories := dict "rh_products" $rh_products_dict "partners" $partners_dict "industries" $industries_dict "focus_areas" $focus_areas_dict "tier" $tiers_dict -}} {{- dict "patterns" $pattern_list "filter_categories" $filter_categories | jsonify }} {{- end }} diff --git a/static/js/patterns-browser-v2.js b/static/js/patterns-browser-v2.js index 0b422d5780..38fc7a83cf 100644 --- a/static/js/patterns-browser-v2.js +++ b/static/js/patterns-browser-v2.js @@ -131,6 +131,8 @@ function getParams() { enabledParams.categories.tier = urlParams.getAll("tier"); // Tier is always "and" since each pattern can only have one tier enabledParams.filters.tier = "and"; + enabledParams.categories.focus_areas = urlParams.getAll("focus_areas"); + enabledParams.filters.focus_areas = urlParams.get("focus_areas_filter"); enabledParams.categories.industries = urlParams.getAll("industries"); enabledParams.filters.industries = urlParams.get("industries_filter"); enabledParams.categories.rh_products = urlParams.getAll("rh_products"); @@ -330,6 +332,80 @@ function renderFilter(elementId, filterType, filterData, enabledParams, enabledF element.innerHTML += renderFilterButtons(filterData.filter_types, filterType, enabledFilters); } +function renderFocusAreaChips(focusAreas) { + // Render focus area chips as quick single-select filters. + const container = document.getElementById("focus-area-chips"); + if (!container || !focusAreas || focusAreas.filter_list.length === 0) { + if (container) { + container.innerHTML = ""; + } + return; + } + + let chipsHtml = '
'; + for (item = 0; item < focusAreas.filter_list.length; item++) { + const focusArea = focusAreas.filter_list[item].Name; + chipsHtml += (``); + } + chipsHtml += "
"; + container.innerHTML = chipsHtml; + syncFocusAreaChipsState(); +} + +function syncFocusAreaChipsState() { + // Highlight the chip only when exactly one focus area is selected. + const chipElements = document.getElementsByClassName("focus-area-chip"); + for (item = 0; item < chipElements.length; item++) { + chipElements[item].classList.remove("pf-m-primary"); + chipElements[item].classList.add("pf-m-secondary"); + } + + const focusAreaItems = document.getElementById("FocusAreasItems"); + if (!focusAreaItems) { + return; + } + + const selectedFocusAreas = focusAreaItems.querySelectorAll('input[type="checkbox"]:checked'); + if (selectedFocusAreas.length === 1) { + const selectedChipId = "focus-chip:" + selectedFocusAreas[0].id.split(":")[1]; + const selectedChip = document.getElementById(selectedChipId); + if (selectedChip) { + selectedChip.classList.remove("pf-m-secondary"); + selectedChip.classList.add("pf-m-primary"); + } + } +} + +function selectFocusAreaChip(focusAreaName) { + // Chip click replaces current focus area selection with one value. + const focusAreaItems = document.getElementById("FocusAreasItems"); + if (!focusAreaItems) { + return; + } + + const checkboxes = focusAreaItems.querySelectorAll('input[type="checkbox"]'); + for (item = 0; item < checkboxes.length; item++) { + checkboxes[item].checked = false; + } + + const targetCheckbox = document.getElementById("focus_areas:" + cleanString(focusAreaName)); + if (targetCheckbox) { + targetCheckbox.checked = true; + } + + // Keep single-chip selection URL behavior deterministic. + const focusAreaOrButton = document.getElementById("focus_areas_button:or"); + const focusAreaAndButton = document.getElementById("focus_areas_button:and"); + if (focusAreaAndButton) { + focusAreaAndButton.classList.remove("pf-m-selected"); + } + if (focusAreaOrButton) { + focusAreaOrButton.classList.add("pf-m-selected"); + } + + filterSelection(); +} + function renderLabel(tier, tier_categories) { // HTML to render the pattern tier label if (tier != undefined) { @@ -407,9 +483,12 @@ function renderFilteredCards(patterns, filter_categories) { } function updateFilterCounters() { - const elementIds = ["TiersItems", "IndustriesItems", "RhProductsItems", "PartnersItems"] + const elementIds = ["TiersItems", "FocusAreasItems", "IndustriesItems", "RhProductsItems", "PartnersItems"] for (const elementId of elementIds) { const element = document.getElementById(elementId); + if (!element) { + continue; + } const elementCounter = document.getElementById(elementId + "Counter"); var count = element.querySelectorAll('input[type="checkbox"]:checked').length; if (count > 0) { @@ -418,6 +497,7 @@ function updateFilterCounters() { elementCounter.innerHTML = ""; } } + syncFocusAreaChipsState(); } function filterSelection(filter) { @@ -498,8 +578,10 @@ const patternsData = getData(); const enabledParams = getParams(); patternsData.then(output => { renderFilter("TiersItems", "tier", output.filter_categories.tier, enabledParams.categories.tier, enabledParams.filters.tier); + renderFilter("FocusAreasItems", "focus_areas", output.filter_categories.focus_areas, enabledParams.categories.focus_areas, enabledParams.filters.focus_areas); renderFilter("IndustriesItems", "industries", output.filter_categories.industries, enabledParams.categories.industries, enabledParams.filters.industries); renderFilter("RhProductsItems", "rh_products", output.filter_categories.rh_products, enabledParams.categories.rh_products, enabledParams.filters.rh_products); renderFilter("PartnersItems", "partners", output.filter_categories.partners, enabledParams.categories.partners, enabledParams.filters.partners); + renderFocusAreaChips(output.filter_categories.focus_areas); renderFilteredCards(output.patterns, output.filter_categories) });