<%= I18n.t('public_portal.common.home') %>
diff --git a/app/views/public/api/v1/portals/categories/_meta_head.html.erb b/app/views/public/api/v1/portals/categories/_meta_head.html.erb
new file mode 100644
index 000000000..7e626fe23
--- /dev/null
+++ b/app/views/public/api/v1/portals/categories/_meta_head.html.erb
@@ -0,0 +1,14 @@
+<%# locals: (category:, portal:, locale:, og_image_url: nil) %>
+
<%= category.name %> | <%= portal.display_title(locale) %>
+
+<% if category.description.present? %>
+
+
+
+<% end %>
+<% if og_image_url.present? %>
+
+
+
+
+<% end %>
diff --git a/app/views/public/api/v1/portals/categories/show.html+plain.erb b/app/views/public/api/v1/portals/categories/show.html+plain.erb
new file mode 100644
index 000000000..7f35a3914
--- /dev/null
+++ b/app/views/public/api/v1/portals/categories/show.html+plain.erb
@@ -0,0 +1,7 @@
+<% content_for :head do %>
+ <%= render 'public/api/v1/portals/categories/meta_head',
+ category: @category, portal: @portal, locale: @locale, og_image_url: @og_image_url %>
+<% end %>
+
+<%= render 'public/api/v1/portals/categories/category-hero', category: @category, portal: @portal, plain: true %>
+<%= render 'public/api/v1/portals/categories/article_list', category: @category, portal: @portal %>
diff --git a/app/views/public/api/v1/portals/categories/show.html.erb b/app/views/public/api/v1/portals/categories/show.html.erb
index e7179db73..ed2f6d750 100644
--- a/app/views/public/api/v1/portals/categories/show.html.erb
+++ b/app/views/public/api/v1/portals/categories/show.html.erb
@@ -1,51 +1,11 @@
<% content_for :head do %>
-
<%= @category.name %> | <%= @portal.display_title(@locale) %>
-
- <% if @category.description.present? %>
-
-
-
- <% end %>
- <% if @og_image_url.present? %>
-
-
-
-
- <% end %>
+ <%= render 'public/api/v1/portals/categories/meta_head',
+ category: @category, portal: @portal, locale: @locale, og_image_url: @og_image_url %>
<% end %>
-<% if !@is_plain_layout_enabled %>
<%= render 'public/api/v1/portals/categories/category-hero', category: @category, portal: @portal %>
-<% else %>
- <%= render 'public/api/v1/portals/categories/category-hero', category: @category, portal: @portal %>
-<% end %>
-
-
- <% if @category.articles.published.size == 0 %>
-
-
<%= I18n.t('public_portal.common.no_articles') %>
-
- <% else %>
- <% @category.articles.published.order(:position).each do |article| %>
-
- <% end %>
- <% end %>
-
-
+<%= render 'public/api/v1/portals/categories/article_list', category: @category, portal: @portal %>
diff --git a/app/views/public/api/v1/portals/search/_form.html.erb b/app/views/public/api/v1/portals/search/_form.html.erb
index 5ef0b1f9c..a48c61184 100644
--- a/app/views/public/api/v1/portals/search/_form.html.erb
+++ b/app/views/public/api/v1/portals/search/_form.html.erb
@@ -1,10 +1,10 @@
-<%# locals: (input_class:) %>
+<%# locals: (input_class:, plain: false) %>