j1-template 2023.0.3 → 2023.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/layouts/content_generator_collection.html +26 -74
- data/_includes/themes/j1/procedures/collections/create_collection_article_preview.proc +64 -19
- data/_includes/themes/j1/procedures/collections/pager.proc +127 -0
- data/_includes/themes/j1/procedures/posts/pager.proc +4 -4
- data/assets/data/banner.html +2 -2
- data/assets/data/panel.html +130 -141
- data/assets/themes/j1/adapter/js/themer.js +106 -85
- data/assets/themes/j1/modules/themeSwitcher/js/_unsued/switcher.1.js +454 -0
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/README.md +5 -5
- data/lib/starter_web/_config.yml +16 -19
- data/lib/starter_web/_data/blocks/panel.yml +1 -1
- data/lib/starter_web/_data/modules/attics.yml +2 -2
- data/lib/starter_web/_data/modules/scroller.yml +5 -5
- data/lib/starter_web/_data/templates/feed.xml +1 -1
- data/lib/starter_web/_plugins/index/lunr.rb +1 -1
- data/lib/starter_web/assets/images/{triangles-bg.png → backgrounds/triangles-bg.png} +0 -0
- data/lib/starter_web/assets/images/{agency/img/logos → icons/scalable}/facebook.svg +0 -0
- data/lib/starter_web/assets/images/{agency/img/logos → icons/scalable}/google.svg +0 -0
- data/lib/starter_web/assets/images/{agency/img/logos → icons/scalable}/ibm.svg +0 -0
- data/lib/starter_web/assets/images/{agency/img/logos → icons/scalable}/microsoft.svg +0 -0
- data/lib/starter_web/collections/_biography/a-life-in-questions.adoc +98 -0
- data/lib/starter_web/collections/_biography/becoming.adoc +89 -0
- data/lib/starter_web/collections/_biography/born-to-run.adoc +92 -0
- data/lib/starter_web/collections/_biography/forty-autumns.adoc +91 -0
- data/lib/starter_web/collections/_biography/not-dead-yet.adoc +85 -0
- data/lib/starter_web/collections/_biography/princess-diarist-the.adoc +88 -0
- data/lib/starter_web/collections/_biography/when-breath-becomes-air.adoc +90 -0
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +1 -0
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +1 -0
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +1 -0
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +1 -0
- data/lib/starter_web/pages/public/blog/navigator/index.html +2 -1
- data/lib/starter_web/pages/public/bookshelf/viewer_biography.adoc +62 -0
- data/lib/starter_web/pages/public/bookshelf/whats_up.adoc +287 -0
- data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +1 -0
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +18 -36
- data/lib/starter_web/_includes/custom/agency/portfolio.html +0 -67
- data/lib/starter_web/_includes/custom/agency/services.html +0 -35
- data/lib/starter_web/_includes/custom/agency/team.html +0 -29
- data/lib/starter_web/assets/images/agency/img/about/1.jpg +0 -0
- data/lib/starter_web/assets/images/agency/img/about/2.jpg +0 -0
- data/lib/starter_web/assets/images/agency/img/about/3.jpg +0 -0
- data/lib/starter_web/assets/images/agency/img/about/4.jpg +0 -0
- data/lib/starter_web/assets/images/agency/img/close-icon.svg +0 -1
- data/lib/starter_web/assets/images/agency/img/header-bg.jpg +0 -0
- data/lib/starter_web/assets/images/agency/img/map-image.png +0 -0
- data/lib/starter_web/assets/images/agency/img/navbar-logo.svg +0 -1
- data/lib/starter_web/assets/images/agency/img/portfolio/1.jpg +0 -0
- data/lib/starter_web/assets/images/agency/img/portfolio/2.jpg +0 -0
- data/lib/starter_web/assets/images/agency/img/portfolio/3.jpg +0 -0
- data/lib/starter_web/assets/images/agency/img/portfolio/4.jpg +0 -0
- data/lib/starter_web/assets/images/agency/img/portfolio/5.jpg +0 -0
- data/lib/starter_web/assets/images/agency/img/portfolio/6.jpg +0 -0
- data/lib/starter_web/assets/images/agency/img/screenshot.png +0 -0
- data/lib/starter_web/assets/images/agency/img/team/1.jpg +0 -0
- data/lib/starter_web/assets/images/agency/img/team/2.jpg +0 -0
- data/lib/starter_web/assets/images/agency/img/team/3.jpg +0 -0
- data/lib/starter_web/pages/public/learn/mweb/mweb-tester.adoc +0 -299
- data/lib/starter_web/pages/public/learn/mweb/static/index.css +0 -237
- data/lib/starter_web/pages/public/learn/mweb/static/index.js +0 -1138
- data/lib/starter_web/pages/public/learn/mweb/static/lodash.min.js +0 -140
- data/lib/starter_web/pages/public/learn/mweb/static/socket.io/socket.io.js +0 -4570
- data/lib/starter_web/pages/public/learn/mweb/static/socket.io/socket.io.min.js +0 -7
- data/lib/starter_web/pages/public/learn/mweb/static/video-js.min.css +0 -1
- data/lib/starter_web/pages/public/learn/mweb/static/video.min.js +0 -26
@@ -150,6 +150,7 @@ site_category_word_list: {{site_category_word_list | debug}}
|
|
150
150
|
<!-- [INFO ] [ {{page.url}} ] [Generate HTML}] -->
|
151
151
|
<div class="paginator ml-3">
|
152
152
|
<ul class="pagination raised-z0">
|
153
|
+
<li class="page-item"><a class="page-link" href="/" title="Home">Home</a></li>
|
153
154
|
<li class="page-item"><a class="page-link" href="{{navigator}}" alt="Blog View">Navigator</a></li>
|
154
155
|
<li class="page-item"><a class="page-link" href="{{category_view}}" alt="View by Category">{{category_view_button_text}}</a></li>
|
155
156
|
<li class="page-item"><a class="page-link" href="{{date_view}}" alt="View by Date">{{date_view_button_text}}</a></li>
|
@@ -185,6 +185,7 @@ site_category_word_list: {{site_category_word_list | debug}}
|
|
185
185
|
<!-- [INFO ] [ {{page.url}} ] [Generate HTML}] -->
|
186
186
|
<div class="paginator ml-3">
|
187
187
|
<ul class="pagination raised-z0">
|
188
|
+
<li class="page-item"><a class="page-link" href="/" title="Home">Home</a></li>
|
188
189
|
<!-- li class="page-item"><a class="page-link" href="{{navigator|prepend: site.baseurl}}" alt="Blog Navigator">Navigator</a></li -->
|
189
190
|
<li class="page-item"><a class="page-link" href="{{navigator|remove_first:archive}}" alt="Blog Navigator">Navigator</a></li>
|
190
191
|
<li class="page-item"><a class="page-link" href="{{date_view}}" alt="View by Date">{{date_view_button_text}}</a></li>
|
@@ -151,6 +151,7 @@ site_category_word_list: {{site_category_word_list | debug}}
|
|
151
151
|
<!-- [INFO ] [ {{page.url}} ] [Generate HTML}] -->
|
152
152
|
<div class="paginator ml-3">
|
153
153
|
<ul class="pagination raised-z0">
|
154
|
+
<li class="page-item"><a class="page-link" href="/" title="Home">Home</a></li>
|
154
155
|
<!-- li class="page-item"><a class="page-link" href="{{navigator|prepend: site.baseurl}}" alt="Blog Navigator">Navigator</a></li -->
|
155
156
|
<li class="page-item"><a class="page-link" href="{{navigator}}" alt="Blog Navigator">Navigator</a></li>
|
156
157
|
<li class="page-item"><a class="page-link" href="{{category_view}}" alt="View by Category">{{category_view_button_text}}</a></li>
|
@@ -175,6 +175,7 @@ site_category_word_list: {{site_category_word_list | debug}}
|
|
175
175
|
|
176
176
|
<div class="paginator ml-3">
|
177
177
|
<ul class="pagination raised-z0">
|
178
|
+
<li class="page-item"><a class="page-link" href="/" title="Home">Home</a></li>
|
178
179
|
<li class="page-item"><a class="page-link" href="{{navigator}}" alt="Blog View">Navigator</a></li>
|
179
180
|
<li class="page-item"><a class="page-link" href="{{date_view}}" alt="View by Date">By Date</a></li>
|
180
181
|
<li class="page-item"><a class="page-link" href="{{category_view}}" alt="View by Category">By Category</a></li>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
---
|
2
2
|
layout: page
|
3
|
-
title:
|
3
|
+
title: Agency Blog
|
4
4
|
tagline: Explore Posts
|
5
5
|
date: 2022-01-01 01:00:00
|
6
6
|
description: >
|
@@ -169,6 +169,7 @@ resource_options:
|
|
169
169
|
<div class="navigator-headline">
|
170
170
|
<nav class="paginator">
|
171
171
|
<ul class="pagination raised-z0">
|
172
|
+
<li class="page-item"><a class="page-link" href="/" title="Home">Home</a></li>
|
172
173
|
<li class="page-item"><a class="page-link" href="{{category_view}}" alt="View by Category">{{category_view_button_text}}</a></li>
|
173
174
|
<li class="page-item"><a class="page-link" href="{{date_view}}" alt="View by Date">{{date_view_button_text}}</a></li>
|
174
175
|
<!-- li class="page-item"><a class="page-link" href="{{tag_view}}" alt="{{tag_view_button_text}}">By Tag</a></li -->
|
@@ -0,0 +1,62 @@
|
|
1
|
+
---
|
2
|
+
title: Biography
|
3
|
+
tagline: Today's People
|
4
|
+
date: 2023-01-29 00:00:00
|
5
|
+
description: >
|
6
|
+
Today's people is a collection contains the biography's
|
7
|
+
of celebrities well known by most of us. Find the books issued
|
8
|
+
by musicans, actors and more.
|
9
|
+
|
10
|
+
|
11
|
+
categories: [ Jekyll, Collection ]
|
12
|
+
tags: [ Preview, Bookshelf ]
|
13
|
+
|
14
|
+
fab_menu_id: open_toc
|
15
|
+
|
16
|
+
permalink: /pages/public/bookshelf/biography/
|
17
|
+
regenerate: true
|
18
|
+
|
19
|
+
resources: []
|
20
|
+
resource_options:
|
21
|
+
- attic:
|
22
|
+
padding_top: 400
|
23
|
+
padding_bottom: 50
|
24
|
+
opacity: 0.5
|
25
|
+
slides:
|
26
|
+
- url: /assets/images/modules/attics/giammarco-boscaro-1920x1280.jpg
|
27
|
+
alt: giammarco-boscaro-1920x1280
|
28
|
+
---
|
29
|
+
|
30
|
+
// Page Initializer
|
31
|
+
// =============================================================================
|
32
|
+
// Enable the Liquid Preprocessor
|
33
|
+
:page-liquid:
|
34
|
+
|
35
|
+
// Set page (local) attributes here
|
36
|
+
// -----------------------------------------------------------------------------
|
37
|
+
// :page--attr: <attr-value>
|
38
|
+
|
39
|
+
{% comment %} Liquid procedures
|
40
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
41
|
+
{% capture create_collection_article_preview %}themes/{{site.template.name}}/procedures/collections/create_collection_article_preview.proc{% endcapture %}
|
42
|
+
|
43
|
+
{% comment %} Debugging
|
44
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
45
|
+
{% comment %} site.biography: {{ site.biography | debug }} {% endcomment %}
|
46
|
+
|
47
|
+
|
48
|
+
// Content
|
49
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
50
|
+
[[navigator]]
|
51
|
+
lorem:sentences[8]
|
52
|
+
|
53
|
+
[role="mb-6"]
|
54
|
+
lorem:sentences[3]
|
55
|
+
|
56
|
+
++++
|
57
|
+
<div class="row mb-4">
|
58
|
+
<div class="col-md-12 col-xs-12">
|
59
|
+
{% include {{create_collection_article_preview}} collection=site.biography %}
|
60
|
+
</div>
|
61
|
+
</div>
|
62
|
+
++++
|
@@ -0,0 +1,287 @@
|
|
1
|
+
---
|
2
|
+
layout: page
|
3
|
+
|
4
|
+
title: What's up
|
5
|
+
tagline: Jekyll Collections Overview
|
6
|
+
date: 2020-11-03 12:00:00
|
7
|
+
description: >
|
8
|
+
Jekyll Collections Overview
|
9
|
+
categories: [ Jekyll, Collection ]
|
10
|
+
tags: [ Info, Overview ]
|
11
|
+
|
12
|
+
fam: true
|
13
|
+
fam_menu_id: open_toc
|
14
|
+
|
15
|
+
permalink: /pages/public/collections/whats_up/
|
16
|
+
regenerate: false
|
17
|
+
|
18
|
+
resource_options:
|
19
|
+
- attic:
|
20
|
+
padding_top: 400
|
21
|
+
padding_bottom: 50
|
22
|
+
opacity: 0.5
|
23
|
+
slides:
|
24
|
+
- url: /assets/images/modules/attics/giammarco-boscaro-1920x1280.jpg
|
25
|
+
alt: giammarco-boscaro-1920x1280
|
26
|
+
|
27
|
+
regenerate: false
|
28
|
+
---
|
29
|
+
|
30
|
+
// Page Initializer
|
31
|
+
// =============================================================================
|
32
|
+
// Enable the Liquid Preprocessor
|
33
|
+
:page-liquid:
|
34
|
+
|
35
|
+
// Set page (local) attributes here
|
36
|
+
// -----------------------------------------------------------------------------
|
37
|
+
// :page--attr: <attr-value>
|
38
|
+
|
39
|
+
// Place an excerpt at the most top position
|
40
|
+
// -----------------------------------------------------------------------------
|
41
|
+
Collections are Jekyll's most powerful and simultaneously least understood
|
42
|
+
feature. Collections add another possibility, or use-case, outside of Jekyll's
|
43
|
+
post- and page-publishing functionality. Collections have the potential to
|
44
|
+
bring Jekyll's zen-like simplicity to all sorts of other types of content that
|
45
|
+
aren't ordered as with posts (ordered by date), but have a set *relationship*
|
46
|
+
with one another - hence the name: _collection_.
|
47
|
+
|
48
|
+
[role="clearfix mb-3"]
|
49
|
+
excerpt__end
|
50
|
+
|
51
|
+
|
52
|
+
// Content
|
53
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
54
|
+
[[readmore]]
|
55
|
+
== Traditional - Posts and pages
|
56
|
+
|
57
|
+
Source: https://ben.balter.com/2015/02/20/jekyll-collections/[Ben Balter: Jekyll Collections]
|
58
|
+
|
59
|
+
{% if page.image.name %}
|
60
|
+
.{{page.tagline}}
|
61
|
+
[role="mb-5"]
|
62
|
+
image::{{page.image.name}}[{{page.title}}]
|
63
|
+
{% endif %}
|
64
|
+
|
65
|
+
Most Jekyll sites are organized around two types of content, posts (ordered)
|
66
|
+
and pages (un-ordered).
|
67
|
+
|
68
|
+
* *http://jekyllrb.com/docs/posts/[Posts]* are organized reverse
|
69
|
+
chronologically. You might use them for blog posts on a personal blog,
|
70
|
+
or articles on a news site. You can recognize a post by its filename.
|
71
|
+
Posts live in the `_posts` folder, and are always named in the form of
|
72
|
+
`YYYY-MM-DD-post-title.md`. Because posts are dated, they're
|
73
|
+
traditionally not updated regularly once published.
|
74
|
+
|
75
|
+
* *http://jekyllrb.com/docs/pages/[Pages]* are documents that don't have
|
76
|
+
a relationship with one another. They can live anywhere within the
|
77
|
+
site's source directory and don't have a set naming pattern. If you have
|
78
|
+
a personal blog, you might have an `index.html` page
|
79
|
+
(https://ben.balter.com/[the site's main page which is used to list
|
80
|
+
posts]), or https://ben.balter.com/about/[an about me page], to name two
|
81
|
+
examples. Because pages aren't date specific, pages are often updated
|
82
|
+
over time to maintain accuracy.
|
83
|
+
|
84
|
+
The problem is, not everything you might want to publish using a Jekyll
|
85
|
+
falls cleanly into the those two categories of content. As I noted in
|
86
|
+
https://github.com/jekyll/jekyll/issues/1941[the original pitch], "If
|
87
|
+
people are using blog posts for a non-blog post thing, Jekyll has
|
88
|
+
already failed". That's where Jekyll's
|
89
|
+
http://jekyllrb.com/docs/collections/[collections] come in.
|
90
|
+
|
91
|
+
|
92
|
+
== Not a post, a page - but a collection?
|
93
|
+
|
94
|
+
Collections add another possibility, or use-case, outside of Jekyll's
|
95
|
+
post- and page-publishing functionality. Collections have the potential to
|
96
|
+
bring Jekyll's zen-like simplicity to all sorts of other types of content that
|
97
|
+
aren't ordered as with posts (ordered by date), but have a set _relationship_
|
98
|
+
with one another - hence the name: _collection_. If you're familiar with
|
99
|
+
traditional CMS's, you can think of collections like
|
100
|
+
http://codex.wordpress.org/Post_Types[WordPress custom post types] or
|
101
|
+
https://www.drupal.org/node/774728[Drupal custom content types], except
|
102
|
+
you do not need to program a specific class, learn any back-end
|
103
|
+
languages, and the syntax used to specify them is very easily readable.
|
104
|
+
|
105
|
+
What then, might you use collections for? Let's say you're making a
|
106
|
+
website for a bakery and want to list the different cupcakes varieties
|
107
|
+
you sell. You might use a collection called *cupcakes*. You'd create a
|
108
|
+
`_cupcakes` folder, and would add `chocolate.md` or `vanilla.md` to it.
|
109
|
+
And just like posts or pages, your list of cupcakes would be accessible
|
110
|
+
as `site.cupcakes`.
|
111
|
+
|
112
|
+
You wouldn't want to use posts here, because cupcakes aren't
|
113
|
+
chronological, and likely wouldn't want to just use a page here, because
|
114
|
+
it's a notably different animal than a document that lists your location
|
115
|
+
and hours. Each cupcake in the cupcakes collection is related to
|
116
|
+
one-another in the sense that they're all cupcakes.
|
117
|
+
|
118
|
+
[NOTE]
|
119
|
+
====
|
120
|
+
Collections are a very new feature to Jekyll, and according to the
|
121
|
+
official documentation may be subject to change
|
122
|
+
http://jekyllrb.com/docs/collections/[Jekyll Documentation on
|
123
|
+
Collections]; but you should not let that put you off of using them,
|
124
|
+
because Jekyll is open-source, which means you should trust the
|
125
|
+
community to work-together for the best common-case solution.
|
126
|
+
====
|
127
|
+
|
128
|
+
|
129
|
+
=== Collections in practice
|
130
|
+
|
131
|
+
But what if one day you decided to expand your offerings and sell
|
132
|
+
cookies in addition to cupcakes. Simply introduce a "cookies"
|
133
|
+
collection, adding `chocolate-chip.md` and `peanut-butter.md` to a
|
134
|
+
`_cookies` directory, exposing the cookies as `site.cookies`. You'll
|
135
|
+
notice the collections concept start to show its value here. Pages
|
136
|
+
wouldn't make sense here, because you'd want to be able to list cupcakes
|
137
|
+
and cookies separately, and besides for both being baked goods, the one
|
138
|
+
cookie doesn't really share a relationship with a cupcake, at least not
|
139
|
+
in the same sense that cookies share with one another.
|
140
|
+
|
141
|
+
Of course you could at this stage, choose to have a more generic
|
142
|
+
collection `products`, which you could develop liquid layouts for, so
|
143
|
+
that you and other developers could get the basic functionality needed
|
144
|
+
to display all products, with specific includes for `cupcakes` and
|
145
|
+
`cookies`.
|
146
|
+
|
147
|
+
Abstractly, because they're not outputted by default, you can think of
|
148
|
+
collections somewhat like http://jekyllrb.com/docs/datafiles/[Jekyll's
|
149
|
+
`_data` folder support], but with the potential to generate content, and
|
150
|
+
be placed into their own specific part of your Jekyll site, so a lot
|
151
|
+
more robust. Like `_data` files, they can support arbitrary key/values
|
152
|
+
through frontmatter, but they also support a full content body (like
|
153
|
+
posts and pages), and can be broken out into separate files. If I wanted
|
154
|
+
to break out my bakery's hours, I might have a `_data/hours.yml` file
|
155
|
+
that looked something like this:
|
156
|
+
|
157
|
+
[source,yaml]
|
158
|
+
----
|
159
|
+
monday: 9-5
|
160
|
+
tuesday: 9-5
|
161
|
+
wednesday: 9-5
|
162
|
+
thursday: 9-5
|
163
|
+
friday: 9-3
|
164
|
+
----
|
165
|
+
|
166
|
+
That makes sense, because my bakery's hours is a relatively small
|
167
|
+
dataset. But trying to represent all my baked goods in that format (or
|
168
|
+
worse posts), would quickly get out of hand. That type of information is
|
169
|
+
better represented as individual markdown files with front matter, not
|
170
|
+
one giant YAML file that will quickly become unwieldy with complexity;
|
171
|
+
and rather than create the data, and pages to display the data, or the
|
172
|
+
data and a plugin to turn it into pages; using collections allows the
|
173
|
+
site owner to focus on the content.
|
174
|
+
|
175
|
+
For a more concrete example, take a look at
|
176
|
+
https://github.com/github/choosealicense.com[the source] for
|
177
|
+
http://choosealicense.com[choosealicense.com] a site which helps explain
|
178
|
+
OpenSource licenses like the MIT or GPL license. There are pages like
|
179
|
+
"about" and "terms of service", but the actual licenses live in
|
180
|
+
https://github.com/github/choosealicense.com/tree/gh-pages/_licenses[a
|
181
|
+
licenses collection] and are displayed via
|
182
|
+
https://github.com/github/choosealicense.com/blob/gh-pages/licenses.html[a
|
183
|
+
licensed page].
|
184
|
+
|
185
|
+
=== Other use-cases
|
186
|
+
|
187
|
+
Of course this is not the only use-case, which is one of the benefits of
|
188
|
+
collections. You can turn on content generation to have the collection
|
189
|
+
contents automatically generated, or use the where syntax to get the
|
190
|
+
contents of specific collections to add common content, or devices to
|
191
|
+
your site.
|
192
|
+
|
193
|
+
|
194
|
+
== Using collections
|
195
|
+
|
196
|
+
The examples above were a slight simplification. There's one other step.
|
197
|
+
Before you can use a collection, you need to tell Jekyll about it. Going
|
198
|
+
back to our bakery example above, I might have a `_config.yml` file that
|
199
|
+
looks something like this:
|
200
|
+
|
201
|
+
[source,yaml]
|
202
|
+
----
|
203
|
+
collections:
|
204
|
+
- cupcakes
|
205
|
+
- cookies
|
206
|
+
----
|
207
|
+
|
208
|
+
This tells Jekyll to look in the `_cupcakes` and `_cookies` folders
|
209
|
+
for documents, and to read them into the appropriate collection, including
|
210
|
+
http://jekyllrb.com/docs/frontmatter/[YAML front matter], just as it
|
211
|
+
would posts (but again, without the date, because collection documents
|
212
|
+
aren't date specific).
|
213
|
+
|
214
|
+
By default, collections are read in (and exposed as `site.[collection]`,
|
215
|
+
an alias per-collection), but not included in the final site; at least
|
216
|
+
not individually like you might expect posts or pages to. If you wanted
|
217
|
+
a page for each type of cupcake, you'd have to modify the `_config.yml`
|
218
|
+
a bit:
|
219
|
+
|
220
|
+
[source,yaml]
|
221
|
+
----
|
222
|
+
collections:
|
223
|
+
cupcakes:
|
224
|
+
output: true
|
225
|
+
permalink: /cupcakes/:path/
|
226
|
+
----
|
227
|
+
|
228
|
+
That way, `_cupcakes/chocolate.md` is outputted as
|
229
|
+
`cupcakes/chocolate/index.html` when the site is built and would be
|
230
|
+
accessible as `example.com/cupcakes/chocolate/`. The other advantage,
|
231
|
+
is, because the data is now structured and machine readable (rather than
|
232
|
+
in plain text), you could also use the `jsonify` filter to output that
|
233
|
+
same information as an API for use elsewhere.
|
234
|
+
|
235
|
+
|
236
|
+
=== When to use a post, a page, or a collection
|
237
|
+
|
238
|
+
I like to think the decision looks roughly like this:
|
239
|
+
|
240
|
+
[source,console]
|
241
|
+
----
|
242
|
+
+-------------------------------------+ +----------------+
|
243
|
+
| Can the things be logically grouped?|---No--->| Use pages |
|
244
|
+
+-------------------------------------+ +----------------+
|
245
|
+
|
|
246
|
+
Yes
|
247
|
+
|
|
248
|
+
V
|
249
|
+
+-------------------------------------+ +----------------+
|
250
|
+
| Are they grouped by date? |---No--->|Use a collection|
|
251
|
+
+-------------------------------------+ +----------------+
|
252
|
+
|
|
253
|
+
Yes
|
254
|
+
|
|
255
|
+
V
|
256
|
+
+-------------------------------------+
|
257
|
+
| Use posts |
|
258
|
+
+-------------------------------------+
|
259
|
+
----
|
260
|
+
|
261
|
+
So if you're not about to open a bakery (if you do, please send
|
262
|
+
cookies); what might you use collections for? In short, any discrete
|
263
|
+
group of "things" that can be logically grouped by a common theme
|
264
|
+
(that's not their date). Here's a few examples:
|
265
|
+
|
266
|
+
* Listing employees on your company's "about" page (or a project's
|
267
|
+
maintainers)
|
268
|
+
* Documenting methods in an OpenSource project (or the project's that
|
269
|
+
use it, or the plugins available)
|
270
|
+
* Organizing jobs on your résumé (or talks given, papers written)
|
271
|
+
* https://github.com/blog/1939-how-github-uses-github-to-document-GitHub[Articles
|
272
|
+
on a support site]
|
273
|
+
* Recipes on your personal blog (or restaurant reviews, or dishes on a
|
274
|
+
menu)
|
275
|
+
* Students in a class (or courses being offered, or listing the faculty)
|
276
|
+
* Cheats, tips, tricks and walkthroughs for games (by platform)
|
277
|
+
* Creating re-usable content snippets for your site such as
|
278
|
+
testimonials, forms, sentences, buzz-words or call-outs
|
279
|
+
* And honestly just about anything else
|
280
|
+
|
281
|
+
Collections are a powerful (and often misunderstood) Jekyll feature, but
|
282
|
+
hopefully you've now got an idea or two for your next Jekyll project. Of
|
283
|
+
course, if you're looking to dig in to collections, be sure to check out
|
284
|
+
http://jekyllrb.com/docs/collections/[the formal documentation] for a
|
285
|
+
much more in-depth explanation.
|
286
|
+
|
287
|
+
Happy Jekylling!
|
@@ -2986,6 +2986,7 @@ endif::[]
|
|
2986
2986
|
theme_slogans.UnoLight = 'A touch of light';
|
2987
2987
|
theme_slogans.UnoDark = 'A night mode style';
|
2988
2988
|
theme_slogans.Bootstrap = 'Bootstrap V5 default theme';
|
2989
|
+
theme_slogans.Agency = 'A popular Bootstrap V5 theme from StartBootstrap';
|
2989
2990
|
|
2990
2991
|
theme_slogans.Cerulean = 'A calm blue sky';
|
2991
2992
|
theme_slogans.Cosmo = 'An ode to Metro';
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: j1-template
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2023.0.
|
4
|
+
version: 2023.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- juergen_jekyll_one
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01-
|
11
|
+
date: 2023-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -266,6 +266,7 @@ files:
|
|
266
266
|
- _includes/themes/j1/procedures/blocks/footer/boxes/social_media_icons.proc
|
267
267
|
- _includes/themes/j1/procedures/blocks/get_wave.proc
|
268
268
|
- _includes/themes/j1/procedures/collections/create_collection_article_preview.proc
|
269
|
+
- _includes/themes/j1/procedures/collections/pager.proc
|
269
270
|
- _includes/themes/j1/procedures/global/attributes_loader.proc
|
270
271
|
- _includes/themes/j1/procedures/global/collect_frontmatter_options.proc
|
271
272
|
- _includes/themes/j1/procedures/global/collect_page_options.proc
|
@@ -1577,6 +1578,7 @@ files:
|
|
1577
1578
|
- assets/themes/j1/modules/sponsors/css/plans.css
|
1578
1579
|
- assets/themes/j1/modules/themeSwitcher/LICENSE
|
1579
1580
|
- assets/themes/j1/modules/themeSwitcher/README.md
|
1581
|
+
- assets/themes/j1/modules/themeSwitcher/js/_unsued/switcher.1.js
|
1580
1582
|
- assets/themes/j1/modules/themeSwitcher/js/switcher.js
|
1581
1583
|
- assets/themes/j1/modules/themeSwitcher/js/switcher.min.js
|
1582
1584
|
- assets/themes/j1/modules/translator/css/translator.css
|
@@ -1848,9 +1850,6 @@ files:
|
|
1848
1850
|
- lib/starter_web/_data/utilities/util_srv.yml
|
1849
1851
|
- lib/starter_web/_includes/attributes.asciidoc
|
1850
1852
|
- lib/starter_web/_includes/breadcrumbs.html
|
1851
|
-
- lib/starter_web/_includes/custom/agency/portfolio.html
|
1852
|
-
- lib/starter_web/_includes/custom/agency/services.html
|
1853
|
-
- lib/starter_web/_includes/custom/agency/team.html
|
1854
1853
|
- lib/starter_web/_includes/custom/static/bs5_accordion.html
|
1855
1854
|
- lib/starter_web/_includes/custom/static/readme
|
1856
1855
|
- lib/starter_web/_includes/custom/templates/bs5_accordion.html
|
@@ -1897,28 +1896,7 @@ files:
|
|
1897
1896
|
- lib/starter_web/_plugins/seo/j1-feed.rb
|
1898
1897
|
- lib/starter_web/_plugins/seo/j1-seo-tags.rb
|
1899
1898
|
- lib/starter_web/_plugins/seo/j1-sitemap.rb
|
1900
|
-
- lib/starter_web/assets/images/
|
1901
|
-
- lib/starter_web/assets/images/agency/img/about/2.jpg
|
1902
|
-
- lib/starter_web/assets/images/agency/img/about/3.jpg
|
1903
|
-
- lib/starter_web/assets/images/agency/img/about/4.jpg
|
1904
|
-
- lib/starter_web/assets/images/agency/img/close-icon.svg
|
1905
|
-
- lib/starter_web/assets/images/agency/img/header-bg.jpg
|
1906
|
-
- lib/starter_web/assets/images/agency/img/logos/facebook.svg
|
1907
|
-
- lib/starter_web/assets/images/agency/img/logos/google.svg
|
1908
|
-
- lib/starter_web/assets/images/agency/img/logos/ibm.svg
|
1909
|
-
- lib/starter_web/assets/images/agency/img/logos/microsoft.svg
|
1910
|
-
- lib/starter_web/assets/images/agency/img/map-image.png
|
1911
|
-
- lib/starter_web/assets/images/agency/img/navbar-logo.svg
|
1912
|
-
- lib/starter_web/assets/images/agency/img/portfolio/1.jpg
|
1913
|
-
- lib/starter_web/assets/images/agency/img/portfolio/2.jpg
|
1914
|
-
- lib/starter_web/assets/images/agency/img/portfolio/3.jpg
|
1915
|
-
- lib/starter_web/assets/images/agency/img/portfolio/4.jpg
|
1916
|
-
- lib/starter_web/assets/images/agency/img/portfolio/5.jpg
|
1917
|
-
- lib/starter_web/assets/images/agency/img/portfolio/6.jpg
|
1918
|
-
- lib/starter_web/assets/images/agency/img/screenshot.png
|
1919
|
-
- lib/starter_web/assets/images/agency/img/team/1.jpg
|
1920
|
-
- lib/starter_web/assets/images/agency/img/team/2.jpg
|
1921
|
-
- lib/starter_web/assets/images/agency/img/team/3.jpg
|
1899
|
+
- lib/starter_web/assets/images/backgrounds/triangles-bg.png
|
1922
1900
|
- lib/starter_web/assets/images/badges/configBinder.png
|
1923
1901
|
- lib/starter_web/assets/images/badges/docsBinder.png
|
1924
1902
|
- lib/starter_web/assets/images/badges/notebookBinder.png
|
@@ -2014,6 +1992,10 @@ files:
|
|
2014
1992
|
- lib/starter_web/assets/images/icons/os/windows/windows_flags_color.ico
|
2015
1993
|
- lib/starter_web/assets/images/icons/os/windows/windows_hdd.ico
|
2016
1994
|
- lib/starter_web/assets/images/icons/os/windows/windows_store.ico
|
1995
|
+
- lib/starter_web/assets/images/icons/scalable/facebook.svg
|
1996
|
+
- lib/starter_web/assets/images/icons/scalable/google.svg
|
1997
|
+
- lib/starter_web/assets/images/icons/scalable/ibm.svg
|
1998
|
+
- lib/starter_web/assets/images/icons/scalable/microsoft.svg
|
2017
1999
|
- lib/starter_web/assets/images/icons/social/amazon.png
|
2018
2000
|
- lib/starter_web/assets/images/icons/social/behance.png
|
2019
2001
|
- lib/starter_web/assets/images/icons/social/blogger.png
|
@@ -2435,7 +2417,6 @@ files:
|
|
2435
2417
|
- lib/starter_web/assets/images/quotes/people.jpg
|
2436
2418
|
- lib/starter_web/assets/images/sticker/600x600/sticker-new-version.png
|
2437
2419
|
- lib/starter_web/assets/images/sticker/scalable/readme
|
2438
|
-
- lib/starter_web/assets/images/triangles-bg.png
|
2439
2420
|
- lib/starter_web/assets/videos/gallery/dailymotion/meditation.jpg
|
2440
2421
|
- lib/starter_web/assets/videos/gallery/dailymotion/pilates.jpg
|
2441
2422
|
- lib/starter_web/assets/videos/gallery/html5/video1.mp4
|
@@ -2461,6 +2442,13 @@ files:
|
|
2461
2442
|
- lib/starter_web/assets/videos/headers/present_videos/underground-broadway.mp4
|
2462
2443
|
- lib/starter_web/assets/videos/tiktok/einhorn.jpg
|
2463
2444
|
- lib/starter_web/assets/videos/tiktok/waluschka.jpg
|
2445
|
+
- lib/starter_web/collections/_biography/a-life-in-questions.adoc
|
2446
|
+
- lib/starter_web/collections/_biography/becoming.adoc
|
2447
|
+
- lib/starter_web/collections/_biography/born-to-run.adoc
|
2448
|
+
- lib/starter_web/collections/_biography/forty-autumns.adoc
|
2449
|
+
- lib/starter_web/collections/_biography/not-dead-yet.adoc
|
2450
|
+
- lib/starter_web/collections/_biography/princess-diarist-the.adoc
|
2451
|
+
- lib/starter_web/collections/_biography/when-breath-becomes-air.adoc
|
2464
2452
|
- lib/starter_web/collections/asciidoc_skeletons/simple-post/_posts/yyyy-mm-dd-your-post-name.asciidoc
|
2465
2453
|
- lib/starter_web/collections/posts/private/_posts/readme
|
2466
2454
|
- lib/starter_web/collections/posts/protected/_posts/readme
|
@@ -2529,16 +2517,10 @@ files:
|
|
2529
2517
|
- lib/starter_web/pages/public/blog/navigator/archive/dateview.html
|
2530
2518
|
- lib/starter_web/pages/public/blog/navigator/archive/tagview.html
|
2531
2519
|
- lib/starter_web/pages/public/blog/navigator/index.html
|
2520
|
+
- lib/starter_web/pages/public/bookshelf/viewer_biography.adoc
|
2521
|
+
- lib/starter_web/pages/public/bookshelf/whats_up.adoc
|
2532
2522
|
- lib/starter_web/pages/public/features/general.adoc
|
2533
2523
|
- lib/starter_web/pages/public/features/template.adoc
|
2534
|
-
- lib/starter_web/pages/public/learn/mweb/mweb-tester.adoc
|
2535
|
-
- lib/starter_web/pages/public/learn/mweb/static/index.css
|
2536
|
-
- lib/starter_web/pages/public/learn/mweb/static/index.js
|
2537
|
-
- lib/starter_web/pages/public/learn/mweb/static/lodash.min.js
|
2538
|
-
- lib/starter_web/pages/public/learn/mweb/static/socket.io/socket.io.js
|
2539
|
-
- lib/starter_web/pages/public/learn/mweb/static/socket.io/socket.io.min.js
|
2540
|
-
- lib/starter_web/pages/public/learn/mweb/static/video-js.min.css
|
2541
|
-
- lib/starter_web/pages/public/learn/mweb/static/video.min.js
|
2542
2524
|
- lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc
|
2543
2525
|
- lib/starter_web/pages/public/learn/roundtrip/_includes/documents/100_gistblock.asciidoc
|
2544
2526
|
- lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_bottom_info.asciidoc
|
@@ -1,67 +0,0 @@
|
|
1
|
-
<!-- Portfolio Grid-->
|
2
|
-
<section class="page-section bg-light" id="portfolio">
|
3
|
-
<div class="container">
|
4
|
-
<div class="text-center">
|
5
|
-
<h2 class="section-heading text-uppercase">Portfolio</h2>
|
6
|
-
<h3 class="section-subheading text-muted">Lorem ipsum dolor sit amet consectetur.</h3>
|
7
|
-
</div>
|
8
|
-
<div class="row">
|
9
|
-
{% assign collections = site.portfolio | sort: 'name' %}
|
10
|
-
{% for collection in collections %}
|
11
|
-
<div class="col-lg-4 col-sm-6 mb-4">
|
12
|
-
<!-- Portfolio item -->
|
13
|
-
<div class="portfolio-item">
|
14
|
-
<a class="portfolio-link" data-bs-toggle="modal" href="#portfolioModal{{ forloop.index }}">
|
15
|
-
<div class="portfolio-hover">
|
16
|
-
<div class="portfolio-hover-content"><i class="fas fa-plus fa-3x"></i></div>
|
17
|
-
</div>
|
18
|
-
<img class="img-fluid" src="{{ collection.image }}" alt="..." />
|
19
|
-
</a>
|
20
|
-
<div class="portfolio-caption">
|
21
|
-
<div class="portfolio-caption-heading">{{ collection.title }}</div>
|
22
|
-
<div class="portfolio-caption-subheading text-muted">{{ collection.category }}</div>
|
23
|
-
</div>
|
24
|
-
</div>
|
25
|
-
</div>
|
26
|
-
{% endfor %}
|
27
|
-
</div>
|
28
|
-
</div>
|
29
|
-
</section>
|
30
|
-
|
31
|
-
<!-- Portfolio Modals-->
|
32
|
-
{% for collection in collections %}
|
33
|
-
<div class="portfolio-modal modal fade" id="portfolioModal{{ forloop.index }}" tabindex="-1" role="dialog" aria-hidden="true">
|
34
|
-
<div class="modal-dialog">
|
35
|
-
<div class="modal-content">
|
36
|
-
<div class="close-modal" data-bs-dismiss="modal"><img src="{{ '/assets/img/close-icon.svg' | relative_url }}" alt="Close modal" /></div>
|
37
|
-
<div class="container">
|
38
|
-
<div class="row justify-content-center">
|
39
|
-
<div class="col-lg-8">
|
40
|
-
<div class="modal-body">
|
41
|
-
<!-- Project details-->
|
42
|
-
<h2 class="text-uppercase">{{ collection.title }}</h2>
|
43
|
-
<p class="item-intro text-muted">Lorem ipsum dolor sit amet consectetur.</p>
|
44
|
-
<img class="img-fluid d-block mx-auto" src="{{ collection.image | relative_url }}" alt="..." />
|
45
|
-
<p>Use this area to describe your project. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Est blanditiis dolorem culpa incidunt minus dignissimos deserunt repellat aperiam quasi sunt officia expedita beatae cupiditate, maiores repudiandae, nostrum, reiciendis facere nemo!</p>
|
46
|
-
<ul class="list-inline">
|
47
|
-
<li>
|
48
|
-
<strong>Client:</strong>
|
49
|
-
Threads
|
50
|
-
</li>
|
51
|
-
<li>
|
52
|
-
<strong>Category:</strong>
|
53
|
-
Illustration
|
54
|
-
</li>
|
55
|
-
</ul>
|
56
|
-
<button class="btn btn-primary btn-xl text-uppercase" data-bs-dismiss="modal" type="button">
|
57
|
-
<i class="fas fa-xmark me-1"></i>
|
58
|
-
Close Project
|
59
|
-
</button>
|
60
|
-
</div>
|
61
|
-
</div>
|
62
|
-
</div>
|
63
|
-
</div>
|
64
|
-
</div>
|
65
|
-
</div>
|
66
|
-
</div>
|
67
|
-
{% endfor %}
|