j1-template 2021.0.6 → 2021.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/procedures/global/attributes_loader.proc +2 -2
  3. data/assets/data/menu.html +32 -3
  4. data/assets/themes/j1/core/css/icon-fonts/fontawesome.css +299 -12
  5. data/assets/themes/j1/core/css/icon-fonts/fontawesome.min.css +1 -1
  6. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +22 -2
  7. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
  8. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/eot/fa-brands-400.eot +0 -0
  9. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/eot/fa-regular-400.eot +0 -0
  10. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/eot/fa-solid-900.eot +0 -0
  11. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.woff +0 -0
  12. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.woff2 +0 -0
  13. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.woff +0 -0
  14. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.woff2 +0 -0
  15. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.woff +0 -0
  16. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.woff2 +0 -0
  17. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/svg/fa-brands-400.svg +855 -597
  18. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/svg/fa-regular-400.svg +94 -96
  19. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/svg/fa-solid-900.svg +1272 -771
  20. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/ttf/fa-brands-400.ttf +0 -0
  21. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/ttf/fa-regular-400.ttf +0 -0
  22. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/ttf/fa-solid-900.ttf +0 -0
  23. data/lib/j1/commands/generate.rb +3 -2
  24. data/lib/j1/version.rb +1 -1
  25. data/lib/starter_web/Gemfile +1 -1
  26. data/lib/starter_web/_config.yml +2 -2
  27. data/lib/starter_web/_data/asciidoc2pdf/themes/j1-theme.yml +225 -188
  28. data/lib/starter_web/_data/modules/defaults/navigator.yml +1 -1
  29. data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
  30. data/lib/starter_web/_data/modules/navigator_menu.yml +16 -3
  31. data/lib/starter_web/_includes/attributes.asciidoc +24 -10
  32. data/lib/starter_web/_plugins/asciidoctor-extensions/fab-icon-inline.rb +1 -1
  33. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  34. data/lib/starter_web/assets/images/modules/icons/d1/scalable/d1.svg +1 -1
  35. data/lib/starter_web/assets/images/pages/skeleton/annie-spratt-1920x1280.jpg +0 -0
  36. data/lib/starter_web/assets/images/pages/skeleton/antonino-visalli-1920x1280.jpg +0 -0
  37. data/lib/starter_web/assets/images/pages/skeleton/humble-lamb-1920x1280.jpg +0 -0
  38. data/lib/starter_web/assets/images/pages/skeleton/library-1920x1280.jpg +0 -0
  39. data/lib/starter_web/assets/images/pages/skeleton/romain-vignes-1920x1280.jpg +0 -0
  40. data/lib/starter_web/assets/images/pages/skeleton/sigmund-1920x1280.jpg +0 -0
  41. data/lib/starter_web/assets/images/pages/writers_guide/1280px-PDCA_Process.png +0 -0
  42. data/lib/starter_web/assets/images/pages/writers_guide/annie-spratt-1920x1280.jpg +0 -0
  43. data/lib/starter_web/assets/images/pages/writers_guide/deming-cycle.png +0 -0
  44. data/lib/starter_web/assets/images/pages/writers_guide/humble-lamb-1920x1280.jpg +0 -0
  45. data/lib/starter_web/assets/images/pages/writers_guide/john-schnobrich-1920x1280.jpg +0 -0
  46. data/lib/starter_web/assets/images/pages/writers_guide/sigmund-1920x1280.jpg +0 -0
  47. data/lib/starter_web/collections/posts/public/featured/_posts/2020-04-01-confusion-about-base-url.adoc +1 -1
  48. data/lib/starter_web/collections/posts/public/featured/_posts/2020-05-01-top-open-source-static-site-generators.adoc +1 -1
  49. data/lib/starter_web/collections/posts/public/featured/_posts/2020-06-01-about-cookies.adoc +1 -1
  50. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +1 -1
  51. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +1 -1
  52. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +1 -1
  53. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +1 -1
  54. data/lib/starter_web/package.json +1 -1
  55. data/lib/starter_web/pages/public/about/about_site.adoc +52 -2
  56. data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/blindtext.asciidoc +11 -0
  57. data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/font_icons.asciidoc +23 -0
  58. data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/gallery.asciidoc +5 -0
  59. data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/lightbox.asciidoc +7 -0
  60. data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/documents/chapter_document.asciidoc +9 -0
  61. data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/documents/entry_document.asciidoc +3 -0
  62. data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/images/image.asciidoc +6 -0
  63. data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_2_column.asciidoc +12 -0
  64. data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_2_column_options.asciidoc +30 -0
  65. data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_3_column.asciidoc +16 -0
  66. data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_4_column.asciidoc +25 -0
  67. data/lib/starter_web/pages/public/asciidoc_skeletons/book/000_intro.adoc +61 -0
  68. data/lib/starter_web/pages/public/asciidoc_skeletons/book/100_chapter.adoc +58 -0
  69. data/lib/starter_web/pages/public/asciidoc_skeletons/book/200_chapter.adoc +59 -0
  70. data/lib/starter_web/pages/public/asciidoc_skeletons/book/900_references.adoc +68 -0
  71. data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/attributes.asciidoc +68 -0
  72. data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/000_intro.asciidoc +33 -0
  73. data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/100_chapter.asciidoc +7 -0
  74. data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/100_chapter/100_chapter_document.asciidoc +21 -0
  75. data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/100_chapter/110_chapter_document.asciidoc +36 -0
  76. data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/200_chapter.asciidoc +5 -0
  77. data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/200_chapter/200_chapter_document.asciidoc +53 -0
  78. data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references.asciidoc +23 -0
  79. data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/000_intro.asciidoc +23 -0
  80. data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/100_chapter_document.asciidoc +33 -0
  81. data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/200_chapter_document.asciidoc +26 -0
  82. data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/900_sources.asciidoc +81 -0
  83. data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/tables/110_material_design_icons.asciidoc +102 -0
  84. data/lib/starter_web/pages/public/asciidoc_skeletons/book/a2p.bat +28 -0
  85. data/lib/starter_web/pages/public/asciidoc_skeletons/book/a2p.sh +26 -0
  86. data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.a2p +114 -0
  87. data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.adoc +128 -0
  88. data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.pdf +5440 -0
  89. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/100_chapter.asciidoc +60 -0
  90. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/200_chapter.asciidoc +59 -0
  91. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/attributes.asciidoc +63 -0
  92. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/100_chapter.asciidoc +53 -0
  93. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/200_chapter.asciidoc +53 -0
  94. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/tables/110_material_design_icons.asciidoc +102 -0
  95. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +84 -0
  96. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +236 -0
  97. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +2 -2
  98. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +1 -1
  99. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +1 -269
  100. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +163 -81
  101. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +5 -8
  102. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +4 -5
  103. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +1 -54
  104. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +75 -39
  105. data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +17 -1
  106. data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +1 -1
  107. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/{410_table_3_column.asciidoc → 410_table_bs_modal_examples.asciidoc} +0 -0
  108. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +47 -0
  109. data/lib/starter_web/pages/public/learn/where_to_go.adoc +1 -1
  110. data/lib/starter_web/pages/public/previewer/_includes/tables/rouge/200_rouge_attributes.asciidoc +1 -1
  111. data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +1 -1
  112. data/lib/starter_web/pages/public/previewer/rouge.adoc +41 -4
  113. data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +1 -1
  114. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  115. data/lib/starter_web/utilsrv/package.json +1 -1
  116. metadata +57 -16
  117. data/assets/themes/j1/modules/twemoji/js/LICENSE +0 -21
  118. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/100_meet_and_greet_jekyll.adoc +0 -79
  119. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/200_preparations.adoc +0 -77
  120. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/300_first_awesome_web.adoc +0 -75
  121. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/attributes.asciidoc +0 -176
  122. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/documents/100_meet_and_greet_jekyll.asciidoc +0 -31
  123. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/documents/200_preparations.asciidoc +0 -14
  124. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/documents/300_first_awesome_web.asciidoc +0 -11
  125. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/parts.asciidoc +0 -193
  126. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/debug_variables.asciidoc +0 -47
  127. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/readme +0 -1
  128. data/lib/starter_web/pages/public/learn/roundtrip/610_fam.adoc +0 -294
  129. data/lib/starter_web/pages/public/learn/roundtrip/_includes/tables/readme +0 -0
@@ -1,31 +0,0 @@
1
-
2
- *Web in a Day* is the first in a series of tutorials to learn how to
3
- create modern websites using Jekyll. This Kickstarter focuses on the basics
4
- of Jekyll and the J1 Template, which all people needs to know for a successful
5
- way to a modern static website using Jekyll and J1 Template.
6
-
7
- It is highly recommended to read and work on this tutorial by everyone -
8
- independently from what level of knowledge they begin. Jekyll is from classic
9
- Content Management Systems (CMS) like Joomla, WordPress or Drupal.
10
- No surprise: Jekyll and J1 are different as well.
11
-
12
- It sounds much, spending a whole day to get Jekyll to know - yes, it is much.
13
- You'll find a lot of Blog articles like *Jekyll in 15 minutes*. But what can
14
- be *learned* in 15 minutes?
15
-
16
- To be fair, most of these blogs are intended to help *installing Jekyll* and
17
- get the very first steps managed out of the box. If you run Jekyll out of the
18
- box, the resulting website (from the build-in theme scaffold) might somewhat
19
- frustrating. You'll get an elementary site created based on Jekyll's theme
20
- *minima*.
21
-
22
- To not waste time, get through the tutorial and find out what is the
23
- *Jekyll Way*. And if this the way you want to go.
24
-
25
- Have a good time, a good day learning Jekyll.
26
-
27
-
28
- == Meet and greet Jekyll
29
-
30
- lorem:sentences[5] +
31
- lorem:sentences[3] +
@@ -1,14 +0,0 @@
1
- lorem:sentences[5]
2
-
3
- To not waste time, get through the turorial and find out what is the *Jekyll Way*.
4
- And if this the way you want to go.
5
-
6
- Have a good time, a good day learning Jekyll.
7
-
8
- == Preparations
9
-
10
- lorem:sentences[5] +
11
- lorem:sentences[3] +
12
-
13
-
14
-
@@ -1,11 +0,0 @@
1
- lorem:sentences[5]
2
-
3
- To not waste time, get through the turorial and find out what is the *Jekyll Way*.
4
- And if this the way you want to go.
5
-
6
- Have a good time, a good day learning Jekyll.
7
-
8
- == First awesome website
9
-
10
- lorem:sentences[5] +
11
- lorem:sentences[3] +
@@ -1,193 +0,0 @@
1
- // ~/document_base_folder/000_includes
2
- // Asciidoc part includes: parts.asciidoc
3
- // -----------------------------------------------------------------------------
4
-
5
-
6
- // Summarize
7
- // -----------------------------------------------------------------------------
8
- // tag::summarize[]
9
- //
10
- A lot you've learned, time to summarize what is in behind. The last chapter
11
- *Summarize!* should help on that. Summarize! offer some handy sections to
12
- remember what was presented this chapter, giving an outlook what could be
13
- done next, an overview on all chapters this tutorial and finally useful
14
- links to read more.
15
-
16
- See all *sections* below: +
17
- mdi:backup-restore[24px, md-grey ml-3]
18
- <<Recap>> -- What has been done, what's *explored in current section* +
19
- mdi:skip-next[24px, md-grey ml-3]
20
- <<Whats Next>> -- Find to go further, what's *planned next* +
21
- mdi:format-section[24px, md-grey ml-3]
22
- <<All Chapters>> -- The full chain, *all chapters* +
23
- // mdi:book-open[24px, md-grey ml-3]
24
- // <<Further Reading>> -- List of helpful links to *get more* +
25
-
26
- //
27
- // end::summarize[]
28
-
29
- // End Summarize ---------------------------------------------------------------
30
-
31
-
32
- // Recap
33
- // -----------------------------------------------------------------------------
34
- // tag::recap_100_meet_and_greet_jekyll[]
35
- //
36
- To manage controlled page access, a web is transformed into an application.
37
- Additional software is needed for that: the J1 *AuthManager*. Build on the
38
- _Ruby_ software framework _Rack_.
39
-
40
- A middleware system based on Rack is not a *monolithic* block. It is a *stack*
41
- of *multiple* middleware components -- what the name *Rack* implies. What is
42
- called *Middlewares* is the next great magic: _Ruby_ libraries (Gem)
43
- managing a *specific* job as *service* in such a *chain*.
44
-
45
- For now folks, keep in mind a *Jekyll Site* can be transformed into an
46
- *Web Application* as a additional *mode* using *Rack*. Rack provides the
47
- *magic* in the middle to add additional dynamic processes provided by
48
- J1 AuthManager: *Services*.
49
- //
50
- // end::recap_100_meet_and_greet_jekyll[]
51
-
52
- // tag::recap_200_preparations[]
53
- //
54
- Running a web as an app is not that hard, isn't it? The magic is under the
55
- hood - the middlewares used by J1 AuthManager.
56
-
57
- lorem:sentences[5] +
58
- lorem:sentences[3] +
59
-
60
- Find here is a list of the basic Chocolatey commands used this section.
61
- And some more related ones. If you'd like to explore the Chocolatey CLI a bit
62
- *more*, give it a try before moving on.
63
-
64
- [cols="8a,4", options="header", role="rtable, full-width"]
65
- |===============================================================================
66
- |Command |Description
67
-
68
- |
69
- [source, bash]
70
- ----
71
- docker build -t first-app .
72
- ----
73
- |Create the `image` *friendlyname* using this directory's Dockerfile
74
-
75
- |
76
- [source, bash]
77
- ----
78
- docker run -p 4000:80 first-app
79
- ----
80
- |Run `container` *friendlyname* with a mapping of port 4000 to 80
81
-
82
- |
83
- [source, bash]
84
- ----
85
- docker run -d -p 4000:80 first-app
86
- ----
87
- |Run container *friendlyname* with mapping, but in `detached mode`
88
-
89
- |===============================================================================
90
- //
91
- // end::recap_200_preparations[]
92
-
93
- // tag::recap_300_first_awesome_web[]
94
- //
95
- OAuth2 is an authentication framework, a protocol suite that enables
96
- applications to obtain (limited) access to user account data hosted at
97
- service providers.
98
-
99
- The protocol suite introduces four roles, discussed in section <<OAuth Roles>>,
100
- that interacts each other in a sequence, a *flow*. In section <<Base OAuth Flow>>
101
- the sequence was discussed in more detail.
102
-
103
- // ifdef::backend-html5[]
104
- // .High Level OAuth Protocol Flow
105
- // lightbox::oauth-abstract-protocol-flow[ 800, {data-oauth-abstract-protocol-flow} ]
106
- // endif::[]
107
-
108
- Keep in mind the *roles* and the fact, the OAuth framework introduce a sequence,
109
- a *flow*. All this is theory - yes for sure, but good to know.
110
- //
111
- // end::recap_300_first_awesome_web[]
112
-
113
- // End Recap -------------------------------------------------------------------
114
-
115
-
116
- // Whats Next
117
- // -----------------------------------------------------------------------------
118
- // tag::whats_next_100_meet_and_greet_jekyll[]
119
- //
120
- Well done, folks. You learned all the basics, started an transformed web as
121
- an app. And you've seen what is basicly going on under the hood. Now, you're
122
- well prepared for going further, to have a more inside view.
123
-
124
- For the next, a bit more knowledge, some theory is needed what *service providers*
125
- are and how *authentication* works. You need to know what is *OAuth*, what
126
- is *authentication* using the OAuth *framework*.
127
-
128
- Welcome to the world of *OAuth2*, a leading technology for authentication,
129
- for creating relationships (associations) across different providers for
130
- your new amazing site, for your new project.
131
-
132
- mdi:skip-next[24px, md-grey]
133
- Go for link:{j1-web-in-a-day-preparations}[Preparations] then!
134
- //
135
- // end::whats_next_100_meet_and_greet_jekyll[]
136
-
137
- // tag::whats_next_200_preparations[]
138
- //
139
- After some practise and theory, you got a picture of what the OAuth
140
- framework is, a base understanding about the flow - what will happen. Now
141
- it's the time to see in real world what was discsused sofar.
142
-
143
- The following chapter is focussing a web that is *protected*. The app is not
144
- longer passing all the content pages. The content will be under *control*.
145
-
146
- // mdi:skip-next[24px, md-grey]
147
- // To make protected *J1 Webs* real, continue on link:{j1-web-apps-run-an-secured-app}[Run an Secured J1 App]
148
- // then!
149
-
150
- //
151
- // end::whats_next_200_preparations[]
152
-
153
- // tag::whats_next_300_first_awesome_web[]
154
- //
155
- After some practise and theory, you got a picture of what the OAuth
156
- framework is, a base understanding about the flow - what will happen. Now
157
- it's the time to see in real world what was discsused sofar.
158
-
159
- The following chapter is focussing a web that is *protected*. The app is not
160
- longer passing all the content pages. The content will be under *control*.
161
-
162
- // mdi:skip-next[24px, md-grey]
163
- // To make protected *J1 Webs* real, continue on link:{j1-web-apps-run-an-secured-app}[Run an Secured J1 App]
164
- // then!
165
-
166
- //
167
- // end::whats_next_300_first_awesome_web[]
168
-
169
- // End Whats Next --------------------------------------------------------------
170
-
171
-
172
- // Chapters
173
- // -----------------------------------------------------------------------------
174
- // tag::chapters[]
175
- //
176
- Find here an overview on *all* chapters this tutorial. +
177
- //
178
- // end::chapters[]
179
-
180
- // tag::chapters_100_meet_and_greet_jekyll[]
181
- //
182
- mdi:format-section[24px, md-grey ml-3]
183
- link:#[You are here -- Meet & Greet Jekyll] +
184
- mdi:format-section[24px, md-indigo ml-3]
185
- link:{j1-web-in-a-day-preparations}[Preparations] +
186
- mdi:format-section[24px, md-indigo ml-3]
187
- link:{j1-web-in-a-day-first-awesome-web}[A first awesome Web]
188
- //
189
- // end::chapters_100_meet_and_greet_jekyll[]
190
-
191
-
192
- // End Chapters ----------------------------------------------------------------
193
-
@@ -1,47 +0,0 @@
1
- ifeval::["{debug}" == "true"]
2
- .Liquid variables
3
- [cols="2,4,6a, options="header", role="table-responsive, full-width"]
4
- |===============================================================================
5
- |name |value |description
6
-
7
- |`page.path`
8
- |{{ page.path }}
9
- |The path to the raw post or page. Example usage: Linking back to the page
10
- or post's source on GitHub. This can be overridden in the `YAML Front Matter`.
11
-
12
- |`site.collections_dir`
13
- |{{ site.collections_dir }}
14
- |lorem:sentences[1]
15
-
16
- |`page.images.dir`
17
- |{{ page.images.dir }}
18
- |Image path set pagewise. See FRONTMATTER defaults in `_config.yml` for the
19
- images path specified by: `images.dir` for specific page *type*. See the
20
- example below for a page of type *pages*.
21
- [source, yaml]
22
- ----
23
- defaults:
24
- - scope:
25
- path: pages
26
- type: pages
27
-
28
- values:
29
- images:
30
- dir: /assets/images/pages
31
- ----
32
-
33
- |`page-imagesdir`
34
- |{{ page-imagesdir }}
35
- | Images path set in the page by `:page-imagesdir:`.
36
-
37
- |`template`
38
- |{{ site.template.name }}
39
- |Name of the template used for rendering a page. Settings are taken from
40
- sitewide configuration defined by `_config.yml`.
41
-
42
- |`includedir`
43
- |{{ includedir }}
44
- |lorem:sentences[1]
45
-
46
- |===============================================================================
47
- endif::[]
@@ -1,294 +0,0 @@
1
- ---
2
- title: Floating Action Menu
3
- tagline: using fam buttons
4
- date: 2020-11-08 00:00:00
5
- description: >
6
- A floating action button (FAB) represents the primary action/s
7
- of a page. Multiple actions can be configured as a FAM, the
8
- floating action menu. See FAM buttons and menus in action
9
-
10
- tags: [ Roundtrip, Introduction, FAM ]
11
- categories: [ Module ]
12
-
13
- toc: true
14
- advertising: false
15
- scrollbar: false
16
-
17
- image: /assets/images/modules/attics/cookies-1920x1200-bw.jpg
18
- permalink: /pages/public/learn/roundtrip/fam/
19
- regenerate: false
20
-
21
- resources: [ lightbox, rouge, clipboard, fam ]
22
- resource_options:
23
- - attic:
24
- padding_top: 400
25
- padding_bottom: 50
26
- opacity: 0.5
27
- slides:
28
- - url: /assets/images/modules/attics/cookies-1920x1200-bw.jpg
29
- alt: jekyll.1200x600-bw.jpg
30
- ---
31
-
32
- // Page Initializer
33
- // =============================================================================
34
- // Enable the Liquid Preprocessor
35
- :page-liquid:
36
-
37
- // Set page (local) attributes here
38
- // -----------------------------------------------------------------------------
39
- // :page--attr: <attr-value>
40
- // :debug:
41
-
42
- // Load Liquid procedures
43
- // -----------------------------------------------------------------------------
44
- {% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
45
-
46
- // Load page attributes
47
- // -----------------------------------------------------------------------------
48
- {% include {{load_attributes}} scope="none" %}
49
-
50
-
51
- // Page content
52
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
53
- // See: https://material.io/components/buttons-floating-action-button
54
-
55
- A floating action button (FAB) represents the primary action/s
56
- of a page. Multiple actions can be configured as a FAM, the
57
- floating action menu. See FAM buttons and menus in action
58
-
59
- == Floating Action Menu (FAM)
60
-
61
- If you want a fixed floating action button, you can add multiple actions
62
- that will appear on hover. Our demo is in the bottom righthand corner of
63
- the page.
64
-
65
- [source, html]
66
- ----
67
- <div class="fam-btn">
68
- <a class="btn-fab-floating btn-large red">
69
- <i class="large material-icons">mode_edit</i>
70
- </a>
71
- <ul>
72
- <li><a class="btn-fab-floating red"><i class="material-icons">insert_chart</i></a></li>
73
- <li><a class="btn-fab-floating yellow darken-1"><i class="material-icons">format_quote</i></a></li>
74
- <li><a class="btn-fab-floating green"><i class="material-icons">publish</i></a></li>
75
- <li><a class="btn-fab-floating blue"><i class="material-icons">attach_file</i></a></li>
76
- </ul>
77
- </div>
78
- ----
79
-
80
- == Initialization
81
-
82
- [source, javascript]
83
- ----
84
- document.addEventListener('DOMContentLoaded', function() {
85
- var elems = document.querySelectorAll('.fam-btn');
86
- var instances = j1.fam.init(elems, options);
87
- });
88
- ----
89
-
90
- or using *jQuery*
91
-
92
- [source, javascript]
93
- ----
94
- $(document).ready(function(){
95
- $('.fam-btn').j1.fam();
96
- });
97
- ----
98
-
99
- === Options
100
-
101
- [cols=",,,", options="header", ]
102
- |===============================================================================
103
- |Name |Type |Default |Description
104
-
105
- |`direction`
106
- |String
107
- |`top`
108
- |Direction FAM menu opens. Can be `top`, `right`, `buttom`, or `left`
109
-
110
- |`hoverEnabled`
111
- |Boolean
112
- |`true`
113
- |If `true`, FAM menu will open on hover instead of click
114
-
115
- |`toolbarEnabled`
116
- |Boolean
117
- |`false`
118
- |Enable transit the FAM into a toolbar on click
119
-
120
- |===============================================================================
121
-
122
- == Methods
123
-
124
- Because jQuery is no longer a dependency, all the methods are called on
125
- the plugin instance. You can get the plugin instance like this:
126
-
127
- [source, javascript]
128
- ----
129
- var instance = j1.fam.getInstance(elem);
130
- ----
131
-
132
- or using *jQuery*
133
-
134
- [source, javascript]
135
- ----
136
- $('.fam-btn').fam('methodName');
137
- $('.fam-btn').fam('methodName', paramName);
138
- ----
139
-
140
- WARNING: You can still use the old jQuery plugin method calls.
141
- But you won't be able to access instance properties.
142
-
143
- === `open()`
144
-
145
- Opens a FAM.
146
-
147
- [source, javascript]
148
- ----
149
- instance.open();
150
- ----
151
-
152
- === `close()`
153
-
154
- Closes a FAM.
155
-
156
- [source, javascript]
157
- ----
158
- instance.close();
159
- ----
160
-
161
- === `destroy()`
162
-
163
- Destroy plugin instance and teardown
164
-
165
- [source, javascript]
166
- ----
167
- instance.destroy();
168
- ----
169
-
170
- === Properties
171
-
172
- [cols=",,", options="header", ]
173
- |===============================================================================
174
- |Name |Type |Description
175
-
176
- |`el`
177
- |Element
178
- |The DOM element the plugin was initialized with.
179
-
180
- |`options`
181
- |Object
182
- |The options the instance was initialized with.
183
-
184
- |`isOpen`
185
- |Boolean
186
- |Describes open/close state of the FAM.
187
-
188
- |===============================================================================
189
-
190
- == Horizontal FAM
191
-
192
- Creating a horizontal FAM is easy! Just set the direction option.
193
-
194
- [source, javascript]
195
- ----
196
- document.addEventListener('DOMContentLoaded', function() {
197
- var elems = document.querySelectorAll('.fam-btn');
198
- var instances = j1.fam.init(elems, {
199
- direction: 'left'
200
- });
201
- });
202
- ----
203
-
204
- == Click-only FAM
205
-
206
- If you want to disable the hover behaviour, and instead toggle the FAM
207
- menu when the user clicks on the large button (works great on mobile!),
208
- just add the `click-to-toggle` class to the FAM.
209
-
210
- [source, javascript]
211
- ----
212
- document.addEventListener('DOMContentLoaded', function() {
213
- var elems = document.querySelectorAll('.fam-btn');
214
- var instances = j1.fam.init(elems, {
215
- direction: 'left',
216
- hoverEnabled: false
217
- });
218
- });
219
- ----
220
-
221
- /////
222
- == FAM to Toolbar
223
-
224
- Instead of displaying individual button options, you can transition your
225
- FAM into a toolbar on click. Just add the `toolbar` class to the FAM.
226
-
227
- [source, javascript]
228
- ----
229
- document.addEventListener('DOMContentLoaded', function() {
230
- var elems = document.querySelectorAll('.fam-btn');
231
- var instances = j1.fam.init(elems, {
232
- toolbarEnabled: true
233
- });
234
- });
235
- ----
236
-
237
- Or using jQuery
238
-
239
- [source, javascript]
240
- ----
241
- $('.fam-btn').fam({
242
- toolbarEnabled: true
243
- });
244
- ----
245
- /////
246
-
247
- /////
248
- ++++
249
- <div class="fam-btn">
250
- <a id="page_ctrl_button" class="btn-fab-floating btn-large btn-md-red raised-z5"><i class="mdi mdi-chevron-down"></i></a>
251
- <ul id="page_ctrl_items">
252
- <li><a id="fam_reload_page" class="btn-fab-floating btn-md-red raised-z5"><i class="mdi mdi-reload"></i></a></li>
253
- <li><a id="open_mmenu_toc" class="btn-fab-floating btn-md-blue raised-z5"><i class="mdi mdi-wrap"></i></a></li>
254
- <li><a id="fam_scroll_to_top" class="btn-fab-floating btn-md-green raised-z5"><i class="mdi mdi-step-backward-2 mdi-rotate-90"></i></a></li>
255
- <li><a id="fam_next_section" class="btn-fab-floating btn-md-green raised-z5"><i class="mdi mdi-step-forward mdi-rotate-90"></i></a></li>
256
- <li><a id="fam_previous_section" class="btn-fab-floating btn-md-green raised-z5"><i class="mdi mdi-step-backward mdi-rotate-90"></i></a></li>
257
- <!--
258
- <li><a id="ssm_scroll_to_bottom" class="btn-fab-floating btn-md-green raised-z5"><i class="mdi mdi-step-forward-2 mdi-rotate-90"></i></a></li>
259
- -->
260
- </ul>
261
- </div>
262
- ++++
263
-
264
-
265
- ++++
266
- <script>
267
- $(document).ready(function() {
268
- var FloatingActionOptions = { direction: 'top',
269
- hoverEnabled: true,
270
- toolbarEnabled: false };
271
-
272
- var elems = document.querySelectorAll('.fam-btn');
273
- var instances = j1.fam.init(elems, FloatingActionOptions);
274
- // var $instances = $('.fam-btn').j1.fam(FloatingActionOptions);
275
- var $ActionButton = $('#page_ctrl_button');
276
-
277
- if (FloatingActionOptions.hoverEnabled) {
278
- $ActionButton.hover(
279
- function() {
280
- $('.mdi').toggleClass('mdi-chevron-down mdi-chevron-up');
281
- }, function() {
282
- $('.mdi').toggleClass('mdi-chevron-down mdi-chevron-up');
283
- }
284
- );
285
- } else {
286
- $ActionButton.on('click', function (e) {
287
- $('.mdi').toggleClass('mdi-chevron-down mdi-chevron-up');
288
- });
289
- }
290
-
291
- });
292
- </script>
293
- ++++
294
- /////