j1-template 2022.6.1 → 2022.6.3
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/layouts/content_generator_news_panel_posts.html +4 -4
- data/_includes/themes/j1/layouts/layout_metadata_generator.html +36 -19
- data/_layouts/default.html +0 -5
- data/assets/data/banner.html +2 -2
- data/assets/data/mdi_icons.json +29539 -13502
- data/assets/data/panel.html +5 -5
- data/assets/themes/j1/adapter/js/masonry.js +273 -0
- data/assets/themes/j1/core/css/icon-fonts/mdi.css +3745 -319
- data/assets/themes/j1/core/css/icon-fonts/mdi.min.css +1 -1
- data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +1 -3
- data/assets/themes/j1/core/css/themes/theme_vapor/bootstrap.css +1 -3
- data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +7 -3
- data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +77 -25
- data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v7.0.96/eot/materialdesignicons-webfont.eot +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v7.0.96/materialdesignicons-webfont.woff +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v7.0.96/materialdesignicons-webfont.woff2 +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v7.0.96/preview.html +717 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v7.0.96/ttf/materialdesignicons-webfont.ttf +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/eot/materialdesignicons-webfont.eot +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/materialdesignicons-webfont.woff +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/materialdesignicons-webfont.woff2 +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/ttf/materialdesignicons-webfont.ttf +0 -0
- data/assets/themes/j1/modules/masonry/LICENSE +22 -0
- data/assets/themes/j1/modules/masonry/README.md +84 -0
- data/assets/themes/j1/modules/masonry/js/masonry.pkgd.js +2503 -0
- data/assets/themes/j1/modules/masonry/js/masonry.pkgd.min.js +9 -0
- data/assets/themes/j1/modules/masterslider/css/theme/uno.css +2 -1
- data/assets/themes/j1/modules/masterslider/css/theme/uno.min.css +1 -81
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -0
- data/lib/starter_web/README.md +5 -5
- data/lib/starter_web/_config.yml +5 -5
- data/lib/starter_web/_data/blocks/banner.yml +1 -1
- data/lib/starter_web/_data/j1_config.yml +1 -1
- data/lib/starter_web/_data/{custom → layouts/custom}/readme +0 -0
- data/lib/starter_web/_data/modules/defaults/masonry.yml +136 -0
- data/lib/starter_web/_data/modules/defaults/navigator.yml +0 -20
- data/lib/starter_web/_data/modules/masonry.yml +65 -0
- data/lib/starter_web/_data/modules/navigator_menu.yml +1 -1
- data/lib/starter_web/_data/plugins/defaults/seo-tags.yml +2 -2
- data/lib/starter_web/_data/plugins/seo-tags.yml +1 -1
- data/lib/starter_web/_data/resources.yml +26 -3
- data/lib/starter_web/_data/templates/feed.xml +5 -3
- data/lib/starter_web/_data/templates/robots.txt +26 -0
- data/lib/starter_web/_data/templates/seo-tags.html +18 -0
- data/lib/starter_web/_data/templates/sitemap.xml +29 -0
- data/lib/starter_web/_plugins/index/lunr.rb +25 -3
- data/lib/starter_web/_plugins/seo/j1-feed.rb +11 -9
- data/lib/starter_web/_plugins/seo/j1-seo-tags.rb +54 -57
- data/lib/starter_web/_plugins/seo/j1-sitemap.rb +5 -4
- data/lib/starter_web/assets/images/modules/attics/1920x1280/hayden-mills-2.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/ideas-start-here-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/triangles-bg.png +0 -0
- data/lib/starter_web/assets/videos/gallery/dailymotion/meditation.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/dailymotion/pilates.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/html5/video1.mp4 +0 -0
- data/lib/starter_web/assets/videos/gallery/html5/video2.mp4 +0 -0
- data/lib/starter_web/assets/videos/gallery/kick-it-old-school-poster.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/nye-party-shop-poster.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/stay-colorful-poster.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/video1-poster.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/video1-thumb.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/video2-poster.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/video2-thumb.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/video_adele-poster.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/video_gaga-poster.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/video_gwen-poster.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/video_michelle-poster.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/vk/hai.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/vk/otter.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/voice_kids_de_2021/battle.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/voice_kids_de_2021/ben.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/voice_kids_de_2021/constance.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/voice_kids_de_2021/elisa.jpg +0 -0
- data/lib/starter_web/assets/videos/headers/present_videos/still/underground-broadway.jpg +0 -0
- data/lib/starter_web/assets/videos/headers/present_videos/underground-broadway.mp4 +0 -0
- data/lib/starter_web/assets/videos/tiktok/einhorn.jpg +0 -0
- data/lib/starter_web/assets/videos/tiktok/waluschka.jpg +0 -0
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/themes_bootstrap.asciidoc +51 -51
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/themes_rouge.asciidoc +110 -110
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +43 -9
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v3.3.92/eot/materialdesignicons-webfont.eot +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v3.3.92/materialdesignicons-webfont.woff +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v3.3.92/materialdesignicons-webfont.woff2 +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v3.3.92/svg/materialdesignicons-webfont.svg +0 -10188
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v3.3.92/ttf/materialdesignicons-webfont.ttf +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/svg/materialdesignicons-webfont.svg +0 -10188
@@ -1,3 +1,21 @@
|
|
1
|
+
{% comment %}
|
2
|
+
# -----------------------------------------------------------------------------
|
3
|
+
# ~/_data/templates/seo-tags.html
|
4
|
+
# Liquid template to create the HTML portion for the seo-tags plugin
|
5
|
+
#
|
6
|
+
# Product/Info:
|
7
|
+
# https://jekyll.one
|
8
|
+
#
|
9
|
+
# Copyright (C) 2022 Juergen Adams
|
10
|
+
#
|
11
|
+
# J1 Template is licensed under the MIT License.
|
12
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
13
|
+
# -----------------------------------------------------------------------------
|
14
|
+
# Test data:
|
15
|
+
# liquid_var: {{ liquid_var | debug }}
|
16
|
+
# -----------------------------------------------------------------------------
|
17
|
+
{% endcomment %}
|
18
|
+
|
1
19
|
<!-- Begin J1 SEO tags -->
|
2
20
|
|
3
21
|
{% if seo_tag.title? %}
|
@@ -1,3 +1,25 @@
|
|
1
|
+
{% capture cache %}
|
2
|
+
|
3
|
+
{% comment %}
|
4
|
+
# -----------------------------------------------------------------------------
|
5
|
+
# ~/_data/templates/sitemap.xml
|
6
|
+
# Liquid template to generate the sitemap XML entries
|
7
|
+
#
|
8
|
+
# Product/Info:
|
9
|
+
# https://jekyll.one
|
10
|
+
#
|
11
|
+
# Copyright (C) 2022 Juergen Adams
|
12
|
+
#
|
13
|
+
# J1 Template is licensed under the MIT License.
|
14
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
15
|
+
# -----------------------------------------------------------------------------
|
16
|
+
# Test data:
|
17
|
+
# liquid_var: {{ liquid_var | debug }}
|
18
|
+
# -----------------------------------------------------------------------------
|
19
|
+
{% endcomment %}
|
20
|
+
|
21
|
+
{% comment %} main
|
22
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
1
23
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
24
|
{% if page.xsl %}
|
3
25
|
<?xml-stylesheet type="text/xsl" href="{{ "/sitemap.xsl" | absolute_url }}"?>
|
@@ -34,3 +56,10 @@
|
|
34
56
|
</url>
|
35
57
|
{% endfor %}
|
36
58
|
</urlset>
|
59
|
+
|
60
|
+
{% endcapture %}
|
61
|
+
|
62
|
+
|
63
|
+
{% comment %} POST processing of the generated feed XML file|s
|
64
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
65
|
+
{{ cache }}
|
@@ -109,6 +109,14 @@ module Jekyll
|
|
109
109
|
rebuild = @module_config['rebuild']
|
110
110
|
index_file = index_dest + @module_config['index_file']
|
111
111
|
|
112
|
+
if plugin_disabled?
|
113
|
+
Jekyll.logger.info 'J1 Lunr:', 'disabled'
|
114
|
+
return
|
115
|
+
else
|
116
|
+
Jekyll.logger.info 'J1 Lunr:', 'enabled'
|
117
|
+
Jekyll.logger.info 'J1 Lunr:', 'generate search index'
|
118
|
+
end
|
119
|
+
|
112
120
|
if @module_config['rebuild'] == false
|
113
121
|
if File.exist?(index_file)
|
114
122
|
Jekyll.logger.info 'J1 Lunr:', 'rebuild index disabled'
|
@@ -119,8 +127,6 @@ module Jekyll
|
|
119
127
|
end
|
120
128
|
end
|
121
129
|
|
122
|
-
Jekyll.logger.info 'J1 Lunr:', 'generate search index'
|
123
|
-
|
124
130
|
# gather posts and pages
|
125
131
|
#
|
126
132
|
items = pages_to_index(site)
|
@@ -197,6 +203,22 @@ module Jekyll
|
|
197
203
|
|
198
204
|
private
|
199
205
|
|
206
|
+
# Returns the plugin's config or an empty hash if not set
|
207
|
+
#
|
208
|
+
def config
|
209
|
+
@config ||= @module_config || {}
|
210
|
+
end
|
211
|
+
|
212
|
+
# Check if plugin is enabled|disabled
|
213
|
+
#
|
214
|
+
def plugin_disabled?
|
215
|
+
if config['enabled']
|
216
|
+
false
|
217
|
+
else
|
218
|
+
true
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
200
222
|
# load the stopwords (file)
|
201
223
|
#
|
202
224
|
def stopwords
|
@@ -372,6 +394,6 @@ end
|
|
372
394
|
|
373
395
|
module Jekyll
|
374
396
|
module J1LunrSearch
|
375
|
-
VERSION = '2022.6.
|
397
|
+
VERSION = '2022.6.3'
|
376
398
|
end
|
377
399
|
end
|
@@ -45,29 +45,31 @@ module J1Feed
|
|
45
45
|
@feed_output = @module_config['feed_output']
|
46
46
|
|
47
47
|
if disabled_in_development?
|
48
|
-
Jekyll.logger.info "J1
|
48
|
+
Jekyll.logger.info "J1 Feeds:", "skipped in mode development"
|
49
49
|
return
|
50
50
|
end
|
51
51
|
|
52
52
|
if plugin_disabled?
|
53
|
-
Jekyll.logger.info "J1
|
53
|
+
Jekyll.logger.info "J1 Feeds:", "disabled"
|
54
54
|
return
|
55
|
+
else
|
56
|
+
Jekyll.logger.info "J1 Feeds:", "enabled"
|
55
57
|
end
|
56
58
|
|
57
59
|
if @module_config['excerpt_only']
|
58
|
-
Jekyll.logger.info "J1
|
60
|
+
Jekyll.logger.info "J1 Feeds:", "generate rss feeds for: excerpts only"
|
59
61
|
end
|
60
62
|
|
61
63
|
if @module_config['posts_limit'] < 100
|
62
|
-
Jekyll.logger.info "J1
|
64
|
+
Jekyll.logger.info "J1 Feeds:", "generate rss feeds for: #posts of #{@module_config['posts_limit']}"
|
63
65
|
else
|
64
|
-
Jekyll.logger.info "J1
|
66
|
+
Jekyll.logger.info "J1 Feeds:", "generate rss feeds for: #posts of unlimited"
|
65
67
|
end
|
66
68
|
|
67
69
|
collections.each do |name, meta|
|
68
|
-
Jekyll.logger.info "J1
|
70
|
+
Jekyll.logger.info "J1 Feeds:", "generate rss feeds for: all #{name}"
|
69
71
|
(meta["categories"] + [nil]).each do |category|
|
70
|
-
Jekyll.logger.info "J1
|
72
|
+
Jekyll.logger.info "J1 Feeds:", "generate rss feeds for posts by category: #{category}" if category
|
71
73
|
path = feed_path(:collection => name, :category => category)
|
72
74
|
|
73
75
|
# rebuild the feed xml file?
|
@@ -75,7 +77,7 @@ module J1Feed
|
|
75
77
|
unless @module_config['rebuild_feeds']
|
76
78
|
path = feed_path(:collection => name, :category => category)
|
77
79
|
if file_exists?(path)
|
78
|
-
Jekyll.logger.info "J1
|
80
|
+
Jekyll.logger.info "J1 Feeds:", "feed already exist, skip rebuild"
|
79
81
|
next
|
80
82
|
end
|
81
83
|
end
|
@@ -164,7 +166,7 @@ module J1Feed
|
|
164
166
|
# next if %r![^a-zA-Z0-9_]!.match?(tag)
|
165
167
|
next if %r!\W!.match?(tag)
|
166
168
|
|
167
|
-
Jekyll.logger.info "J1
|
169
|
+
Jekyll.logger.info "J1 Feeds:", "generate rss feeds for posts by tag: #{tag}" if tag
|
168
170
|
path = "#{tags_path}#{tag.downcase}.xml"
|
169
171
|
next if file_exists?(path)
|
170
172
|
|
@@ -16,6 +16,59 @@
|
|
16
16
|
require "jekyll"
|
17
17
|
|
18
18
|
module Jekyll
|
19
|
+
|
20
|
+
class J1SeoTag < Jekyll::Generator
|
21
|
+
safe true
|
22
|
+
priority :lowest
|
23
|
+
|
24
|
+
# Main plugin action, called by Jekyll-core
|
25
|
+
def generate(site)
|
26
|
+
@site = site
|
27
|
+
|
28
|
+
@mode = site.config['environment']
|
29
|
+
@template = site.config['theme']
|
30
|
+
|
31
|
+
@project_path = File.join(File.dirname(__FILE__)).sub('_plugins/seo', '')
|
32
|
+
@module_data_path = File.join(File.join(@project_path, '_data'))
|
33
|
+
@module_config_path = File.join(File.join(@module_data_path, 'plugins'))
|
34
|
+
@module_template_path = File.join(File.join(@module_data_path, 'templates'))
|
35
|
+
@module_config_default = YAML::load(File.open(File.join(@module_config_path, 'defaults', 'seo-tags.yml')))
|
36
|
+
@module_config_user = YAML::load(File.open(File.join(@module_config_path, 'seo-tags.yml')))
|
37
|
+
|
38
|
+
@module_config_default_settings = @module_config_default['defaults']
|
39
|
+
@module_config_user_settings = @module_config_user['settings']
|
40
|
+
@module_config = @module_config_default_settings.merge!(@module_config_user_settings)
|
41
|
+
|
42
|
+
if plugin_disabled?
|
43
|
+
Jekyll.logger.info "J1 Seo:", "disabled"
|
44
|
+
return
|
45
|
+
else
|
46
|
+
Jekyll.logger.info "J1 Seo:", "enabled"
|
47
|
+
Jekyll.logger.info "J1 Seo:", "generate seo tags"
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
private
|
53
|
+
|
54
|
+
# Returns the plugin's config or an empty hash if not set
|
55
|
+
#
|
56
|
+
def config
|
57
|
+
@config ||= @module_config || {}
|
58
|
+
end
|
59
|
+
|
60
|
+
# Check if plugin is enabled|disabled
|
61
|
+
#
|
62
|
+
def plugin_disabled?
|
63
|
+
if config['enabled']
|
64
|
+
false
|
65
|
+
else
|
66
|
+
true
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
71
|
+
|
19
72
|
class SeoTag < Liquid::Tag
|
20
73
|
attr_accessor :context
|
21
74
|
|
@@ -102,6 +155,7 @@ module Jekyll
|
|
102
155
|
end
|
103
156
|
|
104
157
|
end
|
158
|
+
|
105
159
|
end
|
106
160
|
|
107
161
|
Liquid::Template.register_tag("seo", Jekyll::SeoTag)
|
@@ -198,7 +252,6 @@ module Jekyll
|
|
198
252
|
end
|
199
253
|
end
|
200
254
|
|
201
|
-
|
202
255
|
module Jekyll
|
203
256
|
class SeoTag
|
204
257
|
|
@@ -463,7 +516,6 @@ module Jekyll
|
|
463
516
|
end
|
464
517
|
end
|
465
518
|
|
466
|
-
|
467
519
|
module Jekyll
|
468
520
|
class SeoTag
|
469
521
|
class Filters
|
@@ -477,7 +529,6 @@ module Jekyll
|
|
477
529
|
end
|
478
530
|
end
|
479
531
|
|
480
|
-
|
481
532
|
module Jekyll
|
482
533
|
class SeoTag
|
483
534
|
# A drop representing the page image
|
@@ -559,7 +610,6 @@ module Jekyll
|
|
559
610
|
end
|
560
611
|
end
|
561
612
|
|
562
|
-
|
563
613
|
module Jekyll
|
564
614
|
class SeoTag
|
565
615
|
class JSONLDDrop < Jekyll::Drops::Drop
|
@@ -662,56 +712,3 @@ module Jekyll
|
|
662
712
|
end
|
663
713
|
end
|
664
714
|
end
|
665
|
-
|
666
|
-
# module Jekyll
|
667
|
-
# class SeoTag
|
668
|
-
# # This module is deprecated, but is included in the Gem to avoid a breaking
|
669
|
-
# # change and should be removed at the next major version bump
|
670
|
-
# module JSONLD
|
671
|
-
# METHODS_KEYS = {
|
672
|
-
# :json_context => "@context",
|
673
|
-
# :type => "@type",
|
674
|
-
# :name => "name",
|
675
|
-
# :page_title => "headline",
|
676
|
-
# :json_author => "author",
|
677
|
-
# :json_image => "image",
|
678
|
-
# :date_published => "datePublished",
|
679
|
-
# :date_modified => "dateModified",
|
680
|
-
# :description => "description",
|
681
|
-
# :publisher => "publisher",
|
682
|
-
# :main_entity => "mainEntityOfPage",
|
683
|
-
# :links => "sameAs",
|
684
|
-
# :canonical_url => "url",
|
685
|
-
# }.freeze
|
686
|
-
#
|
687
|
-
# # Self should be a Jekyll::SeoTag::Drop instance (when extending the module)
|
688
|
-
# def json_ld
|
689
|
-
# Jekyll.logger.warn "Jekyll::SeoTag::JSONLD is deprecated"
|
690
|
-
# @json_ld ||= JSONLDDrop.new(self)
|
691
|
-
# end
|
692
|
-
# end
|
693
|
-
# end
|
694
|
-
# end
|
695
|
-
|
696
|
-
|
697
|
-
# module Jekyll
|
698
|
-
# class SeoTag
|
699
|
-
# # Mixin to share common URL-related methods between class
|
700
|
-
# module UrlHelper
|
701
|
-
# private
|
702
|
-
#
|
703
|
-
# # Determines if the given string is an absolute URL
|
704
|
-
# #
|
705
|
-
# # Returns true if an absolute URL
|
706
|
-
# # Returns false if it's a relative URL
|
707
|
-
# # Returns nil if it is not a string or can't be parsed as a URL
|
708
|
-
# def absolute_url?(string)
|
709
|
-
# return unless string
|
710
|
-
#
|
711
|
-
# Addressable::URI.parse(string).absolute?
|
712
|
-
# rescue Addressable::URI::InvalidURIError
|
713
|
-
# nil
|
714
|
-
# end
|
715
|
-
# end
|
716
|
-
# end
|
717
|
-
# end
|
@@ -45,12 +45,13 @@ module Jekyll
|
|
45
45
|
@sitemap_source_path ||= File.expand_path @sitemap_template_name, @template_source_folder
|
46
46
|
|
47
47
|
if plugin_disabled?
|
48
|
-
Jekyll.logger.info "J1 Sitemap:", "
|
48
|
+
Jekyll.logger.info "J1 Sitemap:", "disabled"
|
49
49
|
return
|
50
|
+
else
|
51
|
+
Jekyll.logger.info "J1 Sitemap:", "enabled"
|
52
|
+
Jekyll.logger.info "J1 Sitemap:", "generate sitemap files"
|
50
53
|
end
|
51
|
-
|
52
|
-
Jekyll.logger.info "J1 Sitemap:", "generate map files"
|
53
|
-
|
54
|
+
|
54
55
|
@site.pages << sitemap unless file_exists?("sitemap.xml")
|
55
56
|
@site.pages << robots unless file_exists?("robots.txt")
|
56
57
|
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/themes_bootstrap.asciidoc
CHANGED
@@ -1,51 +1,51 @@
|
|
1
|
-
== The Themes Menu
|
2
|
-
|
3
|
-
Themes adjust the website's appearance based on the core CSS rules and
|
4
|
-
definitions of Bootstrap. Themes do not change the framework's functionality
|
5
|
-
but modify rule-based, e.g., the color scheme, fonts, sizes, or the
|
6
|
-
appearance of more complex elements like forms or tables. Additionally, a
|
7
|
-
theme may add additional components to extend the Bootstrap's framework.
|
8
|
-
|
9
|
-
Modifying the CSS styles of link:{url-bs--home}[Bootstrap, {browser-window--new}]
|
10
|
-
is not rocket science. But, to be honest, some knowledge is needed for
|
11
|
-
link:{url-w3org--css-spec}[the CSS technology, {browser-window--new}] to do so.
|
12
|
-
We encourage you to spend some time first on learning CSS. To learn what is the
|
13
|
-
link:{url-w3schools--css-tutorial}[design base, {browser-window--new}] of each
|
14
|
-
and every website.
|
15
|
-
|
16
|
-
.Themes menu
|
17
|
-
lightbox::images--themes-menu[ 1280, {data-images--themes-menu} ]
|
18
|
-
|
19
|
-
Thanks to the people at link:{url-bootswatch--home}[Bootswatch, {browser-window--new}],
|
20
|
-
a great set of already prepared Bootstrap stylesheets in various designs are
|
21
|
-
available on their website. There is no need to start from scratch. It is not
|
22
|
-
needed to re-define all the Bootstrap variables, and rebuild the framework
|
23
|
-
files to create a new theme. Many different styles are available. What is
|
24
|
-
already available at Bootswatch is at least a good base for your modifications;
|
25
|
-
your unique design.
|
26
|
-
|
27
|
-
Besides the bunch of different stylesheets at Bootswatch, an
|
28
|
-
link:{url-bootswatch--api}[Integration API, {browser-window--new}] is provided
|
29
|
-
that helps a lot to integrate available designs into an existing site. This API
|
30
|
-
is the base to integrate selectable Bootswatch stylesheets into the J1 Template
|
31
|
-
navigation system for easy use.
|
32
|
-
|
33
|
-
=== Apply a theme
|
34
|
-
|
35
|
-
The base for designing pages using the J1 Template is the theme Uno, a modern
|
36
|
-
light theme used for many types of websites. And what we mentioned
|
37
|
-
already, web design is not: one size fits all. The theme Uno can be seen as
|
38
|
-
a good base, a starting point. Combining Uno and a different theme may be a fast
|
39
|
-
solution for your site!?
|
40
|
-
|
41
|
-
You can find all available themes and stylesheets on your pages
|
42
|
-
from the menu Themes. You're invited to check how a page is changing for
|
43
|
-
its design if other stylesheets, other ideas of web design are used.
|
44
|
-
|
45
|
-
TIP: Changing BS-based styles is one thing. Changing from one theme to the
|
46
|
-
next at runtime is a bit more challenging. For the first version of the J1
|
47
|
-
Template, many styles are automatically changed for J1 specific components,
|
48
|
-
but not all of them for now.
|
49
|
-
|
50
|
-
Select a theme from this menu, and a new BS-based stylesheet is automatically
|
51
|
-
applied to your pages.
|
1
|
+
== The Themes Menu
|
2
|
+
|
3
|
+
Themes adjust the website's appearance based on the core CSS rules and
|
4
|
+
definitions of Bootstrap. Themes do not change the framework's functionality
|
5
|
+
but modify rule-based, e.g., the color scheme, fonts, sizes, or the
|
6
|
+
appearance of more complex elements like forms or tables. Additionally, a
|
7
|
+
theme may add additional components to extend the Bootstrap's framework.
|
8
|
+
|
9
|
+
Modifying the CSS styles of link:{url-bs--home}[Bootstrap, {browser-window--new}]
|
10
|
+
is not rocket science. But, to be honest, some knowledge is needed for
|
11
|
+
link:{url-w3org--css-spec}[the CSS technology, {browser-window--new}] to do so.
|
12
|
+
We encourage you to spend some time first on learning CSS. To learn what is the
|
13
|
+
link:{url-w3schools--css-tutorial}[design base, {browser-window--new}] of each
|
14
|
+
and every website.
|
15
|
+
|
16
|
+
.Themes menu
|
17
|
+
lightbox::images--themes-menu[ 1280, {data-images--themes-menu} ]
|
18
|
+
|
19
|
+
Thanks to the people at link:{url-bootswatch--home}[Bootswatch, {browser-window--new}],
|
20
|
+
a great set of already prepared Bootstrap stylesheets in various designs are
|
21
|
+
available on their website. There is no need to start from scratch. It is not
|
22
|
+
needed to re-define all the Bootstrap variables, and rebuild the framework
|
23
|
+
files to create a new theme. Many different styles are available. What is
|
24
|
+
already available at Bootswatch is at least a good base for your modifications;
|
25
|
+
your unique design.
|
26
|
+
|
27
|
+
Besides the bunch of different stylesheets at Bootswatch, an
|
28
|
+
link:{url-bootswatch--api}[Integration API, {browser-window--new}] is provided
|
29
|
+
that helps a lot to integrate available designs into an existing site. This API
|
30
|
+
is the base to integrate selectable Bootswatch stylesheets into the J1 Template
|
31
|
+
navigation system for easy use.
|
32
|
+
|
33
|
+
=== Apply a theme
|
34
|
+
|
35
|
+
The base for designing pages using the J1 Template is the theme Uno, a modern
|
36
|
+
light theme used for many types of websites. And what we mentioned
|
37
|
+
already, web design is not: one size fits all. The theme Uno can be seen as
|
38
|
+
a good base, a starting point. Combining Uno and a different theme may be a fast
|
39
|
+
solution for your site!?
|
40
|
+
|
41
|
+
You can find all available themes and stylesheets on your pages
|
42
|
+
from the menu Themes. You're invited to check how a page is changing for
|
43
|
+
its design if other stylesheets, other ideas of web design are used.
|
44
|
+
|
45
|
+
TIP: Changing BS-based styles is one thing. Changing from one theme to the
|
46
|
+
next at runtime is a bit more challenging. For the first version of the J1
|
47
|
+
Template, many styles are automatically changed for J1 specific components,
|
48
|
+
but not all of them for now.
|
49
|
+
|
50
|
+
Select a theme from this menu, and a new BS-based stylesheet is automatically
|
51
|
+
applied to your pages.
|