j1-template 2021.0.9 → 2021.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_blog_archive.html +34 -12
  3. data/_includes/themes/j1/layouts/content_generator_post.html +7 -5
  4. data/_includes/themes/j1/procedures/global/create_bs_button.proc +1 -1
  5. data/_includes/themes/j1/procedures/posts/create_series_header.proc +2 -0
  6. data/assets/data/menu.html +10 -42
  7. data/assets/themes/j1/adapter/js/fam.js +59 -27
  8. data/assets/themes/j1/adapter/js/mmenu.js +9 -4
  9. data/assets/themes/j1/adapter/js/navigator.js +12 -5
  10. data/assets/themes/j1/adapter/js/themer.js +49 -0
  11. data/assets/themes/j1/adapter/js/toccer.js +97 -18
  12. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +86 -95
  13. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
  14. data/assets/themes/j1/modules/justifiedGallery/LICENSE +1 -1
  15. data/assets/themes/j1/modules/justifiedGallery/README.md +5 -3
  16. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/js/{jquery.justifiedGallery.js → justifiedGallery.js} +145 -145
  17. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/js/{jquery.justifiedGallery.min.js → justifiedGallery.min.js} +1 -2
  18. data/assets/themes/j1/modules/justifiedGallery/js/justifiedGallery.js +69 -53
  19. data/assets/themes/j1/modules/justifiedGallery/js/justifiedGallery.min.js +2 -2
  20. data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +9 -4
  21. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
  22. data/lib/j1/commands/generate.rb +2 -2
  23. data/lib/j1/version.rb +1 -1
  24. data/lib/starter_web/Gemfile +2 -2
  25. data/lib/starter_web/_config.yml +3 -3
  26. data/lib/starter_web/_data/apps/justified_gallery.yml +41 -13
  27. data/lib/starter_web/_data/blocks/banner.yml +20 -8
  28. data/lib/starter_web/_data/blocks/defaults/banner.yml +5 -5
  29. data/lib/starter_web/_data/blocks/panel.yml +1 -1
  30. data/lib/starter_web/_data/builder/blog_navigator.yml +4 -4
  31. data/lib/starter_web/_data/modules/defaults/quicksearch.yml +3 -24
  32. data/lib/starter_web/_data/modules/defaults/themer.yml +1 -0
  33. data/lib/starter_web/_data/modules/defaults/toccer.yml +2 -2
  34. data/lib/starter_web/_data/modules/fam.yml +8 -0
  35. data/lib/starter_web/_data/modules/navigator_menu.yml +32 -32
  36. data/lib/starter_web/_data/modules/quicksearch.yml +3 -3
  37. data/lib/starter_web/_includes/attributes.asciidoc +21 -5
  38. data/lib/starter_web/_plugins/lunr_index.rb +8 -4
  39. data/lib/starter_web/assets/images/collections/blog/featured/markus-spiske-2.jpg +0 -0
  40. data/lib/starter_web/assets/images/collections/blog/featured/staticgen.jpg +0 -0
  41. data/lib/starter_web/assets/images/modules/attics/florian-olivo-1920x1280.jpg +0 -0
  42. data/lib/starter_web/assets/images/modules/attics/joel-filipe-1920x1280.jpg +0 -0
  43. data/lib/starter_web/assets/images/modules/attics/markus-spiske-1920x1280.jpg +0 -0
  44. data/lib/starter_web/assets/images/modules/attics/markus-spiske.jpg +0 -0
  45. data/lib/starter_web/assets/images/modules/attics/markus-spiske3-1920x1280.jpg +0 -0
  46. data/lib/starter_web/assets/images/modules/attics/markus-spiske4-1920x1280.jpg +0 -0
  47. data/lib/starter_web/assets/images/modules/attics/{runner-1920x1200-bw.jpg → runner-1920x1200.jpg} +0 -0
  48. data/lib/starter_web/assets/images/modules/attics/{the-place-1920x1280-bw.jpg → the-place-1920x1280.jpg} +0 -0
  49. data/lib/starter_web/assets/images/modules/gallery/old_times/colored/image_01.jpg +0 -0
  50. data/lib/starter_web/assets/images/modules/gallery/old_times/image_01.jpg +0 -0
  51. data/lib/starter_web/assets/images/modules/gallery/old_times/image_02.jpg +0 -0
  52. data/lib/starter_web/assets/images/modules/gallery/old_times/image_03.jpg +0 -0
  53. data/lib/starter_web/assets/images/modules/gallery/old_times/image_04.jpg +0 -0
  54. data/lib/starter_web/assets/images/modules/icons/d1/scalable/d1.svg +1 -1
  55. data/lib/starter_web/assets/images/pages/panels/florian-olivo-1920x800.jpg +0 -0
  56. data/lib/starter_web/assets/images/pages/panels/responsive-text-1920x800.jpg +0 -0
  57. data/lib/starter_web/collections/posts/public/featured/_posts/{0000-00-00-welcome-to-j1-template.adoc.erb → 0000-00-00-welcome-to-j1.adoc.erb} +30 -14
  58. data/lib/starter_web/collections/posts/public/featured/_posts/{2020-05-01-top-open-source-static-site-generators.adoc → 2020-05-01-top-site-generators.adoc} +10 -15
  59. data/lib/starter_web/collections/posts/public/featured/_posts/2020-06-01-about-cookies.adoc +58 -54
  60. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +8 -5
  61. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +7 -4
  62. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +7 -4
  63. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +7 -4
  64. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +1 -1
  65. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +1 -1
  66. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +1 -1
  67. data/lib/starter_web/dot.gitignore +2 -3
  68. data/lib/starter_web/index.html +8 -8
  69. data/lib/starter_web/package.json +1 -1
  70. data/lib/starter_web/pages/public/about/about_site.adoc +6 -7
  71. data/lib/starter_web/pages/public/asciidoc_skeletons/book/000_intro.adoc +1 -1
  72. data/lib/starter_web/pages/public/asciidoc_skeletons/book/100_chapter.adoc +1 -1
  73. data/lib/starter_web/pages/public/asciidoc_skeletons/book/200_chapter.adoc +1 -1
  74. data/lib/starter_web/pages/public/asciidoc_skeletons/book/900_references.adoc +1 -1
  75. data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.adoc +1 -1
  76. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/100_chapter.asciidoc +1 -1
  77. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/200_chapter.asciidoc +1 -1
  78. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +1 -1
  79. data/lib/starter_web/pages/public/blog/navigator/archive.html +7 -5
  80. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +7 -5
  81. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +7 -5
  82. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +7 -5
  83. data/lib/starter_web/pages/public/blog/navigator/index.html +7 -10
  84. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +4 -5
  85. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +79 -46
  86. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +0 -7
  87. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +20 -51
  88. data/lib/starter_web/pages/public/learn/where_to_go.adoc +24 -49
  89. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +67 -36
  90. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +89 -503
  91. data/lib/starter_web/pages/public/previewer/iframer.adoc +2 -1
  92. data/lib/starter_web/pages/public/previewer/justified_gallery.html +2 -2
  93. data/lib/starter_web/pages/public/previewer/md_color_palette.adoc +2450 -0
  94. data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +4 -4
  95. data/lib/starter_web/pages/public/previewer/rouge.adoc +25 -56
  96. data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +3 -3
  97. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  98. data/lib/starter_web/utilsrv/package.json +1 -1
  99. metadata +23 -24
  100. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/justifiedGallery.min.zip +0 -0
  101. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/justifiedGallery.zip +0 -0
  102. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/css/justifiedGallery.css +0 -110
  103. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/css/justifiedGallery.min.css +0 -110
  104. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/css/theme/uno.css +0 -23
  105. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/js/jquery.justifiedGallery.js +0 -1229
  106. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/js/jquery.justifiedGallery.min.js +0 -8
  107. data/lib/j1/templates/posts/0000-00-00-welcome-to-j1-template.adoc.erb +0 -72
  108. data/lib/starter_web/collections/posts/public/featured/_posts/2020-04-01-confusion-about-base-url.adoc +0 -118
  109. data/lib/starter_web/pages/public/legal/de/100_impress.adoc +0 -98
  110. data/lib/starter_web/pages/public/legal/de/200_terms_of_use.adoc +0 -55
  111. data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +0 -295
  112. data/lib/starter_web/pages/public/legal/de/400_license_agreement.adoc +0 -395
  113. data/lib/starter_web/pages/public/legal/de/500_support.adoc +0 -20
  114. data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +0 -441
  115. data/lib/starter_web/pages/public/legal/en/500_support.adoc +0 -27
@@ -1,5 +1,5 @@
1
1
  # ------------------------------------------------------------------------------
2
- # ~/_data/modules/lunr_search.yml
2
+ # ~/_data/modules/quicksearch.yml
3
3
  # User configuration settings for J1 QuickSearch module
4
4
  #
5
5
  # Product/Info:
@@ -16,9 +16,9 @@
16
16
  #
17
17
  about_config:
18
18
 
19
- title: J1 LunrSearch
19
+ title: J1 QuickSearch
20
20
  scope: User settings
21
- location: _data/modules/lunr_search.yml
21
+ location: _data/modules/quicksearch.yml
22
22
 
23
23
  # ------------------------------------------------------------------------------
24
24
  # User configuration settings
@@ -5,6 +5,9 @@
5
5
  // URLS, global references to internal|external web links (macro link:)
6
6
  // -----------------------------------------------------------------------------
7
7
  tag::urls[]
8
+
9
+ :url-about-cookies--home: http://www.aboutcookies.org
10
+
8
11
  :url-animate-css--home: https://animate.style/
9
12
  :url-anime--home: https://animejs.com/
10
13
 
@@ -96,6 +99,7 @@ tag::urls[]
96
99
 
97
100
  :url-cash--gh-repo: https://github.com/fabiospampinato/cash
98
101
  :url-clipboard--gh-repo: https://github.com/zenorocha/clipboard.js/
102
+
99
103
  :url-cors--gh-repo: https://github.com/expressjs/cors
100
104
  :url-cross-env--gh-repo: https://github.com/kentcdodds/cross-env
101
105
  :url-cross-var--gh-repo: https://github.com/elijahmanor/cross-var
@@ -144,16 +148,17 @@ tag::urls[]
144
148
  :url-iframe-resizer--gh-repo: https://github.com/davidjbradshaw/iframe-resizer
145
149
 
146
150
  :url-j1--home: https://jekyll.one/
151
+ :url-j1--download: https://rubygems.org/gems/j1-template/versions/2021.0.14
152
+ :url-j1-rubydoc--home: https://www.rubydoc.info/gems/j1-template/2021.0.14
147
153
  :url-j1--preview: https://preview.jekyll.one/
148
154
 
149
- :url-j1-web-in-a-day--intro: /pages/public/learn/kickstarter/web_in_a_day/intro/
150
- :url-j1-web-in-a-day--meet-and-greet: /pages/public/learn/kickstarter/web_in_a_day/meet_and_greet/
151
- :url-j1-web-in-a-day--preparations: /pages/public/learn/kickstarter/web_in_a_day/preparations/
152
- :url-j1-web-in-a-day--first-awesome-web: /pages/public/learn/kickstarter/web_in_a_day/first_awesome_web/
155
+ :url-j1-web-in-a-day--meet-and-greet: https://jekyll.one/pages/public/learn/kickstarter/web_in_a_day/meet_and_greet/
153
156
 
154
157
  :url-j1-quick-references--jekyll: /pages/protected/manuals/quick_references/jekyll/
155
158
  :url-j1-downloads--quickstart-intro: /pages/public/learn/downloads/quickstart/intro/
156
159
 
160
+ :url-j1-roundtrip--present-images: /pages/public/learn/roundtrip/present_images/
161
+
157
162
  :url-j1-learn--whats-up: https://jekyll.one/pages/public/learn/whats_up/
158
163
  :url-j1-learn--present-images: https://jekyll.one/pages/public/learn/roundtrip/present_images/
159
164
  :url-j1-learn--present-videos: https://jekyll.one/pages/public/learn/roundtrip/present_videos/
@@ -236,6 +241,8 @@ tag::urls[]
236
241
 
237
242
  :url-owl-carousel-v1--home: http://www.landmarkmlp.com/js-plugin/owl.carousel/
238
243
 
244
+ :url-owasp-attacks--csrf: https://owasp.org/www-community/attacks/csrf
245
+
239
246
  :url-parseurl--gh-repo: https://github.com/pillarjs/parseurl
240
247
 
241
248
  :url-platform--gh-repo: https://github.com/bestiejs/platform.js/
@@ -275,6 +282,9 @@ tag::urls[]
275
282
  :url-sass-lang--home: https://sass-lang.com/dart-sass
276
283
  :url-sass-lang--gh-repo: https://github.com/sass/dart-sass
277
284
 
285
+ :url-jamstack--home: https://jamstack.org/
286
+ :url-jamstack--generators: https://jamstack.org/generators/
287
+
278
288
  :url-shopify--home: https://www.shopify.com/
279
289
 
280
290
  :url-stackoverflow--usage-fonticons: https://stackoverflow.com/questions/11135261/should-i-use-i-tag-for-icons-instead-of-span
@@ -348,6 +358,12 @@ tag::tags[]
348
358
  :icon-battery--three-quarter: icon:battery-three-quarters[role="md-blue"]
349
359
  :icon-battery--full: icon:battery-full[role="md-blue"]
350
360
 
361
+ :badge-j1--license: image:https://img.shields.io/github/license/jekyll-one-org/j1-template[GitHub, link="https://github.com/jekyll-one-org/j1-template/blob/master/LICENSE.md", window="_blank"]
362
+ :badge-j1--version-latest: image:https://badge.fury.io/rb/j1-template.svg[Gem Version, link="https://badge.fury.io/rb/j1-template", window="_blank"]
363
+ :badge-j1--downloads: image:https://img.shields.io/gem/dt/j1-template[Gem]
364
+ :badge-j1-gh--last-commit: image:https://img.shields.io/github/last-commit/jekyll-one-org/j1-template[GitHub last commit]
365
+ :badge-j1-gh--stars: image:https://img.shields.io/github/stars/jekyll-one-org/j1-template?style=social[GitHub Repo stars]
366
+
351
367
  :char-emdash: —
352
368
  :char-middot: ·
353
369
  :char-dot: .
@@ -384,7 +400,7 @@ end::tables[]
384
400
  // -----------------------------------------------------------------------------
385
401
  tag::products[]
386
402
  :j1-license: MIT License
387
- :j1-version: 2021.0.9
403
+ :j1-version: 2021.0.14
388
404
  end::products[]
389
405
 
390
406
 
@@ -102,6 +102,7 @@ module Jekyll
102
102
  Jekyll.logger.info 'J1 QuickSearch:', 'creating search index ...'
103
103
 
104
104
  @site = site
105
+
105
106
  # gather posts and pages
106
107
  #
107
108
  items = pages_to_index(site)
@@ -109,6 +110,7 @@ module Jekyll
109
110
  # index = []
110
111
 
111
112
  index_js = open(@lunr_path).read
113
+
112
114
  # NOTE: all settings must be added within the index function
113
115
  #
114
116
  index_js << 'var idx = lunr(function() {'
@@ -136,12 +138,14 @@ module Jekyll
136
138
  'body' => entry.body
137
139
  }
138
140
 
139
- # remove unwanted categories
140
- doc['categories'] -= @strip_categories
141
+ # remove unwanted categories (if any)
142
+ #
143
+ doc['categories'] -= @strip_categories unless doc['categories'] == nil
141
144
 
142
145
  index_js << 'this.add(' << ::JSON.generate(doc, quirks_mode: true) << ');'
143
146
 
144
147
  # reduce the size of the doc array by deleting the body key
148
+ #
145
149
  doc.delete('body')
146
150
  @docs[i] = doc
147
151
 
@@ -282,7 +286,7 @@ module Jekyll
282
286
  description = excerpt
283
287
  end
284
288
  end
285
-
289
+
286
290
  SearchEntry.new(title, tagline, url, date, tags, categories, description, is_post, body, renderer)
287
291
  else
288
292
  raise 'Not supported'
@@ -341,6 +345,6 @@ end
341
345
 
342
346
  module Jekyll
343
347
  module J1LunrSearch
344
- VERSION = '2021.0.9'
348
+ VERSION = '2021.0.14'
345
349
  end
346
350
  end
@@ -14,7 +14,7 @@
14
14
  version="1.1"
15
15
  inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
16
16
  sodipodi:docname="d1.svg"
17
- inkscape:export-filename="C:\Temp\d10n-2021.0.9\assets\images\modules\icons\d1\d1-256x256.png"
17
+ inkscape:export-filename="C:\Temp\d10n-2021.0.14\assets\images\modules\icons\d1\d1-256x256.png"
18
18
  inkscape:export-xdpi="49.152"
19
19
  inkscape:export-ydpi="49.152">
20
20
  <title
@@ -43,7 +43,7 @@ all the tricky things needed for a website: putting out HTML, Javascript and
43
43
  CSS. As a result, the site creation process gets out of your way. Sounds fun,
44
44
  isn't it?
45
45
 
46
- [role="clearfix mb-3"]
46
+ // [role="clearfix mb-3"]
47
47
  excerpt__end
48
48
 
49
49
  // Load Liquid procedures
@@ -68,6 +68,20 @@ A static site serves the content straight to the user as it is stored on
68
68
  the server-side. To put it in another way, in opposition to WordPress
69
69
  which use a database to load dynamic content, a static site will display
70
70
  the same content to every user as it will directly load the HTML files
71
+ on the server.
72
+
73
+ A static website uses server-side rendering to serve pre-built HTML, CSS,
74
+ and JavaScript files to a web browser, in contrast to traditional dynamic
75
+ sites that work by rendering the webpage at the time of the request.
76
+ Static sites enable you to decouple your content repository and front-end
77
+ interface, giving you greater flexibility in how your content is served.
78
+ Cost-efficiency is another reason companies migrate to a static site because
79
+ static files are lightweight and often faster and cheaper to serve.
80
+
81
+ In the last few years, static sites have greatly increased in popularity.
82
+ This surge is primarily due to advances in developer tools (languages and
83
+ libraries) and a stronger desire among businesses to optimize website
84
+ performance beyond the limits of a database-driven site.
71
85
 
72
86
  === What's different?
73
87
 
@@ -76,6 +90,14 @@ generate the content of a page when a user requests it. For example,
76
90
  building a website using WordPress CMS will result in having a dynamic
77
91
  Website.
78
92
 
93
+ Static sites can be written almost exclusively in HTML and serve a fixed
94
+ set of data that renders the same for every site visitor. Static sites use
95
+ server-side rendering to serve pre-built HTML, CSS, and JavaScript files to
96
+ a web browser. Dynamic sites operate in a completely different way, by
97
+ leveraging HTML and CSS as well as server-side scripting languages like PHP
98
+ to build webpages on the fly and serve different content to each site
99
+ visitor.
100
+
79
101
  === Why use a static site?
80
102
 
81
103
  What are the advantages of a static website over a dynamic site?
@@ -85,8 +107,7 @@ come the main advantages of using a static site over a dynamic
85
107
  one.
86
108
 
87
109
  Performance::
88
- The better performance and a crazy fast load time.
89
-
110
+ *The better performance and a crazy fast load time*.
90
111
  One of the main advantages of using a static site is the fact that
91
112
  it is crazy fast to load. Indeed, when the user requests a page, there is
92
113
  no need to request a database and various files to generate the
@@ -99,8 +120,7 @@ that’s why having fast loading times will participate in making your
99
120
  website mobile-friendly.
100
121
 
101
122
  Security::
102
- Having a static website: say goodbye to hacking and security issues.
103
-
123
+ *Having a static website: say goodbye to hacking and security issues*.
104
124
  Tired of getting WordPress notifications about security issues and
105
125
  updates every week? No worries, as a static site has no database, there
106
126
  are close to no hack possible compared to a WordPress website. Indeed,
@@ -110,8 +130,7 @@ static website is one the main reason why many famous brands switch to
110
130
  a static site instead of having their website on Drupal or WordPress.
111
131
 
112
132
  Hosting::
113
- Building a static site and hosting: you will save you money.
114
-
133
+ *Building a static site and hosting: you will save you money*.
115
134
  Using a static site, you will only have most of the time only HTML and
116
135
  CSS files to host. This kind of files is super light which also means
117
136
  that you will not need a powerhouse hosting to have a static site up and
@@ -120,9 +139,8 @@ go down contrary to a dynamic site which should request the database
120
139
  each time for each user.
121
140
 
122
141
  Control::
123
- You're the master.
124
-
125
- Using a CMS means, giving control over your site to others. Simple like this.
142
+ *You're the master*. Using a CMS means, giving control over your site to others.
143
+ Simple like this.
126
144
 
127
145
  == Why use a site generator?
128
146
 
@@ -143,11 +161,9 @@ As the popularity of static sites is growing, there are plenty of static
143
161
  site generators available on the market. The more famous is Jekyll,
144
162
  Middleman and Hugo. Each one has its own specificities and may suits you
145
163
  better depending on the programming languages you already are familiar with.
146
-
147
164
  Which static site generator should I use?
148
165
 
149
166
  When I decided to go for a blog based on a static web, I personally
150
167
  choose Jekyll as for me. It's a well known static site generator, good support
151
- in case of trouble and the software gets regularly updated.
152
-
153
- This blog is powered by Jekyll. For good reasons.
168
+ in case of trouble and the software gets regularly updated. This website is
169
+ powered by Jekyll. For good reasons.
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: Site generators
3
- tagline: OpenSource tools
2
+ title: Free site generators
3
+ tagline: top site generators
4
4
  date: 2020-05-01 00:00:00
5
5
 
6
6
  tags: [ Jekyll, Generators ]
@@ -46,7 +46,7 @@ This article highlights top OpenSource projects providing static site
46
46
  generators, in many different programming languages. And Jekyll is only one of
47
47
  them. Have a look if an flull-blown CMS is (really) needed for your project!
48
48
 
49
- [role="clearfix mb-3"]
49
+ // [role="clearfix mb-3"]
50
50
  excerpt__end
51
51
 
52
52
  // Load Liquid procedures
@@ -55,7 +55,7 @@ excerpt__end
55
55
 
56
56
  // Load page attributes
57
57
  // -----------------------------------------------------------------------------
58
- {% include {{load_attributes}} scope="none" %}
58
+ {% include {{load_attributes}} scope="global" %}
59
59
 
60
60
 
61
61
  // Page content
@@ -68,7 +68,7 @@ excerpt__end
68
68
  == Static Site Generators
69
69
 
70
70
  [role="mb-3"]
71
- image::/assets/images/collections/blog/featured/staticgen.jpg[{{page.title}}]
71
+ image::/assets/images/collections/blog/featured/markus-spiske-2.jpg[{{page.title}}]
72
72
 
73
73
  A typical CMS driven website works by building each and every page dynamically.
74
74
  That means fetching the content from a database to pass them over to a template
@@ -80,10 +80,8 @@ This means each page is assembled on demand.
80
80
  For many, many websites dynamic page generation is entirely unnecessary and
81
81
  adds unwanted risks in terms of complexity, performance losses and security
82
82
  issues. After all, the content of most websites changes only, when the content
83
- authors make changes.
84
-
85
- Why the hell should a web page always assembled on demand if there are no
86
- changes?
83
+ authors make changes. Why the hell should a web page always assembled on
84
+ demand if there are no changes?
87
85
 
88
86
  NOTE: To be fair, most CMS are providing caching systems for web pages to
89
87
  prevent unnecessary creation processes. It is not easy to implement such
@@ -99,11 +97,8 @@ content, only selected pages will rebuild.
99
97
  This means overall, statically build web pages having no moving parts in the
100
98
  deployed website. This results in browser-side caching only, the performance
101
99
  goes up, and static sites are far more secure because they build already.
102
-
103
100
  To find out what OpenSource Static Site Generators are available today and
104
- their ranking in terms of popularity go for StaticGen You'll find the most
105
- complete list of generators!
106
-
107
- Check https://www.staticgen.com[StaticGen].
101
+ their ranking in terms of popularity go for Jamstack You'll find the most
102
+ complete list of generators used today.
108
103
 
109
- Have fun!
104
+ Check with {url-jamstack--generators}[Jamstack, {browser-window--new}]!
@@ -52,7 +52,7 @@ requested to inform - in Europe for legal reasons. All users visiting web sites
52
52
  are bothered all the time to accept on cookies. Cookies are used by sites
53
53
  of today. For good reasons?
54
54
 
55
- [role="clearfix mb-3"]
55
+ // [role="clearfix mb-3"]
56
56
  excerpt__end
57
57
 
58
58
  // Load Liquid procedures
@@ -61,7 +61,7 @@ excerpt__end
61
61
 
62
62
  // Load page attributes
63
63
  // -----------------------------------------------------------------------------
64
- {% include {{load_attributes}} scope="none" %}
64
+ {% include {{load_attributes}} scope="global" %}
65
65
 
66
66
 
67
67
  // Page content
@@ -75,44 +75,35 @@ excerpt__end
75
75
 
76
76
  In short words. A cookie is a small piece of data that a website asks your
77
77
  browser to store on your computer or mobile device. The cookie allows the
78
- website to "remember" your actions or preferences over time.
79
-
80
- Most browsers support cookies, but users can set their browsers to decline
81
- them and can delete them whenever they like.
82
-
83
- Good to know.
84
-
85
- == For what reasons cookies are used
78
+ website to "remember" your actions or preferences over time. All modern
79
+ browsers support cookies, but users can set their browsers to decline them
80
+ and can delete them whenever they like. Good to know.
86
81
 
87
82
  Websites mainly use cookies for:
88
83
 
89
84
  Identification::
90
- identify users
85
+ Identify users
91
86
 
92
87
  General information storage::
93
- remember users' custom preferences
88
+ Remember users' custom preferences
94
89
 
95
90
  Support::
96
- help users complete tasks without having to re‑enter information
91
+ Help users complete tasks without having to re‑enter information
97
92
  when browsing from one page to another or when visiting the site later.
98
93
 
99
94
  Track behavioural::
100
95
  Cookies can also be used for online behavioural target advertising and to
101
96
  show adverts relevant to something that the user searched for in the past.
102
-
103
97
  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 webpage is also able to store cookies.
98
+ computer or mobile device.
106
99
 
107
100
  All these cookies are called http header cookies. Another way of storing
108
101
  cookies is through JavaScript code contained or referenced in that page.
109
-
110
102
  Each time the user requests a new page, the web server can receive the
111
103
  values of the cookies it previously set and return the page with content
112
104
  relating to these values. Similarly, JavaScript code is able to read a
113
105
  cookie belonging to its domain and perform an action accordingly.
114
106
 
115
-
116
107
  .How are they used
117
108
  [NOTE]
118
109
  ====
@@ -128,57 +119,70 @@ relating to these values. Similarly, JavaScript code is able to read a
128
119
  cookie belonging to its domain and perform an action accordingly.
129
120
  ====
130
121
 
131
-
132
122
  == Types of cookies
133
123
 
134
- A cookie can be classified by its lifespan and the domain to which it belongs.
135
- By lifespan, a cookie is either a:
124
+ HTTP cookies are essential to the modern Internet but potentially a
125
+ vulnerability to your privacy. As a necessary part of web browsing, cookies
126
+ help web developers give you more personal, convenient website visits.
127
+ Cookies let websites remember you, your website logins, shopping carts and
128
+ more. But they can also be a treasure trove of private info for criminals
129
+ to spy on.
136
130
 
137
- Session cookie::
138
- which is erased when the user closes the browser or
131
+ Since the data in cookies doesn't change, cookies themselves aren't harmful.
132
+ They *can't infect* computers with viruses or other malware. However, some
133
+ cyberattacks can hijack cookies and enable access to your browsing sessions.
134
+ The danger lies in their ability to track individuals' browsing histories.
135
+ Cookies generally can be classified by its *lifespan* and the *domain* to
136
+ which it belongs.
139
137
 
140
- Persistent cookie::
141
- which remains on the user's computer/device for a pre-defined period of time.
138
+ === By Lifespan
142
139
 
143
- As for the domain to which it belongs, there are either:
140
+ Cookies classified by *lifespan* are either a:
144
141
 
145
- First-party cookie::
146
- cookies which are set by the web server of the visited page and share the
147
- same domain
142
+ Session cookie::
143
+ Session cookies gets automatically deleted when the user closes the web browser
144
+ and all open window tabs.
148
145
 
149
- Third-party cookies::
150
- cookies stored by a different domain to the visited page's domain.
151
- This can happen when the webpage references a file, such as JavaScript,
152
- located outside its domain.
146
+ Persistent cookie::
147
+ A persistent cookie *remains* on the user's computer/device for a pre-defined
148
+ period of time.
153
149
 
150
+ === By Domain
154
151
 
155
- == How do a site use cookies?
152
+ Cookies classified by the *domain* to which it belongs, are either of:
156
153
 
157
- Adjust this part of the page according to your needs.
154
+ First-party cookie::
155
+ First-party cookie cookies are set by the web server of the visited page
156
+ and share the *same domain* you're visting. These are generally safer, as
157
+ long as users are browsing reputable websites or ones that have not been
158
+ compromised.
158
159
 
159
- Explain which cookies you use in plain, jargon-free language. In particular:
160
+ Third-party cookies::
161
+ Third-party cookies are stored by a *different* domain to the visited page.
162
+ This can happen when the webpage references a files located outside its domain.
163
+ Third-party cookies let advertisers or analytics companies track the user's
164
+ browsing history across the web on *any* sites that contain their ads.
160
165
 
161
- * their purpose and the reason why they are being used, (e.g. to remember
162
- users' actions, to identify the user, for online behavioural advertising)
163
- * if they are essential for the website or a given functionality to work
164
- or if they aim to enhance the performance of the website
165
- * the types of cookies used (e.g. session or permanent, first or third-party)
166
- * who controls/accesses the cookie-related information (website or third party)
167
- * that the cookie will not be used for any purpose other than the one stated
168
- * how consent can be withdrawn.
166
+ == Security aspects on using cookies
169
167
 
170
- You can use as example the top level "cookie notice" of the Commission homepage.
171
- If your site does not use any cookies, just declare it (e.g. The Information
172
- Providers Guide site does not use any cookies). If your site uses the same
173
- cookies as the Commission homepage, you can just link to the top level
174
- cookie notice.
168
+ Without cookies the web would not work as it does today. However, since the
169
+ mid 90ies when cookies were invented, the web changed quite a lot and so did
170
+ the attack methods on web applications; as mentioned the internet is not a
171
+ friendly place.
175
172
 
173
+ A well-known attack method is known as Cross Site Request Forgery, or short
174
+ *CSRF*. CSRF is an attack, a criminal act, that forces an end user to execute
175
+ unwanted actions. Cookie may play a *role* in such scenarios but they are
176
+ not generally *unsafe*. If you want you can read more about that in the
177
+ CRSF Page on {url-owasp-attacks--csrf}[OWASP, {browser-window--new}].
176
178
 
177
179
  == How to control cookies
178
180
 
179
- You can control and/or delete cookies as you wish for details,
180
- see http://www.aboutcookies.org[aboutcookies.org]. You can delete
181
+ Users can take control, used or *not* used, or delete cookies. For more
182
+ details, see {url-about-cookies--home}[AboutCookies]. You can delete
181
183
  all cookies that are already on your computer and you can set most
182
- browsers to prevent them from being placed. If you do this, however,
183
- you may have to manually adjust some preferences every time you visit
184
- a site and some services and functionalities may not work.
184
+ browsers to prevent them from being placed.
185
+
186
+ If you do this, however, you may have to manually adjust some preferences
187
+ every time you visit a site and some services and functionalities may not
188
+ work.