j1-template 2023.8.2 → 2023.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_post.html +19 -49
  3. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +185 -192
  4. data/_includes/themes/j1/procedures/posts/create_series_header.proc +1 -14
  5. data/_includes/themes/j1/procedures/posts/pager.proc +39 -46
  6. data/assets/themes/j1/adapter/js/speak2me.js +1 -1
  7. data/assets/themes/j1/adapter/js/translator.js +4 -2
  8. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +31 -26
  9. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.min.css +2 -2
  10. data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +31 -26
  11. data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +2 -2
  12. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +37 -29
  13. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +3 -3
  14. data/assets/themes/j1/core/js/template.js +58 -43
  15. data/assets/themes/j1/core/js/template.min.js +7 -7
  16. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  17. data/lib/j1/version.rb +1 -1
  18. data/lib/starter_web/Gemfile +2 -2
  19. data/lib/starter_web/README.md +5 -5
  20. data/lib/starter_web/_config.yml +1 -1
  21. data/lib/starter_web/_data/blocks/footer.yml +6 -4
  22. data/lib/starter_web/_data/modules/defaults/blog_navigator.yml +89 -135
  23. data/lib/starter_web/_data/modules/defaults/speak2me.yml +1 -0
  24. data/lib/starter_web/_data/modules/justifiedGallery.yml +3 -3
  25. data/lib/starter_web/_data/modules/navigator_menu.yml +14 -7
  26. data/lib/starter_web/_data/templates/feed.xml +1 -1
  27. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  28. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +74 -70
  29. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +110 -84
  30. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-static-site-generators.adoc +49 -33
  31. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +47 -26
  32. data/lib/starter_web/package.json +1 -1
  33. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +66 -63
  34. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +76 -77
  35. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +63 -64
  36. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +79 -64
  37. data/lib/starter_web/pages/public/blog/navigator/index.html +55 -99
  38. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/themes_bootstrap.asciidoc +6 -2
  39. data/lib/starter_web/pages/public/learn/roundtrip/asciidoc_extensions.adoc +59 -35
  40. data/lib/starter_web/pages/public/learn/roundtrip/bootstrap_themes.adoc +4 -4
  41. data/lib/starter_web/pages/public/learn/roundtrip/highlghter_rouge.adoc +1 -1
  42. data/lib/starter_web/pages/public/learn/roundtrip/icon_fonts.adoc +28 -12
  43. data/lib/starter_web/pages/public/learn/roundtrip/lunr_search.adoc +12 -4
  44. data/lib/starter_web/pages/public/learn/roundtrip/modal_extentions.adoc +5 -1
  45. data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +512 -470
  46. data/lib/starter_web/pages/public/learn/roundtrip/present_videos.adoc +20 -6
  47. data/lib/starter_web/pages/public/learn/roundtrip/responsive_tables.adoc +5 -2
  48. data/lib/starter_web/pages/public/learn/where_to_go.adoc +24 -13
  49. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +4 -1
  50. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +4 -1
  51. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +632 -595
  52. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +12 -3
  53. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  54. data/lib/starter_web/utilsrv/package.json +1 -1
  55. metadata +2 -2
@@ -1,20 +1,34 @@
1
1
  ---
2
2
  title: Welcome to Jekyll
3
3
  tagline: Websites For Everyone
4
+
4
5
  #date: <%= Time.now.strftime('%Y-%m-%d') %>
5
6
  #last_modified: 2023-01-01
6
7
 
7
- categories: [ Jekyll, Featured ]
8
- tags: [ Post, Template ]
8
+ description: >
9
+ Jekyll is a static site generator that allows you to build websites
10
+ using HTML, CSS, Javascript, and Markdown for writing the content.
11
+ It uses templates and layouts to generate the static files that make
12
+ up your website, which can be hosted on any web server.
13
+ keywords: >
14
+ open source, free, template, jekyll, jekyllone, web,
15
+ sites, static, jamstack, bootstrap
16
+
17
+ categories: [ Jekyll ]
18
+ tags: [ Template, Theme ]
9
19
 
10
20
  image:
11
21
  path: /assets/images/modules/attics/katie-moum-1920x1280.jpg
12
22
  width: 1920
13
23
  height: 1200
14
- alt: Jekyll for Everyone
24
+ alt: Photo by Katie Moum on Unsplash
15
25
 
16
26
  group: Featured
17
- series: Featured
27
+ #series: Featured
28
+
29
+ tts: true
30
+ fab_menu_id: open_toc
31
+ comments: false
18
32
  regenerate: false
19
33
 
20
34
  resources: [ animate ]
@@ -43,12 +57,12 @@ resource_options:
43
57
  // Place an excerpt at the most top position
44
58
  // -----------------------------------------------------------------------------
45
59
  [role="dropcap"]
46
- A static site serves the content straight to the user as it is stored on
47
- the server-side.
60
+ Jekyll is a static site generator that allows you to build websites
61
+ using HTML, CSS, Javascript, and Markdown or Asciidoc for writing
62
+ the content.
48
63
 
49
- Contrary to WordPress, which uses a database to load dynamic content, a
50
- static site will display the content immediately as it will directly load
51
- the HTML files from the server.
64
+ It uses templates and layouts to generate the static files that make up your
65
+ website, which can be hosted on any web server.
52
66
 
53
67
  excerpt__end
54
68
 
@@ -68,8 +82,12 @@ All you’re doing at the end of the day is writing your content, and the J1
68
82
  Template does all the tricky things: putting out HTML, Javascript, and CSS.
69
83
  As a result, the site creation process gets out of your way.
70
84
 
85
+ mdi:clock-time-five-outline[24px, md-gray mr-2 mt-4]
86
+ *5 Minutes* to read
87
+
71
88
  // Include sub-documents (if any)
72
89
  // -----------------------------------------------------------------------------
90
+ [role="mt-5"]
73
91
  == What is a static site?
74
92
 
75
93
  A static site serves the content straight to the user as it is stored on
@@ -78,16 +96,12 @@ which use a database to load dynamic content, a static site will display
78
96
  the same content to every user as it will directly load the HTML files
79
97
  on the server.
80
98
 
81
- A static site serves the content straight to the user as it is stored on
82
- the server-side. In opposition to WordPress, which uses a database to load
83
- dynamic content, a static site will display the same content to every user
84
- as it will directly load the HTML files on the server.
85
-
86
99
  In the last few years, static sites have greatly increased in popularity.
87
100
  This surge is primarily due to advances in developer tools (languages and
88
101
  libraries) and a stronger desire among businesses to optimize website
89
102
  performance beyond the limits of a database-driven site.
90
103
 
104
+ [role="mt-4"]
91
105
  === What's different?
92
106
 
93
107
  A dynamic website uses a database and PHP/MySQL to generate the content of
@@ -102,50 +116,73 @@ leveraging HTML and CSS as well as server-side scripting languages like PHP
102
116
  to build webpages on the fly and serve different content to each site
103
117
  visitor.
104
118
 
105
- === Why use a static site?
119
+
120
+ [role="mt-5"]
121
+ == Why use a static site?
106
122
 
107
123
  What are the advantages of a static website over a dynamic site?
108
- You may be wondering *Why should I build a static site when I could do the
109
- same by using WordPress?*. Well, having a database implies a lot of downsides.
110
- Here come the main advantages of using a static site over a dynamic
111
- one.
112
-
113
- Performance::
114
- *The better performance and a crazy fast load time*.
115
- One of the main advantages of using a static site is the fact that
116
- it is crazy fast to load. Indeed, when the user requests a page, there is
124
+ You may be wondering *Why should I build a static site* when I could do *the
125
+ same by using WordPress?*.
126
+
127
+ Well, having a database implies a lot of downsides. Here come the main
128
+ advantages of using a static site over a dynamic one.
129
+
130
+ [role="mt-4"]
131
+ === Performance
132
+
133
+ Better performance and a crazy fast load time.
134
+
135
+ One of the main advantages of using a static site is the fact that it is
136
+ crazy fast to load. Indeed, when the user requests a page, there is
117
137
  no need to request a database and various files to generate the
118
138
  page itself as all the content is already placed in a one and only file:
119
- an HTML one. That’s why by using a static site, you will get a boost in
139
+ an HTML one.
140
+
141
+ That’s why by using a static site, you will get a boost in
120
142
  your loading time that will provide a great user experience for the
121
143
  internauts. Moreover, we know that more and more people are surfing the
122
144
  web using their smartphones with, sometimes, poor internet connections.
123
145
  That’s why having fast loading times will participate in making your
124
146
  website mobile-friendly.
125
147
 
126
- Security::
127
- *Having a static website: say goodbye to hacking and security issues*.
148
+ [role="mt-4"]
149
+ === Security
150
+
151
+ Say goodbye to hacking and security issues.
152
+
128
153
  Are you tired of getting WordPress notifications about security issues and
129
154
  updates every week? No worries, as a static site has no database, there are
130
155
  close to no hack possible compared to a WordPress website. Indeed, your
131
156
  site will have way fewer footprints and security issues since it will
132
- only load plain HTML and CSS files. The security gain in having a static
157
+ only load plain HTML and CSS files.
158
+
159
+ The security gain in having a static
133
160
  website is one of the main reasons why many famous brands switch to a
134
161
  static site instead of having their website on Drupal or WordPress.
135
162
 
136
- Hosting::
137
- *Building a static site and hosting: you will save you money*.
138
- Using a static site, you will only have most of the time only HTML and CSS
139
- files to host. This kind of file is super light which also means that you
140
- will not need a powerhouse hosting to have a static site up and running.
163
+ [role="mt-4"]
164
+ === Hosting
165
+
166
+ Building a static site and hosting: you will save money.
167
+
168
+ Using a static site, you need only HTML and CSS files to host. This kind
169
+ of file is super light which also means that you will not need a powerhouse
170
+ hosting to have a static site up and running.
171
+
141
172
  Moreover, if your traffic suddenly increases, your site will not go down,
142
173
  contrary to a dynamic site that should request the database each time
143
174
  for each user.
144
175
 
145
- Control::
146
- *You're the master*. You were using a CMS means, giving control over your
147
- site to others. Simple like this.
176
+ [role="mt-4"]
177
+ === Control
178
+
179
+ You're the master.
148
180
 
181
+ You were using a CMS means, giving control over your site to others.
182
+ Simple like this.
183
+
184
+
185
+ [role="mt-5"]
149
186
  == Why use a site generator?
150
187
 
151
188
  Working with pure HTML files is annoying; senseless today. Indeed, if you need
@@ -159,6 +196,7 @@ content and the Template. To say it another way, by using a static site
159
196
  generator, you will only need to make the modification once, and the
160
197
  generator will apply it to all your pages.
161
198
 
199
+ [role="mt-4"]
162
200
  === Why Jekyll?
163
201
 
164
202
  As the popularity of static sites is growing, there are plenty of static
@@ -171,37 +209,3 @@ When I decided to go for a blog based on a static web, I personally
171
209
  choose Jekyll as for me. It's a well-known static site generator, good support
172
210
  in case of trouble, and the software gets regularly updated. This website is
173
211
  powered by Jekyll. For good reasons.
174
-
175
-
176
- == Automatically generated posts
177
-
178
- You’ll find this post in your `_posts` directory. Go ahead and edit it and
179
- re-build the site to see your changes. You can rebuild the site in many
180
- different ways, but the most common way is to run `jekyll serve`, which
181
- launches a web server and auto-regenerates your site when a file is updated.
182
-
183
- Jekyll requires blog post files to be named according to the following format:
184
-
185
- `YEAR-MONTH-DAY-title.MARKUP`
186
-
187
- Where `YEAR` is a four-digit number, `MONTH` and `DAY` are both two-digit
188
- numbers, and `MARKUP` is the file extension representing the format used in
189
- the file. After that, include the necessary front matter. Take a look at the
190
- source for this post to get an idea about how it works.
191
-
192
- Jekyll also offers powerful support for code snippets:
193
-
194
- [source, ruby]
195
- ----
196
- def print_hi(name)
197
- puts "Hi, #{name}"
198
- end
199
- print_hi('Tom')
200
- #=> prints 'Hi, Tom' to STDOUT.
201
- ----
202
-
203
- Check out the https://jekyllrb.com/docs/home[Jekyll Docs, {{browser-window--new}}]
204
- for more info on how to get the most out of Jekyll. File all bugs amd feature
205
- requests at https://github.com/jekyll/jekyll/issues[Jekyll Github Project, {{browser-window--new}}].
206
- If you have questions, you can ask them on
207
- https://talk.jekyllrb.com/[Jekyll Talk, {{browser-window--new}}].
@@ -1,9 +1,12 @@
1
1
  ---
2
2
  title: Cookies
3
- tagline: Good To Know
3
+ title_extention: Good To Know About Cookies
4
+ tagline: About Cookies
5
+
6
+ #date: 2023-01-01
4
7
  #last_modified: 2023-01-01
5
8
 
6
- categories: [ Technology, Featured ]
9
+ categories: [ Technology ]
7
10
  tags: [ Cookies ]
8
11
 
9
12
  image:
@@ -15,11 +18,12 @@ image:
15
18
  group: Featured
16
19
  series: Featured
17
20
 
21
+ #tts: false
18
22
  fab_menu_id: open_toc
19
23
  comments: false
20
24
  regenerate: false
21
25
 
22
- resources: [ animate, bmd ]
26
+ resources: [ animate ]
23
27
  resource_options:
24
28
  - attic:
25
29
  padding_top: 600
@@ -51,96 +55,104 @@ resource_options:
51
55
  Cookies can be used for various purposes, such as tracking user behavior,
52
56
  remembering login credentials, and personalizing the user experience.
53
57
 
54
- Providing clear and transparent information about cookies helps users
55
- understand how their data is used and allows them to make informed choices
56
- about their privacy.
58
+ Providing clear and transparent information about using cookies by website
59
+ operators helps users understand how their data is used and allows them to
60
+ make better choices about their privacy.
57
61
 
58
62
  excerpt__end
59
63
 
64
+ // Load Liquid procedures
65
+ // -----------------------------------------------------------------------------
66
+ {% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
67
+
68
+ // Load page attributes
69
+ // -----------------------------------------------------------------------------
70
+ {% include {{load_attributes}} scope="global" %}
71
+
72
+
73
+ // Page content
74
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75
+ mdi:clock-time-five-outline[24px, md-gray mr-2 mt-4]
76
+ *3-5 Minutes* to read
77
+
78
+ // Include sub-documents (if any)
79
+ // -----------------------------------------------------------------------------
80
+ [role="mt-5"]
81
+ == What are Cookies
82
+
83
+ HTTP header cookies, or short cookies, are a small data files that a website
84
+ asks your browser to create on your computer or mobile device. A cookie allows
85
+ the website to store your actions or preferences over time.
86
+
87
+ All modern browsers support cookies. However, users can configure a browser
88
+ to decline them. Moreover, all users can delete all or selected cookie files
89
+ whenever they like.
90
+
91
+ Find below how cookies are typically used for.
92
+
93
+ [role="mt-4"]
94
+ === General
60
95
 
61
- == What are cookies technically
96
+ In general, cookies are used to remember a vistors personal preferences.
62
97
 
63
- In short, a cookie is a small piece of data that a website asks your
64
- browser to store on your computer or mobile device. The cookie allows the
65
- website to "remember" your actions or preferences over time. All modern
66
- browsers support cookies, but users can set their browsers to decline them
67
- and can delete them whenever they like. Good to know.
98
+ [role="mt-4"]
99
+ === Identification
68
100
 
69
- Websites mainly use cookies for:
101
+ Cookies allows to identify users, on return for example.
70
102
 
71
- Identification::
72
- Identify users, on return for example.
103
+ [role="mt-4"]
104
+ === Support
73
105
 
74
- General information storage::
75
- Remember users' custom preferences.
106
+ The data stored in cookies can help users to complete tasks without
107
+ re-entering the same information when visiting the site later.
76
108
 
77
- Support::
78
- Help users complete tasks without re-entering information when browsing
79
- from one page to another or when visiting the site later.
109
+ [role="mt-4"]
110
+ === Tracking
80
111
 
81
- Track behavioral::
82
112
  Cookies can also be used for online behavioral target advertising and to
83
- show adverts relevant to something that the user searched for in the past.
84
- The webserver supplying the webpage can store a cookie on the user's
85
- computer or mobile device.
86
-
87
- All these cookies are called HTTP header cookies. Another way of storing
88
- cookies is through JavaScript code contained or referenced on that page.
89
- Each time the user requests a new page, the webserver can receive the
90
- values of the cookies it previously set and return the page with content
91
- relating to these values. Similarly, JavaScript code can read a
92
- cookie belonging to its domain and act accordingly.
93
-
94
- .How are they used
95
- [NOTE]
96
- ====
97
- The web server supplying the webpage can store a cookie on the user's
98
- computer or mobile device. An external web server that manages files
99
- included or referenced in the web page can store cookies. All these
100
- cookies are called HTTP header cookies. Another way of storing cookies
101
- is through JavaScript code contained or referenced on that page.
102
-
103
- Each time the user requests a new page, the web server can receive the
104
- values of the cookies it previously set and return the page with content
105
- relating to these values. Similarly, JavaScript code can read a
106
- cookie belonging to its domain and act accordingly.
107
- ====
113
+ show innformation relevant to something that users searched for in the past.
114
+ The webserver supplying the webpage can store a cookie on the users
115
+ computer or mobile device to store such personal preferences.
116
+
108
117
 
109
- == Types of cookies
118
+ [role="mt-5"]
119
+ == Types of Cookies
110
120
 
111
- HTTP cookies are essential to the modern Internet but potentially a
112
- vulnerability to your privacy. As a necessary part of web browsing, cookies
113
- help web developers give you more personal, convenient website visits.
114
- Cookies let websites remember you, your website logins, shopping carts, and
115
- more. But they can also be a treasure trove of private info for criminals
116
- to spy on.
121
+ Cookies let websites remember you: for example your logins or purchases.
122
+ But they can also be a treasure trove of private info for criminals to
123
+ spy on.
117
124
 
118
- Since the data in cookies doesn't change, cookies themselves aren't harmful.
119
- They *can't infect* computers with viruses or other malware. However, some
120
- cyberattacks can hijack cookies and enable access to your browsing sessions.
121
- The danger lies in their ability to track individuals' browsing histories.
122
- Cookies generally can be classified by its *lifespan* and the *domain* to
123
- which it belongs.
125
+ In general, cookies can't infect computers with viruses or other type of
126
+ malware. However, some cyberattacks can hijack cookies and enable access to
127
+ your browsing sessions. The danger lies in their ability to track individuals'
128
+ browsing histories. Web browser manufacturers introduced many security
129
+ functions to minimize attack risks.
124
130
 
125
- === By Lifespan
131
+ A cookie can be classified by its lifespan and the website to which it
132
+ belongs.
126
133
 
127
- Cookies classified by *lifespan* are either a:
134
+ [role="mt-4"]
135
+ === Lifespan
136
+
137
+ Cookies classified by lifespan are either a:
128
138
 
129
139
  Session cookie::
130
- Session cookies gets automatically deleted when the user closes the web browser
131
- and all open window tabs.
140
+ Session cookies gets automatically deleted when the user closes the
141
+ web browser and all open window tabs.
132
142
 
133
143
  Persistent cookie::
134
- A persistent cookie *remains* on the user's computer/device for a pre-defined
135
- period of time.
144
+ A persistent cookie remains on the user's computer/device for a
145
+ pre-defined period of time; for a year at the maximum.
136
146
 
137
- === By Domain
147
+ [role="mt-4"]
148
+ === Website
138
149
 
139
- Cookies classified by the *domain* to which it belongs, are either of:
150
+ The domain classifies cookies, the web address to which it belongs is
151
+ either of:
140
152
 
141
153
  First-party cookie::
142
154
  First-party cookie cookies are set by the webserver of the visited page
143
- and share the *same domain* you're visiting. These are generally safer, as
155
+ and share the same domain you're visiting. These are generally safer, as
144
156
  long as users are browsing reputable websites or ones that have not been
145
157
  compromised.
146
158
 
@@ -148,29 +160,43 @@ Third-party cookies::
148
160
  Third-party cookies are stored by a *different* domain to the visited page.
149
161
  This can happen when the webpage references a file located outside its domain.
150
162
  Third-party cookies let advertisers or analytics companies track the user's
151
- browsing history across the web on *any* sites that contain their ads.
163
+ browsing history across the web on any sites that contain their ads.
152
164
 
153
165
 
154
- == Security aspects on using cookies
166
+ [role="mt-5"]
167
+ == Security
155
168
 
156
- Without cookies, the web would not work as it does today. However, since the
157
- mid 90ies when cookies were invented, the web changed quite a lot, and so did
158
- the attack methods on web applications; as mentioned, the Internet is not a
159
- friendly place.
169
+ Without cookies, the Web would not work as it does today. However, since the
170
+ mid 90ies when Cookies were introduced, the web changed quite a lot, and so
171
+ did the attack methods on web applications.
160
172
 
161
- A well-known attack method is known as Cross-Site Request Forgery or short
162
- *CSRF*. CSRF is an attack, a criminal act, that forces an end user to execute
163
- unwanted actions. A cookie may play a *role* in such scenarios, but they are
164
- not generally *unsafe* if you want, you can read more about that on the
165
- CRSF Page on {url-owasp-attacks--csrf}[OWASP, {browser-window--new}].
173
+ [role="mb-4"]
174
+ A well-known attack method is known as cross-site request forgery or short
175
+ CSRF. A *CSRF* is an attack that forces an end user to execute unwanted
176
+ actions. A cookie may play a role in such scenarios, but they are not
177
+ generally unsafe.
166
178
 
167
- == How to control cookies
179
+ [TIP]
180
+ ====
181
+ If you like, read more about on a CRSF attack on the page
182
+ link:{url-owasp-attacks--csrf}[OWASP, {browser-window--new}].
183
+ ====
168
184
 
169
- Users can take control, used or *not* used, or delete cookies. For more
170
- details, see {url-about-cookies--home}[AboutCookies]. You can delete
171
- all cookies that are already on your computer, and you can set most
172
- browsers to prevent them from being placed.
173
185
 
186
+ [role="mt-5"]
187
+ == Control
188
+
189
+ Users can take control when cookies are used or not. You can delete all
190
+ cookies that are already on your computer, and you
191
+ can set most browsers to prevent them from being placed.
192
+
193
+ [role="mb-4"]
174
194
  If you do this, however, you may have to manually adjust some preferences
175
195
  every time you visit a site, and some services and functionalities may not
176
196
  work.
197
+
198
+ [TIP]
199
+ ====
200
+ For more information how cookies are used, visit the page
201
+ link:{url-about-cookies--home}[AboutCookies, {browser-window--new}].
202
+ ====
@@ -1,9 +1,12 @@
1
1
  ---
2
2
  title: Static Site Generators
3
- tagline: Top Open Source SSGs
3
+ title_extention: Top Open Source Static Site Generators
4
+ tagline: Top Open Source
5
+
6
+ #date: 2023-01-01
4
7
  #last_modified: 2023-01-01
5
8
 
6
- categories: [ Jekyll, Featured ]
9
+ categories: [ Jekyll ]
7
10
  tags: [ Generators ]
8
11
 
9
12
  image:
@@ -15,10 +18,12 @@ image:
15
18
  group: Featured
16
19
  series: Featured
17
20
 
21
+ #tts: false
22
+ fab_menu_id: open_toc
18
23
  comments: false
19
24
  regenerate: false
20
25
 
21
- resources: [ animate, bmd, lightbox ]
26
+ resources: [ animate, lightbox ]
22
27
  resource_options:
23
28
  - attic:
24
29
  padding_top: 600
@@ -43,14 +48,14 @@ resource_options:
43
48
  // Place an excerpt at the most top position
44
49
  // -----------------------------------------------------------------------------
45
50
  [role="dropcap"]
46
- This article highlights the top open-source projects providing static site
51
+ This article highlights the top Open Source projects providing static site
47
52
  generators, so-called SSGs, in many different programming languages. You will
48
53
  find Jekyll one of them.
49
54
 
50
55
  A SSG is a software tool that assists in creating websites by generating
51
56
  static HTML, CSS, and JavaScript files. Unlike dynamic websites that generate
52
- content on the server side in response to each user request, static sites
53
- pre-generate the content before it's served to users.
57
+ content on the server side in response to each request of a user, static sites
58
+ pre-generate the content upfront it is served to users.
54
59
 
55
60
  excerpt__end
56
61
 
@@ -65,22 +70,22 @@ excerpt__end
65
70
 
66
71
  // Page content
67
72
  // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73
+ mdi:clock-time-five-outline[24px, md-gray mr-2 mt-4]
74
+ *3 Minutes* to read
68
75
 
69
76
  // Include sub-documents (if any)
70
77
  // -----------------------------------------------------------------------------
71
- == Dynamic page access
72
-
73
- // [role="mb-3"]
74
- // image::/assets/images/posts/featured/markus-spiske-2.jpg[{{page.title}}]
78
+ [role="mt-5"]
79
+ == Dynamic Webs
75
80
 
76
- A typical CMS-driven website works by building each and every page
81
+ A typical website driven by a CMS works by building each and every page
77
82
  *dynamically*. That means fetching the content from a database to pass them
78
- over to a template system (engine) to load the page content, adding the
79
- required structure information (e.g., CSS styles) and Javascript components if
83
+ over to a an middleware engine to load the content, add the required
84
+ structure information, for example CSS styles, and Javascript components if
80
85
  needed. This means every page is assembled *on demand*.
81
86
 
82
- .Accessing scheme for a CMS (dynamic web)
83
- lightbox::kickstart-wiad--dynamic-web-access[ 800, {data-kickstart-wiad--dynamic-web-access} ]
87
+ .Accessing Scheme for a CMS
88
+ lightbox::kickstart-wiad--dynamic-web-access[800, {data-kickstart-wiad--dynamic-web-access}]
84
89
 
85
90
  callout::1["Web Browser"]
86
91
  callout::2["Web Server"]
@@ -88,43 +93,54 @@ callout::3["Rendering Engine (e.g. PHP-based)"]
88
93
  callout::4["Database (e.g. MySQL, Postgres)"]
89
94
  callout::5["Static content (Images, Videos, JS- and CSS files) and Caches", ml-2 mb-3]
90
95
 
91
- == Is a CMS needed?
92
96
 
93
- For many websites, dynamic page generation is entirely unnecessary and
94
- adds unwanted risks in terms of complexity, performance losses, and security
97
+ [role="mt-5"]
98
+ == Are CMS required?
99
+
100
+ For many websites, dynamic page generation is entirely unnecessary and adds
101
+ unwanted risks in terms of complexity, performance losses, and security
95
102
  issues. After all, the content of most websites changes, when the content
96
- authors make changes. Why the hell should a web page always assemble on
103
+ authors make changes. Why the hell should a web page always be assembled on
97
104
  demand if there are no changes?
98
105
 
99
- NOTE: To be fair, most CMS are providing caching systems for web pages to
106
+ [NOTE]
107
+ ====
108
+ To be fair, most CMS are providing caching systems for web pages to
100
109
  prevent unnecessary creation processes. It is not easy to implement such
101
110
  a caching strategy, and in the very end, it adds the next level of
102
111
  complexity.
112
+ ====
103
113
 
104
- A Static Site Generator takes a different approach and generates all the pages
114
+ A static site generator takes a different approach and generates all the pages
105
115
  of the website *upfront*. That does not necessarily mean that a static website
106
116
  is always built from scratch. Modern generators support a so-called
107
- incremental build, as does. When there are changes detected to the
108
- content, only selected pages will rebuild.
117
+ incremental build. When there are changes detected to the content, only
118
+ selected pages are rebuild.
109
119
 
110
- .Accessing scheme for a static web
111
- lightbox::kickstart-wiad--static-web-access[ 800, {data-kickstart-wiad--static-web-access} ]
120
+ .Accessing Scheme for a Static Web
121
+ lightbox::kickstart-wiad--static-web-access[800, {data-kickstart-wiad--static-web-access}]
112
122
 
113
123
  callout::1["Web Browser"]
114
124
  callout::2["Web Server"]
115
125
  callout::3["Server-side rendered (prepared) static content", ml-2 mb-3]
116
126
 
117
- == Statically build web pages
127
+
128
+ [role="mt-5"]
129
+ == Static Webs
118
130
 
119
131
  Overall, statically build web pages having no moving parts in the deployed
120
132
  website. This results in browser-side caching only, the performance
121
- goes up, and static sites are far more secure because they *build already*.
122
- To find out what OpenSource Static Site Generators are available today and
123
- their ranking in terms of popularity, go for Jamstack. You'll find a
124
- comprehensive list of static site generators used today.
133
+ goes up, and static sites are far more secure because they *build* already
134
+ and cannot be modified.
125
135
 
126
- Check popular static site generators at {url-jamstack--generators}[Jamstack, {browser-window--new}]!
136
+ To find out what Open Source SSG are available today and their ranking in
137
+ terms of popularity, go for Jamstack. You'll find a comprehensive list of
138
+ static site generators used today.
127
139
 
128
- .Top Ratings at Jamstack of October 2022
129
140
  [role="mb-4"]
130
- image::/assets/images/posts/featured/jamstack-generators.jpg["jamstack-generators"]
141
+ Check the most popular site generators available at the
142
+ {url-jamstack--generators}[Jamstack, {browser-window--new}]
143
+ site.
144
+
145
+ .Top Ratings at Jamstack of October 2022
146
+ image::/assets/images/posts/featured/jamstack-generators.jpg["SSGs at Jamstack"]