jekyll-theme-chirpy 5.0.1 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -7
  3. data/_config.yml +38 -13
  4. data/_data/assets/cross_origin.yml +62 -0
  5. data/_data/assets/self_host.yml +51 -0
  6. data/_data/authors.yml +17 -0
  7. data/_data/locales/en.yml +12 -20
  8. data/_data/locales/es-ES.yml +79 -0
  9. data/_data/locales/fr-FR.yml +79 -0
  10. data/_data/locales/id-ID.yml +4 -16
  11. data/_data/locales/ko-KR.yml +4 -16
  12. data/_data/locales/my-MM.yml +79 -0
  13. data/_data/locales/pt-BR.yml +79 -0
  14. data/_data/locales/ru-RU.yml +79 -0
  15. data/_data/locales/uk-UA.yml +79 -0
  16. data/_data/locales/vi-VN.yml +77 -0
  17. data/_data/locales/zh-CN.yml +4 -16
  18. data/_data/share.yml +1 -1
  19. data/_includes/assets-origin.html +12 -0
  20. data/_includes/comments/giscus.html +56 -0
  21. data/_includes/comments/utterances.html +2 -2
  22. data/_includes/datetime.html +21 -0
  23. data/_includes/footer.html +5 -6
  24. data/_includes/head.html +62 -21
  25. data/_includes/js-selector.html +47 -11
  26. data/_includes/jsdelivr-combine.html +32 -0
  27. data/_includes/mermaid.html +3 -3
  28. data/_includes/mode-toggle.html +4 -3
  29. data/_includes/post-nav.html +4 -4
  30. data/_includes/post-paginator.html +2 -2
  31. data/_includes/post-sharing.html +3 -2
  32. data/_includes/refactor-content.html +62 -10
  33. data/_includes/related-posts.html +1 -4
  34. data/_includes/search-loader.html +1 -1
  35. data/_includes/sidebar.html +8 -8
  36. data/_includes/toc.html +1 -1
  37. data/_includes/topbar.html +3 -4
  38. data/_layouts/archives.html +15 -6
  39. data/_layouts/categories.html +25 -4
  40. data/_layouts/category.html +1 -3
  41. data/_layouts/default.html +23 -8
  42. data/_layouts/home.html +4 -8
  43. data/_layouts/page.html +11 -11
  44. data/_layouts/post.html +52 -44
  45. data/_layouts/tag.html +1 -3
  46. data/_layouts/tags.html +3 -1
  47. data/_sass/addon/commons.scss +241 -305
  48. data/_sass/addon/module.scss +33 -17
  49. data/_sass/addon/syntax.scss +38 -25
  50. data/_sass/addon/variables.scss +9 -9
  51. data/_sass/colors/dark-syntax.scss +1 -0
  52. data/_sass/colors/dark-typography.scss +10 -1
  53. data/_sass/colors/light-syntax.scss +6 -1
  54. data/_sass/colors/light-typography.scss +14 -1
  55. data/_sass/jekyll-theme-chirpy.scss +1 -1
  56. data/_sass/layout/post.scss +4 -7
  57. data/_tabs/about.md +2 -2
  58. data/assets/404.html +0 -17
  59. data/assets/js/data/search.json +6 -5
  60. data/assets/js/data/swcache.js +11 -20
  61. data/assets/js/dist/categories.min.js +2 -2
  62. data/assets/js/dist/commons.min.js +2 -2
  63. data/assets/js/dist/home.min.js +2 -2
  64. data/assets/js/dist/misc.min.js +6 -0
  65. data/assets/js/dist/page.min.js +2 -2
  66. data/assets/js/dist/post.min.js +2 -2
  67. data/assets/js/dist/pvreport.min.js +2 -2
  68. data/assets/js/pwa/app.js +55 -4
  69. data/assets/js/pwa/sw.js +42 -40
  70. data/assets/js/pwa/unregister.js +12 -0
  71. metadata +20 -7
  72. data/_includes/css-selector.html +0 -15
  73. data/_includes/no-zero-date.html +0 -13
  74. data/_includes/timeago.html +0 -26
@@ -1,37 +1,30 @@
1
1
  /*
2
2
  The common styles
3
3
  */
4
- @import url('https://fonts.googleapis.com/css2?family=Lato&family=Source+Sans+Pro:wght@400;600;900&display=swap');
5
4
 
6
- @mixin mode-toggle($dark-mode: false) {
7
- @if $dark-mode {
8
- @include dark-scheme;
9
- } @else {
10
- @include light-scheme;
11
- }
12
- }
13
-
14
- html:not([mode]),
15
- html[mode=light] {
16
- @include mode-toggle();
17
- }
18
-
19
- html[mode=dark] {
20
- @include mode-toggle(true);
21
- }
5
+ html {
6
+ @media (prefers-color-scheme: light) {
7
+ &:not([data-mode]),
8
+ &[data-mode=light] {
9
+ @include light-scheme;
10
+ }
22
11
 
23
- @media (prefers-color-scheme: dark) {
24
- html:not([mode]),
25
- html[mode=dark] {
26
- @include mode-toggle(true);
12
+ &[data-mode=dark] {
13
+ @include dark-scheme;
14
+ }
27
15
  }
28
16
 
29
- html[mode=light] {
30
- @include mode-toggle();
17
+ @media (prefers-color-scheme: dark) {
18
+ &:not([data-mode]),
19
+ &[data-mode=dark] {
20
+ @include dark-scheme;
21
+ }
22
+
23
+ &[data-mode=light] {
24
+ @include light-scheme;
25
+ }
31
26
  }
32
- }
33
27
 
34
- :root {
35
28
  font-size: 16px;
36
29
  }
37
30
 
@@ -54,7 +47,7 @@ h1 {
54
47
  h2 {
55
48
  @extend %heading;
56
49
  @extend %section;
57
- @extend %anchor-relative;
50
+ @extend %anchor;
58
51
 
59
52
  font-size: 1.5rem;
60
53
  }
@@ -104,6 +97,38 @@ blockquote {
104
97
  border-left: 5px solid var(--blockquote-border-color);
105
98
  padding-left: 1rem;
106
99
  color: var(--blockquote-text-color);
100
+
101
+ &[class^="prompt-"] {
102
+ display: flex;
103
+ border-left: 0;
104
+ border-radius: 6px;
105
+ padding: 0.75rem 1.2rem;
106
+ color: var(--prompt-text-color);
107
+
108
+ &::before {
109
+ margin-right: 1rem;
110
+ font-family: "Font Awesome 5 Free";
111
+ text-align: center;
112
+ width: 1.25rem;
113
+ }
114
+
115
+ p:last-child {
116
+ margin-bottom: 0rem;
117
+ }
118
+ }
119
+
120
+ @include prompt("tip", "\f0eb", 400);
121
+
122
+ @include prompt("info", "\f06a");
123
+
124
+ @include prompt("warning", "\f06a");
125
+
126
+ @include prompt("danger", "\f071");
127
+ }
128
+
129
+ mjx-container {
130
+ overflow-x: auto;
131
+ overflow-y: hidden;
107
132
  }
108
133
 
109
134
  kbd {
@@ -123,18 +148,15 @@ kbd {
123
148
  }
124
149
 
125
150
  footer {
126
- position: absolute;
127
- bottom: 0;
128
- padding: 0 1rem;
129
- height: $footer-height;
151
+ @include pl-pr(1.5rem);
152
+
130
153
  font-size: 0.8rem;
131
154
 
132
155
  > div.d-flex {
156
+ height: $footer-height;
133
157
  line-height: 1.2rem;
134
- width: 95%;
135
- max-width: 1045px;
158
+ padding-bottom: 1rem;
136
159
  border-top: 1px solid var(--main-border-color);
137
- margin-bottom: 1rem;
138
160
 
139
161
  > div {
140
162
  width: 350px;
@@ -160,7 +182,7 @@ footer {
160
182
  }
161
183
  }
162
184
 
163
- i { // fontawesome icons
185
+ i { /* fontawesome icons */
164
186
  &.far,
165
187
  &.fas {
166
188
  @extend %no-cursor;
@@ -191,7 +213,10 @@ img[data-src] {
191
213
 
192
214
  &.shadow {
193
215
  filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.08));
216
+ box-shadow: none !important; /* cover the Bootstrap 4.6.1 styles */
194
217
  }
218
+
219
+ @extend %img-caption;
195
220
  }
196
221
 
197
222
  /* --- Panels --- */
@@ -199,7 +224,6 @@ img[data-src] {
199
224
  .access {
200
225
  top: 2rem;
201
226
  transition: top 0.2s ease-in-out;
202
- margin-right: 1.5rem;
203
227
  margin-top: 3rem;
204
228
  margin-bottom: 4rem;
205
229
 
@@ -224,7 +248,7 @@ img[data-src] {
224
248
  }
225
249
 
226
250
  #panel-wrapper {
227
- // the headings
251
+ /* the headings */
228
252
  .panel-heading {
229
253
  @include label(inherit);
230
254
  }
@@ -247,7 +271,7 @@ img[data-src] {
247
271
  }
248
272
  }
249
273
 
250
- &.topbar-down > div {
274
+ [data-topbar-visible=true] & > div {
251
275
  top: 6rem;
252
276
  }
253
277
  }
@@ -290,7 +314,7 @@ img[data-src] {
290
314
  margin-bottom: 0;
291
315
  }
292
316
 
293
- // [scroll-focus] added by `smooth-scroll.js`
317
+ /* [scroll-focus] added by `smooth-scroll.js` */
294
318
  &:target:not([scroll-focus]),
295
319
  &[scroll-focus=true] > p {
296
320
  background-color: var(--footnote-target-bg);
@@ -311,7 +335,7 @@ img[data-src] {
311
335
  transition: background-color 1.5s ease-in-out;
312
336
  }
313
337
 
314
- // [scroll-focus] added by `smooth-scroll.js`
338
+ /* [scroll-focus] added by `smooth-scroll.js` */
315
339
  @at-root sup:target:not([scroll-focus]),
316
340
  sup[scroll-focus=true] > a#{&} {
317
341
  background-color: var(--footnote-target-bg);
@@ -331,7 +355,7 @@ img[data-src] {
331
355
 
332
356
  /* --- Begin of Markdown table style --- */
333
357
 
334
- // it will be created by Liquid
358
+ /* it will be created by Liquid */
335
359
  .table-wrapper {
336
360
  overflow-x: auto;
337
361
  margin-bottom: 1.5rem;
@@ -365,8 +389,8 @@ img[data-src] {
365
389
  @extend %table-cell;
366
390
  }
367
391
  }
368
- } // tbody
369
- }// table
392
+ } /* tbody */
393
+ }/* table */
370
394
  }
371
395
 
372
396
  /* --- post --- */
@@ -382,7 +406,7 @@ img[data-src] {
382
406
  @extend %no-cursor;
383
407
  }
384
408
 
385
- // created by `_includes/img-extra.html`
409
+ /* created by `_includes/img-extra.html` */
386
410
  &.popup {
387
411
  cursor: zoom-in;
388
412
 
@@ -396,7 +420,7 @@ img[data-src] {
396
420
  @extend %link-hover;
397
421
  }
398
422
  }
399
- } // a
423
+ } /* a */
400
424
 
401
425
  }
402
426
 
@@ -413,7 +437,7 @@ img[data-src] {
413
437
  margin-right: 2px;
414
438
  }
415
439
 
416
- &:hover {
440
+ &:not([class]):hover {
417
441
  @extend %link-hover;
418
442
  }
419
443
  }
@@ -439,23 +463,18 @@ img[data-src] {
439
463
  }
440
464
  }
441
465
 
442
- &.img-link + em {
443
- display: block;
444
- text-align: center;
445
- font-style: normal;
446
- font-size: 80%;
447
- padding: 0;
448
- color: #6d6c6c;
466
+ &.img-link {
467
+ @extend %img-caption;
449
468
  }
450
469
 
451
470
  }
452
471
 
453
472
  ul {
454
- // attribute 'hide-bullet' was added by liquid
473
+ /* attribute 'hide-bullet' was added by liquid */
455
474
  .task-list-item[hide-bullet] {
456
475
  list-style-type: none;
457
476
 
458
- > i { // checkbox icon
477
+ > i { /* checkbox icon */
459
478
  margin: 0 0.4rem 0.2rem -1.4rem;
460
479
  vertical-align: middle;
461
480
  color: var(--checkbox-color);
@@ -472,7 +491,7 @@ img[data-src] {
472
491
  vertical-align: middle;
473
492
  }
474
493
 
475
- } // ul
494
+ } /* ul */
476
495
 
477
496
  > ol,
478
497
  > ul {
@@ -480,7 +499,7 @@ img[data-src] {
480
499
 
481
500
  li {
482
501
  ol,
483
- ul { // sub list
502
+ ul { /* sub list */
484
503
  padding-left: 2rem;
485
504
  margin-top: 0.3rem;
486
505
  }
@@ -498,7 +517,7 @@ img[data-src] {
498
517
  margin-left: 1rem;
499
518
  }
500
519
 
501
- } // .post-content
520
+ } /* .post-content */
502
521
 
503
522
  .tag:hover {
504
523
  @extend %tag-hover;
@@ -570,10 +589,6 @@ img[data-src] {
570
589
  box-shadow: 0 0 8px 0 var(--btn-box-shadow) !important;
571
590
  }
572
591
 
573
- .topbar-up {
574
- top: -3rem !important; /* same as topbar height. */
575
- }
576
-
577
592
  .no-text-decoration {
578
593
  @include no-text-decoration;
579
594
  }
@@ -603,14 +618,14 @@ img[data-src] {
603
618
 
604
619
  /* --- Overriding --- */
605
620
 
606
- // magnific-popup
621
+ /* magnific-popup */
607
622
  figure .mfp-title {
608
623
  text-align: center;
609
624
  padding-right: 0;
610
625
  margin-top: 0.5rem;
611
626
  }
612
627
 
613
- // mermaid
628
+ /* mermaid */
614
629
  .mermaid {
615
630
  text-align: center;
616
631
  }
@@ -658,7 +673,7 @@ $sidebar-display: "sidebar-display";
658
673
  border-radius: 50%;
659
674
  border: 2px solid rgba(222, 222, 222, 0.7);
660
675
  overflow: hidden;
661
- transform: translateZ(0); // fixed the zoom in Safari
676
+ transform: translateZ(0); /* fixed the zoom in Safari */
662
677
  -webkit-transition: border-color 0.35s ease-in-out;
663
678
  -moz-transition: border-color 0.35s ease-in-out;
664
679
  transition: border-color 0.35s ease-in-out;
@@ -682,7 +697,7 @@ $sidebar-display: "sidebar-display";
682
697
  transform: scale(1.2);
683
698
  }
684
699
  }
685
- } // #avatar
700
+ } /* #avatar */
686
701
 
687
702
  .site-title {
688
703
  a {
@@ -701,7 +716,7 @@ $sidebar-display: "sidebar-display";
701
716
  line-height: 1.2rem;
702
717
  word-spacing: 1px;
703
718
  margin: 0.5rem 1.5rem 0.5rem 1.5rem;
704
- min-height: 3rem; // avoid vertical shifting in multi-line words
719
+ min-height: 3rem; /* avoid vertical shifting in multi-line words */
705
720
  user-select: none;
706
721
  }
707
722
 
@@ -745,7 +760,7 @@ $sidebar-display: "sidebar-display";
745
760
  width: 100%;
746
761
  }
747
762
 
748
- &::after { // the cursor
763
+ &::after { /* the cursor */
749
764
  display: table;
750
765
  visibility: hidden;
751
766
  content: "";
@@ -758,7 +773,7 @@ $sidebar-display: "sidebar-display";
758
773
  pointer-events: none;
759
774
  }
760
775
  }
761
- } // li
776
+ } /* li */
762
777
 
763
778
  @mixin fix-cursor($top) {
764
779
  top: $top;
@@ -783,9 +798,9 @@ $sidebar-display: "sidebar-display";
783
798
  }
784
799
  }
785
800
 
786
- } // @for
801
+ } /* @for */
787
802
 
788
- } // ul
803
+ } /* ul */
789
804
 
790
805
  .sidebar-bottom {
791
806
  margin-bottom: 2.1rem;
@@ -836,9 +851,9 @@ $sidebar-display: "sidebar-display";
836
851
  border-radius: 50%;
837
852
  }
838
853
 
839
- } // .sidebar-bottom
854
+ } /* .sidebar-bottom */
840
855
 
841
- } // #sidebar
856
+ } /* #sidebar */
842
857
 
843
858
  @media (hover: hover) {
844
859
  #sidebar ul > li:last-child::after {
@@ -857,6 +872,7 @@ $sidebar-display: "sidebar-display";
857
872
  #search-result-wrapper {
858
873
  display: none;
859
874
  height: 100%;
875
+ width: 100%;
860
876
  overflow: auto;
861
877
 
862
878
  .post-content {
@@ -876,10 +892,14 @@ $sidebar-display: "sidebar-display";
876
892
  z-index: 50;
877
893
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
878
894
  background-color: var(--topbar-wrapper-bg);
895
+
896
+ [data-topbar-visible=false] & {
897
+ top: -$topbar-height; /* same as topbar height. */
898
+ }
879
899
  }
880
900
 
881
901
  #topbar {
882
- i { // icons
902
+ i { /* icons */
883
903
  color: #999;
884
904
  }
885
905
 
@@ -901,7 +921,7 @@ $sidebar-display: "sidebar-display";
901
921
  }
902
922
  }
903
923
  }
904
- } // #topbar
924
+ } /* #topbar */
905
925
 
906
926
  #sidebar-trigger,
907
927
  #search-trigger {
@@ -910,7 +930,7 @@ $sidebar-display: "sidebar-display";
910
930
 
911
931
  #search-wrapper {
912
932
  display: flex;
913
- width: 85%;
933
+ width: 100%;
914
934
  border-radius: 1rem;
915
935
  border: 1px solid var(--search-wrapper-border-color);
916
936
  background: var(--search-wrapper-bg);
@@ -921,12 +941,6 @@ $sidebar-display: "sidebar-display";
921
941
  font-size: 0.9rem;
922
942
  color: var(--search-icon-color);
923
943
  }
924
-
925
- .fa-times-circle { /* button 'clean up' */
926
- @extend %cursor-pointer;
927
-
928
- visibility: hidden;
929
- }
930
944
  }
931
945
 
932
946
  #search-cancel { /* 'Cancel' link */
@@ -943,6 +957,7 @@ $sidebar-display: "sidebar-display";
943
957
  border-radius: 0;
944
958
  padding: 0.18rem 0.3rem;
945
959
  color: var(--text-color);
960
+ height: auto;
946
961
 
947
962
  &:focus {
948
963
  box-shadow: none;
@@ -984,7 +999,7 @@ $sidebar-display: "sidebar-display";
984
999
  }
985
1000
 
986
1001
  #search-results {
987
- padding-bottom: 6rem;
1002
+ padding-bottom: 3rem;
988
1003
 
989
1004
  a {
990
1005
  &:hover {
@@ -1006,7 +1021,7 @@ $sidebar-display: "sidebar-display";
1006
1021
  margin-bottom: 1rem;
1007
1022
  }
1008
1023
 
1009
- i { // icons
1024
+ i { /* icons */
1010
1025
  color: #818182;
1011
1026
  margin-right: 0.15rem;
1012
1027
  font-size: 80%;
@@ -1020,7 +1035,7 @@ $sidebar-display: "sidebar-display";
1020
1035
  -webkit-box-orient: vertical;
1021
1036
  }
1022
1037
  }
1023
- } // #search-results
1038
+ } /* #search-results */
1024
1039
 
1025
1040
  #topbar-title {
1026
1041
  display: none;
@@ -1037,7 +1052,7 @@ $sidebar-display: "sidebar-display";
1037
1052
  }
1038
1053
 
1039
1054
  #core-wrapper {
1040
- min-height: calc(100vh - #{$topbar-height} - #{$footer-height} - #{$bottom-min-height}) !important;
1055
+ min-height: calc(100vh - #{$topbar-height} - #{$footer-height});
1041
1056
 
1042
1057
  .categories,
1043
1058
  #tags,
@@ -1070,29 +1085,13 @@ $sidebar-display: "sidebar-display";
1070
1085
  background-color: var(--main-wrapper-bg);
1071
1086
  position: relative;
1072
1087
  min-height: 100vh;
1073
- padding-bottom: $footer-height;
1074
1088
 
1075
1089
  @include pl-pr(0);
1076
1090
  }
1077
1091
 
1078
- #main {
1079
- .row:first-child {
1080
- > div {
1081
- &:nth-child(1),
1082
- &:nth-child(2) {
1083
- margin-top: $topbar-height; /* same as the height of topbar */
1084
- }
1085
-
1086
- &:first-child {
1087
- /* 3rem for topbar, 6rem for footer */
1088
- min-height: calc(100vh - #{$topbar-height} - #{$footer-height} - #{$bottom-min-height});
1089
- }
1090
- }
1091
- }
1092
-
1093
- div.row:first-of-type:last-of-type { // alone
1094
- margin-bottom: 4rem;
1095
- }
1092
+ #core-wrapper,
1093
+ #panel-wrapper {
1094
+ margin-top: $topbar-height; /* same as the height of topbar */
1096
1095
  }
1097
1096
 
1098
1097
  #topbar-wrapper.row,
@@ -1132,6 +1131,51 @@ $sidebar-display: "sidebar-display";
1132
1131
  -webkit-transform: translate3d(0, -5px, 0);
1133
1132
  }
1134
1133
 
1134
+ #notification {
1135
+ @keyframes popup {
1136
+ from {
1137
+ opacity: 0;
1138
+ bottom: 0;
1139
+ }
1140
+ }
1141
+
1142
+ .toast-header {
1143
+ background: none;
1144
+ border-bottom: none;
1145
+ color: inherit;
1146
+ }
1147
+
1148
+ .toast-body {
1149
+ font-family: 'Lato';
1150
+ line-height: 1.25rem;
1151
+
1152
+ button {
1153
+ font-size: 90%;
1154
+ min-width: 4rem;
1155
+ }
1156
+ }
1157
+
1158
+ &.toast {
1159
+ display: none;
1160
+
1161
+ &.show {
1162
+ display: block;
1163
+ min-width: 20rem;
1164
+ border-radius: 0.5rem;
1165
+ -webkit-backdrop-filter: blur(10px);
1166
+ backdrop-filter: blur(10px);
1167
+ background-color: rgba(255, 255, 255, 0.5);
1168
+ color: #1b1b1eba;
1169
+ position: fixed;
1170
+ left: 50%;
1171
+ bottom: 20%;
1172
+ transform: translateX(-50%);
1173
+ animation: popup 0.8s;
1174
+ }
1175
+ }
1176
+
1177
+ }
1178
+
1135
1179
  /*
1136
1180
  Responsive Design:
1137
1181
 
@@ -1142,20 +1186,37 @@ $sidebar-display: "sidebar-display";
1142
1186
  */
1143
1187
 
1144
1188
  @media all and (max-width: 576px) {
1189
+ footer {
1190
+ height: $footer-height-mobile;
1145
1191
 
1146
- $footer-height: $footer-height-mobile; // overwrite
1192
+ > div.d-flex {
1193
+ padding: 1.5rem 0;
1194
+ flex-wrap: wrap;
1195
+ -ms-flex-pack: distribute !important;
1196
+ justify-content: space-around !important;
1197
+ }
1147
1198
 
1148
- #main > div.row:first-child > div:first-child {
1149
- min-height: calc(100vh - #{$topbar-height} - #{$footer-height});
1199
+ .footer-left,
1200
+ .footer-right {
1201
+ text-align: center;
1202
+ }
1150
1203
  }
1151
1204
 
1152
1205
  #core-wrapper {
1153
- min-height: calc(100vh - #{$topbar-height} - #{$footer-height} - #{$bottom-min-height}) !important;
1206
+ min-height: calc(100vh - #{$topbar-height} - #{$footer-height-mobile}) !important;
1154
1207
 
1155
1208
  h1 {
1156
1209
  margin-top: 2.2rem;
1157
1210
  font-size: 1.75rem;
1158
1211
  }
1212
+
1213
+ .post-content {
1214
+ > blockquote[class^=prompt-] {
1215
+ @include ml-mr(-1.25rem);
1216
+ border-radius: 0;
1217
+ }
1218
+ }
1219
+
1159
1220
  }
1160
1221
 
1161
1222
  #avatar > a {
@@ -1167,35 +1228,34 @@ $sidebar-display: "sidebar-display";
1167
1228
  @include ml-mr(1.8rem);
1168
1229
  }
1169
1230
 
1170
- #main-wrapper {
1171
- padding-bottom: $footer-height;
1172
- }
1173
-
1174
- footer {
1175
- height: $footer-height;
1231
+ }
1176
1232
 
1177
- > div.d-flex {
1178
- width: 100%;
1179
- padding: 1.5rem 0;
1180
- margin-bottom: 0.3rem;
1181
- flex-wrap: wrap;
1182
- -ms-flex-pack: distribute !important;
1183
- justify-content: space-around !important;
1184
- }
1233
+ @media all and (max-width: 768px) {
1234
+ %full-width {
1235
+ max-width: 100%;
1236
+ }
1185
1237
 
1186
- .footer-left,
1187
- .footer-right {
1188
- text-align: center;
1189
- }
1238
+ #topbar {
1239
+ @extend %full-width;
1190
1240
  }
1191
1241
 
1242
+ #main {
1243
+ @extend %full-width;
1244
+ @include pl-pr(0);
1245
+ }
1192
1246
  }
1193
1247
 
1194
1248
  /* hide sidebar and panel */
1195
1249
  @media all and (max-width: 849px) {
1196
- %slide {
1197
- -webkit-transition: transform 0.4s ease;
1198
- transition: transform 0.4s ease;
1250
+ @mixin slide($append: null) {
1251
+ $basic: transform 0.4s ease;
1252
+ @if $append {
1253
+ -webkit-transition: $basic, $append;
1254
+ transition: $basic, $append;
1255
+ } @else {
1256
+ -webkit-transition: $basic;
1257
+ transition: $basic;
1258
+ }
1199
1259
  }
1200
1260
 
1201
1261
  html,
@@ -1203,15 +1263,6 @@ $sidebar-display: "sidebar-display";
1203
1263
  overflow-x: hidden;
1204
1264
  }
1205
1265
 
1206
- .footnotes ol > li {
1207
- padding-top: 3.5rem;
1208
- margin-top: -3.2rem;
1209
-
1210
- &:first-child {
1211
- margin-top: -3.5rem;
1212
- }
1213
- }
1214
-
1215
1266
  [#{$sidebar-display}] {
1216
1267
  #sidebar {
1217
1268
  transform: translateX(0);
@@ -1221,13 +1272,12 @@ $sidebar-display: "sidebar-display";
1221
1272
  #main-wrapper {
1222
1273
  transform: translateX(#{$sidebar-width});
1223
1274
  }
1224
-
1225
1275
  }
1226
1276
 
1227
1277
  #sidebar {
1228
- @extend %slide;
1278
+ @include slide;
1229
1279
 
1230
- transform: translateX(-#{$sidebar-width}); // hide
1280
+ transform: translateX(-#{$sidebar-width}); /* hide */
1231
1281
  -webkit-transform: translateX(-#{$sidebar-width});
1232
1282
 
1233
1283
  .cursor {
@@ -1238,11 +1288,16 @@ $sidebar-display: "sidebar-display";
1238
1288
  }
1239
1289
 
1240
1290
  #main-wrapper {
1241
- @extend %slide;
1291
+ @include slide;
1242
1292
 
1243
1293
  padding-top: $topbar-height;
1244
1294
  }
1245
1295
 
1296
+ #topbar,
1297
+ #main {
1298
+ max-width: 100%;
1299
+ }
1300
+
1246
1301
  #search-result-wrapper {
1247
1302
  width: 100%;
1248
1303
  }
@@ -1253,17 +1308,13 @@ $sidebar-display: "sidebar-display";
1253
1308
  }
1254
1309
 
1255
1310
  #topbar-wrapper {
1256
- @extend %slide;
1311
+ @include slide(top 0.2s ease);
1257
1312
 
1258
1313
  left: 0;
1259
1314
  }
1260
1315
 
1261
- .topbar-up {
1262
- top: 0 !important;
1263
- }
1264
-
1265
- #main > div.row:first-child > div:nth-child(1),
1266
- #main > div.row:first-child > div:nth-child(2) {
1316
+ #core-wrapper,
1317
+ #panel-wrapper {
1267
1318
  margin-top: 0;
1268
1319
  }
1269
1320
 
@@ -1273,21 +1324,6 @@ $sidebar-display: "sidebar-display";
1273
1324
  display: block;
1274
1325
  }
1275
1326
 
1276
- #search-wrapper {
1277
- &.loaded ~ a {
1278
- margin-right: 1rem;
1279
- }
1280
-
1281
- .fa-times-circle {
1282
- right: 5.2rem;
1283
- }
1284
- }
1285
-
1286
- #search-input {
1287
- margin-left: 0;
1288
- width: 95%;
1289
- }
1290
-
1291
1327
  #search-result-wrapper .post-content {
1292
1328
  letter-spacing: 0;
1293
1329
  }
@@ -1306,7 +1342,13 @@ $sidebar-display: "sidebar-display";
1306
1342
  }
1307
1343
  }
1308
1344
 
1309
- } // max-width: 849px
1345
+ } /* max-width: 849px */
1346
+
1347
+ @media all and (max-width: 849px) and (orientation: portrait) {
1348
+ [data-topbar-visible=false] #topbar-wrapper {
1349
+ top: 0;
1350
+ }
1351
+ }
1310
1352
 
1311
1353
  /* Phone & Pad */
1312
1354
  @media all and (min-width: 577px) and (max-width: 1199px) {
@@ -1330,13 +1372,17 @@ $sidebar-display: "sidebar-display";
1330
1372
  margin-top: 3rem;
1331
1373
  }
1332
1374
 
1375
+ #search-hints {
1376
+ display: none;
1377
+ }
1378
+
1333
1379
  #search-wrapper {
1334
- width: 22%;
1335
- min-width: 150px;
1380
+ max-width: $search-max-width;
1336
1381
  }
1337
1382
 
1338
1383
  #search-result-wrapper {
1339
1384
  margin-top: 3rem;
1385
+ max-width: $main-content-max-width;
1340
1386
  }
1341
1387
 
1342
1388
  div.post-content .table-wrapper > table {
@@ -1346,21 +1392,17 @@ $sidebar-display: "sidebar-display";
1346
1392
  /* button 'back-to-Top' position */
1347
1393
  #back-to-top {
1348
1394
  bottom: 5.5rem;
1349
- right: 1.2rem;
1395
+ right: 5%;
1350
1396
  }
1351
1397
 
1352
- .topbar-up {
1353
- box-shadow: none !important;
1398
+ #topbar {
1399
+ @include pl-pr(2rem);
1354
1400
  }
1355
1401
 
1356
1402
  #topbar-title {
1357
1403
  text-align: left;
1358
1404
  }
1359
1405
 
1360
- footer > div.d-flex {
1361
- width: 92%;
1362
- }
1363
-
1364
1406
  }
1365
1407
 
1366
1408
  /* Pad horizontal */
@@ -1434,10 +1476,6 @@ $sidebar-display: "sidebar-display";
1434
1476
  display: none;
1435
1477
  }
1436
1478
 
1437
- #topbar {
1438
- padding: 0;
1439
- }
1440
-
1441
1479
  #main > div.row {
1442
1480
  -webkit-box-pack: center !important;
1443
1481
  -ms-flex-pack: center !important;
@@ -1448,26 +1486,12 @@ $sidebar-display: "sidebar-display";
1448
1486
  /* --- desktop mode, both sidebar and panel are visible --- */
1449
1487
 
1450
1488
  @media all and (min-width: 1200px) {
1451
- #main > div.row > div.col-xl-8 {
1452
- -webkit-box-flex: 0;
1453
- -ms-flex: 0 0 75%;
1454
- flex: 0 0 75%;
1455
- max-width: 75%;
1456
- padding-left: 3%;
1457
- }
1458
-
1459
- #topbar {
1460
- padding: 0;
1461
- max-width: 1070px;
1462
- }
1463
-
1464
- #panel-wrapper {
1465
- max-width: $panel-max-width;
1466
- }
1467
-
1468
1489
  #back-to-top {
1469
1490
  bottom: 6.5rem;
1470
- right: 4.3rem;
1491
+ }
1492
+
1493
+ #search-wrapper {
1494
+ margin-right: 4rem;
1471
1495
  }
1472
1496
 
1473
1497
  #search-input {
@@ -1492,10 +1516,6 @@ $sidebar-display: "sidebar-display";
1492
1516
  }
1493
1517
  }
1494
1518
 
1495
- #search-hints {
1496
- display: none;
1497
- }
1498
-
1499
1519
  .post-content {
1500
1520
  font-size: 1.03rem;
1501
1521
  }
@@ -1507,66 +1527,36 @@ $sidebar-display: "sidebar-display";
1507
1527
  }
1508
1528
 
1509
1529
  @media all and (min-width: 1400px) {
1510
- #main > div.row {
1511
- padding-left: calc((100% - #{$main-content-max-width}) / 2);
1512
-
1513
- > div.col-xl-8 {
1514
- max-width: 850px;
1515
- }
1516
- }
1517
-
1518
- #search-result-wrapper {
1519
- padding-right: 2rem;
1520
-
1521
- > div {
1522
- max-width: 1110px;
1523
- }
1524
- }
1525
-
1526
- #search-wrapper .fa-times-circle {
1527
- right: 2.6rem;
1528
- }
1529
-
1530
- }
1531
-
1532
- @media all and (min-width: 1400px) and (max-width: 1650px) {
1533
- #topbar {
1534
- padding-right: 2rem;
1530
+ #back-to-top {
1531
+ right: calc((100vw - #{$sidebar-width} - 1140px) / 2 + 3rem);
1535
1532
  }
1536
1533
  }
1537
1534
 
1538
1535
  @media all and (min-width: 1650px) {
1539
- #breadcrumb {
1540
- padding-left: 0;
1541
- }
1542
-
1543
- #main > div.row > div.col-xl-8 {
1544
- padding-left: 0;
1545
-
1546
- > div:first-child {
1547
- padding-left: 0.55rem !important;
1548
- padding-right: 1.9rem !important;
1549
- }
1550
- }
1551
-
1552
1536
  #main-wrapper {
1553
1537
  margin-left: $sidebar-width-large;
1554
1538
  }
1555
1539
 
1556
- #panel-wrapper {
1557
- margin-left: calc((100% - #{$main-content-max-width}) / 10);
1558
- }
1559
-
1560
1540
  #topbar-wrapper {
1561
1541
  left: $sidebar-width-large;
1562
1542
  }
1563
1543
 
1564
- #topbar {
1565
- max-width: #{$main-content-max-width};
1544
+ #search-wrapper {
1545
+ margin-right: calc(#{$main-content-max-width} * 0.25 - #{$search-max-width});
1566
1546
  }
1567
1547
 
1568
- #search-wrapper {
1569
- margin-right: 3%;
1548
+ #topbar,
1549
+ #main {
1550
+ max-width: $main-content-max-width;
1551
+ }
1552
+
1553
+ #core-wrapper,
1554
+ #tail-wrapper {
1555
+ padding-right: 4.5rem !important;
1556
+ }
1557
+
1558
+ #back-to-top {
1559
+ right: calc((100vw - #{$sidebar-width-large} - #{$main-content-max-width}) / 2 + 2rem);
1570
1560
  }
1571
1561
 
1572
1562
  #sidebar {
@@ -1613,7 +1603,7 @@ $sidebar-display: "sidebar-display";
1613
1603
  margin-top: 0.3rem;
1614
1604
  }
1615
1605
 
1616
- } // .profile-wrapper (min-width: 1650px)
1606
+ } /* .profile-wrapper (min-width: 1650px) */
1617
1607
 
1618
1608
  ul {
1619
1609
  padding-left: 2.5rem;
@@ -1660,7 +1650,7 @@ $sidebar-display: "sidebar-display";
1660
1650
  @include ml-mr(0.15rem);
1661
1651
 
1662
1652
  height: $icon-block-size;
1663
- margin-bottom: 0.5rem; // wrap line
1653
+ margin-bottom: 0.5rem; /* wrap line */
1664
1654
  }
1665
1655
 
1666
1656
  i {
@@ -1683,62 +1673,8 @@ $sidebar-display: "sidebar-display";
1683
1673
  top: 0.9rem;
1684
1674
  }
1685
1675
 
1686
- } // .sidebar-bottom
1687
-
1688
- } // #sidebar
1689
-
1690
- footer > div.d-flex {
1691
- width: 92%;
1692
- max-width: 1140px;
1693
- }
1694
-
1695
- #search-result-wrapper {
1696
- > div {
1697
- max-width: #{$main-content-max-width};
1698
- }
1699
- }
1700
-
1701
- } // min-width: 1650px
1702
-
1703
- @media all and (min-width: 1700px) {
1704
- #topbar-wrapper {
1705
- /* 100% - 350px - (1920px - 350px); */
1706
- padding-right: calc(100% - #{$sidebar-width-large} - (1920px - #{$sidebar-width-large}));
1707
- }
1708
-
1709
- #topbar {
1710
- max-width: calc(#{$main-content-max-width} + 20px);
1711
- }
1712
-
1713
- #main > div.row {
1714
- padding-left: calc((100% - #{$main-content-max-width} - 2%) / 2);
1715
- }
1716
-
1717
- #panel-wrapper {
1718
- margin-left: 3%;
1719
- }
1720
-
1721
- footer {
1722
- padding-left: 0;
1723
- padding-right: calc(100% - #{$sidebar-width-large} - 1180px);
1724
- }
1725
-
1726
- #back-to-top {
1727
- right: calc(100% - 1920px + 15rem);
1728
- }
1676
+ } /* .sidebar-bottom */
1729
1677
 
1730
- }
1678
+ } /* #sidebar */
1731
1679
 
1732
- @media (min-width: 1920px) {
1733
- #main > div.row {
1734
- padding-left: 190px;
1735
- }
1736
-
1737
- #search-result-wrapper {
1738
- padding-right: calc(100% - #{$sidebar-width-large} - 1180px);
1739
- }
1740
-
1741
- #panel-wrapper {
1742
- margin-left: 41px;
1743
- }
1744
- }
1680
+ } /* min-width: 1650px */