heyiam 0.3.4 → 0.3.7
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.
- package/dist/export.js +19 -5
- package/dist/llm/project-enhance.js +11 -5
- package/dist/mount.js +9 -7
- package/dist/public/assets/{index-Cq04whgG.js → index-BDh4ne9u.js} +3 -3
- package/dist/public/assets/index-ByoBtx7P.css +1 -0
- package/dist/public/index.html +2 -2
- package/dist/render/build-render-data.js +1 -0
- package/dist/render/liquid.js +12 -2
- package/dist/render/mock-data.js +6 -0
- package/dist/render/select-profile-skills.js +54 -0
- package/dist/render/templates/aurora/portfolio.liquid +4 -4
- package/dist/render/templates/aurora/project.liquid +1 -1
- package/dist/render/templates/aurora/styles.css +6 -6
- package/dist/render/templates/bauhaus/portfolio.liquid +4 -4
- package/dist/render/templates/bauhaus/project.liquid +1 -1
- package/dist/render/templates/bauhaus/styles.css +1 -1
- package/dist/render/templates/blueprint/portfolio.liquid +4 -4
- package/dist/render/templates/blueprint/project.liquid +1 -1
- package/dist/render/templates/blueprint/styles.css +1 -1
- package/dist/render/templates/canvas/portfolio.liquid +4 -4
- package/dist/render/templates/canvas/project.liquid +1 -1
- package/dist/render/templates/canvas/styles.css +2 -2
- package/dist/render/templates/carbon/portfolio.liquid +4 -4
- package/dist/render/templates/carbon/project.liquid +1 -1
- package/dist/render/templates/carbon/styles.css +7 -7
- package/dist/render/templates/chalk/portfolio.liquid +4 -4
- package/dist/render/templates/chalk/project.liquid +1 -1
- package/dist/render/templates/chalk/styles.css +44 -2
- package/dist/render/templates/circuit/portfolio.liquid +4 -4
- package/dist/render/templates/circuit/project.liquid +1 -1
- package/dist/render/templates/cosmos/portfolio.liquid +4 -4
- package/dist/render/templates/cosmos/project.liquid +1 -1
- package/dist/render/templates/cosmos/styles.css +4 -4
- package/dist/render/templates/daylight/portfolio.liquid +4 -4
- package/dist/render/templates/daylight/project.liquid +1 -1
- package/dist/render/templates/editorial/portfolio.liquid +4 -4
- package/dist/render/templates/editorial/project.liquid +1 -1
- package/dist/render/templates/editorial/styles.css +6 -1
- package/dist/render/templates/ember/portfolio.liquid +4 -4
- package/dist/render/templates/ember/project.liquid +1 -1
- package/dist/render/templates/ember/styles.css +2 -2
- package/dist/render/templates/glacier/portfolio.liquid +4 -4
- package/dist/render/templates/glacier/project.liquid +1 -1
- package/dist/render/templates/glacier/styles.css +2 -2
- package/dist/render/templates/grid/portfolio.liquid +4 -4
- package/dist/render/templates/grid/project.liquid +1 -1
- package/dist/render/templates/grid/styles.css +2 -2
- package/dist/render/templates/kinetic/portfolio.liquid +5 -5
- package/dist/render/templates/kinetic/project.liquid +1 -1
- package/dist/render/templates/kinetic/styles.css +20 -14
- package/dist/render/templates/meridian/portfolio.liquid +4 -4
- package/dist/render/templates/meridian/project.liquid +1 -1
- package/dist/render/templates/meridian/styles.css +1 -1
- package/dist/render/templates/minimal/portfolio.liquid +3 -3
- package/dist/render/templates/minimal/project.liquid +1 -1
- package/dist/render/templates/mono/portfolio.liquid +4 -4
- package/dist/render/templates/mono/project.liquid +1 -1
- package/dist/render/templates/mono/styles.css +15 -1
- package/dist/render/templates/neon/portfolio.liquid +4 -4
- package/dist/render/templates/neon/project.liquid +1 -1
- package/dist/render/templates/neon/styles.css +11 -20
- package/dist/render/templates/noir/portfolio.liquid +4 -4
- package/dist/render/templates/noir/project.liquid +1 -1
- package/dist/render/templates/noir/styles.css +5 -5
- package/dist/render/templates/obsidian/portfolio.liquid +4 -4
- package/dist/render/templates/obsidian/project.liquid +1 -1
- package/dist/render/templates/obsidian/styles.css +2 -2
- package/dist/render/templates/paper/portfolio.liquid +4 -4
- package/dist/render/templates/paper/project.liquid +1 -1
- package/dist/render/templates/paper/styles.css +60 -1
- package/dist/render/templates/parallax/portfolio.liquid +4 -4
- package/dist/render/templates/parallax/project.liquid +1 -1
- package/dist/render/templates/parallax/styles.css +1 -1
- package/dist/render/templates/parchment/portfolio.liquid +4 -4
- package/dist/render/templates/parchment/project.liquid +1 -1
- package/dist/render/templates/parchment/styles.css +3 -3
- package/dist/render/templates/project.liquid +1 -1
- package/dist/render/templates/radar/portfolio.liquid +4 -4
- package/dist/render/templates/radar/project.liquid +1 -1
- package/dist/render/templates/radar/styles.css +4 -4
- package/dist/render/templates/showcase/portfolio.liquid +4 -4
- package/dist/render/templates/showcase/project.liquid +1 -1
- package/dist/render/templates/showcase/styles.css +7 -7
- package/dist/render/templates/signal/portfolio.liquid +4 -4
- package/dist/render/templates/signal/project.liquid +1 -1
- package/dist/render/templates/signal/styles.css +5 -5
- package/dist/render/templates/strata/portfolio.liquid +4 -4
- package/dist/render/templates/strata/project.liquid +1 -1
- package/dist/render/templates/strata/styles.css +3 -3
- package/dist/render/templates/styles.css +39 -28
- package/dist/render/templates/terminal/portfolio.liquid +2 -2
- package/dist/render/templates/terminal/project.liquid +1 -1
- package/dist/render/templates/verdant/portfolio.liquid +4 -4
- package/dist/render/templates/verdant/project.liquid +1 -1
- package/dist/render/templates/verdant/styles.css +17 -2
- package/dist/render/templates/zen/portfolio.liquid +4 -4
- package/dist/render/templates/zen/project.liquid +1 -1
- package/dist/render/templates/zen/styles.css +8 -8
- package/dist/routes/export.js +1 -0
- package/dist/routes/github.js +1 -1
- package/dist/routes/portfolio-render-data.js +17 -3
- package/dist/routes/preview.js +33 -3
- package/dist/routes/project-session-upload.js +4 -3
- package/dist/routes/publish.js +120 -17
- package/dist/settings.js +14 -1
- package/package.json +1 -1
- package/dist/public/assets/index-CMyamplX.css +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="heyiam-project minimal" data-render-version="2" data-template="minimal"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
1
|
+
<div class="heyiam-project minimal" data-render-version="2" data-template="minimal"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-session-suffix="{{ sessionSuffix }}" data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
2
2
|
|
|
3
3
|
<div class="mn-project">
|
|
4
4
|
|
|
@@ -119,17 +119,17 @@
|
|
|
119
119
|
<h3 class="project-name">{{ p.title }}</h3>
|
|
120
120
|
</div>
|
|
121
121
|
<div class="project-card-body">
|
|
122
|
-
{% if p.
|
|
123
|
-
<p class="project-narrative">{{ p.
|
|
122
|
+
{% if p.tagline != blank %}
|
|
123
|
+
<p class="project-narrative">{{ p.tagline }}</p>
|
|
124
124
|
{% endif %}
|
|
125
125
|
<div class="project-stats-row">
|
|
126
126
|
<span class="project-stat"><strong>{{ p.totalSessions }}</strong> sessions</span>
|
|
127
127
|
<span class="project-stat"><strong>{{ p.totalDurationMinutes | formatDuration }}</strong></span>
|
|
128
128
|
<span class="project-stat"><strong>{{ p.totalLoc | localeNumber }}</strong> LOC</span>
|
|
129
129
|
</div>
|
|
130
|
-
{% if p.
|
|
130
|
+
{% if p.profileSkills.size > 0 %}
|
|
131
131
|
<div class="project-tags">
|
|
132
|
-
{% for skill in p.
|
|
132
|
+
{% for skill in p.profileSkills %}
|
|
133
133
|
<span class="tag">[{{ skill }}]</span>
|
|
134
134
|
{% endfor %}
|
|
135
135
|
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="heyiam-project mono" data-render-version="2" data-template="mono"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
1
|
+
<div class="heyiam-project mono" data-render-version="2" data-template="mono"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-session-suffix="{{ sessionSuffix }}" data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
2
2
|
|
|
3
3
|
<div class="mono-page">
|
|
4
4
|
|
|
@@ -12,7 +12,7 @@ body { background: var(--mono-bg, #0a0a0a); color: var(--mono-text, #e0e0e0); }
|
|
|
12
12
|
background: var(--mono-bg, #0a0a0a);
|
|
13
13
|
color: var(--mono-text, #e0e0e0);
|
|
14
14
|
font-family: var(--font, 'JetBrains Mono', monospace);
|
|
15
|
-
font-size:
|
|
15
|
+
font-size: 16px;
|
|
16
16
|
line-height: 1.6;
|
|
17
17
|
-webkit-font-smoothing: antialiased;
|
|
18
18
|
}
|
|
@@ -996,6 +996,20 @@ body { background: var(--mono-bg, #0a0a0a); color: var(--mono-text, #e0e0e0); }
|
|
|
996
996
|
.mono .git-log-entry { font-size: 0.75rem; }
|
|
997
997
|
}
|
|
998
998
|
|
|
999
|
+
@media (max-width: 480px) {
|
|
1000
|
+
.mono .mono-page { padding: 1rem 0.75rem; }
|
|
1001
|
+
.mono .hero-title { font-size: 1.25rem; }
|
|
1002
|
+
.mono .hero-title--project { font-size: 1.25rem; }
|
|
1003
|
+
.mono .hero-title--session { font-size: 1.0625rem; }
|
|
1004
|
+
.mono .stats-row,
|
|
1005
|
+
.mono .stats-grid { grid-template-columns: 1fr; }
|
|
1006
|
+
.mono .stat-cell { padding: 0.625rem 0.75rem; }
|
|
1007
|
+
.mono .terminal-header { padding: 0.375rem 0.75rem; font-size: 0.6875rem; }
|
|
1008
|
+
.mono .ascii-label { width: 50px; font-size: 0.5625rem; }
|
|
1009
|
+
.mono .hero-meta { flex-direction: column; align-items: flex-start; gap: 0.25rem; }
|
|
1010
|
+
.mono .hero-contact { flex-direction: column; align-items: center; gap: 0.25rem; }
|
|
1011
|
+
}
|
|
1012
|
+
|
|
999
1013
|
@media (prefers-reduced-motion: reduce) {
|
|
1000
1014
|
.mono .hero-title,
|
|
1001
1015
|
.mono .hero-title--project {
|
|
@@ -85,12 +85,12 @@
|
|
|
85
85
|
{% for p in projects %}
|
|
86
86
|
<article class="project-card fade-in">
|
|
87
87
|
<a href="/{{ user.username }}/{{ p.slug }}" class="project-title">{{ p.title }}</a>
|
|
88
|
-
{% if p.
|
|
89
|
-
<p class="project-narrative">{{ p.
|
|
88
|
+
{% if p.tagline != blank %}
|
|
89
|
+
<p class="project-narrative">{{ p.tagline }}</p>
|
|
90
90
|
{% endif %}
|
|
91
|
-
{% if p.
|
|
91
|
+
{% if p.profileSkills.size > 0 %}
|
|
92
92
|
<ul class="skills-list" aria-label="Skills used in {{ p.title }}">
|
|
93
|
-
{% for skill in p.
|
|
93
|
+
{% for skill in p.profileSkills %}
|
|
94
94
|
<li class="skill-chip">{{ skill }}</li>
|
|
95
95
|
{% endfor %}
|
|
96
96
|
</ul>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="heyiam-project neon" data-render-version="2" data-template="neon"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
1
|
+
<div class="heyiam-project neon" data-render-version="2" data-template="neon"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-session-suffix="{{ sessionSuffix }}" data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
2
2
|
|
|
3
3
|
<div class="grid-bg" aria-hidden="true"></div>
|
|
4
4
|
|
|
@@ -17,8 +17,8 @@ body { background: var(--neon-bg); color: var(--neon-text); }
|
|
|
17
17
|
--neon-cyan-dim: rgba(34, 211, 238, 0.15);
|
|
18
18
|
--neon-cyan-glow: rgba(34, 211, 238, 0.3);
|
|
19
19
|
--neon-text: #f0e6ff;
|
|
20
|
-
--neon-text-secondary: #
|
|
21
|
-
--neon-text-tertiary: #
|
|
20
|
+
--neon-text-secondary: #c4abd9;
|
|
21
|
+
--neon-text-tertiary: #a894c0;
|
|
22
22
|
--neon-border: rgba(244, 114, 182, 0.2);
|
|
23
23
|
--neon-border-cyan: rgba(34, 211, 238, 0.2);
|
|
24
24
|
--neon-font-display: 'Space Grotesk', system-ui, sans-serif;
|
|
@@ -165,10 +165,7 @@ body { background: var(--neon-bg); color: var(--neon-text); }
|
|
|
165
165
|
font-family: var(--neon-font-display);
|
|
166
166
|
font-size: clamp(2.25rem, 5vw, 3.5rem);
|
|
167
167
|
font-weight: 700;
|
|
168
|
-
|
|
169
|
-
-webkit-background-clip: text;
|
|
170
|
-
-webkit-text-fill-color: transparent;
|
|
171
|
-
background-clip: text;
|
|
168
|
+
color: var(--neon-text);
|
|
172
169
|
margin-bottom: 1rem;
|
|
173
170
|
line-height: 1.15;
|
|
174
171
|
}
|
|
@@ -339,7 +336,7 @@ body { background: var(--neon-bg); color: var(--neon-text); }
|
|
|
339
336
|
.neon .project-narrative {
|
|
340
337
|
color: var(--neon-text-secondary);
|
|
341
338
|
margin-top: 0.75rem;
|
|
342
|
-
font-size:
|
|
339
|
+
font-size: 1rem;
|
|
343
340
|
line-height: 1.65;
|
|
344
341
|
}
|
|
345
342
|
|
|
@@ -577,10 +574,7 @@ body { background: var(--neon-bg); color: var(--neon-text); }
|
|
|
577
574
|
font-family: var(--neon-font-display);
|
|
578
575
|
font-size: clamp(2rem, 4.5vw, 3rem);
|
|
579
576
|
font-weight: 700;
|
|
580
|
-
|
|
581
|
-
-webkit-background-clip: text;
|
|
582
|
-
-webkit-text-fill-color: transparent;
|
|
583
|
-
background-clip: text;
|
|
577
|
+
color: var(--neon-text);
|
|
584
578
|
line-height: 1.15;
|
|
585
579
|
margin-bottom: 0.75rem;
|
|
586
580
|
}
|
|
@@ -638,7 +632,7 @@ body { background: var(--neon-bg); color: var(--neon-text); }
|
|
|
638
632
|
.neon .narrative p {
|
|
639
633
|
color: var(--neon-text-secondary);
|
|
640
634
|
margin-bottom: 1rem;
|
|
641
|
-
font-size:
|
|
635
|
+
font-size: 1rem;
|
|
642
636
|
line-height: 1.7;
|
|
643
637
|
}
|
|
644
638
|
|
|
@@ -666,7 +660,7 @@ body { background: var(--neon-bg); color: var(--neon-text); }
|
|
|
666
660
|
.neon .stat-item:nth-child(odd) .value { color: var(--neon-pink); }
|
|
667
661
|
.neon .stat-item:nth-child(even) .value { color: var(--neon-cyan); }
|
|
668
662
|
.neon .stat-item .label {
|
|
669
|
-
font-size: 0.
|
|
663
|
+
font-size: 0.75rem;
|
|
670
664
|
color: var(--neon-text-tertiary);
|
|
671
665
|
margin-top: 0.15rem;
|
|
672
666
|
text-transform: uppercase;
|
|
@@ -789,7 +783,7 @@ body { background: var(--neon-bg); color: var(--neon-text); }
|
|
|
789
783
|
border: 1px solid var(--neon-border);
|
|
790
784
|
border-radius: var(--neon-radius-lg);
|
|
791
785
|
margin-bottom: 0.75rem;
|
|
792
|
-
font-size:
|
|
786
|
+
font-size: 1rem;
|
|
793
787
|
color: var(--neon-text-secondary);
|
|
794
788
|
position: relative;
|
|
795
789
|
padding-inline-start: 3rem;
|
|
@@ -911,10 +905,7 @@ body { background: var(--neon-bg); color: var(--neon-text); }
|
|
|
911
905
|
font-family: var(--neon-font-display);
|
|
912
906
|
font-size: clamp(1.5rem, 3.5vw, 2.25rem);
|
|
913
907
|
font-weight: 700;
|
|
914
|
-
|
|
915
|
-
-webkit-background-clip: text;
|
|
916
|
-
-webkit-text-fill-color: transparent;
|
|
917
|
-
background-clip: text;
|
|
908
|
+
color: var(--neon-text);
|
|
918
909
|
line-height: 1.2;
|
|
919
910
|
margin-bottom: 1rem;
|
|
920
911
|
}
|
|
@@ -957,7 +948,7 @@ body { background: var(--neon-bg); color: var(--neon-text); }
|
|
|
957
948
|
.neon .session-stat:nth-child(odd) .value { color: var(--neon-pink); }
|
|
958
949
|
.neon .session-stat:nth-child(even) .value { color: var(--neon-cyan); }
|
|
959
950
|
.neon .session-stat .label {
|
|
960
|
-
font-size: 0.
|
|
951
|
+
font-size: 0.75rem;
|
|
961
952
|
color: var(--neon-text-tertiary);
|
|
962
953
|
text-transform: uppercase;
|
|
963
954
|
letter-spacing: 0.04em;
|
|
@@ -995,7 +986,7 @@ body { background: var(--neon-bg); color: var(--neon-text); }
|
|
|
995
986
|
}
|
|
996
987
|
.neon .dev-take p {
|
|
997
988
|
color: var(--neon-text-secondary);
|
|
998
|
-
font-size:
|
|
989
|
+
font-size: 1rem;
|
|
999
990
|
font-style: italic;
|
|
1000
991
|
line-height: 1.65;
|
|
1001
992
|
}
|
|
@@ -97,12 +97,12 @@
|
|
|
97
97
|
<a href="/{{ user.username }}/{{ p.slug }}" class="noir-project" aria-label="{{ p.title }} project">
|
|
98
98
|
<div>
|
|
99
99
|
<h3 class="noir-project__title">{{ p.title }}</h3>
|
|
100
|
-
{% if p.
|
|
101
|
-
<p class="noir-project__narrative">{{ p.
|
|
100
|
+
{% if p.tagline != blank %}
|
|
101
|
+
<p class="noir-project__narrative">{{ p.tagline }}</p>
|
|
102
102
|
{% endif %}
|
|
103
|
-
{% if p.
|
|
103
|
+
{% if p.profileSkills.size > 0 %}
|
|
104
104
|
<div class="noir-project__skills" aria-label="Skills">
|
|
105
|
-
{% for skill in p.
|
|
105
|
+
{% for skill in p.profileSkills %}
|
|
106
106
|
<span class="noir-chip">{{ skill }}</span>
|
|
107
107
|
{% endfor %}
|
|
108
108
|
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="noir-page" data-render-version="2" data-template="noir"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
1
|
+
<div class="noir-page" data-render-version="2" data-template="noir"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-session-suffix="{{ sessionSuffix }}" data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
2
2
|
|
|
3
3
|
<!-- Breadcrumb -->
|
|
4
4
|
<nav class="noir-breadcrumb" aria-label="Breadcrumb">
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
--noir-border: #2a2a2a;
|
|
11
11
|
--noir-border-strong: #404040;
|
|
12
12
|
--noir-text: #e5e5e5;
|
|
13
|
-
--noir-text-secondary: #
|
|
14
|
-
--noir-text-muted: #
|
|
13
|
+
--noir-text-secondary: #b8b8b8;
|
|
14
|
+
--noir-text-muted: #9a9a9a;
|
|
15
15
|
--noir-white: #ffffff;
|
|
16
16
|
--noir-highlight: #e5e5e5;
|
|
17
17
|
--noir-rule: #333333;
|
|
@@ -194,7 +194,7 @@ body { background: var(--noir-bg); color: var(--noir-text); }
|
|
|
194
194
|
|
|
195
195
|
.noir-stats-row__label {
|
|
196
196
|
font-family: var(--font-mono);
|
|
197
|
-
font-size: 0.
|
|
197
|
+
font-size: 0.75rem;
|
|
198
198
|
color: var(--noir-text-muted);
|
|
199
199
|
text-transform: uppercase;
|
|
200
200
|
letter-spacing: 0.1em;
|
|
@@ -345,7 +345,7 @@ body { background: var(--noir-bg); color: var(--noir-text); }
|
|
|
345
345
|
|
|
346
346
|
.noir-project__stat-label {
|
|
347
347
|
font-family: var(--font-mono);
|
|
348
|
-
font-size: 0.
|
|
348
|
+
font-size: 0.75rem;
|
|
349
349
|
color: var(--noir-text-muted);
|
|
350
350
|
text-transform: uppercase;
|
|
351
351
|
letter-spacing: 0.08em;
|
|
@@ -507,7 +507,7 @@ body { background: var(--noir-bg); color: var(--noir-text); }
|
|
|
507
507
|
|
|
508
508
|
.noir-stat-cell__label {
|
|
509
509
|
font-family: var(--font-mono);
|
|
510
|
-
font-size: 0.
|
|
510
|
+
font-size: 0.75rem;
|
|
511
511
|
color: var(--noir-text-muted);
|
|
512
512
|
text-transform: uppercase;
|
|
513
513
|
letter-spacing: 0.1em;
|
|
@@ -96,12 +96,12 @@
|
|
|
96
96
|
<span>{{ p.totalLoc | formatLoc }} LOC</span>
|
|
97
97
|
</div>
|
|
98
98
|
</div>
|
|
99
|
-
{% if p.
|
|
100
|
-
<p class="project-narrative">{{ p.
|
|
99
|
+
{% if p.tagline != blank %}
|
|
100
|
+
<p class="project-narrative">{{ p.tagline }}</p>
|
|
101
101
|
{% endif %}
|
|
102
|
-
{% if p.
|
|
102
|
+
{% if p.profileSkills.size > 0 %}
|
|
103
103
|
<div class="project-skills">
|
|
104
|
-
{% for skill in p.
|
|
104
|
+
{% for skill in p.profileSkills %}
|
|
105
105
|
<span class="skill-tag chip">{{ skill }}</span>
|
|
106
106
|
{% endfor %}
|
|
107
107
|
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="heyiam-project obsidian" data-render-version="2" data-template="obsidian"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
1
|
+
<div class="heyiam-project obsidian" data-render-version="2" data-template="obsidian"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-session-suffix="{{ sessionSuffix }}" data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
2
2
|
|
|
3
3
|
<a href="#main" class="skip-link">Skip to content</a>
|
|
4
4
|
|
|
@@ -327,7 +327,7 @@ body { background: var(--obs-bg); color: var(--obs-text); }
|
|
|
327
327
|
}
|
|
328
328
|
.obsidian .stat-label {
|
|
329
329
|
font-family: var(--font-mono);
|
|
330
|
-
font-size:
|
|
330
|
+
font-size: 12px;
|
|
331
331
|
text-transform: uppercase;
|
|
332
332
|
letter-spacing: 0.08em;
|
|
333
333
|
color: var(--fg-dim);
|
|
@@ -340,7 +340,7 @@ body { background: var(--obs-bg); color: var(--obs-text); }
|
|
|
340
340
|
font-size: clamp(20px, 3vw, 28px);
|
|
341
341
|
}
|
|
342
342
|
.obsidian.heyiam-project .stat-label {
|
|
343
|
-
font-size:
|
|
343
|
+
font-size: 12px;
|
|
344
344
|
}
|
|
345
345
|
.obsidian .stat-card--leverage {
|
|
346
346
|
grid-column: span 2;
|
|
@@ -116,8 +116,8 @@
|
|
|
116
116
|
<h3 class="project-card__headline">
|
|
117
117
|
<a href="/{{ user.username }}/{{ p.slug }}">{{ p.title }}</a>
|
|
118
118
|
</h3>
|
|
119
|
-
{% if p.
|
|
120
|
-
<p class="project-card__narrative">{{ p.
|
|
119
|
+
{% if p.tagline != blank %}
|
|
120
|
+
<p class="project-card__narrative">{{ p.tagline }}</p>
|
|
121
121
|
{% endif %}
|
|
122
122
|
<p class="project-card__meta">
|
|
123
123
|
<span>{{ p.totalSessions }} sessions</span>
|
|
@@ -144,9 +144,9 @@
|
|
|
144
144
|
</p>
|
|
145
145
|
{% endif %}
|
|
146
146
|
{% endif %}
|
|
147
|
-
{% if p.
|
|
147
|
+
{% if p.profileSkills.size > 0 %}
|
|
148
148
|
<div class="project-card__skills" aria-label="Skills used in {{ p.title }}">
|
|
149
|
-
{% for skill in p.
|
|
149
|
+
{% for skill in p.profileSkills %}
|
|
150
150
|
<span class="skill-tag chip">{{ skill }}</span>
|
|
151
151
|
{% endfor %}
|
|
152
152
|
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="heyiam-project paper" data-render-version="2" data-template="paper"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
1
|
+
<div class="heyiam-project paper" data-render-version="2" data-template="paper"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-session-suffix="{{ sessionSuffix }}" data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
2
2
|
|
|
3
3
|
{%- comment -%} Masthead {%- endcomment -%}
|
|
4
4
|
<header class="masthead fade-in fade-in-d1" role="banner">
|
|
@@ -163,7 +163,7 @@ a:focus-visible {
|
|
|
163
163
|
padding: 0.75rem 0;
|
|
164
164
|
border-bottom: 1px solid var(--paper-border);
|
|
165
165
|
font-family: var(--paper-font-mono);
|
|
166
|
-
font-size: 0.
|
|
166
|
+
font-size: 0.875rem;
|
|
167
167
|
text-transform: uppercase;
|
|
168
168
|
letter-spacing: 0.06em;
|
|
169
169
|
}
|
|
@@ -1480,6 +1480,65 @@ a.session-card:hover {
|
|
|
1480
1480
|
}
|
|
1481
1481
|
}
|
|
1482
1482
|
|
|
1483
|
+
@media (max-width: 480px) {
|
|
1484
|
+
.page-wrapper {
|
|
1485
|
+
padding: 0 0.75rem;
|
|
1486
|
+
}
|
|
1487
|
+
.masthead {
|
|
1488
|
+
padding: 1.5rem 0 1rem;
|
|
1489
|
+
}
|
|
1490
|
+
.masthead__title {
|
|
1491
|
+
font-size: 1.5rem;
|
|
1492
|
+
}
|
|
1493
|
+
.masthead__edition {
|
|
1494
|
+
font-size: 0.75rem;
|
|
1495
|
+
flex-direction: column;
|
|
1496
|
+
gap: 0.25rem;
|
|
1497
|
+
}
|
|
1498
|
+
.byline {
|
|
1499
|
+
padding: 1rem 0;
|
|
1500
|
+
}
|
|
1501
|
+
.article-header__headline,
|
|
1502
|
+
.projects-section__heading {
|
|
1503
|
+
font-size: 1.25rem;
|
|
1504
|
+
}
|
|
1505
|
+
.project-card__headline {
|
|
1506
|
+
font-size: 1.125rem;
|
|
1507
|
+
}
|
|
1508
|
+
.session-meta {
|
|
1509
|
+
grid-template-columns: 1fr 1fr;
|
|
1510
|
+
gap: 0.5rem;
|
|
1511
|
+
}
|
|
1512
|
+
.stats-table th,
|
|
1513
|
+
.stats-table td {
|
|
1514
|
+
padding: 0.3rem 0.375rem;
|
|
1515
|
+
font-size: 0.75rem;
|
|
1516
|
+
}
|
|
1517
|
+
.stats-table td:last-child {
|
|
1518
|
+
font-size: 0.8125rem;
|
|
1519
|
+
}
|
|
1520
|
+
.timeline-table,
|
|
1521
|
+
.activity-table,
|
|
1522
|
+
.agents-table {
|
|
1523
|
+
font-size: 0.75rem;
|
|
1524
|
+
}
|
|
1525
|
+
.timeline-table th,
|
|
1526
|
+
.timeline-table td,
|
|
1527
|
+
.activity-table th,
|
|
1528
|
+
.activity-table td,
|
|
1529
|
+
.agents-table th,
|
|
1530
|
+
.agents-table td {
|
|
1531
|
+
padding: 0.3rem 0.375rem;
|
|
1532
|
+
}
|
|
1533
|
+
.nav-bar {
|
|
1534
|
+
flex-wrap: wrap;
|
|
1535
|
+
gap: 0.75rem;
|
|
1536
|
+
}
|
|
1537
|
+
.dev-take__text {
|
|
1538
|
+
font-size: 1rem;
|
|
1539
|
+
}
|
|
1540
|
+
}
|
|
1541
|
+
|
|
1483
1542
|
/* ── Medium breakpoint ── */
|
|
1484
1543
|
@media (min-width: 768px) and (max-width: 1023px) {
|
|
1485
1544
|
.projects-columns {
|
|
@@ -137,12 +137,12 @@
|
|
|
137
137
|
{% for p in projects %}
|
|
138
138
|
<a href="/{{ user.username }}/{{ p.slug }}" class="project-card reveal" data-float="0.08">
|
|
139
139
|
<h3 class="project-card__name">{{ p.title }}</h3>
|
|
140
|
-
{% if p.
|
|
141
|
-
<p class="project-card__narrative">{{ p.
|
|
140
|
+
{% if p.tagline != blank %}
|
|
141
|
+
<p class="project-card__narrative">{{ p.tagline }}</p>
|
|
142
142
|
{% endif %}
|
|
143
|
-
{% if p.
|
|
143
|
+
{% if p.profileSkills.size > 0 %}
|
|
144
144
|
<div class="project-card__skills">
|
|
145
|
-
{% for skill in p.
|
|
145
|
+
{% for skill in p.profileSkills %}
|
|
146
146
|
<span class="skill-chip">{{ skill }}</span>
|
|
147
147
|
{% endfor %}
|
|
148
148
|
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="heyiam-project parallax" data-render-version="2" data-template="parallax"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
1
|
+
<div class="heyiam-project parallax" data-render-version="2" data-template="parallax"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-session-suffix="{{ sessionSuffix }}" data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
2
2
|
|
|
3
3
|
<a href="#main-content" class="skip-link">Skip to content</a>
|
|
4
4
|
|
|
@@ -755,7 +755,7 @@ body { background: var(--px-bg); color: var(--px-text); }
|
|
|
755
755
|
color: var(--px-accent);
|
|
756
756
|
}
|
|
757
757
|
.stats-bar__label {
|
|
758
|
-
font-size: 0.
|
|
758
|
+
font-size: 0.75rem;
|
|
759
759
|
color: var(--px-text-tertiary);
|
|
760
760
|
text-transform: uppercase;
|
|
761
761
|
letter-spacing: 0.08em;
|
|
@@ -106,12 +106,12 @@
|
|
|
106
106
|
<h3 class="project-card__title">
|
|
107
107
|
<a href="/{{ user.username }}/{{ p.slug }}">{{ p.title }}</a>
|
|
108
108
|
</h3>
|
|
109
|
-
{% if p.
|
|
110
|
-
<p class="project-card__narrative">{{ p.
|
|
109
|
+
{% if p.tagline != blank %}
|
|
110
|
+
<p class="project-card__narrative">{{ p.tagline }}</p>
|
|
111
111
|
{% endif %}
|
|
112
|
-
{% if p.
|
|
112
|
+
{% if p.profileSkills.size > 0 %}
|
|
113
113
|
<div class="project-card__skills">
|
|
114
|
-
{% for skill in p.
|
|
114
|
+
{% for skill in p.profileSkills %}
|
|
115
115
|
<span class="skill-tag">{{ skill }}</span>
|
|
116
116
|
{% endfor %}
|
|
117
117
|
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="heyiam-project parchment" data-render-version="2" data-template="parchment"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
1
|
+
<div class="heyiam-project parchment" data-render-version="2" data-template="parchment"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-session-suffix="{{ sessionSuffix }}" data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
2
2
|
<a href="#main-content" class="skip-link">Skip to content</a>
|
|
3
3
|
|
|
4
4
|
<div class="page-wrapper">
|
|
@@ -367,7 +367,7 @@
|
|
|
367
367
|
}
|
|
368
368
|
.parchment .margin-stat__label {
|
|
369
369
|
font-family: var(--parch-font-mono);
|
|
370
|
-
font-size: 0.
|
|
370
|
+
font-size: 0.75rem;
|
|
371
371
|
color: var(--parch-text-tertiary);
|
|
372
372
|
text-transform: uppercase;
|
|
373
373
|
letter-spacing: 0.1em;
|
|
@@ -397,7 +397,7 @@
|
|
|
397
397
|
}
|
|
398
398
|
.parchment .project-stat__label {
|
|
399
399
|
font-family: var(--parch-font-mono);
|
|
400
|
-
font-size: 0.
|
|
400
|
+
font-size: 0.75rem;
|
|
401
401
|
color: var(--parch-text-tertiary);
|
|
402
402
|
text-transform: uppercase;
|
|
403
403
|
letter-spacing: 0.1em;
|
|
@@ -427,7 +427,7 @@
|
|
|
427
427
|
}
|
|
428
428
|
.parchment .session-stats-row__label {
|
|
429
429
|
font-family: var(--parch-font-mono);
|
|
430
|
-
font-size: 0.
|
|
430
|
+
font-size: 0.75rem;
|
|
431
431
|
color: var(--parch-text-tertiary);
|
|
432
432
|
text-transform: uppercase;
|
|
433
433
|
letter-spacing: 0.1em;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="heyiam-project" data-render-version="2"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
1
|
+
<div class="heyiam-project" data-render-version="2"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-session-suffix="{{ sessionSuffix }}" data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
2
2
|
|
|
3
3
|
{%- comment -%} Title {%- endcomment -%}
|
|
4
4
|
<h1 class="project-title" data-editable="title">{{ project.title }}</h1>
|
|
@@ -82,13 +82,13 @@
|
|
|
82
82
|
<a class="portfolio-card" href="/{{ user.username }}/{{ p.slug }}">
|
|
83
83
|
<div class="portfolio-card__bar portfolio-card__bar--cyan"></div>
|
|
84
84
|
<div class="portfolio-card__title">{{ p.title }}</div>
|
|
85
|
-
{% if p.
|
|
86
|
-
<div class="portfolio-card__desc">{{ p.
|
|
85
|
+
{% if p.tagline != blank %}
|
|
86
|
+
<div class="portfolio-card__desc">{{ p.tagline }}</div>
|
|
87
87
|
{% endif %}
|
|
88
88
|
<div class="portfolio-card__meta">{{ p.totalSessions }} sessions · {{ p.totalDurationMinutes | formatDuration }} · {{ p.totalLoc | formatLoc }} LOC</div>
|
|
89
|
-
{% if p.
|
|
89
|
+
{% if p.profileSkills.size > 0 %}
|
|
90
90
|
<div class="portfolio-card__skills">
|
|
91
|
-
{% for skill in p.
|
|
91
|
+
{% for skill in p.profileSkills %}
|
|
92
92
|
<span class="chip">{{ skill }}</span>
|
|
93
93
|
{% endfor %}
|
|
94
94
|
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="heyiam-project radar" data-render-version="2" data-template="radar"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
1
|
+
<div class="heyiam-project radar" data-render-version="2" data-template="radar"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-session-suffix="{{ sessionSuffix }}" data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
2
2
|
|
|
3
3
|
{%- comment -%} Breadcrumb {%- endcomment -%}
|
|
4
4
|
<nav class="radar-breadcrumb" aria-label="Breadcrumb">
|
|
@@ -249,7 +249,7 @@ body { background: var(--surface); color: var(--on-surface); }
|
|
|
249
249
|
|
|
250
250
|
.radar .portfolio-stat__label {
|
|
251
251
|
font-family: var(--font-mono);
|
|
252
|
-
font-size:
|
|
252
|
+
font-size: 12px;
|
|
253
253
|
text-transform: uppercase;
|
|
254
254
|
letter-spacing: 0.05em;
|
|
255
255
|
color: var(--on-surface-variant);
|
|
@@ -334,7 +334,7 @@ body { background: var(--surface); color: var(--on-surface); }
|
|
|
334
334
|
font-family: var(--font-mono);
|
|
335
335
|
font-size: 11px;
|
|
336
336
|
line-height: 1.2;
|
|
337
|
-
padding: 0.
|
|
337
|
+
padding: 0.25rem 0.5rem;
|
|
338
338
|
border-radius: var(--radius-sm);
|
|
339
339
|
background: var(--accent-faint);
|
|
340
340
|
color: var(--accent);
|
|
@@ -436,7 +436,7 @@ body { background: var(--surface); color: var(--on-surface); }
|
|
|
436
436
|
}
|
|
437
437
|
.radar .stat-card__label {
|
|
438
438
|
font-family: var(--font-mono);
|
|
439
|
-
font-size:
|
|
439
|
+
font-size: 12px;
|
|
440
440
|
text-transform: uppercase;
|
|
441
441
|
letter-spacing: 0.05em;
|
|
442
442
|
color: var(--on-surface-variant);
|
|
@@ -730,7 +730,7 @@ body { background: var(--surface); color: var(--on-surface); }
|
|
|
730
730
|
}
|
|
731
731
|
.radar .stat-card-sm__label {
|
|
732
732
|
font-family: var(--font-mono);
|
|
733
|
-
font-size:
|
|
733
|
+
font-size: 12px;
|
|
734
734
|
text-transform: uppercase;
|
|
735
735
|
letter-spacing: 0.05em;
|
|
736
736
|
color: var(--on-surface-variant);
|
|
@@ -96,17 +96,17 @@
|
|
|
96
96
|
<a href="/{{ user.username }}/{{ p.slug }}" class="sc-project-card sc-stagger" style="display: block; margin-bottom: 0.75rem;">
|
|
97
97
|
<div class="sc-project-card__accent-bar" style="background: var(--accent);"></div>
|
|
98
98
|
<div class="sc-project-card__title">{{ p.title }}</div>
|
|
99
|
-
{% if p.
|
|
100
|
-
<p class="sc-project-card__narrative">{{ p.
|
|
99
|
+
{% if p.tagline != blank %}
|
|
100
|
+
<p class="sc-project-card__narrative">{{ p.tagline }}</p>
|
|
101
101
|
{% endif %}
|
|
102
102
|
<div class="sc-project-card__meta">
|
|
103
103
|
<span>{{ p.totalSessions }} sessions</span>
|
|
104
104
|
<span>{{ p.totalDurationMinutes | formatDuration }}</span>
|
|
105
105
|
<span>{{ p.totalLoc | localeNumber }} LOC</span>
|
|
106
106
|
</div>
|
|
107
|
-
{% if p.
|
|
107
|
+
{% if p.profileSkills.size > 0 %}
|
|
108
108
|
<div class="sc-project-card__skills">
|
|
109
|
-
{% for skill in p.
|
|
109
|
+
{% for skill in p.profileSkills %}
|
|
110
110
|
<span class="sc-skill-chip">{{ skill }}</span>
|
|
111
111
|
{% endfor %}
|
|
112
112
|
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="heyiam-project showcase" data-render-version="2" data-template="showcase"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
1
|
+
<div class="heyiam-project showcase" data-render-version="2" data-template="showcase"{% if sessionBaseUrl %} data-session-base-url="{{ sessionBaseUrl }}"{% endif %} data-session-suffix="{{ sessionSuffix }}" data-username="{{ user.username }}" data-project-slug="{{ project.slug }}">
|
|
2
2
|
|
|
3
3
|
<div class="sc-page">
|
|
4
4
|
<main id="main-content">
|