j1-template 2021.0.5 → 2021.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/procedures/global/attributes_loader.proc +2 -2
- data/assets/data/menu.html +4 -4
- data/assets/themes/j1/adapter/js/fam.js +59 -27
- data/assets/themes/j1/adapter/js/j1.js +3 -2
- data/assets/themes/j1/adapter/js/themer.js +2 -1
- data/assets/themes/j1/adapter/js/toccer.js +97 -18
- data/assets/themes/j1/core/css/icon-fonts/fontawesome.css +299 -12
- data/assets/themes/j1/core/css/icon-fonts/fontawesome.min.css +1 -1
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +92 -81
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/eot/fa-brands-400.eot +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/eot/fa-regular-400.eot +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/eot/fa-solid-900.eot +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.woff +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.woff2 +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.woff +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.woff2 +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.woff +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.woff2 +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/svg/fa-brands-400.svg +855 -597
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/svg/fa-regular-400.svg +94 -96
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/svg/fa-solid-900.svg +1272 -771
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/ttf/fa-brands-400.ttf +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/ttf/fa-regular-400.ttf +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/ttf/fa-solid-900.ttf +0 -0
- data/assets/themes/j1/modules/justifiedGallery/LICENSE +1 -1
- data/assets/themes/j1/modules/justifiedGallery/README.md +5 -3
- data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/js/{jquery.justifiedGallery.js → justifiedGallery.js} +145 -145
- data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/js/{jquery.justifiedGallery.min.js → justifiedGallery.min.js} +1 -2
- data/assets/themes/j1/modules/justifiedGallery/js/justifiedGallery.js +69 -53
- data/assets/themes/j1/modules/justifiedGallery/js/justifiedGallery.min.js +2 -2
- data/lib/j1/commands/generate.rb +4 -3
- data/lib/j1/version.rb +1 -1
- data/lib/j1_app/j1_auth_manager/auth_manager.rb +15 -0
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +7 -5
- data/lib/starter_web/_data/apps/justified_gallery.yml +41 -13
- data/lib/starter_web/_data/asciidoc2pdf/themes/j1-theme.yml +225 -188
- data/lib/starter_web/_data/blocks/banner.yml +2 -2
- data/lib/starter_web/_data/blocks/panel.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/navigator.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/toccer.yml +3 -3
- data/lib/starter_web/_data/modules/navigator_menu.yml +28 -10
- data/lib/starter_web/_includes/attributes.asciidoc +35 -13
- data/lib/starter_web/_plugins/asciidoctor-extensions/fab-icon-inline.rb +1 -1
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/assets/images/collections/blog/featured/markus-spiske-2.jpg +0 -0
- data/lib/starter_web/assets/images/collections/blog/featured/staticgen.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/florian-olivo-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/nicola-styles-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/{runner-1920x1200-bw.jpg → runner-1920x1200.jpg} +0 -0
- data/lib/starter_web/assets/images/modules/attics/{the-place-1920x1280-bw.jpg → the-place-1920x1280.jpg} +0 -0
- data/lib/starter_web/assets/images/modules/gallery/old_times/colored/image_01.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/old_times/image_01.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/old_times/image_02.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/old_times/image_03.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/old_times/image_04.jpg +0 -0
- data/lib/starter_web/assets/images/modules/icons/d1/scalable/d1.svg +1 -1
- data/lib/starter_web/assets/images/pages/panels/florian-olivo-1920x800.jpg +0 -0
- data/lib/starter_web/assets/images/pages/panels/responsive-text-1920x800.jpg +0 -0
- data/lib/starter_web/assets/images/pages/skeleton/annie-spratt-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/skeleton/antonino-visalli-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/skeleton/humble-lamb-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/skeleton/library-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/skeleton/romain-vignes-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/skeleton/sigmund-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/writers_guide/1280px-PDCA_Process.png +0 -0
- data/lib/starter_web/assets/images/pages/writers_guide/annie-spratt-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/writers_guide/deming-cycle.png +0 -0
- data/lib/starter_web/assets/images/pages/writers_guide/humble-lamb-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/writers_guide/john-schnobrich-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/writers_guide/sigmund-1920x1280.jpg +0 -0
- 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} +29 -13
- 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
- data/lib/starter_web/collections/posts/public/featured/_posts/2020-06-01-about-cookies.adoc +54 -53
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-welcome-to-j1.adoc +167 -0
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +1 -1
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +1 -1
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +1 -1
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +1 -1
- data/lib/starter_web/index.html +10 -12
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/about/about_site.adoc +14 -1809
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/blindtext.asciidoc +11 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/font_icons.asciidoc +23 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/gallery.asciidoc +5 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/lightbox.asciidoc +7 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/documents/chapter_document.asciidoc +9 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/documents/entry_document.asciidoc +3 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/images/image.asciidoc +6 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_2_column.asciidoc +12 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_2_column_options.asciidoc +30 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_3_column.asciidoc +16 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_4_column.asciidoc +25 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/000_intro.adoc +61 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/100_chapter.adoc +58 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/200_chapter.adoc +59 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/900_references.adoc +68 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/attributes.asciidoc +68 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/000_intro.asciidoc +33 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/100_chapter.asciidoc +7 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/100_chapter/100_chapter_document.asciidoc +21 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/100_chapter/110_chapter_document.asciidoc +36 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/200_chapter.asciidoc +5 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/200_chapter/200_chapter_document.asciidoc +53 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references.asciidoc +23 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/000_intro.asciidoc +23 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/100_chapter_document.asciidoc +33 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/200_chapter_document.asciidoc +26 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/900_sources.asciidoc +81 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/tables/110_material_design_icons.asciidoc +102 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/a2p.bat +28 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/a2p.sh +26 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.a2p +114 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.adoc +128 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.pdf +5440 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/100_chapter.asciidoc +60 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/200_chapter.asciidoc +59 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/attributes.asciidoc +63 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/100_chapter.asciidoc +53 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/200_chapter.asciidoc +53 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/tables/110_material_design_icons.asciidoc +102 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +84 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +236 -0
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +5 -6
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +1 -269
- data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +163 -81
- data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +5 -8
- data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +4 -5
- data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +1 -54
- data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +47 -39
- data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +17 -1
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/{410_table_3_column.asciidoc → 410_table_bs_modal_examples.asciidoc} +0 -0
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +47 -0
- data/lib/starter_web/pages/public/learn/where_to_go.adoc +35 -50
- data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +67 -36
- data/lib/starter_web/pages/public/previewer/_includes/tables/rouge/200_rouge_attributes.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +15 -15
- data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +1 -1
- data/lib/starter_web/pages/public/previewer/rouge.adoc +33 -24
- data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +1 -1
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +74 -31
- data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/justifiedGallery.min.zip +0 -0
- data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/justifiedGallery.zip +0 -0
- data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/css/justifiedGallery.css +0 -110
- data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/css/justifiedGallery.min.css +0 -110
- data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/css/theme/uno.css +0 -23
- data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/js/jquery.justifiedGallery.js +0 -1229
- data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/js/jquery.justifiedGallery.min.js +0 -8
- data/assets/themes/j1/modules/twemoji/js/LICENSE +0 -21
- data/lib/starter_web/collections/posts/public/featured/_posts/2020-04-01-confusion-about-base-url.adoc +0 -118
- data/lib/starter_web/pages/public/about/become_a_patron.adoc +0 -71
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/100_meet_and_greet_jekyll.adoc +0 -79
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/200_preparations.adoc +0 -77
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/300_first_awesome_web.adoc +0 -75
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/attributes.asciidoc +0 -176
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/documents/100_meet_and_greet_jekyll.asciidoc +0 -31
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/documents/200_preparations.asciidoc +0 -14
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/documents/300_first_awesome_web.asciidoc +0 -11
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/parts.asciidoc +0 -193
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/debug_variables.asciidoc +0 -47
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/readme +0 -1
- data/lib/starter_web/pages/public/learn/roundtrip/610_fam.adoc +0 -294
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/tables/readme +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
---
|
2
|
-
title:
|
3
|
-
tagline:
|
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 ]
|
@@ -36,7 +36,7 @@ resource_options:
|
|
36
36
|
// Enable the Liquid Preprocessor
|
37
37
|
:page-liquid:
|
38
38
|
|
39
|
-
// Set
|
39
|
+
// Set (local) page attributes here
|
40
40
|
// -----------------------------------------------------------------------------
|
41
41
|
// :page--attr: <attr-value>
|
42
42
|
|
@@ -55,7 +55,7 @@ excerpt__end
|
|
55
55
|
|
56
56
|
// Load page attributes
|
57
57
|
// -----------------------------------------------------------------------------
|
58
|
-
{% include {{load_attributes}} scope="
|
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/
|
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
|
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
|
-
|
104
|
+
Check with {url-jamstack--generators}[Jamstack, {browser-window--new}]!
|
@@ -37,7 +37,7 @@ resource_options:
|
|
37
37
|
// Enable the Liquid Preprocessor
|
38
38
|
:page-liquid:
|
39
39
|
|
40
|
-
// Set
|
40
|
+
// Set (local) page attributes here
|
41
41
|
// -----------------------------------------------------------------------------
|
42
42
|
// :page--attr: <attr-value>
|
43
43
|
|
@@ -61,7 +61,7 @@ excerpt__end
|
|
61
61
|
|
62
62
|
// Load page attributes
|
63
63
|
// -----------------------------------------------------------------------------
|
64
|
-
{% include {{load_attributes}} scope="
|
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
|
-
|
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
|
-
|
85
|
+
Identify users
|
91
86
|
|
92
87
|
General information storage::
|
93
|
-
|
88
|
+
Remember users' custom preferences
|
94
89
|
|
95
90
|
Support::
|
96
|
-
|
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.
|
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,67 @@ 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
|
-
|
135
|
-
|
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.
|
130
|
+
|
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.
|
137
|
+
|
138
|
+
Cookies classified by *lifespan* are either a:
|
136
139
|
|
137
140
|
Session cookie::
|
138
|
-
|
141
|
+
Session cookies gets automatically deleted when the user closes the web browser
|
142
|
+
and all open window tabs.
|
139
143
|
|
140
144
|
Persistent cookie::
|
141
|
-
|
145
|
+
A persistent cookie *remains* on the user's computer/device for a pre-defined
|
146
|
+
period of time.
|
142
147
|
|
143
|
-
|
148
|
+
Cookies classified by the *domain* to which it belongs, are either of:
|
144
149
|
|
145
150
|
First-party cookie::
|
146
|
-
cookies
|
147
|
-
same domain
|
151
|
+
First-party cookie cookies are set by the web server of the visited page
|
152
|
+
and share the *same domain* you're visting. These are generally safer, as
|
153
|
+
long as users are browsing reputable websites or ones that have not been
|
154
|
+
compromised.
|
148
155
|
|
149
156
|
Third-party cookies::
|
150
|
-
cookies stored by a different domain to the visited page
|
151
|
-
This can happen when the webpage references a
|
152
|
-
|
153
|
-
|
157
|
+
Third-party cookies are stored by a *different* domain to the visited page.
|
158
|
+
This can happen when the webpage references a files located outside its domain.
|
159
|
+
Third-party cookies let advertisers or analytics companies track the user's
|
160
|
+
browsing history across the web on *any* sites that contain their ads.
|
154
161
|
|
155
|
-
== How do a site use cookies?
|
156
162
|
|
157
|
-
|
163
|
+
== Security aspects on using cookies
|
158
164
|
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
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.
|
169
|
-
|
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.
|
165
|
+
Without cookies the web would not work as it does today. However, since the
|
166
|
+
mid 90ies when cookies were invented, the web changed quite a lot and so did
|
167
|
+
the attack methods on web applications; as mentioned the internet is not a
|
168
|
+
friendly place.
|
175
169
|
|
170
|
+
A well-known attack method is known as Cross Site Request Forgery, or short
|
171
|
+
*CSRF*. CSRF is an attack, a criminal act, that forces an end user to execute
|
172
|
+
unwanted actions. Cookie may play a *role* in such scenarios but they are
|
173
|
+
not generally *unsafe*. If you want you can read more about that in the
|
174
|
+
CRSF Page on {url-owasp-attacks--csrf}[OWASP, {browser-window--new}].
|
176
175
|
|
177
176
|
== How to control cookies
|
178
177
|
|
179
|
-
|
180
|
-
see
|
178
|
+
Users can take control, used or *not* used, or delete cookies. For more
|
179
|
+
details, see {url-about-cookies--home}[aboutcookies.org]. You can delete
|
181
180
|
all cookies that are already on your computer and you can set most
|
182
|
-
browsers to prevent them from being placed.
|
183
|
-
|
184
|
-
|
181
|
+
browsers to prevent them from being placed.
|
182
|
+
|
183
|
+
If you do this, however, you may have to manually adjust some preferences
|
184
|
+
every time you visit a site and some services and functionalities may not
|
185
|
+
work.
|
@@ -0,0 +1,167 @@
|
|
1
|
+
---
|
2
|
+
title: Welcome
|
3
|
+
tagline: jekyll for everyone
|
4
|
+
date: 2021-01-01 00:00:00
|
5
|
+
|
6
|
+
tags: [ Example, Post ]
|
7
|
+
categories: [ Featured ]
|
8
|
+
|
9
|
+
series: false
|
10
|
+
adsense: false
|
11
|
+
image: /assets/images/modules/attics/katie-moum-1920x1280.jpg
|
12
|
+
toc: true
|
13
|
+
|
14
|
+
regenerate: false
|
15
|
+
|
16
|
+
resources: []
|
17
|
+
resource_options:
|
18
|
+
- attic:
|
19
|
+
padding_top: 400
|
20
|
+
padding_bottom: 50
|
21
|
+
opacity: 0.5
|
22
|
+
slides:
|
23
|
+
- url: /assets/images/modules/attics/katie-moum-1920x1280.jpg
|
24
|
+
alt: Photo by Katie Moum on Unsplash
|
25
|
+
alignY: 0.3
|
26
|
+
badge:
|
27
|
+
type: unsplash
|
28
|
+
author: Katie Moum
|
29
|
+
href: https://unsplash.com/@katiemoum
|
30
|
+
---
|
31
|
+
|
32
|
+
// Page Initializer
|
33
|
+
// =============================================================================
|
34
|
+
// Enable the Liquid Preprocessor
|
35
|
+
:page-liquid:
|
36
|
+
|
37
|
+
// Place an excerpt at the most top position
|
38
|
+
// -----------------------------------------------------------------------------
|
39
|
+
All you're doing at the end of the day is writing your content and Jekyll does
|
40
|
+
all the tricky things needed for a website: putting out HTML, Javascript and
|
41
|
+
CSS. As a result, the site creation process gets out of your way. Sounds fun,
|
42
|
+
isn't it?
|
43
|
+
|
44
|
+
[role="clearfix mb-3"]
|
45
|
+
excerpt__end
|
46
|
+
|
47
|
+
// Load Liquid procedures
|
48
|
+
// -----------------------------------------------------------------------------
|
49
|
+
{% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
|
50
|
+
|
51
|
+
// Load page attributes
|
52
|
+
// -----------------------------------------------------------------------------
|
53
|
+
{% include {{load_attributes}} scope="global" %}
|
54
|
+
|
55
|
+
|
56
|
+
// Page content
|
57
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
58
|
+
|
59
|
+
// Include sub-documents
|
60
|
+
// -----------------------------------------------------------------------------
|
61
|
+
|
62
|
+
[[readmore]]
|
63
|
+
== What is a static site?
|
64
|
+
|
65
|
+
A static site serves the content straight to the user as it is stored on
|
66
|
+
the server-side. To put it in another way, in opposition to WordPress
|
67
|
+
which use a database to load dynamic content, a static site will display
|
68
|
+
the same content to every user as it will directly load the HTML files
|
69
|
+
on the server.
|
70
|
+
|
71
|
+
A static website uses server-side rendering to serve pre-built HTML, CSS,
|
72
|
+
and JavaScript files to a web browser, in contrast to traditional dynamic
|
73
|
+
sites that work by rendering the webpage at the time of the request.
|
74
|
+
Static sites enable you to decouple your content repository and front-end
|
75
|
+
interface, giving you greater flexibility in how your content is served.
|
76
|
+
Cost-efficiency is another reason companies migrate to a static site because
|
77
|
+
static files are lightweight and often faster and cheaper to serve.
|
78
|
+
|
79
|
+
In the last few years, static sites have greatly increased in popularity.
|
80
|
+
This surge is primarily due to advances in developer tools (languages and
|
81
|
+
libraries) and a stronger desire among businesses to optimize website
|
82
|
+
performance beyond the limits of a database-driven site.
|
83
|
+
|
84
|
+
=== What's different?
|
85
|
+
|
86
|
+
To make it simple, a dynamic website uses a database and PHP/MySQL to
|
87
|
+
generate the content of a page when a user requests it. For example,
|
88
|
+
building a website using WordPress CMS will result in having a dynamic
|
89
|
+
Website.
|
90
|
+
|
91
|
+
Static sites can be written almost exclusively in HTML and serve a fixed
|
92
|
+
set of data that renders the same for every site visitor. Static sites use
|
93
|
+
server-side rendering to serve pre-built HTML, CSS, and JavaScript files to
|
94
|
+
a web browser. Dynamic sites operate in a completely different way, by
|
95
|
+
leveraging HTML and CSS as well as server-side scripting languages like PHP
|
96
|
+
to build webpages on the fly and serve different content to each site
|
97
|
+
visitor.
|
98
|
+
|
99
|
+
=== Why use a static site?
|
100
|
+
|
101
|
+
What are the advantages of a static website over a dynamic site?
|
102
|
+
You may be wondering *Why should I build a static site when I could do a
|
103
|
+
WordPress?*. Well, having a database implies a lot of downsides. Here
|
104
|
+
come the main advantages of using a static site over a dynamic
|
105
|
+
one.
|
106
|
+
|
107
|
+
Performance::
|
108
|
+
*The better performance and a crazy fast load time*.
|
109
|
+
One of the main advantages of using a static site is the fact that
|
110
|
+
it is crazy fast to load. Indeed, when the user requests a page, there is
|
111
|
+
no need to request a database and various files to generate the
|
112
|
+
page itself as all the content is already placed in a one and only file:
|
113
|
+
an HTML one. That’s why by using a static site, you will get a boost in
|
114
|
+
your loading time that will provide great user experience for the
|
115
|
+
internauts. Moreover, we know that more and more people are surfing the
|
116
|
+
web using their smartphones with, sometimes, poor internet connections,
|
117
|
+
that’s why having fast loading times will participate in making your
|
118
|
+
website mobile-friendly.
|
119
|
+
|
120
|
+
Security::
|
121
|
+
*Having a static website: say goodbye to hacking and security issues*.
|
122
|
+
Tired of getting WordPress notifications about security issues and
|
123
|
+
updates every week? No worries, as a static site has no database, there
|
124
|
+
are close to no hack possible compared to a WordPress website. Indeed,
|
125
|
+
your site will have way fewer footprints and security issues since it
|
126
|
+
will only load plain HTML and CSS files. The security gain in having a
|
127
|
+
static website is one the main reason why many famous brands switch to
|
128
|
+
a static site instead of having their website on Drupal or WordPress.
|
129
|
+
|
130
|
+
Hosting::
|
131
|
+
*Building a static site and hosting: you will save you money*.
|
132
|
+
Using a static site, you will only have most of the time only HTML and
|
133
|
+
CSS files to host. This kind of files is super light which also means
|
134
|
+
that you will not need a powerhouse hosting to have a static site up and
|
135
|
+
running. Moreover, if your traffic suddenly increases, your site will not
|
136
|
+
go down contrary to a dynamic site which should request the database
|
137
|
+
each time for each user.
|
138
|
+
|
139
|
+
Control::
|
140
|
+
*You're the master*. Using a CMS means, giving control over your site to others.
|
141
|
+
Simple like this.
|
142
|
+
|
143
|
+
== Why use a site generator?
|
144
|
+
|
145
|
+
Working with pure HTML files is annoying; senseless today. Indeed, if you need
|
146
|
+
to make a modification on your *self-managed* pages, you have to manually
|
147
|
+
change every file. That's monkey's work from the early days of static websites.
|
148
|
+
If your site comes with 10 pages, it can be manageable but imagine if your site
|
149
|
+
is providing 100+ pages or the blog planned for hundreds of articles?
|
150
|
+
|
151
|
+
Using a static site generator will solve this issue as it separates the
|
152
|
+
content and the template. To say it another way, by using a static site
|
153
|
+
generator, you will only need to make the modification once, and the
|
154
|
+
generator will apply it to all your pages.
|
155
|
+
|
156
|
+
=== Why Jekyll?
|
157
|
+
|
158
|
+
As the popularity of static sites is growing, there are plenty of static
|
159
|
+
site generators available on the market. The more famous is Jekyll,
|
160
|
+
Middleman and Hugo. Each one has its own specificities and may suits you
|
161
|
+
better depending on the programming languages you already are familiar with.
|
162
|
+
Which static site generator should I use?
|
163
|
+
|
164
|
+
When I decided to go for a blog based on a static web, I personally
|
165
|
+
choose Jekyll as for me. It's a well known static site generator, good support
|
166
|
+
in case of trouble and the software gets regularly updated. This website is
|
167
|
+
powered by Jekyll. For good reasons.
|
data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc
CHANGED
@@ -33,7 +33,7 @@ resource_options:
|
|
33
33
|
// Enable the Liquid Preprocessor
|
34
34
|
:page-liquid:
|
35
35
|
|
36
|
-
// Set
|
36
|
+
// Set (local) page attributes here
|
37
37
|
// -----------------------------------------------------------------------------
|
38
38
|
// :page--attr: <attr-value>
|
39
39
|
|
data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc
CHANGED
@@ -34,7 +34,7 @@ resource_options:
|
|
34
34
|
// Enable the Liquid Preprocessor
|
35
35
|
:page-liquid:
|
36
36
|
|
37
|
-
// Set
|
37
|
+
// Set (local) page attributes here
|
38
38
|
// -----------------------------------------------------------------------------
|
39
39
|
// :page--attr: <attr-value>
|
40
40
|
|
data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc
CHANGED
@@ -34,7 +34,7 @@ resource_options:
|
|
34
34
|
// Enable the Liquid Preprocessor
|
35
35
|
:page-liquid:
|
36
36
|
|
37
|
-
// Set
|
37
|
+
// Set (local) page attributes here
|
38
38
|
// -----------------------------------------------------------------------------
|
39
39
|
// :page--attr: <attr-value>
|
40
40
|
|
data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc
CHANGED
@@ -34,7 +34,7 @@ resource_options:
|
|
34
34
|
// Enable the Liquid Preprocessor
|
35
35
|
:page-liquid:
|
36
36
|
|
37
|
-
// Set
|
37
|
+
// Set (local) page attributes here
|
38
38
|
// -----------------------------------------------------------------------------
|
39
39
|
// :page--attr: <attr-value>
|
40
40
|
|
data/lib/starter_web/index.html
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
---
|
2
2
|
layout: home
|
3
|
-
regenerate: true
|
4
3
|
|
5
4
|
title: J1
|
6
|
-
tagline:
|
5
|
+
tagline: starter
|
7
6
|
description: >
|
8
7
|
Jekyll One Template. Gem-based template made for Jekyll.
|
9
8
|
J1 meets Jekyll and Bootstrap. And makes a lot of friends.
|
@@ -12,11 +11,8 @@ description: >
|
|
12
11
|
Jekyll One Template is OpenSource and the modules included
|
13
12
|
are free to use as well.
|
14
13
|
|
15
|
-
debug: false
|
16
|
-
debug2: false
|
17
|
-
|
18
|
-
tags: []
|
19
14
|
categories: []
|
15
|
+
tags: []
|
20
16
|
|
21
17
|
analytics: false
|
22
18
|
advertising: false
|
@@ -28,6 +24,8 @@ toc: false
|
|
28
24
|
indexed: false
|
29
25
|
exclude_from_search: true
|
30
26
|
|
27
|
+
regenerate: false
|
28
|
+
|
31
29
|
robots:
|
32
30
|
index: true
|
33
31
|
follow: true
|
@@ -39,12 +37,12 @@ resource_options:
|
|
39
37
|
padding_bottom: 50
|
40
38
|
opacity: 0.5
|
41
39
|
slides:
|
42
|
-
- url: /assets/images/modules/attics/
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
40
|
+
- url: /assets/images/modules/attics/runner-1920x1200.jpg
|
41
|
+
# alt: Photo by Alex Holyoake on Unsplash
|
42
|
+
# badge:
|
43
|
+
# type: unsplash
|
44
|
+
# author: Alex Holyoake
|
45
|
+
# href: https://unsplash.com/@stairhopper
|
48
46
|
---
|
49
47
|
|
50
48
|
<pre>
|