Added option to use a static or a dynamic list of categories
This commit is contained in:
Родитель
c25c799346
Коммит
f5a040abc9
|
@ -7,6 +7,10 @@ url: https://microsoft.github.io" # the base hostname & protocol for your site
|
|||
twitter_username: dcaro
|
||||
github_username: microsoft
|
||||
encoding: utf-8
|
||||
use_static_category_list: false # true/false: use true to indicate that site will use
|
||||
# the static category list to build the category tree.
|
||||
# Use false to indicate the site to build the category
|
||||
# tree dynamically using the posts' metadata
|
||||
|
||||
# Build settings
|
||||
# markdown: redcarpet
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
[
|
||||
{
|
||||
"name":"Technology",
|
||||
"name":"technology",
|
||||
"showAs":"Technology",
|
||||
"metadataField":"categories"
|
||||
},
|
||||
{
|
||||
"name":"Verticals",
|
||||
"name":"verticals",
|
||||
"showAs":"Verticals",
|
||||
"metadataField":"verticals"
|
||||
},
|
||||
{
|
||||
"name":"Language",
|
||||
"name":"language",
|
||||
"showAs":"Language",
|
||||
"metadataField":"language"
|
||||
}
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
[
|
||||
{
|
||||
"name":"technology",
|
||||
"showAs":"Technology",
|
||||
"metadataField":"categories",
|
||||
"values":[
|
||||
"DevOps",
|
||||
"IoT",
|
||||
"Mobile Application Development with Xamarin",
|
||||
"Azure App Service"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name":"verticals",
|
||||
"showAs":"Verticals",
|
||||
"metadataField":"verticals",
|
||||
"values":[
|
||||
"Energy",
|
||||
"Manufacturing (Industrial)",
|
||||
"Transportation & Logistics",
|
||||
"Smart Cities",
|
||||
"Agricultural",
|
||||
"Environmental",
|
||||
"Healthcare",
|
||||
"Financial Services",
|
||||
"Retail, Consumer Products & Services",
|
||||
"Communications/Media"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name":"language",
|
||||
"showAs":"Language",
|
||||
"metadataField":"language",
|
||||
"values":[
|
||||
"English",
|
||||
"German",
|
||||
"Spanish",
|
||||
"French",
|
||||
"Italian",
|
||||
"Japanese",
|
||||
"Korean",
|
||||
"Portuguese",
|
||||
"Russian",
|
||||
"Chinese"
|
||||
]
|
||||
}
|
||||
]
|
|
@ -1,16 +1,28 @@
|
|||
{% assign useStaticList = site.use_static_category_list %}
|
||||
{% assign categories = "" | split: "|" %}
|
||||
|
||||
{% for category in site.data.categories %}
|
||||
{% assign categoryElements = "" | split: "|" %}
|
||||
{% if useStaticList == true %}
|
||||
{% assign categoriesDataList = site.data.categoriesStatic %}
|
||||
{% else %}
|
||||
{% assign categoriesDataList = site.data.categories %}
|
||||
{% endif %}
|
||||
|
||||
{% for post in site.posts %}
|
||||
{% for category in categoriesDataList %}
|
||||
{% if useStaticList == true %}
|
||||
{% assign categoryElements = category.values %}
|
||||
{% else %}
|
||||
{% assign categoryElements = "" | split: "|" %}
|
||||
|
||||
{% for post in site.posts %}
|
||||
|
||||
{% if categoryElements contains post[category.metadataField] %}
|
||||
{% else %}
|
||||
{% assign categoryElements = categoryElements | push: post[category.metadataField] %}
|
||||
{% endif %}
|
||||
{% if categoryElements contains post[category.metadataField] %}
|
||||
{% else %}
|
||||
{% assign categoryElements = categoryElements | push: post[category.metadataField] %}
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% assign categories = categories | push: categoryElements %}
|
||||
|
||||
|
@ -48,7 +60,7 @@
|
|||
<li>
|
||||
<input type="checkbox" id="item-{{ category.name }}-{{ item.name }}">
|
||||
<label>
|
||||
<input class="search-value" name="Isv{{ category.name }}" type="checkbox" value="{{ item }}">
|
||||
<input class="search-value" name="{{ category.name }}" type="checkbox" value="{{ item }}">
|
||||
<span class="treeview-checkbox"></span>
|
||||
</label>
|
||||
<label class="remove-tree-control treeview-label" for="idc3c1668c-a145-4316-b84b-aa747027b20f">
|
||||
|
|
|
@ -119,7 +119,7 @@ var customSearch = (function($){
|
|||
selectedFilters.{{ category.name }} = {};
|
||||
selectedFilters.{{ category.name }}.metadataField = '{{ category.metadataField }}';
|
||||
selectedFilters.{{ category.name }}.values = [];
|
||||
$.each( $("input[name=Isv{{ category.name }}]:checked"), function(){
|
||||
$.each( $("input[name={{ category.name }}]:checked"), function(){
|
||||
selectedFilters.{{ category.name }}.values.push($(this).val());
|
||||
});
|
||||
{% endfor %}
|
||||
|
|
Загрузка…
Ссылка в новой задаче