arsxy-theme 1.0.0.pre.rc

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 (56) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +166 -0
  4. data/_config.yml +131 -0
  5. data/_includes/footer.html +45 -0
  6. data/_includes/header.html +68 -0
  7. data/_includes/image.html +8 -0
  8. data/_includes/related-posts.html +83 -0
  9. data/_includes/search.html +32 -0
  10. data/_includes/social-sharing.html +86 -0
  11. data/_includes/toc.html +83 -0
  12. data/_layouts/default.html +76 -0
  13. data/_layouts/docs.html +90 -0
  14. data/_layouts/home.html +172 -0
  15. data/_layouts/post.html +114 -0
  16. data/_sass/_base.scss +264 -0
  17. data/_sass/_dark-mode.scss +749 -0
  18. data/_sass/_layout.scss +118 -0
  19. data/_sass/_responsive.scss +157 -0
  20. data/_sass/_syntax-highlighting.scss +147 -0
  21. data/_sass/_typography.scss +226 -0
  22. data/_sass/_utilities.scss +138 -0
  23. data/_sass/_variables.scss +63 -0
  24. data/_sass/components/_code.scss +245 -0
  25. data/_sass/components/_docs.scss +263 -0
  26. data/_sass/components/_footer.scss +170 -0
  27. data/_sass/components/_header.scss +313 -0
  28. data/_sass/components/_homepage.scss +597 -0
  29. data/_sass/components/_image.scss +22 -0
  30. data/_sass/components/_pagination.scss +146 -0
  31. data/_sass/components/_post.scss +1039 -0
  32. data/_sass/components/_related-posts.scss +70 -0
  33. data/_sass/components/_search.scss +276 -0
  34. data/_sass/components/_social-sharing.scss +95 -0
  35. data/_sass/components/_toc.scss +193 -0
  36. data/assets/css/main.scss +24 -0
  37. data/assets/images/favicon/android-chrome-192x192.png +0 -0
  38. data/assets/images/favicon/android-chrome-512x512.png +0 -0
  39. data/assets/images/favicon/apple-touch-icon.png +0 -0
  40. data/assets/images/favicon/favicon-16x16.png +0 -0
  41. data/assets/images/favicon/favicon-32x32.png +0 -0
  42. data/assets/images/favicon/favicon.ico +0 -0
  43. data/assets/images/favicon/site.webmanifest +19 -0
  44. data/assets/images/new-features-update.svg +58 -0
  45. data/assets/images/related-posts-example.svg +37 -0
  46. data/assets/images/seo-optimization.png +0 -0
  47. data/assets/images/social-sharing-sample.png +0 -0
  48. data/assets/images/ss-arsxy-theme.png +0 -0
  49. data/assets/images/table-of-content-thumbnail.png +0 -0
  50. data/assets/images/theme-demo-2.jpeg +0 -0
  51. data/assets/images/theme-demo.jpeg +0 -0
  52. data/assets/images/welcome-to-arsxy-theme.png +0 -0
  53. data/assets/js/main.js +369 -0
  54. data/assets/js/search-index.json +31 -0
  55. data/assets/js/search.js +207 -0
  56. metadata +226 -0
@@ -0,0 +1,170 @@
1
+ /* Footer styles */
2
+ .site-footer {
3
+ background: linear-gradient(to bottom, $light-gray, $background-color);
4
+ padding: $spacing-xl 0 $spacing-lg;
5
+ border-top: 1px solid $border-color;
6
+ margin-top: $spacing-xl;
7
+ position: relative;
8
+ overflow: hidden;
9
+
10
+ &::before {
11
+ content: '';
12
+ position: absolute;
13
+ top: 0;
14
+ left: 0;
15
+ width: 100%;
16
+ height: 3px;
17
+ background: $primary-color; /* Changed from gradient to solid primary color */
18
+ }
19
+
20
+ .footer-content {
21
+ display: grid;
22
+ grid-template-columns: 1fr;
23
+ grid-gap: $spacing-lg;
24
+ margin-bottom: $spacing-lg;
25
+
26
+ @media (min-width: $on-palm) {
27
+ grid-template-columns: repeat(2, 1fr);
28
+ }
29
+
30
+ @media (min-width: $on-laptop) {
31
+ grid-template-columns: 2fr 1fr 1fr;
32
+ }
33
+ }
34
+
35
+ .footer-col {
36
+ h2 {
37
+ margin-top: 0;
38
+ font-size: 1.2rem;
39
+ margin-bottom: $spacing-md;
40
+ color: $primary-color; // Changed from $secondary-color to $primary-color
41
+ position: relative;
42
+ display: inline-block;
43
+
44
+ &::after {
45
+ content: '';
46
+ display: block;
47
+ width: 2rem;
48
+ height: 0.15rem;
49
+ background: $primary-color; // Changed from $accent-color to $primary-color
50
+ margin-top: 0.3rem;
51
+ border-radius: 1rem;
52
+ }
53
+ }
54
+
55
+ p {
56
+ color: lighten($text-color, 10%);
57
+ }
58
+ }
59
+
60
+ .footer-links, .social-links {
61
+ list-style: none;
62
+ margin-left: 0;
63
+
64
+ li {
65
+ margin-bottom: $spacing-sm;
66
+ transition: $transition-base;
67
+
68
+ &:hover {
69
+ transform: translateX(3px);
70
+ }
71
+ }
72
+
73
+ a {
74
+ color: lighten($text-color, 10%);
75
+ transition: $transition-base;
76
+ position: relative;
77
+ padding-left: 0; /* Removed padding-left completely */
78
+
79
+ &:hover {
80
+ color: $primary-color;
81
+ }
82
+ }
83
+ }
84
+
85
+ .social-links {
86
+ display: flex;
87
+ flex-wrap: wrap;
88
+
89
+ li {
90
+ display: inline-block;
91
+ margin-right: $spacing-md;
92
+
93
+ &:hover {
94
+ transform: translateY(-3px);
95
+ }
96
+ }
97
+
98
+ a {
99
+ padding-left: 0;
100
+ }
101
+
102
+ .social-icon {
103
+ display: inline-flex;
104
+ align-items: center;
105
+ justify-content: center;
106
+ width: 36px;
107
+ height: 36px;
108
+ border-radius: 50%;
109
+ background-color: rgba($primary-color, 0.1);
110
+ color: $primary-color;
111
+ transition: $transition-base;
112
+
113
+ &:hover {
114
+ background-color: $primary-color;
115
+ color: white;
116
+ box-shadow: $shadow-md;
117
+ }
118
+ }
119
+ }
120
+
121
+ .footer-bottom {
122
+ border-top: 1px solid rgba($border-color, 0.5);
123
+ padding-top: $spacing-md;
124
+ font-size: $small-font-size;
125
+ color: $dark-gray;
126
+ display: flex;
127
+ flex-wrap: wrap;
128
+ justify-content: space-between;
129
+
130
+ @media (max-width: $on-palm) {
131
+ flex-direction: column;
132
+ gap: $spacing-xs;
133
+ }
134
+
135
+ p {
136
+ margin-bottom: 0;
137
+ }
138
+
139
+ a {
140
+ color: $secondary-color;
141
+
142
+ &:hover {
143
+ color: $accent-color;
144
+ }
145
+ }
146
+ }
147
+
148
+ .back-to-top {
149
+ position: absolute;
150
+ right: $spacing-md;
151
+ bottom: $spacing-md;
152
+ width: 40px;
153
+ height: 40px;
154
+ border-radius: 50%;
155
+ background-color: $background-color;
156
+ color: $primary-color;
157
+ display: flex;
158
+ align-items: center;
159
+ justify-content: center;
160
+ text-decoration: none;
161
+ box-shadow: $shadow-md;
162
+ transition: $transition-base;
163
+
164
+ &:hover {
165
+ transform: translateY(-5px);
166
+ background-color: $primary-color;
167
+ color: white;
168
+ }
169
+ }
170
+ }
@@ -0,0 +1,313 @@
1
+ /* Header styles */
2
+ .site-header {
3
+ background-color: rgba($background-color, 0.95);
4
+ backdrop-filter: blur(10px);
5
+ -webkit-backdrop-filter: blur(10px);
6
+ border-bottom: 1px solid $border-color;
7
+ padding: $spacing-md 0;
8
+ position: sticky;
9
+ top: 0;
10
+ z-index: 1000;
11
+ box-shadow: $shadow-sm;
12
+ transition: $transition-base;
13
+
14
+ &:hover {
15
+ box-shadow: $shadow-md;
16
+ }
17
+
18
+ .wrapper {
19
+ display: flex;
20
+ justify-content: space-between;
21
+ align-items: center;
22
+ flex-wrap: wrap;
23
+ }
24
+
25
+ .site-title {
26
+ font-size: 1.5rem;
27
+ font-weight: 700;
28
+ text-decoration: none;
29
+ color: $text-color;
30
+ position: relative;
31
+ padding: $spacing-xs $spacing-sm;
32
+ background: linear-gradient(to right, $primary-color, $accent-color);
33
+ -webkit-background-clip: text;
34
+ -webkit-text-fill-color: transparent;
35
+ background-clip: text;
36
+ color: transparent;
37
+
38
+ &::before {
39
+ content: '';
40
+ position: absolute;
41
+ top: 0;
42
+ left: 0;
43
+ width: 100%;
44
+ height: 100%;
45
+ background: linear-gradient(to right, rgba($primary-color, 0.1), rgba($accent-color, 0.1));
46
+ border-radius: $border-radius;
47
+ z-index: -1;
48
+ transform: scale(0.9);
49
+ opacity: 0;
50
+ transition: $transition-base;
51
+ }
52
+
53
+ &:hover {
54
+ &::before {
55
+ opacity: 1;
56
+ transform: scale(1);
57
+ }
58
+ }
59
+ }
60
+
61
+ /* Right side of header containing actions and nav */
62
+ .site-header-right {
63
+ display: flex;
64
+ align-items: center;
65
+ gap: $spacing-sm;
66
+ }
67
+ }
68
+
69
+ /* Navigation */
70
+ .site-nav {
71
+ display: flex;
72
+ align-items: center;
73
+
74
+ .page-link {
75
+ margin-left: $spacing-md;
76
+ font-weight: 500;
77
+ font-size: 1rem;
78
+ color: $text-color;
79
+ position: relative;
80
+ padding: $spacing-xs 0;
81
+
82
+ &::after {
83
+ content: '';
84
+ position: absolute;
85
+ width: 100%;
86
+ transform: scaleX(0);
87
+ height: 2px;
88
+ bottom: 0;
89
+ left: 0;
90
+ background: linear-gradient(to right, $secondary-color, $accent-color);
91
+ transform-origin: bottom right;
92
+ transition: transform 0.3s ease-out;
93
+ border-radius: 1px;
94
+ }
95
+
96
+ &:hover, &.active {
97
+ color: $primary-color;
98
+ text-decoration: none;
99
+
100
+ &::after {
101
+ transform: scaleX(1);
102
+ transform-origin: bottom left;
103
+ }
104
+ }
105
+ }
106
+
107
+ /* Mobile menu */
108
+ .nav-trigger {
109
+ display: none;
110
+ }
111
+
112
+ .menu-icon {
113
+ display: none;
114
+ }
115
+
116
+ .trigger {
117
+ display: flex;
118
+ align-items: center;
119
+ }
120
+ }
121
+
122
+ /* Site header actions container */
123
+ .site-header-actions {
124
+ display: flex;
125
+ align-items: center;
126
+ gap: 0.25rem;
127
+
128
+ .search-toggle {
129
+ margin: 0;
130
+
131
+ .search-button {
132
+ background: none;
133
+ border: none;
134
+ cursor: pointer;
135
+ padding: $spacing-xs;
136
+ color: $dark-gray;
137
+ display: flex;
138
+ align-items: center;
139
+ justify-content: center;
140
+ border-radius: 50%;
141
+ transition: $transition-base;
142
+
143
+ &:hover {
144
+ color: $text-color;
145
+ background-color: rgba($primary-color, 0.1);
146
+ }
147
+
148
+ svg {
149
+ width: 20px;
150
+ height: 20px;
151
+ }
152
+ }
153
+ }
154
+
155
+ /* Dark mode toggle */
156
+ .theme-toggle {
157
+ background: none;
158
+ border: none;
159
+ cursor: pointer;
160
+ padding: $spacing-xs;
161
+ color: $dark-gray;
162
+ display: flex;
163
+ align-items: center;
164
+ justify-content: center;
165
+ border-radius: 50%;
166
+ transition: $transition-base;
167
+
168
+ &:hover {
169
+ color: $text-color;
170
+ background-color: rgba($primary-color, 0.1);
171
+ transform: rotate(15deg);
172
+ }
173
+
174
+ &.dark-active {
175
+ .theme-toggle-icon.sun {
176
+ display: block;
177
+ }
178
+
179
+ .theme-toggle-icon.moon {
180
+ display: none;
181
+ }
182
+ }
183
+
184
+ .theme-toggle-icon {
185
+ width: 20px;
186
+ height: 20px;
187
+ }
188
+
189
+ .theme-toggle-icon.sun {
190
+ display: none;
191
+ }
192
+
193
+ .theme-toggle-icon.moon {
194
+ display: block;
195
+ }
196
+ }
197
+ }
198
+
199
+ /* Mobile responsive styles */
200
+ @media screen and (max-width: $on-palm) {
201
+ .site-header-right {
202
+ align-items: center;
203
+ }
204
+
205
+ .site-nav {
206
+ position: relative;
207
+ display: flex;
208
+ align-items: center;
209
+
210
+ label[for="nav-trigger"] {
211
+ display: flex;
212
+ align-items: center;
213
+ justify-content: center;
214
+ width: 36px;
215
+ height: 36px;
216
+ z-index: 2;
217
+ cursor: pointer;
218
+ margin: 0;
219
+ padding: 8px; /* Added padding to push the icon down slightly */
220
+ }
221
+
222
+ .menu-icon {
223
+ display: flex;
224
+ align-items: center;
225
+ justify-content: center;
226
+ width: 20px;
227
+ height: 20px; /* Reduced height to match other icons */
228
+ padding: 0;
229
+ margin: 0;
230
+
231
+ > svg {
232
+ fill: $text-color;
233
+ width: 18px;
234
+ height: 15px;
235
+ }
236
+ }
237
+
238
+ input ~ .trigger {
239
+ clear: both;
240
+ display: none;
241
+ flex-direction: column;
242
+ padding: $spacing-sm;
243
+ background: linear-gradient(to bottom right, rgba($background-color, 0.95), rgba($background-color, 0.99));
244
+ backdrop-filter: blur(10px);
245
+ -webkit-backdrop-filter: blur(10px);
246
+ position: absolute;
247
+ top: 100%;
248
+ right: 0;
249
+ width: 200px;
250
+ border-radius: $border-radius;
251
+ border: 1px solid $border-color;
252
+ box-shadow: $shadow-md;
253
+ z-index: 1001;
254
+ }
255
+
256
+ input:checked ~ .trigger {
257
+ display: flex;
258
+ animation: fadeDown 0.3s ease-out forwards;
259
+ }
260
+
261
+ .page-link {
262
+ display: block;
263
+ margin: 0 0 $spacing-sm 0;
264
+ padding: $spacing-xs 0;
265
+ line-height: 1.5;
266
+ text-align: left;
267
+
268
+ &:last-child {
269
+ margin-bottom: 0;
270
+ }
271
+
272
+ &::after {
273
+ bottom: -2px;
274
+ }
275
+ }
276
+ }
277
+
278
+ /* Ensure search and dark mode buttons have same vertical alignment */
279
+ .site-header-actions {
280
+ display: flex;
281
+ align-items: center;
282
+
283
+ .search-toggle, .theme-toggle {
284
+ display: flex;
285
+ align-items: center;
286
+ justify-content: center;
287
+ height: 36px;
288
+ padding: 8px; /* Match padding with hamburger menu */
289
+ }
290
+ }
291
+ }
292
+
293
+ /* Desktop layout styles */
294
+ @media screen and (min-width: $on-palm + 1) {
295
+ .site-header-right {
296
+ flex-direction: row-reverse;
297
+ }
298
+
299
+ .site-nav {
300
+ margin-right: $spacing-md;
301
+ }
302
+ }
303
+
304
+ @keyframes fadeDown {
305
+ from {
306
+ opacity: 0;
307
+ transform: translateY(-10px);
308
+ }
309
+ to {
310
+ opacity: 1;
311
+ transform: translateY(0);
312
+ }
313
+ }