~repos /website

#astro#js#html#css

git clone https://pyrossh.dev/repos/website.git

木 Personal website of pyrossh. Built with astrojs, shiki, vite.


c1f86c92 pyrossh

2 weeks ago
update index.astro
Files changed (2) hide show
  1. src/pages/index.astro +238 -14
  2. src/pages/index.module.css +0 -224
src/pages/index.astro CHANGED
@@ -2,19 +2,18 @@
2
2
  import { Image } from "astro:assets";
3
3
  import Layout from "@/layouts/BaseLayout.astro";
4
4
  import { REPOS, TOOLS } from "@/consts";
5
- import styles from "./index.module.css";
6
5
  ---
7
6
 
8
7
  <Layout
9
8
  title="pyrossh"
10
9
  description="Tech Lead from Bangalore who likes to create frameworks and programming languages."
11
10
  >
12
- <div class={styles.pageContainer}>
11
+ <div class="pageContainer">
13
12
  <div>
14
- <h1 class={styles.title}>Hello!</h1>
13
+ <h1 class="title">Hello!</h1>
15
- <p class={styles.description}>
14
+ <p class="description">
16
15
  <a
17
- class={styles.linkUnderline}
16
+ class="linkUnderline"
18
17
  href="https://www.linkedin.com/in/pyrossh"
19
18
  target="_blank"
20
19
  rel="noopener noreferrer"
@@ -26,12 +25,12 @@ import styles from "./index.module.css";
26
25
  I like to build frameworks and automate common tasks to make it easier to
27
26
  develop applications.
28
27
  </p>
29
- <p class={styles.description}>
28
+ <p class="description">
30
29
  I enjoy working on open-source projects, and during the last decade,
31
30
  I've created a number of projects that are widely used.
32
31
  </p>
33
- <div class={styles.gridContainer}>
32
+ <div class="gridContainer">
34
- <section class={styles.interests}>
33
+ <section class="interests">
35
34
  <h2>Interests</h2>
36
35
  <ul>
37
36
  <li>HTML</li>
@@ -48,7 +47,7 @@ import styles from "./index.module.css";
48
47
  <li>Iceberg</li>
49
48
  </ul>
50
49
  </section>
51
- <section class={styles.contact}>
50
+ <section class="contact">
52
51
  <h2>Contact</h2>
53
52
  <ul>
54
53
  <li>
@@ -76,7 +75,7 @@ import styles from "./index.module.css";
76
75
  </ul>
77
76
  </section>
78
77
  </div>
79
- <section class={styles.tools}>
78
+ <section class="tools">
80
79
  <h2>Tools</h2>
81
80
  <ul>
82
81
  {
@@ -93,17 +92,17 @@ import styles from "./index.module.css";
93
92
  </section>
94
93
  <section>
95
94
  <h2>Git</h2>
96
- <div class={styles.repos}>
95
+ <div class="repos">
97
96
  {
98
97
  REPOS.map((repo) => (
99
- <div class={styles.repo}>
98
+ <div class="repo">
100
99
  <h4>
101
100
  <a href={`/repos/${repo.title}`}>{repo.title}</a>
102
101
  </h4>
103
102
  <p>{repo.description}</p>
104
- <div class={styles.tags}>
103
+ <div class="tags">
105
104
  {repo.tags.map((tag) => (
106
- <span class={styles.tag}>#{tag}</span>
105
+ <span class="tag">#{tag}</span>
107
106
  ))}
108
107
  </div>
109
108
  </div>
@@ -114,3 +113,228 @@ import styles from "./index.module.css";
114
113
  </div>
115
114
  </div>
116
115
  </Layout>
116
+ <style>
117
+ .description {
118
+ font-size: 1.1rem;
119
+ @media (max-width: 720px) {
120
+ font-size: 1rem;
121
+ }
122
+ }
123
+
124
+ h2 {
125
+ font-size: 1.4rem;
126
+ font-weight: 600;
127
+ @media (max-width: 720px) {
128
+ font-size: 1.15rem;
129
+ }
130
+ }
131
+
132
+ section {
133
+ display: flex;
134
+ flex-direction: column;
135
+ margin-top: 1.5rem;
136
+ margin-bottom: 1rem;
137
+
138
+ @media (max-width: 720px) {
139
+ margin-top: 1.5rem;
140
+ margin-bottom: 0rem;
141
+ }
142
+ }
143
+
144
+ .rounded-md {
145
+ border-radius: 0.375rem;
146
+ }
147
+
148
+ .repos {
149
+ display: grid;
150
+ grid-template-columns: auto auto;
151
+ gap: 1rem;
152
+ margin-top: 0.5rem;
153
+
154
+ @media (max-width: 720px) {
155
+ gap: 1rem;
156
+ grid-template-columns: auto;
157
+ }
158
+ }
159
+
160
+ .pageContainer {
161
+ margin-left: auto;
162
+ margin-right: auto;
163
+ margin-bottom: 2.5rem;
164
+ /* mb-10 */
165
+ }
166
+
167
+ .title {
168
+ font-size: 1.875rem;
169
+ line-height: 2.25rem;
170
+ font-weight: 700;
171
+ margin-bottom: 1rem;
172
+ @media (max-width: 720px) {
173
+ font-size: 1.6rem;
174
+ }
175
+ }
176
+
177
+ .firstSection {
178
+ display: flex;
179
+ flex-direction: column;
180
+ }
181
+
182
+ .firstPara {
183
+ display: flex;
184
+ flex-direction: row;
185
+ }
186
+
187
+ .linkUnderline {
188
+ text-decoration-line: underline;
189
+ }
190
+
191
+ .gridContainer {
192
+ display: grid;
193
+ grid-template-columns: repeat(1, minmax(0, 1fr));
194
+ gap: 1rem;
195
+
196
+ @media (max-width: 720px) {
197
+ gap: 0rem;
198
+ }
199
+ }
200
+
201
+ @media (min-width: 640px) {
202
+ /* sm: */
203
+ .gridContainer {
204
+ grid-template-columns: repeat(2, minmax(0, 1fr));
205
+ /* sm:grid-cols-2 */
206
+ gap: 2rem;
207
+ /* sm:gap-8 */
208
+ }
209
+ }
210
+
211
+ .repo {
212
+ text-overflow: ellipsis;
213
+ overflow: hidden;
214
+ padding: 0.5rem;
215
+ background: var(--color-box-bg);
216
+ color: var(--color-text);
217
+ font-size: 0.95rem;
218
+
219
+ a {
220
+ color: var(--color-link);
221
+ }
222
+
223
+ h4 {
224
+ font-size: 1.05rem;
225
+ font-weight: 500;
226
+ line-height: 1.2;
227
+ border-bottom: 1px solid #495057;
228
+ text-overflow: ellipsis;
229
+ white-space: nowrap;
230
+ overflow: hidden;
231
+ margin-bottom: 0;
232
+ padding: 0;
233
+ }
234
+
235
+ .tags {
236
+ margin-top: 0.5rem;
237
+ display: flex;
238
+ flex-wrap: wrap;
239
+ gap: 0.25rem;
240
+ }
241
+
242
+ .tag {
243
+ color: var(--color-tag);
244
+ padding: 0.15rem 0.5rem 0.5rem 0rem;
245
+ border-radius: 0.25rem;
246
+ font-size: 0.95rem;
247
+ font-weight: 500;
248
+ }
249
+ }
250
+
251
+ .interests {
252
+ ul {
253
+ display: grid;
254
+ gap: 0.5rem;
255
+ grid-template-columns: auto auto auto;
256
+ text-align: center;
257
+ margin-top: 0.5rem;
258
+ font-size: 1.1rem;
259
+
260
+ li {
261
+ background-color: var(--color-box-bg);
262
+ padding: 0.25rem;
263
+ }
264
+ }
265
+ }
266
+
267
+ .contact {
268
+ ul {
269
+ display: grid;
270
+ gap: 0.5rem;
271
+ grid-template-columns: auto;
272
+ margin-top: 0.5rem;
273
+
274
+ li {
275
+ display: flex;
276
+ flex-direction: row;
277
+ align-items: baseline;
278
+ padding: 0.25rem;
279
+ background-color: var(--color-box-bg);
280
+ font-size: 1.1rem;
281
+
282
+ @media (max-width: 720px) {
283
+ font-size: 1rem;
284
+ flex-direction: column;
285
+ }
286
+ }
287
+
288
+ a {
289
+ color: var(--color-link);
290
+ }
291
+
292
+ strong {
293
+ font-weight: 500;
294
+ margin-left: 0.25rem;
295
+ margin-right: 0.5rem;
296
+ }
297
+ }
298
+ }
299
+
300
+ .tools {
301
+ img {
302
+ width: 36px;
303
+ height: 36px;
304
+ }
305
+
306
+ ul {
307
+ display: grid;
308
+ gap: 0.5rem;
309
+ grid-template-columns: auto auto auto auto;
310
+ text-align: center;
311
+ margin-top: 0.5rem;
312
+
313
+ @media (max-width: 720px) {
314
+ grid-template-columns: auto auto auto;
315
+ }
316
+
317
+ li {
318
+ display: flex;
319
+ align-items: center;
320
+ background-color: var(--color-box-bg);
321
+ padding: 0.25rem;
322
+ font-size: 1rem;
323
+
324
+ a {
325
+ display: flex;
326
+ flex: 1;
327
+ flex-direction: row;
328
+ align-items: center;
329
+ text-align: left;
330
+ margin-left: 0.25rem;
331
+ margin-right: 0.25rem;
332
+
333
+ div {
334
+ flex: 1;
335
+ }
336
+ }
337
+ }
338
+ }
339
+ }
340
+ </style>
src/pages/index.module.css DELETED
@@ -1,224 +0,0 @@
1
- .description {
2
- font-size: 1.1rem;
3
- @media (max-width: 720px) {
4
- font-size: 1rem;
5
- }
6
- }
7
-
8
- h2 {
9
- font-size: 1.4rem;
10
- font-weight: 600;
11
- @media (max-width: 720px) {
12
- font-size: 1.15rem;
13
- }
14
- }
15
-
16
- section {
17
- display: flex;
18
- flex-direction: column;
19
- margin-top: 1.5rem;
20
- margin-bottom: 1rem;
21
-
22
- @media (max-width: 720px) {
23
- margin-top: 1.5rem;
24
- margin-bottom: 0rem;
25
- }
26
- }
27
-
28
- .rounded-md {
29
- border-radius: 0.375rem;
30
- }
31
-
32
- .repos {
33
- display: grid;
34
- grid-template-columns: auto auto;
35
- gap: 1rem;
36
- margin-top: 0.5rem;
37
-
38
- @media (max-width: 720px) {
39
- gap: 1rem;
40
- grid-template-columns: auto;
41
- }
42
- }
43
-
44
- .pageContainer {
45
- margin-left: auto;
46
- margin-right: auto;
47
- margin-bottom: 2.5rem;
48
- /* mb-10 */
49
- }
50
-
51
- .title {
52
- font-size: 1.875rem;
53
- line-height: 2.25rem;
54
- font-weight: 700;
55
- margin-bottom: 1rem;
56
- @media (max-width: 720px) {
57
- font-size: 1.6rem;
58
- }
59
- }
60
-
61
- .firstSection {
62
- display: flex;
63
- flex-direction: column;
64
- }
65
-
66
- .firstPara {
67
- display: flex;
68
- flex-direction: row;
69
- }
70
-
71
- .linkUnderline {
72
- text-decoration-line: underline;
73
- }
74
-
75
- .gridContainer {
76
- display: grid;
77
- grid-template-columns: repeat(1, minmax(0, 1fr));
78
- gap: 1rem;
79
-
80
- @media (max-width: 720px) {
81
- gap: 0rem;
82
- }
83
- }
84
-
85
- @media (min-width: 640px) {
86
-
87
- /* sm: */
88
- .gridContainer {
89
- grid-template-columns: repeat(2, minmax(0, 1fr));
90
- /* sm:grid-cols-2 */
91
- gap: 2rem;
92
- /* sm:gap-8 */
93
- }
94
- }
95
-
96
- .repo {
97
- text-overflow: ellipsis;
98
- overflow: hidden;
99
- padding: 0.5rem;
100
- background: var(--color-box-bg);
101
- color: var(--color-text);
102
- font-size: 0.95rem;
103
-
104
- a {
105
- color: var(--color-link);
106
- }
107
-
108
- h4 {
109
- font-size: 1.05rem;
110
- font-weight: 500;
111
- line-height: 1.2;
112
- border-bottom: 1px solid #495057;
113
- text-overflow: ellipsis;
114
- white-space: nowrap;
115
- overflow: hidden;
116
- margin-bottom: 0;
117
- padding: 0;
118
- }
119
-
120
- .tags {
121
- margin-top: 0.5rem;
122
- display: flex;
123
- flex-wrap: wrap;
124
- gap: 0.25rem;
125
- }
126
-
127
- .tag {
128
- color: var(--color-tag);
129
- padding: 0.15rem 0.5rem 0.5rem 0rem;
130
- border-radius: 0.25rem;
131
- font-size: 0.95rem;
132
- font-weight: 500;
133
- }
134
- }
135
-
136
- .interests {
137
- ul {
138
- display: grid;
139
- gap: 0.5rem;
140
- grid-template-columns: auto auto auto;
141
- text-align: center;
142
- margin-top: 0.5rem;
143
- font-size: 1.1rem;
144
-
145
- li {
146
- background-color: var(--color-box-bg);
147
- padding: 0.25rem;
148
- }
149
- }
150
- }
151
-
152
- .contact {
153
- ul {
154
- display: grid;
155
- gap: 0.5rem;
156
- grid-template-columns: auto;
157
- margin-top: 0.5rem;
158
-
159
- li {
160
- display: flex;
161
- flex-direction: row;
162
- align-items: baseline;
163
- padding: 0.25rem;
164
- background-color: var(--color-box-bg);
165
- font-size: 1.1rem;
166
-
167
- @media (max-width: 720px) {
168
- font-size: 1rem;
169
- flex-direction: column;
170
- }
171
- }
172
-
173
- a {
174
- color: var(--color-link);
175
- }
176
-
177
- strong {
178
- font-weight: 500;
179
- margin-left: 0.25rem;
180
- margin-right: 0.5rem;
181
- }
182
- }
183
- }
184
-
185
- .tools {
186
- img {
187
- width: 36px;
188
- height: 36px;
189
- }
190
-
191
- ul {
192
- display: grid;
193
- gap: 0.5rem;
194
- grid-template-columns: auto auto auto auto;
195
- text-align: center;
196
- margin-top: 0.5rem;
197
-
198
- @media (max-width: 720px) {
199
- grid-template-columns: auto auto auto;
200
- }
201
-
202
- li {
203
- display: flex;
204
- align-items: center;
205
- background-color: var(--color-box-bg);
206
- padding: 0.25rem;
207
- font-size: 1rem;
208
-
209
- a {
210
- display: flex;
211
- flex: 1;
212
- flex-direction: row;
213
- align-items: center;
214
- text-align: left;
215
- margin-left: 0.25rem;
216
- margin-right: 0.25rem;
217
-
218
- div {
219
- flex: 1;
220
- }
221
- }
222
- }
223
- }
224
- }