jekyll-theme-fica 0.2.0 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  3. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  4. data/.github/workflows/.ci_BASE_2002.yaml.swp +0 -0
  5. data/.github/workflows/.ci_LOCAL_2002.yaml.swp +0 -0
  6. data/.github/workflows/.ci_REMOTE_2002.yaml.swp +0 -0
  7. data/.github/workflows/ci.yaml +7 -0
  8. data/.github/workflows/ci.yaml.orig +34 -0
  9. data/.github/workflows/ci_BACKUP_2002.yaml +34 -0
  10. data/.github/workflows/ci_BASE_2002.yaml +27 -0
  11. data/.github/workflows/ci_LOCAL_2002.yaml +27 -0
  12. data/.github/workflows/ci_REMOTE_2002.yaml +27 -0
  13. data/README.md +4 -3
  14. data/_includes/Footer.html +112 -85
  15. data/_includes/Head.html +12 -13
  16. data/_includes/Header.html +17 -34
  17. data/_includes/{BTT.html → assets/BTT.html} +8 -7
  18. data/_includes/{Google-Analytics.html → assets/Google-Analytics.html} +12 -12
  19. data/_includes/assets/anchor-headings.html +164 -0
  20. data/_includes/assets/comments.html +16 -0
  21. data/_includes/assets/toc.html +174 -0
  22. data/_layouts/default.html +16 -14
  23. data/_layouts/home.html +25 -67
  24. data/_layouts/page.html +5 -3
  25. data/_layouts/post.html +50 -52
  26. data/_layouts/post_home.html +112 -112
  27. data/_posts/2022-04-5-Getting-Started.md +150 -149
  28. data/_sass/{layouts/base.scss → base.scss} +472 -579
  29. data/_sass/{themes/dark theme/highlight.scss → colors/dark-theme/highlight.scss} +362 -362
  30. data/_sass/{themes/dark theme/theme-dark.scss → colors/dark-theme/theme-dark.scss} +132 -142
  31. data/_sass/{themes/light theme/highlight.scss → colors/light-theme/highlight.scss} +198 -198
  32. data/_sass/{themes/light theme/theme-light.scss → colors/light-theme/theme-light.scss} +126 -136
  33. data/_sass/jekyll-theme-fica.scss +1 -8
  34. data/_sass/layouts/component.scss +253 -0
  35. data/_sass/layouts/layout.scss +612 -718
  36. data/_sass/layouts/variable.scss +201 -0
  37. data/assets/css/Style.scss +12 -13
  38. data/bin/run +195 -150
  39. data/js/Main.js +21 -0
  40. data/js/back-to-top.js +39 -48
  41. metadata +28 -16
  42. data/_sass/custom/styles.scss +0 -1
  43. data/_sass/custom/variables.scss +0 -1
  44. data/_sass/layouts/variables.scss +0 -230
  45. data/docs/contributing.md +0 -69
@@ -0,0 +1,201 @@
1
+ //
2
+ // text settings
3
+ //
4
+ $font-family: 'Roboto', sans-serif !default;
5
+ $code-font-family: "Noto Sans", sans-serif !default;
6
+
7
+ $font-size: 17px !default;
8
+ $small-font-size: $font-size * 0.875 !default;
9
+
10
+ $font-weight: 300 !default;
11
+ $font-spacing: 30px !default;
12
+ $line-height: 2.5 !default;
13
+
14
+ //
15
+ // Table
16
+ //
17
+ $table-text-align: left !default;
18
+
19
+ //
20
+ // Site banner
21
+ //
22
+ $site-banner-title-fnt-sze: 50px;
23
+ $site-banner-description-fnt-sze: 18px;
24
+ $site-banner-picture-sze_wdth: 60%;
25
+
26
+ //
27
+ // Transitions
28
+ //
29
+ $transition-btn: all 0.2s ease-in-out;
30
+ $transition-links: all 0.3s ease-in-out;
31
+ $tansitions-page-bar: all 0.3s ease-in-out;
32
+
33
+ //
34
+ // Animations
35
+ //
36
+ $animation-site-pic: 2s; //animations for banner-pic
37
+ $animation-main: 1s; //animations for banner description and the body of the site.
38
+ $animation-left: 250ms;
39
+
40
+ //
41
+ // Content
42
+ //
43
+ $content-width: 800px !default;
44
+
45
+
46
+ $mobile-width: 710px !default;
47
+ $pc-width: 800px !default;
48
+ $medium-width: 442px !default;
49
+
50
+ // //
51
+ // ---------- site queries ---------- //
52
+ // //
53
+
54
+ @mixin media-query($device) {
55
+ @media screen and (max-width: $device) {
56
+ @content;
57
+ }
58
+ }
59
+
60
+ @mixin animation-fade-in($speed) {
61
+ opacity: 0;
62
+ animation: fade-in 1s linear forwards;
63
+ animation-delay: #{$speed}s;
64
+ -webkit-animation-delay: #{$speed}s;
65
+ }
66
+
67
+ @mixin relative-font-size($ratio) {
68
+ font-size: #{$ratio}rem;
69
+ }
70
+
71
+ // //
72
+ //---------- scss mixin --------- //
73
+ // //
74
+
75
+ @mixin text-muted {
76
+ color: $text-mute-color;
77
+ }
78
+
79
+ @mixin text-unmuted {
80
+ color: $text-color;
81
+ }
82
+
83
+ @mixin footer-wrapper {
84
+ margin-bottom: $font-spacing / 2;
85
+ width: calc(18% - (#{$font-spacing} / 2));
86
+ padding: 0 ($font-spacing / 2);
87
+
88
+ &:first-child {
89
+ padding-right: $font-spacing / 2;
90
+ padding-left: 0;
91
+ }
92
+
93
+ &:last-child {
94
+ padding-right: 0;
95
+ padding-left: $font-spacing / 2;
96
+ }
97
+ }
98
+
99
+ @mixin prompt($gf-icon, $gf-color, $bg-color, $fnt-fam) {
100
+ border-radius: 5px;
101
+ padding: 0.8rem 1.2rem;
102
+ font-style: normal;
103
+ color: $text-color;
104
+ font-weight: 400;
105
+ border-left: 6px solid $gf-color;
106
+ background-color: $bg-color;
107
+ font-size: 0.975rem;
108
+
109
+ &::before {
110
+ content: $gf-icon;
111
+ font-family: $fnt-fam;
112
+ color: $gf-color;
113
+ font-size: 34px;
114
+ line-height: 1;
115
+ padding-right: 10px;
116
+ padding-bottom: 13px;
117
+ }
118
+ }
119
+
120
+ @mixin horizontal-scroll {
121
+ &::-webkit-scrollbar {
122
+ height: 16px;
123
+ }
124
+
125
+ &::-webkit-scrollbar-track {
126
+ background-color: transparent;
127
+ }
128
+
129
+ &::-webkit-scrollbar-thumb {
130
+ background: rgba(128, 134, 139, 0.2);
131
+ background-clip: padding-box;
132
+ border: 4px solid transparent;
133
+ border-radius: 10px;
134
+ box-sizing: border-box;
135
+
136
+ &:hover {
137
+ background: rgba(128, 134, 139, 0.4);
138
+ box-sizing: border-box;
139
+ background-clip: padding-box;
140
+ }
141
+ }
142
+ }
143
+
144
+ // //
145
+ //---------- Animations --------- //
146
+ // //
147
+
148
+ @keyframes left-animation {
149
+ from {
150
+ opacity: 0;
151
+ transform: translate3d(100%, 0, 0);
152
+ }
153
+
154
+ to {
155
+ opacity: 1;
156
+ transform: translate3d(0, 0, 0);
157
+ }
158
+ }
159
+
160
+ @keyframes BTT-Entrance {
161
+ from {
162
+ opacity: 0;
163
+ transform: translate3d(0, 100%, 0);
164
+ }
165
+
166
+ to {
167
+ opacity: 1;
168
+ transform: translate3d(0, 0, 0);
169
+ }
170
+ }
171
+
172
+ @keyframes BTT-Exit {
173
+ from {
174
+ opacity: 1;
175
+ }
176
+
177
+ to {
178
+ opacity: 0;
179
+ transform: translate3d(0, 100%, 0);
180
+ }
181
+ }
182
+
183
+ @keyframes slide {
184
+ 100% {
185
+ transform: translateX(0);
186
+ }
187
+ }
188
+
189
+ @keyframes slide-up {
190
+ 100% {
191
+ opacity: 1;
192
+ transform: translateY(0);
193
+ }
194
+ }
195
+
196
+ @keyframes fade-in {
197
+ 100% {
198
+ opacity: 1;
199
+ }
200
+ }
201
+
@@ -1,13 +1,12 @@
1
- ---
2
- ---
3
-
4
- @import "jekyll-theme-fica";
5
-
6
-
7
- .site-title::before {
8
- content: url("{{site.baseurl}}/logo.png");
9
- display: inline-block;
10
- position: relative;
11
- width: 37px;
12
- top: 7px;
13
- }
1
+ ---
2
+ ---
3
+
4
+ @import "jekyll-theme-fica";
5
+
6
+ .logo::before {
7
+ content: url("{{site.baseurl}}/logo.png");
8
+ display: inline-block;
9
+ position: relative;
10
+ width: 37px;
11
+ top: 7px;
12
+ }
data/bin/run CHANGED
@@ -1,150 +1,195 @@
1
- #!/usr/bin/env bash
2
-
3
- #
4
- # Name of the theme
5
- #
6
- THEME="jekyll-theme-fica"
7
-
8
- #
9
- # the name of the script
10
- #
11
- SCRIPT="bin/"$( basename "$0" )
12
-
13
- #
14
- # Current version
15
- #
16
- VERSION="0.2.0"
17
-
18
- #
19
- # Colors
20
- RED='\033[0;31m'
21
- YELLOW='\033[0;33m'
22
- CYAN='\033[0;36m'
23
- NC='\033[0m' # No Color
24
-
25
- #
26
- # help option
27
- #
28
- function usage
29
- {
30
- echo -e "$CYAN$THEME$NC the modern theme with minimal look"
31
- echo -e ""
32
- echo -e "Usage:"
33
- echo -e "$SCRIPT $CYAN[subcommand]$NC"
34
- echo -e ""
35
- echo -e ""
36
- echo -e "Subcommand:"
37
- echo -e " $YELLOW upgrade, u $NC Upgrades $TEME to the latest version"
38
- echo -e " $YELLOW help, h $NC displays all the subcommand available and how to use it"
39
- echo -e " $YELLOW version, v $NC show the version of the theme"
40
- echo -e " $YELLOW server, s $NC Runs the server locally"
41
- echo -e " $YELLOW insdep, idp $NC Installs all the dependencies"
42
- echo -e " $YELLOW chktheme, ckte $NC Checks the theme for errors"
43
- }
44
-
45
- #
46
- # Upgrade the theme to the latest version
47
- #
48
- function Upgrade
49
- {
50
- echo "Upgrading $THEME to $VERSION"
51
- sed -i "s/gem 'jekyll-theme-fica', '~> 0.1.9'/gem 'jekyll-theme-fica', '~> 2.0.0'/gi" ./Gemfile
52
- echo "Upgrade Complete!"
53
- }
54
-
55
- #
56
- # Runing the server locally
57
- #
58
- function server
59
- {
60
- echo "Starting Server....."
61
- bundle exec jekyll serve
62
- }
63
-
64
- #
65
- # Installs all dependencies
66
- #
67
- function install_dependencies
68
- {
69
- echo "Installing Dependencies of $THEME"
70
- gem install bundler
71
- bundle install
72
- }
73
-
74
- function error
75
- {
76
- printf "${RED}Subcommand not recognized.${NC}"
77
- echo ""
78
- usage
79
- }
80
-
81
- function version
82
- {
83
- printf "$CYAN$THEME$NC v$VERSION"
84
- }
85
-
86
- #
87
- # Theme check
88
- #
89
- function chktheme
90
- {
91
- printf "Running ${YELLOW}jekyll doctor ${NC}"
92
- echo ""
93
- jekyll doctor
94
- echo ""
95
- printf "Running ${YELLOW}jekyll build ${NC}"
96
- echo ""
97
- jekyll build
98
- }
99
-
100
- #
101
- # Process subcommands
102
- #
103
- while (( $# ))
104
- do
105
- case "$1" in
106
-
107
-
108
- Upgrade | u)
109
- Upgrade
110
- install_dependencies
111
- exit 0
112
- ;;
113
-
114
- insdep | idp)
115
- install_dependencies
116
- exit 0
117
- ;;
118
-
119
- server | s)
120
- server
121
- exit 0
122
- ;;
123
-
124
- help | h)
125
- usage
126
- exit 0
127
- ;;
128
-
129
- version | v)
130
- version
131
- exit 0
132
- ;;
133
-
134
- chktheme | ckte)
135
- chktheme
136
- exit 0
137
- ;;
138
-
139
-
140
- *)
141
- error
142
- exit 1
143
- ;;
144
-
145
- esac
146
- done
147
-
148
- printf "${RED}A subcommand is required.${NC}"
149
- echo ""
150
- usage
1
+ #!/usr/bin/env bash
2
+
3
+ #
4
+ # Name of the theme
5
+ #
6
+ THEME="jekyll-theme-fica"
7
+
8
+ #
9
+ # the name of the script
10
+ #
11
+ SCRIPT="bin/"$( basename "$0" )
12
+
13
+ #
14
+ # Current version
15
+ #
16
+ VERSION="0.2.2"
17
+
18
+ #
19
+ # Colors
20
+ #
21
+ RED='\033[0;31m'
22
+ YELLOW='\033[0;33m'
23
+ CYAN='\033[0;36m'
24
+ NC='\033[0m' # No Color
25
+
26
+ #
27
+ # help option
28
+ #
29
+ function usage
30
+ {
31
+ echo -e "$CYAN$THEME$NC the modern theme with minimal look"
32
+ echo -e ""
33
+ echo -e "Usage:"
34
+ echo -e "$SCRIPT $CYAN[subcommand]$NC"
35
+ echo -e ""
36
+ echo -e ""
37
+ echo -e "Subcommand:"
38
+ echo -e " $YELLOW upgrade, u $NC Upgrades $TEME to the latest version"
39
+ echo -e " $YELLOW help, h $NC displays all the subcommand available and how to use it"
40
+ echo -e " $YELLOW version, v $NC show the version of the theme"
41
+ echo -e " $YELLOW server, s $NC Runs the server locally"
42
+ echo -e " $YELLOW insdep, ip $NC Installs all the dependencies"
43
+ echo -e " $YELLOW chktheme, ct $NC Checks the theme for errors"
44
+ echo -e " $YELLOW bldgem, bm $NC builds the theme and uploads it to RubyGems"
45
+ }
46
+
47
+ #
48
+ # Upgrade the theme to the latest version
49
+ #
50
+ function Upgrade
51
+ {
52
+ echo "Upgrading $THEME to $VERSION"
53
+ sed -i "s/gem 'jekyll-theme-fica', '~> 0.1.9'/gem 'jekyll-theme-fica', '~> 2.2.0'/gi" ./Gemfile
54
+ echo "Upgrade Complete!"
55
+ # insdep
56
+ }
57
+
58
+ #
59
+ # Runing the server locally
60
+ #
61
+ function server
62
+ {
63
+ echo "Starting Server....."
64
+ bundle exec jekyll serve
65
+ }
66
+
67
+ #
68
+ # Installs all dependencies
69
+ #
70
+ function install_dependencies
71
+ {
72
+ echo "Installing Dependencies of $THEME"
73
+ gem install bundler
74
+ bundle install
75
+ }
76
+
77
+ function error
78
+ {
79
+ printf "${RED}Subcommand not recognized.${NC}"
80
+ echo ""
81
+ usage
82
+ }
83
+
84
+ function version
85
+ {
86
+ printf "$CYAN$THEME$NC v$VERSION"
87
+ }
88
+
89
+ #
90
+ # Theme check
91
+ #
92
+ function chktheme
93
+ {
94
+ echo ""
95
+ printf "Running ${YELLOW}Bundle ${NC}"
96
+ echo ""
97
+ bundle clean --force
98
+ install_dependencies
99
+ echo ""
100
+ printf "Running ${YELLOW}jekyll doctor ${NC}"
101
+ echo ""
102
+ jekyll doctor
103
+ echo ""
104
+ printf "Running ${YELLOW}jekyll build ${NC}"
105
+ echo ""
106
+ jekyll build
107
+ }
108
+
109
+ #
110
+ # gem build and upload
111
+ #
112
+ function gm_bld
113
+ {
114
+ echo Building gemspec.....
115
+ gem build jekyll-theme-fica.gemspec
116
+ echo Build complete
117
+
118
+ while true; do
119
+
120
+ read -p "Do you need to upload the the gem to RubyGem.org ? (y/n) " yn
121
+
122
+ case $yn in
123
+ [yY] ) echo ok, we will proceed;
124
+ echo upload Gem file
125
+ read gm_uld
126
+ gem push $gm_uld
127
+ exit;;
128
+ [nN] ) echo exiting...;
129
+ exit;;
130
+ * ) echo invalid response;
131
+ esac
132
+
133
+
134
+ done
135
+ }
136
+
137
+ #
138
+ # Process subcommands
139
+ #
140
+
141
+ while (( $# ))
142
+ do
143
+ case "$1" in
144
+
145
+
146
+ bldgem | bm)
147
+ gm_bld
148
+ exit 0
149
+ ;;
150
+
151
+ Upgrade | u)
152
+ Upgrade
153
+ install_dependencies
154
+ exit 0
155
+ ;;
156
+
157
+ insdep | ip)
158
+ install_dependencies
159
+ exit 0
160
+ ;;
161
+
162
+ server | s)
163
+ server
164
+ exit 0
165
+ ;;
166
+
167
+ help | h)
168
+ usage
169
+ exit 0
170
+ ;;
171
+
172
+ version | v)
173
+ version
174
+ exit 0
175
+ ;;
176
+
177
+ chktheme | ct)
178
+ chktheme
179
+ exit 0
180
+ ;;
181
+
182
+
183
+ *)
184
+ error
185
+ exit 1
186
+ ;;
187
+
188
+ esac
189
+ done
190
+
191
+
192
+
193
+ printf "${RED}A subcommand is required.${NC}"
194
+ echo ""
195
+ usage
data/js/Main.js ADDED
@@ -0,0 +1,21 @@
1
+ const nav = document.getElementById("nav")
2
+ const navcheck = document.getElementById("check")
3
+ const screenWidth = window.innerWidth;
4
+ window.addEventListener("resize", function () {
5
+ if (window.innerWidth !== screenWidth) {
6
+ // Do something
7
+ if (screenWidth < 1993) {
8
+ document.getElementById("banner-content").style.transform = "translateX(0)";
9
+ }
10
+ }
11
+ }
12
+ );
13
+ navcheck.addEventListener('click', () => {
14
+ if (navcheck.checked) {
15
+ nav.style.position = "fixed";
16
+ document.documentElement.style.overflow = "hidden";
17
+ } else {
18
+ nav.style.position = "static";
19
+ document.documentElement.style.overflow = "auto";
20
+ }
21
+ });
data/js/back-to-top.js CHANGED
@@ -1,48 +1,39 @@
1
- const BackToTop = document.querySelector("#back-to-top");
2
-
3
- window.addEventListener("scroll", scrollFunction);
4
-
5
- function scrollFunction() {
6
- if (window.pageYOffset > 200) { // Show BackToTop
7
- if(!BackToTop.classList.contains("BTT-Entrance")) {
8
- BackToTop.classList.remove("BTT-Exit");
9
- BackToTop.classList.add("BTT-Entrance");
10
- BackToTop.style.display = "block";
11
- }
12
- }
13
- else { // Hide BackToTop
14
- if(BackToTop.classList.contains("BTT-Entrance")) {
15
- BackToTop.classList.remove("BTT-Entrance");
16
- BackToTop.classList.add("BTT-Exit");
17
- setTimeout(function() {
18
- BackToTop.style.display = "none";
19
- }, 250);
20
- }
21
- }
22
- }
23
-
24
- BackToTop.addEventListener("click", smoothScrollBackToTop);
25
-
26
- function smoothScrollBackToTop() {
27
- const targetPosition = 0;
28
- const startPosition = window.pageYOffset;
29
- const distance = targetPosition - startPosition;
30
- const duration = 750;
31
- let start = null;
32
-
33
- window.requestAnimationFrame(step);
34
-
35
- function step(timestamp) {
36
- if (!start) start = timestamp;
37
- const progress = timestamp - start;
38
- window.scrollTo(0, easeInOutCubic(progress, startPosition, distance, duration));
39
- if (progress < duration) window.requestAnimationFrame(step);
40
- }
41
- }
42
-
43
- function easeInOutCubic(t, b, c, d) {
44
- t /= d/2;
45
- if (t < 1) return c/2*t*t*t + b;
46
- t -= 2;
47
- return c/2*(t*t*t + 2) + b;
48
- };
1
+ const BackToTop = document.querySelector("#back-to-top");
2
+
3
+ window.addEventListener("scroll", scrollFunction);
4
+
5
+ function scrollFunction() {
6
+ if (window.pageYOffset > 200) {
7
+ // Show BackToTop
8
+ if (!BackToTop.classList.contains("BTT-Entrance")) {
9
+ BackToTop.classList.remove("BTT-Exit");
10
+ BackToTop.classList.add("BTT-Entrance");
11
+ BackToTop.style.display = "block";
12
+ }
13
+ } else {
14
+ // Hide BackToTop
15
+ if (BackToTop.classList.contains("BTT-Entrance")) {
16
+ BackToTop.classList.remove("BTT-Entrance");
17
+ BackToTop.classList.add("BTT-Exit");
18
+ setTimeout(function () {
19
+ BackToTop.style.display = "none";
20
+ }, 250);
21
+ }
22
+ }
23
+ }
24
+
25
+ BackToTop.addEventListener("click", smoothScrollBackToTop);
26
+
27
+ function smoothScrollBackToTop() {
28
+ window.scrollTo(
29
+ 0,
30
+ 0
31
+ );
32
+ }
33
+
34
+ function easeInOutCubic(t, b, c, d) {
35
+ t /= d / 2;
36
+ if (t < 1) return (c / 2) * t * t * t + b;
37
+ t -= 2;
38
+ return (c / 2) * (t * t * t + 2) + b;
39
+ }