j1_template_mde 2018.4.19 → 2018.4.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/_includes/themes/j1/layouts/content_generator_blog_archive.html +15 -15
- data/_includes/themes/j1/modules/navigator/generator.html +1 -1
- data/_includes/themes/j1/procedures/global/create_word_cloud.proc +35 -59
- data/_includes/themes/j1/procedures/global/set_env_entry_document.proc +6 -0
- data/_includes/themes/j1/procedures/posts/collate_timeline.proc +34 -24
- data/_layouts/blog_archive.html +1 -1
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/modules/j1_navigator_menu.yml +4 -4
- data/lib/starter_web/assets/data/panel.html +1 -1
- data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.css +11 -72
- data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.min.css +1 -1
- data/lib/starter_web/assets/themes/j1/core/css/uno.css +11 -72
- data/lib/starter_web/assets/themes/j1/core/css/uno.min.css +1 -1
- data/lib/starter_web/assets/themes/j1/core/js/adapter/algolia.js +5 -1
- data/lib/starter_web/collections/posts/premium/series/_posts/000_includes/documents/100-docker-using-shared-folders.asciidoc +3 -0
- data/lib/starter_web/collections/posts/premium/series/_posts/2018-11-01-docker-using-shared-folders.adoc +8 -9
- data/lib/starter_web/collections/posts/private/wikipedia/_posts/000_includes/attributes.asciidoc +46 -0
- data/lib/starter_web/collections/posts/private/wikipedia/_posts/000_includes/tables/debug_variables.asciidoc +48 -0
- data/lib/starter_web/collections/posts/private/wikipedia/_posts/2016-11-20-minneapolis.adoc +11 -8
- data/lib/starter_web/collections/posts/private/wikipedia/_posts/{2016-11-24-narcisse-snake-pits.adoc → 2016-11-24-narcisse-snake-dens.adoc} +10 -15
- data/lib/starter_web/collections/posts/private/wikipedia/_posts/2016-11-26-columbia-river.adoc +13 -9
- data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1-template.adoc.erb +29 -15
- data/lib/starter_web/collections/posts/public/featured/_posts/000_includes/attributes.asciidoc +2 -1
- data/lib/starter_web/collections/posts/public/featured/_posts/{2017-05-01-confusion-about-base-url.adoc → 2018-05-01-confusion-about-base-url.adoc} +5 -28
- data/lib/starter_web/collections/posts/public/featured/_posts/{2017-06-01-top-open-source-static-site-generators.adoc → 2018-06-01-top-open-source-static-site-generators.adoc} +7 -28
- data/lib/starter_web/collections/posts/public/featured/_posts/{2017-07-01-what-is-a-static-site.adoc → 2018-07-01-what-is-a-static-site.adoc} +5 -27
- data/lib/starter_web/package.json +17 -1
- data/lib/starter_web/pages/public/blog/navigator/archive.html +26 -40
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +38 -48
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +21 -31
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +113 -115
- data/lib/starter_web/pages/public/blog/navigator/index.html +2 -2
- data/lib/starter_web/pages/public/instant_search_media.adoc +438 -0
- data/lib/starter_web/pages/public/start/roundtrip/100_present_images.adoc +1 -2
- data/lib/starter_web/pages/public/start/roundtrip/800_search_engine.adoc +34 -17
- metadata +9 -9
- data/_includes/themes/j1/modules/navigator/procedures/_unused/authclient.proc +0 -139
- data/_includes/themes/j1/modules/navigator/procedures/_unused/authclient.proc.org +0 -217
- data/lib/starter_web/collections/posts/premium/series/_posts/2018-11-01-docker-using-shared-folders.asciidoc +0 -86
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
layout: page
|
|
3
3
|
|
|
4
|
-
title:
|
|
4
|
+
title: Posts by date
|
|
5
5
|
tagline: Check out all blog posts grouped by month
|
|
6
6
|
|
|
7
|
-
toc: true
|
|
8
7
|
#permalink: /pages/private/blog/navigator/archive/dateview/
|
|
9
8
|
|
|
10
9
|
resource_options:
|
|
@@ -19,13 +18,13 @@ regenerate: false
|
|
|
19
18
|
---
|
|
20
19
|
|
|
21
20
|
{% comment %} Liquid procedures
|
|
22
|
-
|
|
21
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
|
23
22
|
{% capture get_page_path %}themes/{{site.template.name}}/procedures/global/get_page_path.proc{% endcapture %}
|
|
24
23
|
{% capture select_icon_size %}themes/{{site.template.name}}/procedures/global/select_icon_size.proc{% endcapture %}
|
|
25
24
|
{% capture get_category_item %}themes/{{site.template.name}}/procedures/global/get_category_item.proc{% endcapture %}
|
|
26
25
|
|
|
27
26
|
{% comment %} Variables
|
|
28
|
-
|
|
27
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
|
29
28
|
{% assign view_config = site.data.builder.blog_navigator.date_view %}
|
|
30
29
|
{% assign view_description = view_config.description %}
|
|
31
30
|
|
|
@@ -45,19 +44,10 @@ regenerate: false
|
|
|
45
44
|
{% capture all_view %}{{page_path}}/{% endcapture %}
|
|
46
45
|
|
|
47
46
|
{% comment %} Main
|
|
48
|
-
|
|
49
|
-
<!-- <script>
|
|
50
|
-
// TODO: Fix last_page settings and logging
|
|
51
|
-
var logger = log4javascript.getLogger('j1.BlogNavigator');
|
|
52
|
-
var cookieUserState = 'j1.user.state'
|
|
53
|
-
j1_user_state.last_page = "{{browser_page_url}}"
|
|
54
|
-
j1.setUserStateCookie( j1_user_state );
|
|
55
|
-
logger.info('Save the current Post Browser page to cookie: ' +cookieUserState);
|
|
56
|
-
</script> -->
|
|
57
|
-
|
|
47
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
|
58
48
|
<!-- [INFO ] [ {{page.url}} ] [Generate HTML}] -->
|
|
59
49
|
<div class="post-headline"> <h2 id="post-headline" class="mt-2">Posts By Date</h2></div>
|
|
60
|
-
<div class="paginator">
|
|
50
|
+
<div class="paginator ml-3">
|
|
61
51
|
<ul class="pagination raised-z0">
|
|
62
52
|
<li class="page-item"><a class="page-link" href="{{navigator | prepend: site.baseurl}}" title="Blog View">Navigator</a></li>
|
|
63
53
|
<li class="page-item"><a class="page-link" href="{{category_view | prepend: site.baseurl}}" title="View by Category">By Category</a></li>
|
|
@@ -80,19 +70,24 @@ regenerate: false
|
|
|
80
70
|
{% capture monthHead %}
|
|
81
71
|
{% if month != nmonth %}
|
|
82
72
|
{% if forloop.index != 1 %}{{ closeList }}{%endif %}
|
|
83
|
-
<
|
|
73
|
+
<h3 id="{{ 100000 | rand }}" class="toc-link mt-5 mb-0">{% if year != nyear %}<a id="{{ post.date | date: '%Y' }}"></a>{% endif %}<a id="{{ post.date | date: '%Y-%m' }}"></a><a title="Back to top" href="#"><i class="fa fa-calendar mr-3"></i></a>{{ post.date | date: '%B %Y' }}</h3>
|
|
84
74
|
{{ openList }}
|
|
85
75
|
{% endif %}
|
|
86
76
|
{% endcapture %}
|
|
87
77
|
|
|
88
78
|
{% capture link %}
|
|
79
|
+
{% assign excerpt = post.excerpt | truncatewords: 50 | strip_html | strip_newlines | strip %}
|
|
89
80
|
<li>
|
|
90
|
-
<
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
81
|
+
<div class="card card-flat">
|
|
82
|
+
<div class="card-body">
|
|
83
|
+
<!-- <span class="post-meta">{{post.date|date: "%B %d, %Y"}}</span> -->
|
|
84
|
+
<h4 id="{{ 100000 | rand }}" class="card-title">{{ post.title }}</h4>
|
|
85
|
+
<h5 class="notoc card-subtitle text-muted mb-2">{{ post.tagline }}</h5>
|
|
86
|
+
<div class="card-text"><p>{{ excerpt }}</p></div>
|
|
87
|
+
<div class="card-footer">
|
|
88
|
+
<a class="card-link" href="{{post.url}}#readmore" target="_blank">Read more ..</a>
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
96
91
|
</div>
|
|
97
92
|
</li>
|
|
98
93
|
{% endcapture %}
|
|
@@ -105,19 +100,14 @@ regenerate: false
|
|
|
105
100
|
</div>
|
|
106
101
|
|
|
107
102
|
<!-- [INFO ] [j1.page.{{page.title}} ] [Save the current page to cookieUserState cookie: {{ browser_page_url }}] -->
|
|
103
|
+
{% comment %} Update cookie for lastpage
|
|
104
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
|
108
105
|
<script type="text/javascript">
|
|
109
106
|
function setLastPage() {
|
|
107
|
+
var logger = log4javascript.getLogger('j1.BlogNavigator');
|
|
110
108
|
var user_state_last_page = "{{browser_page_url}}";
|
|
111
109
|
j1.setUserStateCookie( {last_page:user_state_last_page} );
|
|
110
|
+
logger.info('Saved current Post Browser page to cookie: {{browser_page_url}}');
|
|
112
111
|
}
|
|
113
112
|
window.onload = setLastPage;
|
|
114
113
|
</script>
|
|
115
|
-
<!--
|
|
116
|
-
<script>
|
|
117
|
-
/* Manage the current page settings */
|
|
118
|
-
$(document).ready(function() {
|
|
119
|
-
var user_state_last_page = "{{browser_page_url}}";
|
|
120
|
-
j1.setUserStateCookie( {last_page:user_state_last_page} );
|
|
121
|
-
});
|
|
122
|
-
</script>
|
|
123
|
-
-->
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
layout: page
|
|
3
3
|
|
|
4
|
-
title:
|
|
4
|
+
title: Posts by tag
|
|
5
5
|
tagline: Check out all blog posts by tag
|
|
6
|
-
|
|
7
|
-
toc: true
|
|
8
6
|
#permalink: /pages/private/blog/navigator/archive/tagview/
|
|
9
7
|
|
|
8
|
+
skip_words: [ posts ]
|
|
9
|
+
|
|
10
10
|
resource_options:
|
|
11
11
|
|
|
12
12
|
- masthead:
|
|
@@ -18,13 +18,11 @@ resource_options:
|
|
|
18
18
|
regenerate: false
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
{% comment %} TODO
|
|
22
|
-
|
|
23
|
-
--------------------------------------------------------------- {% endcomment %}
|
|
24
|
-
|
|
21
|
+
{% comment %} TODO: logic for "letter_group_written == false" to be fixed
|
|
22
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
|
25
23
|
|
|
26
24
|
{% comment %} Liquid procedures
|
|
27
|
-
|
|
25
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
|
28
26
|
{% capture get_page_path %}themes/{{site.template.name}}/procedures/global/get_page_path.proc{% endcapture %}
|
|
29
27
|
{% capture select_icon_size %}themes/{{site.template.name}}/procedures/global/select_icon_size.proc{% endcapture %}
|
|
30
28
|
{% capture get_category %}themes/{{site.template.name}}/procedures/global/get_category.proc{% endcapture %}
|
|
@@ -32,9 +30,9 @@ logic for "letter_group_written == false" to be fixed
|
|
|
32
30
|
{% capture create_word_cloud %}themes/{{site.template.name}}/procedures/global/create_word_cloud.proc{% endcapture %}
|
|
33
31
|
|
|
34
32
|
{% comment %} Variables
|
|
35
|
-
|
|
36
|
-
{% assign view_config
|
|
37
|
-
{% assign view_description
|
|
33
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
|
34
|
+
{% assign view_config = site.data.builder.blog_navigator.tag_view %}
|
|
35
|
+
{% assign view_description = view_config.description %}
|
|
38
36
|
|
|
39
37
|
{% if site.permalink == 'none' %}
|
|
40
38
|
{% capture browser_page_url %}{{ page.url }}.html{% endcapture %}
|
|
@@ -43,15 +41,12 @@ logic for "letter_group_written == false" to be fixed
|
|
|
43
41
|
{% endif %}
|
|
44
42
|
|
|
45
43
|
{% comment %} jadams: skip_words needs to be configured by yaml data file
|
|
46
|
-
|
|
47
|
-
{% assign
|
|
48
|
-
{% assign
|
|
49
|
-
|
|
50
|
-
{% assign
|
|
51
|
-
{% assign
|
|
52
|
-
{% assign letter_group_array = letter_groups | split:',' %}
|
|
53
|
-
{% assign letter_group_counter = 0 %}
|
|
54
|
-
{% assign letter_group_written = false %}
|
|
44
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
|
45
|
+
{% assign letter_groups = "ab, cd, ef, gh, ij, kl, mn, op, qr, st, uvw, xyz" %}
|
|
46
|
+
{% assign letter_groups = letter_groups | remove: ' ' %}
|
|
47
|
+
{% assign letter_group_array = letter_groups | split:',' %}
|
|
48
|
+
{% assign letter_group_counter = 0 %}
|
|
49
|
+
{% assign letter_group_written = false %}
|
|
55
50
|
|
|
56
51
|
{% include {{get_page_path}} mode='absolute' %}
|
|
57
52
|
{% assign navigator_path = page_path | remove_first:'archive' %}
|
|
@@ -63,115 +58,118 @@ logic for "letter_group_written == false" to be fixed
|
|
|
63
58
|
{% capture tag_view %}{{page_path}}/tagview/{% endcapture %}
|
|
64
59
|
{% capture all_view %}{{page_path}}/{% endcapture %}
|
|
65
60
|
|
|
66
|
-
{%
|
|
67
|
-
{%
|
|
68
|
-
|
|
69
|
-
{%
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
61
|
+
{% comment %} TODO: skip_words should configured by yaml data file?
|
|
62
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
|
63
|
+
{% assign tags = site.tags | sort %}
|
|
64
|
+
{% capture site_tag_word_list %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
|
|
65
|
+
{% assign tags = site_tag_word_list | split:',' %}
|
|
66
|
+
|
|
67
|
+
{% for tag in tags %}
|
|
68
|
+
{% if page.skip_words contains tag %} {% continue %} {% endif %}
|
|
69
|
+
{% capture tag_list %}{{ tag_list | append: tag }}{% unless forloop.last %},{% endunless %}{% endcapture %}
|
|
70
|
+
{% endfor %}
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
{% comment %} Main
|
|
74
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
|
75
|
+
<!-- [INFO ] [ {{page.url}} ] [Generate HTML}] -->
|
|
76
|
+
{% include {{create_word_cloud}} word_list=tag_list source="tags" %}
|
|
77
|
+
|
|
78
|
+
<div class="paginator ml-3">
|
|
79
|
+
<ul class="pagination raised-z0">
|
|
80
|
+
<li class="page-item"><a class="page-link" href="{{navigator | prepend: site.baseurl}}" title="Blog View">Navigator</a></li>
|
|
81
|
+
<li class="page-item"><a class="page-link" href="{{date_view | prepend: site.baseurl}}" title="View by Date">By Date</a></li>
|
|
82
|
+
<li class="page-item"><a class="page-link" href="{{category_view | prepend: site.baseurl}}" title="View by Category">By Category</a></li>
|
|
83
|
+
<li class="page-item"><a class="page-link" href="{{all_view | prepend: site.baseurl}}" title="View All">All Posts</a></li>
|
|
84
|
+
</ul>
|
|
85
|
+
</div>
|
|
86
|
+
|
|
87
|
+
<div class="post-search-results col-md-10 col-sm-10 col-xs-11">
|
|
88
|
+
<div class="view-description mb-1">{{view_description}}</div>
|
|
89
|
+
<div class="post-headline"> <h2 id="post-headline" class="mt-5">Posts By Tag</h2></div>
|
|
90
|
+
{% assign letter_group = letter_group_array[letter_group_counter] %}
|
|
82
91
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
<ul class="pagination raised-z0">
|
|
86
|
-
<li class="page-item"><a class="page-link" href="{{navigator | prepend: site.baseurl}}" title="Blog View">Navigator</a></li>
|
|
87
|
-
<li class="page-item"><a class="page-link" href="{{date_view | prepend: site.baseurl}}" title="View by Date">By Date</a></li>
|
|
88
|
-
<li class="page-item"><a class="page-link" href="{{category_view | prepend: site.baseurl}}" title="View by Category">By Category</a></li>
|
|
89
|
-
<li class="page-item"><a class="page-link" href="{{all_view | prepend: site.baseurl}}" title="View All">All Posts</a></li>
|
|
90
|
-
</ul>
|
|
91
|
-
</div>
|
|
92
|
+
{% for item in (0..site.tags.size) %}{% unless forloop.last %}
|
|
93
|
+
{% capture this_word %}{{ word_array[item] | strip_newlines }}{% endcapture %}
|
|
92
94
|
|
|
93
|
-
|
|
95
|
+
{% for skip_word in skip_word_array %}
|
|
96
|
+
{% if skip_word contains this_word %} {% assign skip = true %} {% else %} {% assign skip = false %} {% endif %}
|
|
97
|
+
{% if skip %} {% break %} {% endif %}
|
|
98
|
+
{% endfor %}
|
|
94
99
|
|
|
95
|
-
|
|
100
|
+
{% if skip %} {% continue %} {% endif %}
|
|
96
101
|
|
|
97
|
-
|
|
102
|
+
{% assign first_letter = this_word | slice: 0, 1 %}
|
|
103
|
+
{% assign first_letter = first_letter | downcase %}
|
|
98
104
|
|
|
99
|
-
|
|
100
|
-
{%
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
{
|
|
105
|
-
{% endfor %}
|
|
106
|
-
|
|
107
|
-
{% if skip %} {% continue %} {% endif %}
|
|
108
|
-
|
|
109
|
-
{% assign first_letter = this_word | slice: 0, 1 %}
|
|
110
|
-
{% assign first_letter = first_letter | downcase %}
|
|
111
|
-
|
|
112
|
-
{% if letter_group contains first_letter %}
|
|
113
|
-
{% comment %} jadams, 2018-01-17: logic seems NOT work. Disabled.
|
|
114
|
-
{% if letter_group_written == false %}
|
|
115
|
-
<h2 id="id_{{letter_group}}" class="toc-link mt-5 mb-5"><a title="Back to top" href="#"><i class="fa fa-tags mr-2"></i></a>{{ letter_group | upcase }}</h2>
|
|
116
|
-
{% assign letter_group_written = true %}
|
|
117
|
-
{% endif %}
|
|
118
|
-
------------------------------------------------------- {% endcomment %}
|
|
119
|
-
{% else %}
|
|
120
|
-
{% assign letter_group_counter = letter_group_counter | plus:1 %}
|
|
121
|
-
{% assign letter_group = letter_group_array[letter_group_counter] %}
|
|
122
|
-
{% comment %} jadams, 2018-01-17: logic seems NOT work. Added workaround by checking if letter_group has a value {% endcomment %}
|
|
123
|
-
{% if letter_group %}
|
|
124
|
-
<h2 id="id_{{letter_group}}" class="toc-link mb-3"><a title="Back to top" href="#"><i class="fa fa-tags mr-2"></i></a>{{ letter_group | upcase }}</h2>
|
|
125
|
-
{% endif %}
|
|
105
|
+
{% if letter_group contains first_letter %}
|
|
106
|
+
{% comment %} jadams, 2018-01-17: logic seems NOT work. Disabled.
|
|
107
|
+
--------------------------------------------------------------------------
|
|
108
|
+
<!-- jadams, 2018-01-17: logic seems NOT work. Disabled. -->
|
|
109
|
+
{% if letter_group_written == false %}
|
|
110
|
+
<h3 id="id_{{letter_group}}" class="toc-link mt-5 mb-5"><a title="Back to top" href="#"><i class="fa fa-tags mr-2"></i></a>{{ letter_group | upcase }}</h3>
|
|
126
111
|
{% assign letter_group_written = true %}
|
|
127
112
|
{% endif %}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
{%
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
113
|
+
-------------------------------------------------------------------------- {% endcomment %}
|
|
114
|
+
{% else %}
|
|
115
|
+
{% assign letter_group_counter = letter_group_counter | plus:1 %}
|
|
116
|
+
{% assign letter_group = letter_group_array[letter_group_counter] %}
|
|
117
|
+
|
|
118
|
+
{% comment %} jadams, 2018-01-17: logic seems NOT work.
|
|
119
|
+
Added workaround by checking if letter_group has a value
|
|
120
|
+
-------------------------------------------------------------------------- {% endcomment %}
|
|
121
|
+
{% if letter_group %}
|
|
122
|
+
<h3 id="id_{{letter_group}}" class="toc-link mb-3">
|
|
123
|
+
<a title="Back to top" href="#">
|
|
124
|
+
<i class="fa fa-tags mr-2"></i>
|
|
125
|
+
</a>{{ letter_group | upcase }}
|
|
126
|
+
</h3>
|
|
127
|
+
{% endif %}
|
|
128
|
+
{% assign letter_group_written = true %}
|
|
129
|
+
{% endif %}
|
|
130
|
+
|
|
131
|
+
{% comment %}
|
|
132
|
+
letter_group: {{ letter_group | debug }}
|
|
133
|
+
this_word: {{ this_word | debug }}
|
|
134
|
+
first_letter: {{ first_letter | debug }}
|
|
135
|
+
{% endcomment %}
|
|
136
|
+
|
|
137
|
+
<h4 id="{{this_word | replace: '+','_' | replace: ' ','_' | downcase }}" class="toc-link"><a title="Back to top" href="#"><i class="fa fa-tag mr-2"></i></a>{{ this_word }}</h4>
|
|
138
|
+
|
|
139
|
+
{% for post in site.tags[this_word] %}{% if post.title != null %}
|
|
140
|
+
{% include {{get_category}} post=post %}
|
|
141
|
+
{% assign category = _category %}
|
|
142
|
+
|
|
143
|
+
{% include {{get_category_item}} category=category %}
|
|
144
|
+
{% include {{select_icon_size}} family=icon_family size=icon_size %}
|
|
145
|
+
{% assign icon_size = size %}
|
|
146
|
+
|
|
147
|
+
{% assign excerpt = post.excerpt | truncatewords: 50 | strip_html | strip_newlines | strip %}
|
|
148
|
+
|
|
149
|
+
<!-- place post -->
|
|
150
|
+
<div class="card card-flat">
|
|
151
|
+
<div class="card-body">
|
|
152
|
+
<!-- <span class="post-meta">{{post.date|date: "%B %d, %Y"}}</span> -->
|
|
153
|
+
<h5 id="{{ 100000 | rand }}" class="card-title">{{ post.title }}</h5>
|
|
154
|
+
<h6 class="notoc card-subtitle text-muted mb-2">{{ post.tagline }}</h6>
|
|
155
|
+
<div class="card-text"><p>{{ excerpt }}</p></div>
|
|
156
|
+
<div class="card-footer">
|
|
157
|
+
<a class="card-link" href="{{post.url}}#readmore" target="_blank">Read more ..</a>
|
|
158
|
+
</div>
|
|
159
|
+
</div>
|
|
160
|
+
</div>
|
|
161
|
+
{% endif %}{% endfor %}
|
|
158
162
|
{% endunless %}{% endfor %}
|
|
159
|
-
|
|
163
|
+
</div>
|
|
160
164
|
|
|
161
165
|
<!-- [INFO ] [j1.page.{{page.title}} ] [Save the current page to cookieUserState cookie: {{ browser_page_url }}] -->
|
|
162
166
|
<script type="text/javascript">
|
|
163
167
|
function setLastPage() {
|
|
168
|
+
var logger = log4javascript.getLogger('j1.BlogNavigator');
|
|
164
169
|
var user_state_last_page = "{{browser_page_url}}";
|
|
165
170
|
j1.setUserStateCookie( {last_page:user_state_last_page} );
|
|
171
|
+
logger.info('Saved current Post Browser page to cookie: {{browser_page_url}}');
|
|
166
172
|
}
|
|
167
173
|
window.onload = setLastPage;
|
|
168
174
|
</script>
|
|
169
|
-
|
|
170
|
-
<script>
|
|
171
|
-
/* Manage the current page settings */
|
|
172
|
-
$(document).ready(function() {
|
|
173
|
-
var user_state_last_page = "{{browser_page_url}}";
|
|
174
|
-
j1.setUserStateCookie( {last_page:user_state_last_page} );
|
|
175
|
-
});
|
|
176
|
-
</script>
|
|
177
|
-
-->
|
|
175
|
+
|
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: InstantSearch
|
|
3
|
+
tagline: Example Media
|
|
4
|
+
description: Using Algolia Index API for static sites
|
|
5
|
+
|
|
6
|
+
tags: []
|
|
7
|
+
resources: [ algolia ]
|
|
8
|
+
permalink: /pages/public/instantsearch/media/
|
|
9
|
+
|
|
10
|
+
resource_options:
|
|
11
|
+
|
|
12
|
+
- toccer:
|
|
13
|
+
collapseDepth: 2
|
|
14
|
+
|
|
15
|
+
- masthead:
|
|
16
|
+
opacity: 0.2
|
|
17
|
+
slides:
|
|
18
|
+
- url: /assets/images/widescreen/featured-1920x800.jpg
|
|
19
|
+
alt: featured-1920x800
|
|
20
|
+
|
|
21
|
+
regenerate: true
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
// Enable the Liquid Preprocessor
|
|
25
|
+
//
|
|
26
|
+
//:page-liquid:
|
|
27
|
+
|
|
28
|
+
// Set other global page attributes here
|
|
29
|
+
// -------------------------------------------------------------------
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
== Site Search
|
|
33
|
+
|
|
34
|
+
lorem:sentences[2]
|
|
35
|
+
|
|
36
|
+
++++
|
|
37
|
+
<header class="row">
|
|
38
|
+
<div><a href="https://community.algolia.com/instantsearch.js/" class="is-logo"><img src="logo-is.png" width="40"></a><a href="./" class="logo">You<i class="fa fa-youtube-play"></i></a></div>
|
|
39
|
+
<div class="searchbox-container">
|
|
40
|
+
<div class="input-group">
|
|
41
|
+
<input id="q" type="text" class="form-control"><span class="input-group-btn">
|
|
42
|
+
<button class="btn btn-default"><i class="fa fa-search"></i></button></span>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
</header>
|
|
46
|
+
<section>
|
|
47
|
+
<aside>
|
|
48
|
+
<ul class="nav nav-list">
|
|
49
|
+
<li><a href=""><i class="fa fa-home"></i> Home</a></li>
|
|
50
|
+
<li class="separator"></li>
|
|
51
|
+
</ul>
|
|
52
|
+
<h5><i class="fa fa-chevron-right"></i> Genres</h5>
|
|
53
|
+
<div id="genres"></div>
|
|
54
|
+
<h5><i class="fa fa-chevron-right"></i> Ratings</h5>
|
|
55
|
+
<div id="ratings"></div>
|
|
56
|
+
<div class="thank-you">Data courtesy of <a href="https://www.imdb.com/">imdb.com</a></div>
|
|
57
|
+
</aside>
|
|
58
|
+
<article>
|
|
59
|
+
<div id="stats" class="text-right text-muted"></div>
|
|
60
|
+
<hr>
|
|
61
|
+
<div id="hits"></div>
|
|
62
|
+
<div id="pagination" class="text-center"></div>
|
|
63
|
+
</article>
|
|
64
|
+
</section>
|
|
65
|
+
++++
|
|
66
|
+
|
|
67
|
+
++++
|
|
68
|
+
<script>
|
|
69
|
+
|
|
70
|
+
var search = instantsearch({
|
|
71
|
+
appId: 'latency',
|
|
72
|
+
apiKey: '6be0576ff61c053d5f9a3225e2a90f76',
|
|
73
|
+
indexName: 'movies',
|
|
74
|
+
routing: true
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
search.addWidget(
|
|
78
|
+
instantsearch.widgets.searchBox({
|
|
79
|
+
container: '#q'
|
|
80
|
+
})
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
search.addWidget(
|
|
84
|
+
instantsearch.widgets.stats({
|
|
85
|
+
container: '#stats'
|
|
86
|
+
})
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
var hitTemplate =
|
|
90
|
+
'<div class="hit media">' +
|
|
91
|
+
'<div class="media-left">' +
|
|
92
|
+
'<div class="media-object" style="background-image: url(\'{{image}}\');"></div>' +
|
|
93
|
+
'</div>' +
|
|
94
|
+
'<div class="media-body">' +
|
|
95
|
+
'<h4 class="media-heading">{{{_highlightResult.title.value}}} {{#stars}}<span class="ais-star-rating--star{{^.}}__empty{{/.}}"></span>{{/stars}}</h4>' +
|
|
96
|
+
'<p class="year">{{year}}</p><p class="genre">{{#genre}}<span class="badge">{{.}}</span> {{/genre}}</p>' +
|
|
97
|
+
'</div>' +
|
|
98
|
+
'</div>';
|
|
99
|
+
|
|
100
|
+
var noResultsTemplate =
|
|
101
|
+
'<div class="text-center">No results found matching <strong>{{query}}</strong>.</div>';
|
|
102
|
+
|
|
103
|
+
search.addWidget(
|
|
104
|
+
instantsearch.widgets.hits({
|
|
105
|
+
container: '#hits',
|
|
106
|
+
hitsPerPage: 10,
|
|
107
|
+
templates: {
|
|
108
|
+
empty: noResultsTemplate,
|
|
109
|
+
item: hitTemplate
|
|
110
|
+
},
|
|
111
|
+
transformData: function(hit) {
|
|
112
|
+
hit.stars = [];
|
|
113
|
+
for (var i = 1; i <= 5; ++i) {
|
|
114
|
+
hit.stars.push(i <= hit.rating);
|
|
115
|
+
}
|
|
116
|
+
return hit;
|
|
117
|
+
}
|
|
118
|
+
})
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
search.addWidget(
|
|
122
|
+
instantsearch.widgets.pagination({
|
|
123
|
+
container: '#pagination',
|
|
124
|
+
cssClasses: {
|
|
125
|
+
root: 'pagination',
|
|
126
|
+
active: 'active'
|
|
127
|
+
}
|
|
128
|
+
})
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
search.addWidget(
|
|
132
|
+
instantsearch.widgets.refinementList({
|
|
133
|
+
container: '#genres',
|
|
134
|
+
attributeName: 'genre',
|
|
135
|
+
operator: 'and',
|
|
136
|
+
limit: 10,
|
|
137
|
+
cssClasses: {
|
|
138
|
+
list: 'nav nav-list',
|
|
139
|
+
count: 'badge pull-right',
|
|
140
|
+
active: 'active'
|
|
141
|
+
}
|
|
142
|
+
})
|
|
143
|
+
);
|
|
144
|
+
|
|
145
|
+
search.addWidget(
|
|
146
|
+
instantsearch.widgets.starRating({
|
|
147
|
+
container: '#ratings',
|
|
148
|
+
attributeName: 'rating',
|
|
149
|
+
cssClasses: {
|
|
150
|
+
list: 'nav',
|
|
151
|
+
count: 'badge pull-right'
|
|
152
|
+
}
|
|
153
|
+
})
|
|
154
|
+
);
|
|
155
|
+
|
|
156
|
+
search.start();
|
|
157
|
+
|
|
158
|
+
</script>
|
|
159
|
+
++++
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
++++
|
|
163
|
+
<style>
|
|
164
|
+
|
|
165
|
+
body {
|
|
166
|
+
min-height: 100%;
|
|
167
|
+
font-family: Roboto;
|
|
168
|
+
background: #F1F1F1;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
a {
|
|
172
|
+
color: #333333;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
hr {
|
|
176
|
+
margin: 10px 14px;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.is-logo {
|
|
180
|
+
float: left;
|
|
181
|
+
margin-left: 18px;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.logo {
|
|
185
|
+
margin-left: 15px;
|
|
186
|
+
font-size: 30px;
|
|
187
|
+
font-weight: bold;
|
|
188
|
+
float: left;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.logo:hover {
|
|
192
|
+
text-decoration: none;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.logo i {
|
|
196
|
+
margin-left: 5px;
|
|
197
|
+
color: #E91D00;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
header {
|
|
201
|
+
background: #FFFFFF;
|
|
202
|
+
padding: 10px;
|
|
203
|
+
border-bottom: 1px solid #E8E8E8;
|
|
204
|
+
position: fixed;
|
|
205
|
+
top: 0;
|
|
206
|
+
left: 0;
|
|
207
|
+
right: 0;
|
|
208
|
+
z-index: 2;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
header .searchbox-container {
|
|
212
|
+
margin-left: 240px;
|
|
213
|
+
max-width: 400px;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
header .searchbox-container .ais-search-box {
|
|
217
|
+
max-width: inherit;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
header .searchbox-container .ais-search-box #q {
|
|
221
|
+
border-radius: 0;
|
|
222
|
+
padding-bottom: 7px;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
header .searchbox-container .input-group {
|
|
226
|
+
margin-top: 5px;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
header .searchbox-container .input-group .form-control:focus {
|
|
230
|
+
outline: none;
|
|
231
|
+
box-shadow: none;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
header .searchbox-container .input-group .input-group-btn button {
|
|
235
|
+
padding-left: 20px;
|
|
236
|
+
padding-right: 20px;
|
|
237
|
+
background: #F8F8F8;
|
|
238
|
+
border-radius: 0;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
section {
|
|
242
|
+
background: #F1F1F1;
|
|
243
|
+
min-height: 100%;
|
|
244
|
+
z-index: 1;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
section aside {
|
|
248
|
+
position: fixed;
|
|
249
|
+
top: 70px;
|
|
250
|
+
left: 0;
|
|
251
|
+
bottom: 10px;
|
|
252
|
+
width: 230px;
|
|
253
|
+
background: #FFFFFF;
|
|
254
|
+
border-right: 1px solid #E8E8E8;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
section aside .nav {
|
|
258
|
+
margin: 0 20px;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
section aside .nav li a {
|
|
262
|
+
display: block;
|
|
263
|
+
padding: 2px 10px;
|
|
264
|
+
margin: 10px 0;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
section aside .nav li a:hover {
|
|
268
|
+
color: #FFFFFF;
|
|
269
|
+
background: #333333;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
section aside .nav li.separator {
|
|
273
|
+
height: 1px;
|
|
274
|
+
background: #E8E8E8;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
section aside h5 {
|
|
278
|
+
color: #CE1312;
|
|
279
|
+
margin-left: 30px;
|
|
280
|
+
text-transform: uppercase;
|
|
281
|
+
font-size: 10px;
|
|
282
|
+
margin-top: 20px;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
section aside .badge {
|
|
286
|
+
font-size: .8em;
|
|
287
|
+
background: #BBBBBB;
|
|
288
|
+
position: relative;
|
|
289
|
+
top: 1px;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
section aside #genres label {
|
|
293
|
+
display: block;
|
|
294
|
+
cursor: pointer;
|
|
295
|
+
padding: 4px 4px 4px 8px;
|
|
296
|
+
font-weight: normal;
|
|
297
|
+
font-size: .9em;
|
|
298
|
+
margin: 0 0 -1px;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
section aside #genres label:hover {
|
|
302
|
+
color: #FFFFFF;
|
|
303
|
+
background: #333333;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
section aside #genres label input {
|
|
307
|
+
display: none;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
section aside #genres .active label {
|
|
311
|
+
border: 1px solid #CE1312;
|
|
312
|
+
margin-top: -1px;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
section aside #genres .active .badge {
|
|
316
|
+
background: #333333;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
section aside #ratings {
|
|
320
|
+
margin-left: 10px;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
section aside #ratings .ais-stars-list--link {
|
|
324
|
+
font-size: .9em;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
section aside #ratings .ais-stars-list--link:hover,
|
|
328
|
+
section aside #ratings .ais-stars-list--link:active,
|
|
329
|
+
section aside #ratings .ais-stars-list--link:focus {
|
|
330
|
+
text-decoration: none;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
section aside #ratings .ais-stars-list--count {
|
|
334
|
+
font-size: 8px;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
section aside #ratings .ais-star-rating--item {
|
|
338
|
+
margin-bottom: 6px;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
section aside #ratings .ais-star-rating--item__active a {
|
|
342
|
+
color: #CE1312;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
section article {
|
|
346
|
+
margin-top: 70px;
|
|
347
|
+
margin-bottom: 10px;
|
|
348
|
+
margin-left: 237px;
|
|
349
|
+
margin-right: 10px;
|
|
350
|
+
padding: 10px 0;
|
|
351
|
+
max-width: 100%;
|
|
352
|
+
background: #FFFFFF;
|
|
353
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
section article #stats {
|
|
357
|
+
padding-right: 14px;
|
|
358
|
+
font-size: .8em;
|
|
359
|
+
line-height: 24px;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
section article #hits {
|
|
363
|
+
padding: 0 15px;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
section article #pagination .pagination a {
|
|
367
|
+
background: #F8F8F8;
|
|
368
|
+
padding: 3px 8px;
|
|
369
|
+
color: #333333;
|
|
370
|
+
margin-right: 4px;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
section article #pagination .pagination a.active {
|
|
374
|
+
border-color: #b5b5b5;
|
|
375
|
+
background: #E8E8E8;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
section article #pagination .pagination a:hover {
|
|
379
|
+
border-color: #cfcfcf;
|
|
380
|
+
background: #ebebeb;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
section article .hit {
|
|
384
|
+
margin-bottom: 10px;
|
|
385
|
+
height: 130px;
|
|
386
|
+
border: 1px solid #F3F3F3;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
section article .hit em {
|
|
390
|
+
font-style: normal;
|
|
391
|
+
background: #FFFFD4;
|
|
392
|
+
text-decoration: underline;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
section article .hit .media-object {
|
|
396
|
+
height: 130px;
|
|
397
|
+
width: 130px;
|
|
398
|
+
overflow: hidden;
|
|
399
|
+
background-size: contain;
|
|
400
|
+
background-repeat: no-repeat;
|
|
401
|
+
background-position: center center;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
section article .hit .media-heading {
|
|
405
|
+
color: #167AC6;
|
|
406
|
+
font-weight: normal;
|
|
407
|
+
font-size: 18px;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
section .thank-you {
|
|
411
|
+
font-size: .8em;
|
|
412
|
+
margin-top: 18px;
|
|
413
|
+
margin-left: 30px;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
section .thank-you a {
|
|
417
|
+
color: #CE1312;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
.ais-search-box--input {
|
|
421
|
+
padding-left: 14px;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
.genre,
|
|
425
|
+
.year {
|
|
426
|
+
margin: 12px 0;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
.year {
|
|
430
|
+
font-weight: bold;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
.genre .badge {
|
|
434
|
+
background: #BBBBBB;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
</style>
|
|
438
|
+
++++
|