j1-template 2022.0.10 → 2022.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/assets/themes/j1/adapter/js/advertising.js +1 -4
- data/assets/themes/j1/adapter/js/algolia.js +1 -4
- data/assets/themes/j1/adapter/js/analytics.js +237 -0
- data/assets/themes/j1/adapter/js/asciidoctor.js +1 -4
- data/assets/themes/j1/adapter/js/attic.js +1 -4
- data/assets/themes/j1/adapter/js/bmd.js +1 -4
- data/assets/themes/j1/adapter/js/carousel.js +1 -4
- data/assets/themes/j1/adapter/js/clipboard.js +1 -2
- data/assets/themes/j1/adapter/js/comments.js +387 -0
- data/assets/themes/j1/adapter/js/cookieConsent.js +35 -27
- data/assets/themes/j1/adapter/js/fab.js +1 -1
- data/assets/themes/j1/adapter/js/framer.js +1 -4
- data/assets/themes/j1/adapter/js/j1.js +52 -166
- data/assets/themes/j1/adapter/js/justifiedGallery.js +1 -4
- data/assets/themes/j1/adapter/js/justifiedGalleryCustomizer.js +1 -4
- data/assets/themes/j1/adapter/js/lightbox.js +1 -5
- data/assets/themes/j1/adapter/js/logger.js +1 -2
- data/assets/themes/j1/adapter/js/mmenu.js +2 -3
- data/assets/themes/j1/adapter/js/navigator.js +4 -3
- data/assets/themes/j1/adapter/js/quicksearch.js +1 -4
- data/assets/themes/j1/adapter/js/rouge.js +1 -4
- data/assets/themes/j1/adapter/js/rtable.js +1 -4
- data/assets/themes/j1/adapter/js/rtextResizer.js +1 -4
- data/assets/themes/j1/adapter/js/scroller.js +1 -4
- data/assets/themes/j1/adapter/js/themer.js +1 -1
- data/assets/themes/j1/adapter/js/toccer.js +1 -4
- data/assets/themes/j1/adapter/js/translator.js +25 -68
- data/assets/themes/j1/core/js/template.js +13 -5
- data/assets/themes/j1/core/js/template.min.js +1 -1
- data/assets/themes/j1/core/js/template.min.js.map +1 -1
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +1 -9
- data/lib/starter_web/_data/apps/carousel.yml +2 -2
- data/lib/starter_web/_data/apps/defaults/carousel.yml +3 -2
- data/lib/starter_web/_data/apps/defaults/justifiedGallery.yml +2 -2
- data/lib/starter_web/_data/apps/defaults/justifiedGalleryCustomizer.yml +2 -2
- data/lib/starter_web/_data/apps/defaults/lightGallery.yml +2 -2
- data/lib/starter_web/_data/apps/defaults/lightbox.yml +2 -2
- data/lib/starter_web/_data/apps/justifiedGallery.yml +2 -2
- data/lib/starter_web/_data/apps/justifiedGalleryCustomizer.yml +2 -2
- data/lib/starter_web/_data/apps/lightGallery.yml +2 -2
- data/lib/starter_web/_data/apps/lightbox.yml +2 -2
- data/lib/starter_web/_data/blocks/banner.yml +3 -2
- data/lib/starter_web/_data/blocks/defaults/banner.yml +9 -0
- data/lib/starter_web/_data/blocks/defaults/footer.yml +9 -0
- data/lib/starter_web/_data/blocks/defaults/panel.yml +9 -0
- data/lib/starter_web/_data/blocks/footer.yml +3 -2
- data/lib/starter_web/_data/blocks/panel.yml +3 -2
- data/lib/starter_web/_data/builder/blog_navigator.yml +3 -2
- data/lib/starter_web/_data/builder/defaults/blog_navigator.yml +8 -8
- data/lib/starter_web/_data/j1_config.yml +0 -116
- data/lib/starter_web/_data/layouts/default.yml +14 -14
- data/lib/starter_web/_data/layouts/page.yml +7 -18
- data/lib/starter_web/_data/layouts/post.yml +0 -11
- data/lib/starter_web/_data/modules/advertising.yml +3 -2
- data/lib/starter_web/_data/modules/analytics.yml +99 -0
- data/lib/starter_web/_data/modules/attics.yml +3 -2
- data/lib/starter_web/_data/modules/comments.yml +55 -0
- data/lib/starter_web/_data/modules/cookieconsent.yml +2 -1
- data/lib/starter_web/_data/modules/cookies.yml +2 -0
- data/lib/starter_web/_data/modules/defaults/advertising.yml +4 -3
- data/lib/starter_web/_data/modules/defaults/analytics.yml +93 -0
- data/lib/starter_web/_data/modules/defaults/attics.yml +3 -2
- data/lib/starter_web/_data/modules/defaults/authentication.yml +51 -48
- data/lib/starter_web/_data/modules/defaults/comments.yml +114 -0
- data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +3 -3
- data/lib/starter_web/_data/modules/defaults/cookies.yml +19 -8
- data/lib/starter_web/_data/modules/defaults/fab.yml +4 -2
- data/lib/starter_web/_data/modules/defaults/framer.yml +2 -3
- data/lib/starter_web/_data/modules/defaults/log4javascript.yml +3 -2
- data/lib/starter_web/_data/modules/defaults/log4r.yml +2 -2
- data/lib/starter_web/_data/modules/defaults/navigator.yml +4 -2
- data/lib/starter_web/_data/modules/defaults/quicksearch.yml +4 -3
- data/lib/starter_web/_data/modules/defaults/rtable.yml +3 -2
- data/lib/starter_web/_data/modules/defaults/scoller.yml +3 -2
- data/lib/starter_web/_data/modules/defaults/themer.yml +119 -118
- data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/translator.yml +1 -1
- data/lib/starter_web/_data/modules/fab.yml +3 -2
- data/lib/starter_web/_data/modules/framer.yml +3 -4
- data/lib/starter_web/_data/modules/log4r.yml +2 -2
- data/lib/starter_web/_data/modules/navigator.yml +4 -2
- data/lib/starter_web/_data/modules/quicksearch.yml +3 -3
- data/lib/starter_web/_data/modules/rtable.yml +3 -3
- data/lib/starter_web/_data/modules/scroller.yml +2 -3
- data/lib/starter_web/_data/modules/themer.yml +2 -3
- data/lib/starter_web/_data/modules/toccer.yml +3 -3
- data/lib/starter_web/_data/modules/translator.yml +1 -1
- data/lib/starter_web/_data/plugins/defaults/paginator.yml +2 -2
- data/lib/starter_web/_data/plugins/paginator.yml +2 -2
- data/lib/starter_web/_data/resources.yml +442 -309
- data/lib/starter_web/_includes/attributes.asciidoc +1 -1
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.ads.asciidoc +196 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.comments.asciidoc +182 -0
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/{100_present_images.no_ads.asciidoc → 100_present_images.base.asciidoc} +0 -0
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.comments.asciidoc +237 -0
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +12 -26
- data/_includes/themes/j1/blocks/ads/ad.html +0 -64
- data/_includes/themes/j1/modules/boards/news_pin_board.html +0 -183
- data/_includes/themes/j1/modules/connectors/analytic/custom-provider.html +0 -32
- data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +0 -30
- data/_includes/themes/j1/modules/connectors/analytics +0 -60
- data/_includes/themes/j1/modules/connectors/comment/commento.html +0 -31
- data/_includes/themes/j1/modules/connectors/comment/custom-provider.html +0 -30
- data/_includes/themes/j1/modules/connectors/comment/disqus.html +0 -32
- data/_includes/themes/j1/modules/connectors/comment/facebook.html +0 -30
- data/_includes/themes/j1/modules/connectors/comment/hyvor.html +0 -32
- data/_includes/themes/j1/modules/connectors/comment/just-comments.html +0 -31
- data/_includes/themes/j1/modules/connectors/comments +0 -64
- data/_includes/themes/j1/modules/connectors/sharing +0 -29
- data/_includes/themes/j1/modules/connectors/survey/custom-provider.html +0 -30
- data/_includes/themes/j1/modules/connectors/survey/jotform.html +0 -32
- data/_includes/themes/j1/modules/connectors/surveys +0 -58
- data/_includes/themes/j1/modules/connectors/translator +0 -58
- data/_includes/themes/j1/modules/connectors/translators/custom-translator.html +0 -32
- data/_includes/themes/j1/modules/connectors/translators/google-translator.html +0 -53
- data/_includes/themes/j1/modules/search/algolia.html +0 -181
- data/_includes/themes/j1/modules/search/docsearch.html +0 -42
- data/assets/data/disqus.js +0 -81
- data/assets/data/hyvor.js +0 -72
@@ -437,7 +437,7 @@ end::tables[]
|
|
437
437
|
// -----------------------------------------------------------------------------
|
438
438
|
tag::products[]
|
439
439
|
:j1--license: MIT License
|
440
|
-
:j1--version: 2022.0.
|
440
|
+
:j1--version: 2022.0.11
|
441
441
|
:j1--site-name: Jekyll One
|
442
442
|
end::products[]
|
443
443
|
|
data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.ads.asciidoc
ADDED
@@ -0,0 +1,196 @@
|
|
1
|
+
---
|
2
|
+
title: Cookies
|
3
|
+
tagline: good to know
|
4
|
+
|
5
|
+
categories: [ Knowledge ]
|
6
|
+
tags: [ Cookies ]
|
7
|
+
|
8
|
+
image: /assets/images/modules/attics/cookies-1920x1200.jpg
|
9
|
+
|
10
|
+
regenerate: false
|
11
|
+
|
12
|
+
resources: [ advertising ]
|
13
|
+
resource_options:
|
14
|
+
- attic:
|
15
|
+
padding_top: 400
|
16
|
+
padding_bottom: 50
|
17
|
+
opacity: 0.5
|
18
|
+
slides:
|
19
|
+
- url: /assets/images/modules/attics/cookies-1920x1200.jpg
|
20
|
+
alt: Photo by Miroslava on Unsplash
|
21
|
+
# caption:
|
22
|
+
# text: Photo by Miroslava on Unsplash
|
23
|
+
# href: https://unsplash.com/@miroslava
|
24
|
+
badge:
|
25
|
+
type: unsplash
|
26
|
+
author: Miroslava
|
27
|
+
href: https://unsplash.com/@miroslava
|
28
|
+
---
|
29
|
+
|
30
|
+
// Page Initializer
|
31
|
+
// =============================================================================
|
32
|
+
// Enable the Liquid Preprocessor
|
33
|
+
:page-liquid:
|
34
|
+
|
35
|
+
// Set (local) page attributes here
|
36
|
+
// -----------------------------------------------------------------------------
|
37
|
+
// :page--attr: <attr-value>
|
38
|
+
|
39
|
+
// Additional Asciidoc page attributes goes here
|
40
|
+
// -----------------------------------------------------------------------------
|
41
|
+
// :page-imagesdir: {{page.images.dir}}
|
42
|
+
|
43
|
+
// Place an excerpt at the most top position
|
44
|
+
// -----------------------------------------------------------------------------
|
45
|
+
[role="dropcap"]
|
46
|
+
Is it needed for visitors to know what cookies are about? No doubts, you're
|
47
|
+
requested to inform - in Europe for legal reasons. All users visiting websites
|
48
|
+
are bothered all the time to accept cookies. For good reasons.
|
49
|
+
|
50
|
+
excerpt__end
|
51
|
+
|
52
|
+
// Load Liquid procedures
|
53
|
+
// -----------------------------------------------------------------------------
|
54
|
+
{% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
|
55
|
+
|
56
|
+
// Load page attributes
|
57
|
+
// -----------------------------------------------------------------------------
|
58
|
+
{% include {{load_attributes}} scope="global" %}
|
59
|
+
|
60
|
+
|
61
|
+
// Page content
|
62
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
63
|
+
|
64
|
+
++++
|
65
|
+
<!-- insert gad container -->
|
66
|
+
<div id="xxx..xx" class="mb-5">
|
67
|
+
<!-- display-ad-horizontal-1 -->
|
68
|
+
<ins class="adsbygoogle"
|
69
|
+
style="display:block"
|
70
|
+
data-ad-client="ca-pub-xxxx..xxx"
|
71
|
+
data-ad-slot="xxxx..xx"
|
72
|
+
data-ad-format="auto"
|
73
|
+
data-full-width-responsive="true">
|
74
|
+
</ins>
|
75
|
+
</div>
|
76
|
+
++++
|
77
|
+
|
78
|
+
// Include sub-documents (if any)
|
79
|
+
// -----------------------------------------------------------------------------
|
80
|
+
|
81
|
+
== What are cookies technically
|
82
|
+
|
83
|
+
In short: a cookie is a small piece of data that a website asks your
|
84
|
+
browser to store on your computer or mobile device. The cookie allows the
|
85
|
+
website to "remember" your actions or preferences over time. All modern
|
86
|
+
browsers support cookies, but users can set their browsers to decline them
|
87
|
+
and can delete them whenever they like. Good to know.
|
88
|
+
|
89
|
+
Websites mainly use cookies for:
|
90
|
+
|
91
|
+
Identification::
|
92
|
+
Identify users
|
93
|
+
|
94
|
+
General information storage::
|
95
|
+
Remember users' custom preferences
|
96
|
+
|
97
|
+
Support::
|
98
|
+
Help users complete tasks without re-entering information when browsing from
|
99
|
+
one page to another or when visiting the site later.
|
100
|
+
|
101
|
+
Track behavioral::
|
102
|
+
Cookies can also be used for online behavioral target advertising and to
|
103
|
+
show adverts relevant to something that the user searched for in the past.
|
104
|
+
The webserver supplying the webpage can store a cookie on the user's
|
105
|
+
computer or mobile device.
|
106
|
+
|
107
|
+
All these cookies are called HTTP header cookies. Another way of storing
|
108
|
+
cookies is through JavaScript code contained or referenced on that page.
|
109
|
+
Each time the user requests a new page, the webserver can receive the
|
110
|
+
values of the cookies it previously set and return the page with content
|
111
|
+
relating to these values. Similarly, JavaScript code can read a
|
112
|
+
cookie belonging to its domain and act accordingly.
|
113
|
+
|
114
|
+
.How are they used
|
115
|
+
[NOTE]
|
116
|
+
====
|
117
|
+
The web server supplying the webpage can store a cookie on the user's
|
118
|
+
computer or mobile device. An external web server that manages files
|
119
|
+
included or referenced in the web page can store cookies. All these
|
120
|
+
cookies are called HTTP header cookies. Another way of storing cookies
|
121
|
+
is through JavaScript code contained or referenced on that page.
|
122
|
+
|
123
|
+
Each time the user requests a new page, the web server can receive the
|
124
|
+
values of the cookies it previously set and return the page with content
|
125
|
+
relating to these values. Similarly, JavaScript code can read a
|
126
|
+
cookie belonging to its domain and act accordingly.
|
127
|
+
====
|
128
|
+
|
129
|
+
== Types of cookies
|
130
|
+
|
131
|
+
HTTP cookies are essential to the modern Internet but potentially a
|
132
|
+
vulnerability to your privacy. As a necessary part of web browsing, cookies
|
133
|
+
help web developers give you more personal, convenient website visits.
|
134
|
+
Cookies let websites remember you, your website logins, shopping carts, and
|
135
|
+
more. But they can also be a treasure trove of private info for criminals
|
136
|
+
to spy on.
|
137
|
+
|
138
|
+
Since the data in cookies doesn't change, cookies themselves aren't harmful.
|
139
|
+
They *can't infect* computers with viruses or other malware. However, some
|
140
|
+
cyberattacks can hijack cookies and enable access to your browsing sessions.
|
141
|
+
The danger lies in their ability to track individuals' browsing histories.
|
142
|
+
Cookies generally can be classified by its *lifespan* and the *domain* to
|
143
|
+
which it belongs.
|
144
|
+
|
145
|
+
=== By Lifespan
|
146
|
+
|
147
|
+
Cookies classified by *lifespan* are either a:
|
148
|
+
|
149
|
+
Session cookie::
|
150
|
+
Session cookies gets automatically deleted when the user closes the web browser
|
151
|
+
and all open window tabs.
|
152
|
+
|
153
|
+
Persistent cookie::
|
154
|
+
A persistent cookie *remains* on the user's computer/device for a pre-defined
|
155
|
+
period of time.
|
156
|
+
|
157
|
+
=== By Domain
|
158
|
+
|
159
|
+
Cookies classified by the *domain* to which it belongs, are either of:
|
160
|
+
|
161
|
+
First-party cookie::
|
162
|
+
First-party cookie cookies are set by the webserver of the visited page
|
163
|
+
and share the *same domain* you're visiting. These are generally safer, as
|
164
|
+
long as users are browsing reputable websites or ones that have not been
|
165
|
+
compromised.
|
166
|
+
|
167
|
+
Third-party cookies::
|
168
|
+
Third-party cookies are stored by a *different* domain to the visited page.
|
169
|
+
This can happen when the webpage references a file located outside its domain.
|
170
|
+
Third-party cookies let advertisers or analytics companies track the user's
|
171
|
+
browsing history across the web on *any* sites that contain their ads.
|
172
|
+
|
173
|
+
|
174
|
+
== Security aspects on using cookies
|
175
|
+
|
176
|
+
Without cookies, the web would not work as it does today. However, since the
|
177
|
+
mid 90ies when cookies were invented, the web changed quite a lot, and so did
|
178
|
+
the attack methods on web applications; as mentioned, the Internet is not a
|
179
|
+
friendly place.
|
180
|
+
|
181
|
+
A well-known attack method is known as Cross-Site Request Forgery or short
|
182
|
+
*CSRF*. CSRF is an attack, a criminal act, that forces an end user to execute
|
183
|
+
unwanted actions. A cookie may play a *role* in such scenarios, but they are
|
184
|
+
not generally *unsafe* if you want, you can read more about that on the
|
185
|
+
CRSF Page on {url-owasp-attacks--csrf}[OWASP, {browser-window--new}].
|
186
|
+
|
187
|
+
== How to control cookies
|
188
|
+
|
189
|
+
Users can take control, used or *not* used, or delete cookies. For more
|
190
|
+
details, see {url-about-cookies--home}[AboutCookies]. You can delete
|
191
|
+
all cookies that are already on your computer, and you can set most
|
192
|
+
browsers to prevent them from being placed.
|
193
|
+
|
194
|
+
If you do this, however, you may have to manually adjust some preferences
|
195
|
+
every time you visit a site, and some services and functionalities may not
|
196
|
+
work.
|
@@ -0,0 +1,182 @@
|
|
1
|
+
---
|
2
|
+
title: Cookies
|
3
|
+
tagline: good to know
|
4
|
+
|
5
|
+
categories: [ Knowledge ]
|
6
|
+
tags: [ Cookies ]
|
7
|
+
|
8
|
+
image: /assets/images/modules/attics/cookies-1920x1200.jpg
|
9
|
+
|
10
|
+
regenerate: false
|
11
|
+
|
12
|
+
resources: [ comments ]
|
13
|
+
resource_options:
|
14
|
+
- attic:
|
15
|
+
padding_top: 400
|
16
|
+
padding_bottom: 50
|
17
|
+
opacity: 0.5
|
18
|
+
slides:
|
19
|
+
- url: /assets/images/modules/attics/cookies-1920x1200.jpg
|
20
|
+
alt: Photo by Miroslava on Unsplash
|
21
|
+
# caption:
|
22
|
+
# text: Photo by Miroslava on Unsplash
|
23
|
+
# href: https://unsplash.com/@miroslava
|
24
|
+
badge:
|
25
|
+
type: unsplash
|
26
|
+
author: Miroslava
|
27
|
+
href: https://unsplash.com/@miroslava
|
28
|
+
---
|
29
|
+
|
30
|
+
// Page Initializer
|
31
|
+
// =============================================================================
|
32
|
+
// Enable the Liquid Preprocessor
|
33
|
+
:page-liquid:
|
34
|
+
|
35
|
+
// Set (local) page attributes here
|
36
|
+
// -----------------------------------------------------------------------------
|
37
|
+
// :page--attr: <attr-value>
|
38
|
+
|
39
|
+
// Additional Asciidoc page attributes goes here
|
40
|
+
// -----------------------------------------------------------------------------
|
41
|
+
// :page-imagesdir: {{page.images.dir}}
|
42
|
+
|
43
|
+
// Place an excerpt at the most top position
|
44
|
+
// -----------------------------------------------------------------------------
|
45
|
+
[role="dropcap"]
|
46
|
+
Is it needed for visitors to know what cookies are about? No doubts, you're
|
47
|
+
requested to inform - in Europe for legal reasons. All users visiting websites
|
48
|
+
are bothered all the time to accept cookies. For good reasons.
|
49
|
+
|
50
|
+
excerpt__end
|
51
|
+
|
52
|
+
// Load Liquid procedures
|
53
|
+
// -----------------------------------------------------------------------------
|
54
|
+
{% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
|
55
|
+
|
56
|
+
// Load page attributes
|
57
|
+
// -----------------------------------------------------------------------------
|
58
|
+
{% include {{load_attributes}} scope="global" %}
|
59
|
+
|
60
|
+
|
61
|
+
// Page content
|
62
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
63
|
+
|
64
|
+
// Include sub-documents (if any)
|
65
|
+
// -----------------------------------------------------------------------------
|
66
|
+
|
67
|
+
== What are cookies technically
|
68
|
+
|
69
|
+
In short: a cookie is a small piece of data that a website asks your
|
70
|
+
browser to store on your computer or mobile device. The cookie allows the
|
71
|
+
website to "remember" your actions or preferences over time. All modern
|
72
|
+
browsers support cookies, but users can set their browsers to decline them
|
73
|
+
and can delete them whenever they like. Good to know.
|
74
|
+
|
75
|
+
Websites mainly use cookies for:
|
76
|
+
|
77
|
+
Identification::
|
78
|
+
Identify users
|
79
|
+
|
80
|
+
General information storage::
|
81
|
+
Remember users' custom preferences
|
82
|
+
|
83
|
+
Support::
|
84
|
+
Help users complete tasks without re-entering information when browsing from
|
85
|
+
one page to another or when visiting the site later.
|
86
|
+
|
87
|
+
Track behavioral::
|
88
|
+
Cookies can also be used for online behavioral target advertising and to
|
89
|
+
show adverts relevant to something that the user searched for in the past.
|
90
|
+
The webserver supplying the webpage can store a cookie on the user's
|
91
|
+
computer or mobile device.
|
92
|
+
|
93
|
+
All these cookies are called HTTP header cookies. Another way of storing
|
94
|
+
cookies is through JavaScript code contained or referenced on that page.
|
95
|
+
Each time the user requests a new page, the webserver can receive the
|
96
|
+
values of the cookies it previously set and return the page with content
|
97
|
+
relating to these values. Similarly, JavaScript code can read a
|
98
|
+
cookie belonging to its domain and act accordingly.
|
99
|
+
|
100
|
+
.How are they used
|
101
|
+
[NOTE]
|
102
|
+
====
|
103
|
+
The web server supplying the webpage can store a cookie on the user's
|
104
|
+
computer or mobile device. An external web server that manages files
|
105
|
+
included or referenced in the web page can store cookies. All these
|
106
|
+
cookies are called HTTP header cookies. Another way of storing cookies
|
107
|
+
is through JavaScript code contained or referenced on that page.
|
108
|
+
|
109
|
+
Each time the user requests a new page, the web server can receive the
|
110
|
+
values of the cookies it previously set and return the page with content
|
111
|
+
relating to these values. Similarly, JavaScript code can read a
|
112
|
+
cookie belonging to its domain and act accordingly.
|
113
|
+
====
|
114
|
+
|
115
|
+
== Types of cookies
|
116
|
+
|
117
|
+
HTTP cookies are essential to the modern Internet but potentially a
|
118
|
+
vulnerability to your privacy. As a necessary part of web browsing, cookies
|
119
|
+
help web developers give you more personal, convenient website visits.
|
120
|
+
Cookies let websites remember you, your website logins, shopping carts, and
|
121
|
+
more. But they can also be a treasure trove of private info for criminals
|
122
|
+
to spy on.
|
123
|
+
|
124
|
+
Since the data in cookies doesn't change, cookies themselves aren't harmful.
|
125
|
+
They *can't infect* computers with viruses or other malware. However, some
|
126
|
+
cyberattacks can hijack cookies and enable access to your browsing sessions.
|
127
|
+
The danger lies in their ability to track individuals' browsing histories.
|
128
|
+
Cookies generally can be classified by its *lifespan* and the *domain* to
|
129
|
+
which it belongs.
|
130
|
+
|
131
|
+
=== By Lifespan
|
132
|
+
|
133
|
+
Cookies classified by *lifespan* are either a:
|
134
|
+
|
135
|
+
Session cookie::
|
136
|
+
Session cookies gets automatically deleted when the user closes the web browser
|
137
|
+
and all open window tabs.
|
138
|
+
|
139
|
+
Persistent cookie::
|
140
|
+
A persistent cookie *remains* on the user's computer/device for a pre-defined
|
141
|
+
period of time.
|
142
|
+
|
143
|
+
=== By Domain
|
144
|
+
|
145
|
+
Cookies classified by the *domain* to which it belongs, are either of:
|
146
|
+
|
147
|
+
First-party cookie::
|
148
|
+
First-party cookie cookies are set by the webserver of the visited page
|
149
|
+
and share the *same domain* you're visiting. These are generally safer, as
|
150
|
+
long as users are browsing reputable websites or ones that have not been
|
151
|
+
compromised.
|
152
|
+
|
153
|
+
Third-party cookies::
|
154
|
+
Third-party cookies are stored by a *different* domain to the visited page.
|
155
|
+
This can happen when the webpage references a file located outside its domain.
|
156
|
+
Third-party cookies let advertisers or analytics companies track the user's
|
157
|
+
browsing history across the web on *any* sites that contain their ads.
|
158
|
+
|
159
|
+
|
160
|
+
== Security aspects on using cookies
|
161
|
+
|
162
|
+
Without cookies, the web would not work as it does today. However, since the
|
163
|
+
mid 90ies when cookies were invented, the web changed quite a lot, and so did
|
164
|
+
the attack methods on web applications; as mentioned, the Internet is not a
|
165
|
+
friendly place.
|
166
|
+
|
167
|
+
A well-known attack method is known as Cross-Site Request Forgery or short
|
168
|
+
*CSRF*. CSRF is an attack, a criminal act, that forces an end user to execute
|
169
|
+
unwanted actions. A cookie may play a *role* in such scenarios, but they are
|
170
|
+
not generally *unsafe* if you want, you can read more about that on the
|
171
|
+
CRSF Page on {url-owasp-attacks--csrf}[OWASP, {browser-window--new}].
|
172
|
+
|
173
|
+
== How to control cookies
|
174
|
+
|
175
|
+
Users can take control, used or *not* used, or delete cookies. For more
|
176
|
+
details, see {url-about-cookies--home}[AboutCookies]. You can delete
|
177
|
+
all cookies that are already on your computer, and you can set most
|
178
|
+
browsers to prevent them from being placed.
|
179
|
+
|
180
|
+
If you do this, however, you may have to manually adjust some preferences
|
181
|
+
every time you visit a site, and some services and functionalities may not
|
182
|
+
work.
|
File without changes
|
@@ -0,0 +1,237 @@
|
|
1
|
+
---
|
2
|
+
title: Roundtrip
|
3
|
+
tagline: present images
|
4
|
+
date: 2020-11-03 00:00:00 +100
|
5
|
+
description: >
|
6
|
+
Welcome to the preview page focussing on the image module. This page
|
7
|
+
shows some valuable features of the J1 Template to manage your image-based
|
8
|
+
content using lightboxes, carousels (slider), and galleries.
|
9
|
+
|
10
|
+
categories: [ Roundtrip ]
|
11
|
+
tags: [ Introduction, Module, Image ]
|
12
|
+
|
13
|
+
fab_menu_id: page_ctrl_simple
|
14
|
+
|
15
|
+
permalink: /pages/public/learn/roundtrip/present_images/
|
16
|
+
regenerate: false
|
17
|
+
|
18
|
+
resources: [
|
19
|
+
animate, comments, clipboard,
|
20
|
+
carousel, justifiedGallery,
|
21
|
+
lightbox, lightGallery,
|
22
|
+
rouge
|
23
|
+
]
|
24
|
+
resource_options:
|
25
|
+
- attic:
|
26
|
+
padding_top: 400
|
27
|
+
padding_bottom: 50
|
28
|
+
opacity: 0.5
|
29
|
+
slides:
|
30
|
+
- url: /assets/images/pages/roundtrip/images-1920x1280-bw.jpg
|
31
|
+
alt: Photo by Ricardo Gomez Angel on Unsplash
|
32
|
+
badge:
|
33
|
+
type: unsplash
|
34
|
+
author: Ricardo Gomez Angel
|
35
|
+
href: https://unsplash.com/@ripato/portfolio
|
36
|
+
---
|
37
|
+
|
38
|
+
// Page Initializer
|
39
|
+
// =============================================================================
|
40
|
+
// Enable the Liquid Preprocessor
|
41
|
+
:page-liquid:
|
42
|
+
|
43
|
+
// Set (local) page attributes here
|
44
|
+
// -----------------------------------------------------------------------------
|
45
|
+
// :page--attr: <attr-value>
|
46
|
+
:images-dir: {imagesdir}/pages/roundtrip/100_present_images
|
47
|
+
|
48
|
+
// Load Liquid procedures
|
49
|
+
// -----------------------------------------------------------------------------
|
50
|
+
{% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
|
51
|
+
|
52
|
+
// Load page attributes
|
53
|
+
// -----------------------------------------------------------------------------
|
54
|
+
{% include {{load_attributes}} scope="all" %}
|
55
|
+
|
56
|
+
// Page content
|
57
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
58
|
+
|
59
|
+
// Include sub-documents (if any)
|
60
|
+
// -----------------------------------------------------------------------------
|
61
|
+
[role="dropcap"]
|
62
|
+
Welcome to the first preview page focussing on the image module. This page
|
63
|
+
shows some valuable features of the J1 Template to manage your image-based
|
64
|
+
content using lightboxes, carousels (slider), and galleries.
|
65
|
+
|
66
|
+
The image module offers complex functionality based on powerful OpenSource
|
67
|
+
libraries like JustifiedGallery for high-end, masonry-styled preview maps.
|
68
|
+
J1 Template uses the jQuery plugin Owl Carousel as a base for image sliders.
|
69
|
+
A carousel app (slider) lets you present your images as shows.
|
70
|
+
|
71
|
+
Lightboxes like LightGallery or Lightbox V2 support your web for enlarged
|
72
|
+
image views of your picture or video content. Have a look, a quick tour
|
73
|
+
of what J1 can do for image data. Have fun!
|
74
|
+
|
75
|
+
== J1 Lightboxes
|
76
|
+
|
77
|
+
A Lightbox is, in general, a helper which displays enlarged, almost
|
78
|
+
screen-filling versions of images (or videos) while dimming the remainder
|
79
|
+
of the page. The technique, introduced by Lightbox V2, gained widespread
|
80
|
+
popularity thanks to its simple style. The term lightbox has been employed
|
81
|
+
since then for Javascript libraries to support such functionality.
|
82
|
+
|
83
|
+
For the J1 Template, two different lightboxes are available:
|
84
|
+
|
85
|
+
* Lightbox V2 (lightbox)
|
86
|
+
* LightGallery
|
87
|
+
|
88
|
+
The default tool employed by J1 Template is Lightbox V2, a Javascript library
|
89
|
+
written by _Lokesh Dhakar_. The name of that (build-in) is *lightbox*.
|
90
|
+
For more complex use cases, like a thumbnail gallery preview or video support,
|
91
|
+
LightGallery can be used alternatively.
|
92
|
+
|
93
|
+
NOTE: The name LightGallery implies a sort of a Gallery, but the library is a
|
94
|
+
_lightbox_. And, LightGallery provides much more functionality on image-based
|
95
|
+
data rather than enlarged displaying of images. See the examples below to check
|
96
|
+
for the differences in comparison to the simpler Lightbox V2 lightbox.
|
97
|
+
|
98
|
+
Both lightboxes are fully integrated to be used as standalone modules or
|
99
|
+
used as helpers *under-the-hood* by other apps or modules focussing on
|
100
|
+
image-data like gallery or carousel, the build-in carousel module.
|
101
|
+
|
102
|
+
== Lightbox Examples
|
103
|
+
|
104
|
+
Find below an example of using the lightbox Lightbox standalone. See how
|
105
|
+
single (individual) images are linked for use with Lightbox.
|
106
|
+
|
107
|
+
.Lightbox block for standalone images
|
108
|
+
lightbox::example-standalone[ 400, {data-images-standalone} ]
|
109
|
+
|
110
|
+
Lightbox supports image groups (image sets). Click on the images below to
|
111
|
+
see how Lightbox manages a group of images.
|
112
|
+
|
113
|
+
.Lightbox block for grouped images
|
114
|
+
lightbox::example-group[ 400, {data-images-group}, group ]
|
115
|
+
|
116
|
+
=== LightGallery Example
|
117
|
+
|
118
|
+
LightGallery provides more complex functions on image data. The module
|
119
|
+
supports a gallery-style thumbnail preview plus image resizing, a download
|
120
|
+
dialog, sharing provider support, and more helpful. Check what
|
121
|
+
LightGallery can do this by the following example.
|
122
|
+
|
123
|
+
gallery::jg_old_times[]
|
124
|
+
|
125
|
+
== J1 Carousel App
|
126
|
+
|
127
|
+
J1 Carousel is based on OWL Carousel V1 in the latest (and unfortunately
|
128
|
+
last) version of 1.3.3. OWL Carousel is a clean and neat jQuery slider plugin
|
129
|
+
for creating fully responsive and touch-enabled carousel sliders.
|
130
|
+
|
131
|
+
NOTE: OWL Carousel V1 is no longer available on the Internet; for an
|
132
|
+
unknown reason. Anyway, the J1 Template is using this version of OWL
|
133
|
+
Carousel is a build-in carousel module because the software does an excellent
|
134
|
+
job, is based on an MIT license with no issues using them for private and
|
135
|
+
business use. And offers a lot of great features!
|
136
|
+
|
137
|
+
=== Simple Text Carousel
|
138
|
+
|
139
|
+
A slider or carousel is typically used for displaying images. Still, the
|
140
|
+
implementation for the J1 Template supports a lot more sources to be
|
141
|
+
displayed as a slide show: simple text, for example.
|
142
|
+
|
143
|
+
.Simple text carousel
|
144
|
+
carousel::demo_text_carousel[role="mb-3"]
|
145
|
+
|
146
|
+
Important statements or topics can be placed, e.g., on top of an article or
|
147
|
+
a paragraph, to give them better visibility. In one line, you can present
|
148
|
+
many facts to know animated for the reader's attention within a single
|
149
|
+
line. No much space is needed!
|
150
|
+
|
151
|
+
=== Parallax Text Carousel
|
152
|
+
|
153
|
+
A more eye-minded type of text-based slide show is a parallax text slider. If
|
154
|
+
you want to emphasize your statements focussing the meaning, this kind of a
|
155
|
+
slide show may be interesting. Image-based slide shows may draw off the
|
156
|
+
reader's attention from the text, therefore a pure text-based presentation
|
157
|
+
maybe the better choice.
|
158
|
+
|
159
|
+
.Parallax text carousel
|
160
|
+
carousel::demo_text_carousel_parallax[role="mb-3"]
|
161
|
+
|
162
|
+
Parallax text shows can be placed as banners on a page. For text shows,
|
163
|
+
different animations are available. Internally, J1 Template uses some of
|
164
|
+
the great CSS styles offered by _animate.css_.
|
165
|
+
|
166
|
+
TIP: Have a look a https://daneden.github.io/animate.css/[Dan Eden's home page]
|
167
|
+
to see all the possible dynamic styles you can create based on pure CSS. Some
|
168
|
+
of them are implemented for OWL Carousel for animation. See the documentation
|
169
|
+
for the CAROUSEL Module for more details.
|
170
|
+
|
171
|
+
=== Simple Image Carousel
|
172
|
+
|
173
|
+
Carousels are mostly used for pictures data to animate the images as a series.
|
174
|
+
Find with the following some examples of how to use a carousel for your image
|
175
|
+
data.
|
176
|
+
|
177
|
+
A simple image show is useful, for example, as an animated (or not animated)
|
178
|
+
banner presenting exciting things about your site or the products offered.
|
179
|
+
|
180
|
+
.Simple Image Carousel
|
181
|
+
carousel::demo_simple[role="mb-3"]
|
182
|
+
|
183
|
+
=== Carousel + Caption + Lightbox
|
184
|
+
|
185
|
+
Carousels are used for an exceptionally compact form of image galleries.
|
186
|
+
This example shows some pictures having individual caption text and supports
|
187
|
+
a lightbox to enlarge images full size. For the example below, an almost simple
|
188
|
+
lightbox is used: Lightbox V2; or short: lightbox.
|
189
|
+
|
190
|
+
.Nice cats
|
191
|
+
carousel::demo_cats[role="mb-3"]
|
192
|
+
|
193
|
+
The J1 module lightbox is a simple Lightbox but offers a bunch of impressive
|
194
|
+
features for displaying images. For example, the lightbox can display all
|
195
|
+
images (of a carousel) as a group. If one picture is opened in the lightbox,
|
196
|
+
others are browsed by easy-to-use control buttons.
|
197
|
+
|
198
|
+
=== One Slide Carousel + Lightbox
|
199
|
+
|
200
|
+
The build-in Carousel carousel supports multiple and single image shows.
|
201
|
+
Here you find an example of a single image slide show with controls enabled
|
202
|
+
to browse all images back and forth. An indicator below the slider shows how
|
203
|
+
many images the show contains.
|
204
|
+
|
205
|
+
.Single Slide Carousel and a Lightbox
|
206
|
+
carousel::demo_oneslide[role="mb-3"]
|
207
|
+
|
208
|
+
== JustifiedGallery
|
209
|
+
|
210
|
+
JustifiedGallery is a great jQuery plugin to create responsive, infinite,
|
211
|
+
and high-quality justified image galleries. J1 Template combines the Gallery
|
212
|
+
with the lightboxes supported to enlarge the images of a gallery.
|
213
|
+
|
214
|
+
See JustifiedGallery in action - and for sure, all that you see is even
|
215
|
+
responsive. Change the size of your current browser window, by width or height,
|
216
|
+
to see what will happen!
|
217
|
+
|
218
|
+
Pictures you've made are typically not even in size. Images may have the
|
219
|
+
same size (resolution), but some are orientated landscapes, or others
|
220
|
+
may be portraits. For that reason, a more powerful gallery is needed to create
|
221
|
+
so-called justified views.
|
222
|
+
|
223
|
+
JustifiedGallery uses a so-called masonry grid layout. It works by
|
224
|
+
placing elements in an optimal position based on available horizontal and
|
225
|
+
vertical space. Sort of like mason fitting stones in a wall. You'll have
|
226
|
+
seen it in use all over the Internet!
|
227
|
+
|
228
|
+
.Masonry grid layout of JustifiedGallery
|
229
|
+
gallery::jg_customizer[]
|
230
|
+
|
231
|
+
== What next
|
232
|
+
|
233
|
+
Hopefully, you've enjoyed exploring the possibilities J1 offers for managing
|
234
|
+
and displaying digital image content. But much, much more can the J1 do for
|
235
|
+
your web.
|
236
|
+
|
237
|
+
Incredible? See the next example page link:{url-roundtrip--present-videos}[Present videos].
|