jekyll-theme-chirpy 5.6.1 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/_data/locales/ar.yml +5 -7
  3. data/_data/locales/bg-BG.yml +1 -3
  4. data/_data/locales/cs-CZ.yml +5 -7
  5. data/_data/locales/de-DE.yml +1 -3
  6. data/_data/locales/el-GR.yml +6 -8
  7. data/_data/locales/en.yml +5 -7
  8. data/_data/locales/es-ES.yml +2 -4
  9. data/_data/locales/fi-FI.yml +5 -7
  10. data/_data/locales/fr-FR.yml +0 -2
  11. data/_data/locales/hu-HU.yml +4 -6
  12. data/_data/locales/id-ID.yml +1 -3
  13. data/_data/locales/it-IT.yml +5 -8
  14. data/_data/locales/ko-KR.yml +3 -5
  15. data/_data/locales/my-MM.yml +1 -3
  16. data/_data/locales/pt-BR.yml +1 -3
  17. data/_data/locales/ru-RU.yml +1 -3
  18. data/_data/locales/sl-SI.yml +91 -0
  19. data/_data/locales/sv-SE.yml +91 -0
  20. data/_data/locales/tr-TR.yml +1 -3
  21. data/_data/locales/uk-UA.yml +1 -3
  22. data/_data/locales/vi-VN.yml +2 -3
  23. data/_data/locales/zh-CN.yml +3 -5
  24. data/_data/locales/zh-TW.yml +83 -0
  25. data/_data/{assets/cross_origin.yml → origin/cors.yml} +12 -12
  26. data/_includes/comments/giscus.html +39 -31
  27. data/_includes/datetime.html +10 -6
  28. data/_includes/footer.html +24 -26
  29. data/_includes/head.html +9 -9
  30. data/_includes/js-selector.html +44 -27
  31. data/_includes/jsdelivr-combine.html +0 -6
  32. data/_includes/lang.html +8 -0
  33. data/_includes/mermaid.html +28 -29
  34. data/_includes/metadata-hook.html +1 -0
  35. data/_includes/mode-toggle.html +44 -21
  36. data/_includes/{assets-origin.html → origin-type.html} +5 -4
  37. data/_includes/post-nav.html +27 -20
  38. data/_includes/post-paginator.html +13 -12
  39. data/_includes/post-sharing.html +21 -13
  40. data/_includes/read-time.html +17 -10
  41. data/_includes/refactor-content.html +32 -24
  42. data/_includes/related-posts.html +35 -34
  43. data/_includes/search-loader.html +23 -24
  44. data/_includes/search-results.html +3 -4
  45. data/_includes/sidebar.html +50 -52
  46. data/_includes/toc.html +2 -5
  47. data/_includes/topbar.html +47 -47
  48. data/_includes/trending-tags.html +13 -17
  49. data/_includes/update-list.html +12 -11
  50. data/_layouts/archives.html +5 -3
  51. data/_layouts/categories.html +97 -77
  52. data/_layouts/category.html +10 -8
  53. data/_layouts/default.html +34 -29
  54. data/_layouts/home.html +27 -18
  55. data/_layouts/page.html +33 -32
  56. data/_layouts/post.html +17 -15
  57. data/_layouts/tag.html +10 -8
  58. data/_layouts/tags.html +4 -5
  59. data/_sass/addon/commons.scss +260 -425
  60. data/_sass/addon/module.scss +18 -8
  61. data/_sass/addon/syntax.scss +42 -41
  62. data/_sass/addon/variables.scss +8 -11
  63. data/_sass/colors/dark-syntax.scss +1 -0
  64. data/_sass/colors/dark-typography.scss +16 -24
  65. data/_sass/colors/light-syntax.scss +3 -3
  66. data/_sass/colors/light-typography.scss +16 -15
  67. data/_sass/jekyll-theme-chirpy.scss +14 -19
  68. data/_sass/layout/categories.scss +20 -4
  69. data/_sass/layout/home.scss +115 -94
  70. data/_sass/layout/post.scss +35 -32
  71. data/assets/404.html +3 -1
  72. data/assets/css/style.scss +1 -7
  73. data/assets/feed.xml +1 -1
  74. data/assets/js/dist/categories.min.js +2 -2
  75. data/assets/js/dist/commons.min.js +2 -2
  76. data/assets/js/dist/home.min.js +6 -0
  77. data/assets/js/dist/misc.min.js +2 -2
  78. data/assets/js/dist/page.min.js +2 -2
  79. data/assets/js/dist/post.min.js +2 -2
  80. metadata +11 -5
  81. /data/_data/{assets/self_host.yml → origin/basic.yml} +0 -0
@@ -34,64 +34,46 @@ body {
34
34
  env(safe-area-inset-bottom) env(safe-area-inset-left);
35
35
  color: var(--text-color);
36
36
  -webkit-font-smoothing: antialiased;
37
- font-family: 'Source Sans Pro', 'Microsoft Yahei', sans-serif;
38
- line-height: 1.75;
37
+ font-family: $font-family-base;
39
38
  }
40
39
 
41
40
  /* --- Typography --- */
42
41
 
43
- h1 {
44
- @extend %heading;
45
-
46
- font-size: 1.9rem;
47
- }
48
-
49
- h2 {
50
- @extend %heading;
51
- @extend %section;
52
- @extend %anchor;
53
-
54
- font-size: 1.5rem;
55
- }
56
-
57
- h3 {
58
- @extend %heading;
59
- @extend %section;
60
- @extend %anchor;
61
-
62
- font-size: 1.2rem;
63
- }
42
+ @for $i from 1 through 5 {
43
+ h#{$i} {
44
+ @extend %heading;
64
45
 
65
- h4 {
66
- @extend %heading;
67
- @extend %section;
68
- @extend %anchor;
46
+ @if $i > 1 {
47
+ @extend %section;
48
+ @extend %anchor;
49
+ }
69
50
 
70
- font-size: 1.15rem;
71
- }
51
+ @if $i < 5 {
52
+ $factor: 0.18rem;
72
53
 
73
- h5 {
74
- @extend %heading;
75
- @extend %section;
76
- @extend %anchor;
54
+ @if $i == 1 {
55
+ $factor: 0.23rem;
56
+ }
77
57
 
78
- font-size: 1.1rem;
58
+ font-size: 1rem + (5 - $i) * $factor;
59
+ } @else {
60
+ font-size: 1rem;
61
+ }
62
+ }
79
63
  }
80
64
 
81
65
  a {
82
66
  @extend %link-color;
67
+
68
+ text-decoration: none;
83
69
  }
84
70
 
85
71
  img {
86
72
  max-width: 100%;
87
73
  height: auto;
74
+ transition: all 0.35s ease-in-out;
88
75
 
89
76
  &[data-src] {
90
- &.lazyloaded {
91
- -webkit-animation: fade-in 0.4s ease-in;
92
- animation: fade-in 0.4s ease-in;
93
- }
94
-
95
77
  &[data-lqip='true'] {
96
78
  &.lazyload,
97
79
  &.lazyloading {
@@ -105,6 +87,11 @@ img {
105
87
  &.lazyloading {
106
88
  background: var(--img-bg);
107
89
  }
90
+
91
+ &.lazyloaded {
92
+ -webkit-animation: fade-in 0.35s ease-in;
93
+ animation: fade-in 0.35s ease-in;
94
+ }
108
95
  }
109
96
 
110
97
  &.shadow {
@@ -194,27 +181,21 @@ footer {
194
181
  line-height: 1.2rem;
195
182
  padding-bottom: 1rem;
196
183
  border-top: 1px solid var(--main-border-color);
197
-
198
- > div {
199
- width: 350px;
200
- }
184
+ flex-wrap: wrap;
201
185
  }
202
186
 
203
187
  a {
204
188
  @extend %text-color;
205
189
 
206
- &:link {
207
- @include no-text-decoration;
208
- }
209
-
210
190
  &:hover {
211
191
  @extend %link-hover;
212
- @include no-text-decoration;
213
192
  }
214
193
  }
215
194
 
216
- .footer-right {
217
- text-align: right;
195
+ p {
196
+ width: 100%;
197
+ text-align: center;
198
+ margin-bottom: 0;
218
199
  }
219
200
  }
220
201
 
@@ -260,26 +241,17 @@ i {
260
241
  }
261
242
 
262
243
  .post-tag {
263
- display: inline-block;
264
- line-height: 1rem;
244
+ line-height: 1.05rem;
265
245
  font-size: 0.85rem;
266
- background: none;
267
246
  border: 1px solid var(--btn-border-color);
268
247
  border-radius: 0.8rem;
269
248
  padding: 0.3rem 0.5rem;
270
249
  margin: 0 0.35rem 0.5rem 0;
271
250
 
272
251
  &:hover {
273
- background-color: #2a408e;
274
- border-color: #2a408e;
275
- color: #ffffff;
276
- transition: none;
252
+ transition: all 0.3s ease-in;
277
253
  }
278
254
  }
279
-
280
- [data-topbar-visible='true'] & > div {
281
- top: 6rem;
282
- }
283
255
  }
284
256
 
285
257
  #access-lastmod {
@@ -400,9 +372,35 @@ i {
400
372
 
401
373
  /* --- post --- */
402
374
 
375
+ .post-preview {
376
+ @extend %rounded;
377
+
378
+ border: 0;
379
+ background: var(--card-bg);
380
+ box-shadow: var(--card-shadow);
381
+
382
+ &::before {
383
+ @extend %rounded;
384
+
385
+ content: '';
386
+ width: 100%;
387
+ height: 100%;
388
+ position: absolute;
389
+ background-color: var(--card-hovor-bg);
390
+ opacity: 0;
391
+ transition: opacity 0.35s ease-in-out;
392
+ }
393
+
394
+ &:hover {
395
+ &::before {
396
+ opacity: 0.3;
397
+ }
398
+ }
399
+ }
400
+
403
401
  .post {
404
402
  h1 {
405
- margin-top: 3rem;
403
+ margin-top: 2rem;
406
404
  margin-bottom: 1.5rem;
407
405
  }
408
406
 
@@ -422,7 +420,6 @@ i {
422
420
 
423
421
  .post-meta {
424
422
  font-size: 0.85rem;
425
- word-spacing: 1px;
426
423
 
427
424
  a {
428
425
  &:not([class]):hover {
@@ -513,6 +510,10 @@ i {
513
510
  dl > dd {
514
511
  margin-left: 1rem;
515
512
  }
513
+
514
+ ::marker {
515
+ color: var(--text-muted-color);
516
+ }
516
517
  } /* .post-content */
517
518
 
518
519
  .tag:hover {
@@ -523,7 +524,6 @@ i {
523
524
  display: inline-block;
524
525
  min-width: 2rem;
525
526
  text-align: center;
526
- background: var(--tag-bg);
527
527
  border-radius: 0.3rem;
528
528
  padding: 0 0.4rem;
529
529
  color: inherit;
@@ -532,14 +532,6 @@ i {
532
532
  &:not(:last-child) {
533
533
  margin-right: 0.2rem;
534
534
  }
535
-
536
- &:hover {
537
- @extend %tag-hover;
538
-
539
- border-bottom: none;
540
- text-decoration: none;
541
- color: #d2603a;
542
- }
543
535
  }
544
536
 
545
537
  .rounded-10 {
@@ -549,7 +541,6 @@ i {
549
541
  .img-link {
550
542
  color: transparent;
551
543
  display: inline-flex;
552
- overflow: hidden;
553
544
  }
554
545
 
555
546
  .shimmer {
@@ -569,22 +560,18 @@ i {
569
560
 
570
561
  @-webkit-keyframes shimmer {
571
562
  0% {
572
- -webkit-transform: translateX(-100%);
573
563
  transform: translateX(-100%);
574
564
  }
575
565
  100% {
576
- -webkit-transform: translateX(100%);
577
566
  transform: translateX(100%);
578
567
  }
579
568
  }
580
569
 
581
570
  @keyframes shimmer {
582
571
  0% {
583
- -webkit-transform: translateX(-100%);
584
572
  transform: translateX(-100%);
585
573
  }
586
574
  100% {
587
- -webkit-transform: translateX(100%);
588
575
  transform: translateX(100%);
589
576
  }
590
577
  }
@@ -648,17 +635,25 @@ i {
648
635
  box-shadow: 0 0 8px 0 var(--btn-box-shadow) !important;
649
636
  }
650
637
 
651
- .no-text-decoration {
652
- @include no-text-decoration;
638
+ /* overwrite bootstrap muted */
639
+ .text-muted {
640
+ color: var(--text-muted-color) !important;
653
641
  }
654
642
 
655
- /* Overrided BS4 Tooltip */
643
+ /* Overwrite bootstrap tooltip */
656
644
  .tooltip-inner {
657
645
  font-size: 0.7rem;
658
646
  max-width: 220px;
659
647
  text-align: left;
660
648
  }
661
649
 
650
+ /* Overwrite bootstrap outline button */
651
+ .btn.btn-outline-primary {
652
+ &:not(.disabled):hover {
653
+ border-color: #007bff !important;
654
+ }
655
+ }
656
+
662
657
  .disabled {
663
658
  color: rgb(206, 196, 196);
664
659
  pointer-events: auto;
@@ -689,12 +684,17 @@ i {
689
684
  /* --- Overriding --- */
690
685
 
691
686
  /* magnific-popup */
687
+
692
688
  figure .mfp-title {
693
689
  text-align: center;
694
690
  padding-right: 0;
695
691
  margin-top: 0.5rem;
696
692
  }
697
693
 
694
+ .mfp-img {
695
+ transition: none;
696
+ }
697
+
698
698
  /* mermaid */
699
699
  .mermaid {
700
700
  text-align: center;
@@ -709,6 +709,9 @@ mjx-container {
709
709
  /* --- sidebar layout --- */
710
710
 
711
711
  $sidebar-display: 'sidebar-display';
712
+ $btn-gap: 0.8rem; // for the bottom icons
713
+ $btn-border-width: 3px;
714
+ $btn-mb: 0.5rem;
712
715
 
713
716
  #sidebar {
714
717
  @include pl-pr(0);
@@ -731,202 +734,173 @@ $sidebar-display: 'sidebar-display';
731
734
  -ms-overflow-style: none; /* IE and Edge */
732
735
  scrollbar-width: none; /* Firefox */
733
736
 
734
- a {
735
- @extend %sidebar-links;
736
-
737
+ %sidebar-link-hover {
737
738
  &:hover {
738
- @include no-text-decoration;
739
-
740
- color: var(--sidebar-active-color) !important;
739
+ color: var(--sidebar-active-color);
741
740
  }
742
741
  }
743
742
 
744
- #avatar {
745
- > a {
746
- display: block;
747
- width: 6rem;
748
- height: 6rem;
749
- border-radius: 50%;
750
- border: 2px solid rgba(222, 222, 222, 0.7);
751
- overflow: hidden;
752
- -webkit-transform: translateZ(0);
753
- transform: translateZ(0); /* fixed the zoom in Safari */
754
- transition: border-color 0.35s ease-in-out;
743
+ a {
744
+ @extend %sidebar-links;
745
+ }
755
746
 
756
- &:hover {
757
- border-color: white;
758
- }
759
- }
747
+ #avatar {
748
+ display: block;
749
+ width: 7rem;
750
+ height: 7rem;
751
+ overflow: hidden;
752
+ box-shadow: var(--avatar-border-color) 0 0 0 2px;
753
+ transform: translateZ(0); /* fixed the zoom in Safari */
760
754
 
761
755
  img {
762
- width: 100%;
763
- height: 100%;
764
- transition: -webkit-transform 0.5s;
765
756
  transition: transform 0.5s;
766
- transition: transform 0.5s, -webkit-transform 0.5s;
767
757
 
768
758
  &:hover {
769
- -webkit-transform: scale(1.2);
770
759
  transform: scale(1.2);
771
760
  }
772
761
  }
773
- } /* #avatar */
762
+ }
763
+
764
+ .profile-wrapper {
765
+ @include mt-mb(2.5rem);
766
+ @extend %clickable-transition;
767
+
768
+ padding-left: 2.5rem;
769
+ padding-right: 1.25rem;
770
+ width: 100%;
771
+ }
774
772
 
775
773
  .site-title {
776
- margin-top: 0.55rem;
774
+ font-weight: 900;
775
+ font-size: 1.75rem;
776
+ line-height: 1.2;
777
+ letter-spacing: 0.25px;
778
+ color: rgba(134, 133, 133, 0.99);
779
+ margin-top: 1.25rem;
780
+ margin-bottom: 0.5rem;
777
781
 
778
782
  a {
779
783
  @extend %clickable-transition;
780
-
781
- font-weight: 900;
782
- font-size: 1.5rem;
783
- letter-spacing: 0.5px;
784
- color: rgba(134, 133, 133, 0.99);
784
+ @extend %sidebar-link-hover;
785
785
  }
786
786
  }
787
787
 
788
788
  .site-subtitle {
789
789
  font-size: 95%;
790
790
  color: var(--sidebar-muted-color);
791
- line-height: 1.25rem;
791
+ margin-top: 0.25rem;
792
792
  word-spacing: 1px;
793
- margin: 0.2rem 1.5rem 0.5rem 1.5rem;
794
- min-height: 3rem; /* avoid vertical shifting in multi-line words */
795
793
  -webkit-user-select: none;
796
794
  -moz-user-select: none;
797
795
  -ms-user-select: none;
798
796
  user-select: none;
799
797
  }
800
798
 
801
- .nav-link {
802
- border-radius: 0;
803
- font-size: 0.95rem;
804
- font-weight: 600;
805
- letter-spacing: 1px;
806
- display: table-cell;
807
- vertical-align: middle;
808
- }
809
-
810
- .nav-item {
811
- text-align: center;
812
- display: table;
813
- height: $tab-height;
814
-
815
- &.active {
816
- .nav-link {
817
- color: var(--sidebar-active-color);
818
- }
819
- }
820
-
821
- &:not(.active) > a {
822
- @extend %clickable-transition;
823
- }
824
- }
825
-
826
799
  ul {
827
- height: $tab-height * $tab-count;
828
800
  margin-bottom: 2rem;
829
- padding-left: 0;
830
801
 
831
- li {
802
+ li.nav-item {
803
+ opacity: 0.9;
832
804
  width: 100%;
805
+ padding-left: 1.5rem;
806
+ padding-right: 1.5rem;
833
807
 
834
- &:last-child {
835
- a {
836
- position: relative;
837
- left: calc($cursor-width / 2);
838
- width: 100%;
808
+ a.nav-link {
809
+ @include pt-pb(0.6rem);
810
+
811
+ display: flex;
812
+ align-items: center;
813
+ border-radius: 0.75rem;
814
+ font-weight: 600;
815
+
816
+ &:hover {
817
+ background-color: var(--sidebar-hover-bg);
839
818
  }
840
819
 
841
- /* the cursor */
842
- &::after {
843
- display: table;
844
- visibility: hidden;
845
- content: '';
846
- position: relative;
847
- right: 1px;
848
- width: $cursor-width;
849
- height: $tab-cursor-height;
850
- border-radius: 1px;
851
- background-color: var(--nav-cursor-color);
852
- pointer-events: none;
820
+ i {
821
+ font-size: 95%;
822
+ opacity: 0.8;
823
+ margin-right: 1.5rem;
853
824
  }
854
- }
855
- } /* li */
856
825
 
857
- @mixin fix-cursor($top) {
858
- top: $top;
859
- visibility: visible;
860
- }
826
+ span {
827
+ font-size: 90%;
828
+ letter-spacing: 0.2px;
829
+ }
830
+ }
861
831
 
862
- @for $i from 1 through $tab-count {
863
- $offset: $tab-count - $i;
864
- $top: (-$offset * $tab-height) +
865
- (($tab-height - $tab-cursor-height) * 0.5);
832
+ &.active {
833
+ .nav-link {
834
+ color: var(--sidebar-active-color);
835
+ background-color: var(--sidebar-hover-bg);
866
836
 
867
- @if $i < $tab-count {
868
- > li.active:nth-child(#{$i}),
869
- > li.nav-item:nth-child(#{$i}):hover {
870
- ~ li:last-child::after {
871
- @include fix-cursor($top);
837
+ span {
838
+ opacity: 1;
872
839
  }
873
840
  }
874
- } @else {
875
- > li.active:nth-child(#{$i}):last-child::after,
876
- > li.nav-item:nth-child(#{$i}):last-child:hover::after {
877
- @include fix-cursor($top);
878
- }
879
841
  }
880
- } /* @for */
881
- } /* ul */
842
+
843
+ &:not(:first-child) {
844
+ margin-top: 0.25rem;
845
+ }
846
+ }
847
+ }
882
848
 
883
849
  .sidebar-bottom {
884
- margin-bottom: 2.1rem;
850
+ @include pl-pr(2rem);
885
851
 
886
- @include ml-mr(auto);
887
- @include pl-pr(1rem);
852
+ margin-bottom: 1.5rem;
888
853
 
889
- %icon {
890
- width: 2.4rem;
854
+ %button {
855
+ width: 1.75rem;
856
+ height: 1.75rem;
857
+ margin-bottom: $btn-mb; // multi line gap
858
+ border-radius: 50%;
859
+ color: var(--sidebar-btn-color);
860
+ background-color: var(--sidebar-btn-bg);
891
861
  text-align: center;
862
+ display: flex;
863
+ align-items: center;
864
+ justify-content: center;
865
+
866
+ &:hover {
867
+ background-color: var(--sidebar-hover-bg);
868
+ }
892
869
  }
893
870
 
894
871
  a {
895
- @extend %icon;
872
+ @extend %button;
873
+ @extend %sidebar-link-hover;
896
874
  @extend %clickable-transition;
875
+
876
+ &:not(:last-child) {
877
+ margin-right: $btn-gap;
878
+ }
897
879
  }
898
880
 
899
881
  i {
900
- font-size: 1.2rem;
901
882
  line-height: 1.75rem;
902
883
  }
903
884
 
904
885
  .mode-toggle {
905
886
  padding: 0;
906
887
  border: 0;
907
- margin-bottom: 1px;
908
- background-color: transparent;
909
888
 
910
- @extend %icon;
889
+ @extend %button;
911
890
  @extend %sidebar-links;
912
-
913
- > i {
914
- @extend %clickable-transition;
915
- }
916
-
917
- &:hover > i {
918
- color: var(--sidebar-active-color);
919
- }
891
+ @extend %sidebar-link-hover;
920
892
  }
921
893
 
922
894
  .icon-border {
923
895
  @extend %no-cursor;
896
+ @include ml-mr(calc(($btn-gap - $btn-border-width) / 2));
924
897
 
925
898
  background-color: var(--sidebar-muted-color);
926
899
  content: '';
927
- width: 3px;
928
- height: 3px;
900
+ width: $btn-border-width;
901
+ height: $btn-border-width;
929
902
  border-radius: 50%;
903
+ margin-bottom: $btn-mb;
930
904
  }
931
905
  } /* .sidebar-bottom */
932
906
  } /* #sidebar */
@@ -935,11 +909,14 @@ $sidebar-display: 'sidebar-display';
935
909
  #sidebar ul > li:last-child::after {
936
910
  transition: top 0.5s ease;
937
911
  }
938
- }
939
912
 
940
- .profile-wrapper {
941
- margin-top: 2rem;
942
- width: 100%;
913
+ .nav-link {
914
+ transition: background-color 0.3s ease-in-out;
915
+ }
916
+
917
+ .post-preview {
918
+ transition: background-color 0.35s ease-in-out;
919
+ }
943
920
  }
944
921
 
945
922
  #search-result-wrapper {
@@ -957,18 +934,7 @@ $sidebar-display: 'sidebar-display';
957
934
 
958
935
  #topbar-wrapper {
959
936
  height: $topbar-height;
960
- position: fixed;
961
- top: 0;
962
- left: $sidebar-width; /* same as sidebar width */
963
- right: 0;
964
- transition: top 0.2s ease-in-out;
965
- z-index: 50;
966
- border-bottom: 1px solid rgba(0, 0, 0, 0.07);
967
- background-color: var(--topbar-wrapper-bg);
968
-
969
- [data-topbar-visible='false'] & {
970
- top: -$topbar-height; /* same as topbar height. */
971
- }
937
+ background-color: var(--topbar-bg);
972
938
  }
973
939
 
974
940
  #topbar {
@@ -1007,7 +973,7 @@ $sidebar-display: 'sidebar-display';
1007
973
  width: 100%;
1008
974
  border-radius: 1rem;
1009
975
  border: 1px solid var(--search-wrapper-border-color);
1010
- background: var(--search-wrapper-bg);
976
+ background: var(--main-bg);
1011
977
  padding: 0 0.5rem;
1012
978
 
1013
979
  i {
@@ -1036,7 +1002,6 @@ $sidebar-display: 'sidebar-display';
1036
1002
 
1037
1003
  &:focus {
1038
1004
  box-shadow: none;
1039
- background: center;
1040
1005
 
1041
1006
  &.form-control {
1042
1007
  &::-moz-placeholder {
@@ -1139,6 +1104,8 @@ $sidebar-display: 'sidebar-display';
1139
1104
  }
1140
1105
 
1141
1106
  #core-wrapper {
1107
+ line-height: 1.75;
1108
+
1142
1109
  .categories,
1143
1110
  #tags,
1144
1111
  #archives {
@@ -1170,16 +1137,11 @@ $sidebar-display: 'sidebar-display';
1170
1137
  #main-wrapper {
1171
1138
  background-color: var(--main-bg);
1172
1139
  position: relative;
1173
- min-height: calc(100vh - #{$footer-height});
1140
+ min-height: calc(100vh - $footer-height-mobile);
1174
1141
 
1175
1142
  @include pl-pr(0);
1176
1143
  }
1177
1144
 
1178
- #core-wrapper,
1179
- #panel-wrapper {
1180
- margin-top: $topbar-height; /* same as the height of topbar */
1181
- }
1182
-
1183
1145
  #topbar-wrapper.row,
1184
1146
  #main > .row,
1185
1147
  #search-result-wrapper > .row {
@@ -1189,12 +1151,14 @@ $sidebar-display: 'sidebar-display';
1189
1151
  /* --- button back-to-top --- */
1190
1152
 
1191
1153
  #back-to-top {
1192
- $size: 2.7em;
1154
+ $size: 3rem;
1193
1155
 
1194
1156
  display: none;
1195
1157
  z-index: 1;
1196
1158
  cursor: pointer;
1197
1159
  position: fixed;
1160
+ right: 1rem;
1161
+ bottom: 2rem;
1198
1162
  background: var(--button-bg);
1199
1163
  color: var(--btn-backtotop-color);
1200
1164
  padding: 0;
@@ -1202,11 +1166,14 @@ $sidebar-display: 'sidebar-display';
1202
1166
  height: $size;
1203
1167
  border-radius: 50%;
1204
1168
  border: 1px solid var(--btn-backtotop-border-color);
1205
- transition: -webkit-transform 0.2s ease-out;
1206
1169
  transition: transform 0.2s ease-out;
1207
- transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
1208
1170
  -webkit-transition: transform 0.2s ease-out;
1209
1171
 
1172
+ &:hover {
1173
+ transform: translate3d(0, -5px, 0);
1174
+ -webkit-transform: translate3d(0, -5px, 0);
1175
+ }
1176
+
1210
1177
  i {
1211
1178
  line-height: $size;
1212
1179
  position: relative;
@@ -1214,11 +1181,6 @@ $sidebar-display: 'sidebar-display';
1214
1181
  }
1215
1182
  }
1216
1183
 
1217
- #back-to-top:hover {
1218
- transform: translate3d(0, -5px, 0);
1219
- -webkit-transform: translate3d(0, -5px, 0);
1220
- }
1221
-
1222
1184
  #notification {
1223
1185
  @-webkit-keyframes popup {
1224
1186
  from {
@@ -1251,8 +1213,6 @@ $sidebar-display: 'sidebar-display';
1251
1213
  }
1252
1214
 
1253
1215
  &.toast {
1254
- display: none;
1255
-
1256
1216
  &.show {
1257
1217
  display: block;
1258
1218
  min-width: 20rem;
@@ -1264,7 +1224,6 @@ $sidebar-display: 'sidebar-display';
1264
1224
  position: fixed;
1265
1225
  left: 50%;
1266
1226
  bottom: 20%;
1267
- -webkit-transform: translateX(-50%);
1268
1227
  transform: translateX(-50%);
1269
1228
  -webkit-animation: popup 0.8s;
1270
1229
  animation: popup 0.8s;
@@ -1275,29 +1234,13 @@ $sidebar-display: 'sidebar-display';
1275
1234
  /*
1276
1235
  Responsive Design:
1277
1236
 
1278
- {sidebar, content, panel} >= 1120px screen width
1237
+ {sidebar, content, panel} >= 1200px screen width
1279
1238
  {sidebar, content} >= 850px screen width
1280
1239
  {content} <= 849px screen width
1281
1240
 
1282
1241
  */
1283
1242
 
1284
1243
  @media all and (max-width: 576px) {
1285
- footer {
1286
- height: $footer-height-mobile;
1287
-
1288
- div.d-flex {
1289
- padding: 1.5rem 0;
1290
- line-height: 1.65;
1291
- flex-wrap: wrap;
1292
- justify-content: space-around !important;
1293
- }
1294
-
1295
- .footer-left,
1296
- .footer-right {
1297
- text-align: center;
1298
- }
1299
- }
1300
-
1301
1244
  #main-wrapper {
1302
1245
  min-height: calc(100vh - #{$footer-height-mobile});
1303
1246
  }
@@ -1307,11 +1250,6 @@ $sidebar-display: 'sidebar-display';
1307
1250
  100vh - #{$topbar-height} - #{$footer-height-mobile}
1308
1251
  ) !important;
1309
1252
 
1310
- h1 {
1311
- margin-top: 2.2rem;
1312
- font-size: 1.75rem;
1313
- }
1314
-
1315
1253
  .post-content {
1316
1254
  > blockquote[class^='prompt-'] {
1317
1255
  @include ml-mr(-1.25rem);
@@ -1322,14 +1260,10 @@ $sidebar-display: 'sidebar-display';
1322
1260
  }
1323
1261
  }
1324
1262
 
1325
- #avatar > a {
1263
+ #avatar {
1326
1264
  width: 5rem;
1327
1265
  height: 5rem;
1328
1266
  }
1329
-
1330
- .site-subtitle {
1331
- @include ml-mr(1.8rem);
1332
- }
1333
1267
  }
1334
1268
 
1335
1269
  @media all and (max-width: 768px) {
@@ -1366,20 +1300,29 @@ $sidebar-display: 'sidebar-display';
1366
1300
 
1367
1301
  footer {
1368
1302
  @include slide;
1303
+
1304
+ height: $footer-height-mobile;
1305
+
1306
+ div.d-flex {
1307
+ padding: 1.5rem 0;
1308
+ line-height: 1.65;
1309
+ flex-wrap: wrap;
1310
+ }
1369
1311
  }
1370
1312
 
1371
1313
  [#{$sidebar-display}] {
1372
1314
  #sidebar {
1373
- -webkit-transform: translateX(0);
1374
1315
  transform: translateX(0);
1375
1316
  }
1376
1317
 
1377
- #topbar-wrapper,
1378
1318
  #main-wrapper,
1379
1319
  footer {
1380
- -webkit-transform: translateX(#{$sidebar-width});
1381
1320
  transform: translateX(#{$sidebar-width});
1382
1321
  }
1322
+
1323
+ #back-to-top {
1324
+ visibility: hidden;
1325
+ }
1383
1326
  }
1384
1327
 
1385
1328
  #sidebar {
@@ -1387,16 +1330,10 @@ $sidebar-display: 'sidebar-display';
1387
1330
 
1388
1331
  transform: translateX(-#{$sidebar-width}); /* hide */
1389
1332
  -webkit-transform: translateX(-#{$sidebar-width});
1390
-
1391
- .cursor {
1392
- transition: none;
1393
- }
1394
1333
  }
1395
1334
 
1396
1335
  #main-wrapper {
1397
1336
  @include slide;
1398
-
1399
- padding-top: $topbar-height;
1400
1337
  }
1401
1338
 
1402
1339
  #topbar,
@@ -1443,17 +1380,11 @@ $sidebar-display: 'sidebar-display';
1443
1380
  display: none;
1444
1381
 
1445
1382
  ~ .post-content {
1446
- margin-top: 3rem;
1383
+ margin-top: 2.5rem;
1447
1384
  }
1448
1385
  }
1449
1386
  } /* max-width: 849px */
1450
1387
 
1451
- @media all and (max-width: 849px) and (orientation: portrait) {
1452
- [data-topbar-visible='false'] #topbar-wrapper {
1453
- top: 0;
1454
- }
1455
- }
1456
-
1457
1388
  /* Phone & Pad */
1458
1389
  @media all and (min-width: 577px) and (max-width: 1199px) {
1459
1390
  footer .d-flex > div {
@@ -1473,8 +1404,27 @@ $sidebar-display: 'sidebar-display';
1473
1404
  margin-left: $sidebar-width;
1474
1405
  }
1475
1406
 
1476
- .profile-wrapper {
1477
- margin-top: 3rem;
1407
+ #main-wrapper {
1408
+ min-height: calc(100vh - $footer-height);
1409
+ }
1410
+
1411
+ footer {
1412
+ p {
1413
+ width: auto;
1414
+ &:last-child {
1415
+ &::before {
1416
+ content: '-';
1417
+ margin: 0 0.75rem;
1418
+ opacity: 0.8;
1419
+ }
1420
+ }
1421
+ }
1422
+ }
1423
+
1424
+ #sidebar {
1425
+ .profile-wrapper {
1426
+ margin-top: 3rem;
1427
+ }
1478
1428
  }
1479
1429
 
1480
1430
  #search-hints {
@@ -1486,8 +1436,14 @@ $sidebar-display: 'sidebar-display';
1486
1436
  }
1487
1437
 
1488
1438
  #search-result-wrapper {
1489
- margin-top: 3rem;
1490
1439
  max-width: $main-content-max-width;
1440
+ justify-content: start !important;
1441
+ }
1442
+
1443
+ .post {
1444
+ h1 {
1445
+ margin-top: 3rem;
1446
+ }
1491
1447
  }
1492
1448
 
1493
1449
  div.post-content .table-wrapper > table {
@@ -1515,50 +1471,10 @@ $sidebar-display: 'sidebar-display';
1515
1471
 
1516
1472
  /* Compact icons in sidebar & panel hidden */
1517
1473
  @media all and (min-width: 850px) and (max-width: 1199px) {
1518
- #sidebar {
1519
- width: $sidebar-width-small;
1520
-
1521
- .site-subtitle {
1522
- margin-left: 1rem;
1523
- margin-right: 1rem;
1524
- }
1525
-
1526
- .sidebar-bottom {
1527
- a,
1528
- span {
1529
- width: 2rem;
1530
- }
1531
-
1532
- .icon-border {
1533
- left: -3px;
1534
- }
1535
- }
1536
- }
1537
-
1538
- #topbar-wrapper {
1539
- left: $sidebar-width-small;
1540
- }
1541
-
1542
1474
  #search-results > div {
1543
1475
  max-width: 700px;
1544
1476
  }
1545
1477
 
1546
- .site-title {
1547
- font-size: 1.3rem;
1548
- margin-left: 0 !important;
1549
- }
1550
-
1551
- .site-subtitle {
1552
- @include ml-mr(1rem);
1553
-
1554
- font-size: 90%;
1555
- }
1556
-
1557
- #main-wrapper,
1558
- footer {
1559
- margin-left: $sidebar-width-small;
1560
- }
1561
-
1562
1478
  #breadcrumb {
1563
1479
  width: 65%;
1564
1480
  overflow: hidden;
@@ -1629,6 +1545,8 @@ $sidebar-display: 'sidebar-display';
1629
1545
  }
1630
1546
 
1631
1547
  @media all and (min-width: 1650px) {
1548
+ $icon-gap: 1rem;
1549
+
1632
1550
  #main-wrapper,
1633
1551
  footer {
1634
1552
  margin-left: $sidebar-width-large;
@@ -1640,14 +1558,15 @@ $sidebar-display: 'sidebar-display';
1640
1558
 
1641
1559
  #search-wrapper {
1642
1560
  margin-right: calc(
1643
- #{$main-content-max-width} * 0.25 - #{$search-max-width}
1561
+ #{$main-content-max-width} * 0.25 - #{$search-max-width} - 0.75rem
1644
1562
  );
1645
1563
  }
1646
1564
 
1647
- #topbar,
1648
1565
  #main,
1649
1566
  footer > .container {
1650
1567
  max-width: $main-content-max-width;
1568
+ padding-left: 1.75rem !important;
1569
+ padding-right: 1.75rem !important;
1651
1570
  }
1652
1571
 
1653
1572
  #core-wrapper,
@@ -1664,115 +1583,31 @@ $sidebar-display: 'sidebar-display';
1664
1583
  #sidebar {
1665
1584
  width: $sidebar-width-large;
1666
1585
 
1667
- .profile-wrapper {
1668
- margin-top: 4rem;
1669
- margin-bottom: 1rem;
1586
+ $icon-gap: 1rem; // for the bottom icons
1670
1587
 
1671
- &.text-center {
1672
- text-align: left !important;
1673
- }
1674
-
1675
- %profile-ml {
1676
- margin-left: 4.5rem;
1677
- }
1678
-
1679
- #avatar {
1680
- @extend %profile-ml;
1681
-
1682
- > a {
1683
- width: 6.2rem;
1684
- height: 6.2rem;
1685
-
1686
- &.mx-auto {
1687
- margin-left: 0 !important;
1688
- }
1689
- }
1690
- }
1691
-
1692
- .site-title {
1693
- @extend %profile-ml;
1694
-
1695
- margin-top: 0.4rem;
1696
-
1697
- a {
1698
- font-size: 1.7rem;
1699
- letter-spacing: 1px;
1700
- }
1701
- }
1702
-
1703
- .site-subtitle {
1704
- @extend %profile-ml;
1705
-
1706
- word-spacing: 0;
1707
- margin-top: 0;
1708
- }
1709
- } /* .profile-wrapper (min-width: 1650px) */
1588
+ .profile-wrapper {
1589
+ margin-top: 3.5rem;
1590
+ margin-bottom: 2.5rem;
1591
+ padding-left: 3.5rem;
1592
+ }
1710
1593
 
1711
1594
  ul {
1712
- padding-left: 2.5rem;
1713
-
1714
- > li:last-child {
1715
- > a {
1716
- position: static;
1717
- }
1718
- }
1719
-
1720
- .nav-item {
1721
- text-align: left;
1722
-
1723
- .nav-link {
1724
- > span {
1725
- letter-spacing: 2px;
1726
- }
1727
-
1728
- > i {
1729
- &.unloaded {
1730
- display: inline-block !important;
1731
- }
1732
- }
1733
- }
1595
+ li.nav-item {
1596
+ @include pl-pr(2.75rem);
1734
1597
  }
1735
1598
  }
1736
1599
 
1737
1600
  .sidebar-bottom {
1738
- padding-left: 3.5rem;
1739
- width: 100%;
1740
-
1741
- $icon-block-size: 2rem;
1742
-
1743
- &.justify-content-center {
1744
- justify-content: flex-start !important;
1745
- }
1746
-
1747
- > span,
1748
- > button.mode-toggle,
1749
- > a {
1750
- @include ml-mr(0.15rem);
1601
+ padding-left: 2.75rem;
1602
+ margin-bottom: 1.75rem;
1751
1603
 
1752
- height: $icon-block-size;
1753
- margin-bottom: 0.5rem; /* wrap line */
1754
- }
1755
-
1756
- i {
1757
- background-color: var(--sidebar-btn-bg);
1758
- font-size: 1rem;
1759
- width: $icon-block-size;
1760
- height: $icon-block-size;
1761
- border-radius: 50%;
1762
- position: relative;
1763
-
1764
- &::before {
1765
- position: absolute;
1766
- top: 50%;
1767
- left: 50%;
1768
- -webkit-transform: translate(-50%, -50%);
1769
- transform: translate(-50%, -50%);
1770
- }
1604
+ a:not(:last-child) {
1605
+ margin-right: $icon-gap;
1771
1606
  }
1772
1607
 
1773
1608
  .icon-border {
1774
- top: 0.9rem;
1609
+ @include ml-mr(calc(($icon-gap - $btn-border-width) / 2));
1775
1610
  }
1776
- } /* .sidebar-bottom */
1777
- } /* #sidebar */
1611
+ }
1612
+ }
1778
1613
  } /* min-width: 1650px */