Skip to content

Commit b64e383

Browse files
Merge pull request #5750 from segmentio/catalog-refactor
Refactor sources catalog [DOC-744]
2 parents 790573e + 277ce07 commit b64e383

File tree

6 files changed

+45
-81
lines changed

6 files changed

+45
-81
lines changed

src/_data/catalog/beta_sources.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# This file is manually generated.
2+
# Add the ids of beta sources to give them a beta flag on the catalog page.
3+
# (/docs/connections/sources/catalog)
4+
5+
- 8aF29Uq46F
6+
- QhEUZnE5uF
7+
- Zd5BXedXsa
8+
- glwy6LwOVo
9+
- 3x07B5Dn5h
10+
- DY0B0Q2Gce
11+
- n8YgCndi75
12+
- 9TYqEh3nMe
13+
- xqegKCQA0W
14+
- L9XPA9n2Mc
15+
- kpDbTUR9oD
16+
- wFC7PGNwGR
17+
- vMEJCURfHh
18+
- EjYD7n6dOa
19+
- VETiUX9u66
20+
- NC2jsEkA8Y
21+
- o9OyD6xsVJ
22+
- ODf0vA6dcH
23+
- YWOGVbyMVz
24+
- CwGEZ7eCcA

src/_data/catalog/test_sources.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# This file is manually generated.
2+
# Add the ID for a source here to skip adding it to the sources.yml catalog file.
3+
14
- kEQE5O66XH
25
- 6mJhCgRpsP
36
- 6qp2MXy9jT

src/_includes/menu/menu-source.html

Lines changed: 12 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,14 @@
1818
<nav class="menu menu--compact">
1919
<ul class="menu__list list list--unstyle">
2020
{% assign categories = site.data.catalog.source_categories.items %}
21-
{% assign promoted_categories = "Website, Mobile, Server, Ott" | split: ", " %}
2221

23-
{% for category in promoted_categories %}
24-
<li class="menu-item menu-item--gray menu-item--compact {% if currentIntegration.categories contains category and activeState != true %}{% assign activeState = true %}menu-item--active{% endif %}" data-accordion data-class-active="menu-item--active">
22+
{% for category in categories %}
23+
{% assign integrations = site.data.catalog.sources.items | where: "categories", category.display_name %}
24+
25+
<li class="menu-item menu-item--gray menu-item--compact" data-accordion data-class-active="menu-item--active">
2526
<button class="menu-item__link flex flex--middle flex--justify gutter gutter--small" data-ref="accordion[trigger]">
2627
<span class="flex__column">
27-
{{ category }}
28+
{{ category.display_name }}
2829
</span>
2930

3031
<div class="menu-item__chevron flex__column flex__column--shrink">
@@ -33,46 +34,18 @@
3334
</button>
3435

3536
<ul class="menu-item__body" data-ref="accordion[body]">
36-
{% assign integrations = site.data.catalog.sources.items | where: "categories", category %}
37-
3837
{% for integration in integrations %}
39-
{% unless integration.hidden %}
40-
<li class="menu-item menu-item--compact">
41-
<a href="{{ site.baseurl }}/{{ integration.url }}/" class="menu-item__link">
42-
{{ integration.display_name }}
43-
</a>
44-
</li>
45-
{% endunless %}
38+
{% if integration.hidden != true %}
39+
<li class="menu-item menu-item--compact">
40+
<a href="{{ site.baseurl }}/{{ integration.url }}/" class="menu-item__link">
41+
{{ integration.display_name }}
42+
</a>
43+
</li>
44+
{% endif %}
4645
{% endfor %}
4746
</ul>
4847
</li>
4948
{% endfor %}
50-
51-
<li class="menu-item menu-item--gray menu-item--compact {% if currentIntegration.categories contains 'Cloud-apps' and activeState != true %}{% assign activeState = true %}menu-item--active{% endif %}" data-accordion data-class-active="menu-item--active">
52-
<button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]">
53-
<span class="flex__column">
54-
Cloud-apps
55-
</span>
56-
57-
<div class="menu-item__chevron flex__column flex__column--shrink">
58-
{% include icons/symbols/caret-down.svg %}
59-
</div>
60-
</button>
61-
62-
<ul class="menu-item__body" data-ref="accordion[body]">
63-
{% assign integrations = site.data.catalog.sources.items %}
64-
65-
{% for integration in integrations %}
66-
{% unless integration.categories contains promoted_categories[0] or integration.categories contains promoted_categories[1] or integration.categories contains promoted_categories[2] or integration.categories contains promoted_categories[3] or integration.hidden%}
67-
<li class="menu-item menu-item--compact">
68-
<a href="{{ site.baseurl }}/{{ integration.url }}/" class="menu-item__link">
69-
{{ integration.display_name }}
70-
</a>
71-
</li>
72-
{% endunless %}
73-
{% endfor %}
74-
</ul>
75-
</li>
7649
</ul>
7750
</nav>
7851
</div>

src/_includes/sidebar/source-menu.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{% assign destination_categories = "Website, Mobile, Server, Ott, Cloud apps" | split: ", " %}
1+
{% assign destination_categories = "Website, Mobile, Server, A/B Testing, Advertising, Analytics, Attribution, CRM, Custom, Customer Success, Email Marketing, Enrichment, Feature Flagging, Helpdesk, Learning Management System, Livechat, Marketing Automation, Ott, Payments, Performance Monitoring, Personalization, Raw Data, Referrals, SMS & Push Notifications, Surveys, Virtual Assistant" | split: ", " %}
22

33
<div class="destination-menu" data-anchors-indicator data-sections=".destinations-catalog__section" data-active-class="destination-menu__link--active">
44
<p class="destination-menu__title">On this page</p>

src/connections/sources/catalog/index.md

Lines changed: 4 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ Below is a list of the available sources on the Segment platform.
2020

2121
<div class="destinations-catalog">
2222
{% assign categories = site.data.catalog.source_categories.items %}
23-
{% assign promoted_categories = "Website, Mobile, Server, Ott" | split: ", " %}
24-
25-
{% for category in promoted_categories %}
23+
{% assign all_categories = "Website, Mobile, Server, A/B Testing, Advertising, Analytics, Attribution, CRM, Custom, Customer Success, Email Marketing, Enrichment, Feature Flagging, Helpdesk, Learning Management System, Livechat, Marketing Automation, Ott, Payments, Performance Monitoring, Personalization, Raw Data, Referrals, SMS & Push Notifications, Surveys, Virtual Assistant" | split: ", " %}
24+
{% for category in all_categories %}
2625
<div class="destinations-catalog__section markdown" id="{{ category | slugify }}">
2726
<h2 class="destinations-catalog__title" id="{{ category | slugify }}">
2827
{{ category }}
@@ -43,7 +42,7 @@ Below is a list of the available sources on the Segment platform.
4342
</div>
4443
<h5 class="flex__column flex__column--12 flex__column--10@medium">{{ integration.display_name }}</h5>
4544
</div>
46-
{% if integration.status == 'PUBLIC_BETA' %}
45+
{% if site.data.catalog.beta_sources contains integration.id %}
4746
<p class="thumbnail-integration__label">Beta</p>
4847
{% endif %}
4948
</div>
@@ -52,39 +51,4 @@ Below is a list of the available sources on the Segment platform.
5251
{% endfor %}
5352
</div>
5453
</div>
55-
{% endfor %}
56-
57-
58-
<div class="destinations-catalog__section markdown" id="cloud-apps">
59-
<h2 class="destinations-catalog__title" id="cloud-apps">
60-
Cloud-apps
61-
</h2>
62-
<div class="flex flex--wrap waffle waffle--xlarge">
63-
{% assign integrations = site.data.catalog.sources.items %}
64-
{% for integration in integrations %}
65-
{% unless integration.categories contains promoted_categories[0] or integration.categories contains promoted_categories[1] or integration.categories contains promoted_categories[2] or integration.categories contains promoted_categories[3] or integration.hidden == true %}
66-
<div class="flex__column flex__column--6">
67-
<a class="thumbnail-integration flex flex--middle" href="{{ site.baseurl }}/{{ integration.url }}">
68-
<div class="thumbnail-integration__content">
69-
<div class="flex flex--wrap flex--middle waffle waffle--xlarge@medium">
70-
<div class="flex__column flex__column--12 flex__column--2@medium thumbnail-integration__logo-wrapper">
71-
{% if integration.logos.mark != '' %}
72-
<img class="thumbnail-integration__logo image" alt="{{integration.display_name}}" src="{{integration.logo.url}}" />
73-
{% else %}
74-
<img class="thumbnail-integration__logo image" alt="{{integration.display_name}}" src="{{integration.logo.url}}" />
75-
{% endif %}
76-
</div>
77-
<h5 class="flex__column flex__column--12 flex__column--10@medium">{{ integration.display_name }}</h5>
78-
</div>
79-
{% if integration.status == 'PUBLIC_BETA' %}
80-
<p class="thumbnail-integration__label">Beta</p>
81-
{% endif %}
82-
</div>
83-
</a>
84-
</div>
85-
{% endunless %}
86-
{% endfor %}
87-
</div>
88-
</div>
89-
</div>
90-
54+
{% endfor %}

src/connections/sources/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,4 +204,4 @@ To create a source:
204204
> - Debugger ease of use - mixing libraries/sources on a single API key means you’re heavily reliant on filtering to actually test events
205205
> - Flexibility sending data to different projects - if you want to have different warehouse schemas, analytics projects, etc, having multiple sources would create this separation
206206
> - More control - as your account grows with the number of destinations you enable, having separate sources allows you to have more control
207-
> - A source type cannot be changed once it is created. You must create a new source if you would like to use a different source type.
207+
> - A source type cannot be changed once it is created. You must create a new source if you would like to use a different source type.

0 commit comments

Comments
 (0)