pandorga 1.3.3 → 1.3.6
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/_includes/content-runtime/43-blocks.html +1 -0
- data/_layouts/home.html +6 -40
- data/assets/css/ledger/home.css +242 -212
- data/lib/pandorga/commands/new.rb +1 -1
- data/lib/pandorga/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c6a4f2b9d6301de61dc8a70de9ea3e47838f8896ac2b87f0cd77e07665c0030d
|
|
4
|
+
data.tar.gz: 41c8cefdadd4e2b58d2cf424f587bcb70c98531b870f04a8bfdef7ee0420a33c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 26e0bbd8c1f915e22a81e34f365e70e7302cd983701730ecdef31bb11a3892a78fad827651cd364276a7cd87b74566b5dd9f60ff208cd9ad9b90bb3df764f7c0
|
|
7
|
+
data.tar.gz: 3a4c0e1a3641a3558c02867e832424e12f2bcbf20d8d9db0675387f314ed550d780cd870930cc03ecdc8fb5e75898de6d79698ac78fc636b4ab2e9c243e8827e
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.3.6] — 2026-10-05
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Home specimen is taller so project tags are not clipped, with more space
|
|
8
|
+
between the poster and the project title
|
|
9
|
+
|
|
10
|
+
## [1.3.5] — 2026-10-05
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Home specimen height is CSS-fixed (no ResizeObserver jump when switching
|
|
15
|
+
projects); mobile icon strip always reserves six compact slots; desktop
|
|
16
|
+
inventory sits in a panel over the tiled band
|
|
17
|
+
|
|
18
|
+
## [1.3.4] — 2026-10-05
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- Home portfolio mobile inventory is a single row of project-icon buttons
|
|
23
|
+
(desktop index styles no longer override the phone layout)
|
|
24
|
+
|
|
3
25
|
## [1.3.3] — 2026-10-05
|
|
4
26
|
|
|
5
27
|
### Changed
|
data/_layouts/home.html
CHANGED
|
@@ -234,42 +234,18 @@ layout: shell
|
|
|
234
234
|
eligible: function () { return true; }
|
|
235
235
|
});
|
|
236
236
|
var selectedSlug = (featuredPick && featuredPick.slug) || portfolio[0].slug;
|
|
237
|
-
var
|
|
237
|
+
var iconSlots = 6;
|
|
238
238
|
|
|
239
239
|
function entryBySlug(slug) {
|
|
240
240
|
return portfolio.filter(function (entry) { return entry.slug === slug; })[0] || portfolio[0];
|
|
241
241
|
}
|
|
242
242
|
|
|
243
|
-
function syncInventoryHeight() {
|
|
244
|
-
if (!window.matchMedia('(min-width: 900px)').matches) {
|
|
245
|
-
inventorySlot.style.height = '';
|
|
246
|
-
return;
|
|
247
|
-
}
|
|
248
|
-
var specimen = specimenSlot.querySelector('.home-project-specimen');
|
|
249
|
-
if (!specimen) {
|
|
250
|
-
inventorySlot.style.height = '';
|
|
251
|
-
return;
|
|
252
|
-
}
|
|
253
|
-
inventorySlot.style.height = Math.round(specimen.getBoundingClientRect().height) + 'px';
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
function watchSpecimen(specimen) {
|
|
257
|
-
if (inventoryResizeObserver) {
|
|
258
|
-
inventoryResizeObserver.disconnect();
|
|
259
|
-
inventoryResizeObserver = null;
|
|
260
|
-
}
|
|
261
|
-
if (!specimen || typeof ResizeObserver === 'undefined') return;
|
|
262
|
-
inventoryResizeObserver = new ResizeObserver(function () {
|
|
263
|
-
syncInventoryHeight();
|
|
264
|
-
});
|
|
265
|
-
inventoryResizeObserver.observe(specimen);
|
|
266
|
-
}
|
|
267
|
-
|
|
268
243
|
function paintSpecimen(entry) {
|
|
269
244
|
specimenSlot.innerHTML = '';
|
|
270
245
|
/* No card-level drafting corners / edge tick — markers live on the
|
|
271
246
|
poster plate only, so they do not overlap the image. Meta strip
|
|
272
|
-
is suppressed; tags take that slot below the plate.
|
|
247
|
+
is suppressed; tags take that slot below the plate. Specimen and
|
|
248
|
+
inventory sizes are CSS-fixed (no ResizeObserver). */
|
|
273
249
|
specimenSlot.appendChild(runtime.renderSystemCard(asItem(entry), {
|
|
274
250
|
href: entry.url || runtime.projectUrl(entry.slug),
|
|
275
251
|
tagHref: systemTagHref,
|
|
@@ -277,22 +253,14 @@ layout: shell
|
|
|
277
253
|
glyphFallback: true,
|
|
278
254
|
metaParts: []
|
|
279
255
|
}));
|
|
280
|
-
var specimen = specimenSlot.querySelector('.home-project-specimen');
|
|
281
|
-
watchSpecimen(specimen);
|
|
282
|
-
var poster = specimenSlot.querySelector('.ledger-poster img, .projects-plate');
|
|
283
|
-
if (poster && poster.tagName === 'IMG' && !poster.complete) {
|
|
284
|
-
poster.addEventListener('load', syncInventoryHeight, { once: true });
|
|
285
|
-
}
|
|
286
|
-
window.requestAnimationFrame(syncInventoryHeight);
|
|
287
256
|
}
|
|
288
257
|
|
|
289
258
|
function paintInventory() {
|
|
290
259
|
inventorySlot.hidden = false;
|
|
291
260
|
inventorySlot.innerHTML = '';
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
);
|
|
261
|
+
/* Always reserve six mobile columns so one project does not stretch
|
|
262
|
+
a single giant button across the band. */
|
|
263
|
+
inventorySlot.style.setProperty('--home-project-icon-count', String(iconSlots));
|
|
296
264
|
portfolio.forEach(function (entry, i) {
|
|
297
265
|
var row = runtime.renderProjectInventoryRow(asItem(entry), {
|
|
298
266
|
selectable: true,
|
|
@@ -318,12 +286,10 @@ layout: shell
|
|
|
318
286
|
});
|
|
319
287
|
inventorySlot.appendChild(row);
|
|
320
288
|
});
|
|
321
|
-
window.requestAnimationFrame(syncInventoryHeight);
|
|
322
289
|
}
|
|
323
290
|
|
|
324
291
|
paintSpecimen(entryBySlug(selectedSlug));
|
|
325
292
|
paintInventory();
|
|
326
|
-
window.addEventListener('resize', syncInventoryHeight);
|
|
327
293
|
return;
|
|
328
294
|
}
|
|
329
295
|
|
data/assets/css/ledger/home.css
CHANGED
|
@@ -944,32 +944,33 @@ html[data-theme="light"] .home-hero-plate {
|
|
|
944
944
|
}
|
|
945
945
|
|
|
946
946
|
/* ── Engineering artifacts: specimen + index folio ──
|
|
947
|
-
|
|
948
|
-
|
|
947
|
+
Fixed specimen chrome (16:9 plate + reserved body). Mobile icon strip
|
|
948
|
+
always reserves six equal slots at a fixed button height. Desktop inventory
|
|
949
|
+
sits in a panel container matched to the specimen height via CSS, not JS. */
|
|
949
950
|
.home-projects-bench {
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
.home-projects-bench {
|
|
958
|
-
grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
|
|
959
|
-
gap: var(--space-xl);
|
|
960
|
-
align-items: start;
|
|
961
|
-
}
|
|
951
|
+
--home-specimen-height: 32rem;
|
|
952
|
+
--home-icon-btn-size: 2.75rem;
|
|
953
|
+
--home-project-icon-count: 6;
|
|
954
|
+
display: flex;
|
|
955
|
+
flex-direction: column;
|
|
956
|
+
align-items: stretch;
|
|
957
|
+
gap: var(--space-md);
|
|
962
958
|
}
|
|
963
959
|
|
|
964
960
|
.home-project-specimen {
|
|
965
961
|
position: relative;
|
|
966
|
-
|
|
962
|
+
display: flex;
|
|
963
|
+
flex-direction: column;
|
|
964
|
+
gap: var(--space-md);
|
|
967
965
|
padding: var(--space-md);
|
|
966
|
+
padding-bottom: var(--space-lg);
|
|
968
967
|
max-width: none;
|
|
969
968
|
width: 100%;
|
|
970
|
-
|
|
969
|
+
height: var(--home-specimen-height);
|
|
970
|
+
overflow: hidden;
|
|
971
971
|
border: 0;
|
|
972
972
|
background: var(--color-panel-contrast);
|
|
973
|
+
box-sizing: border-box;
|
|
973
974
|
}
|
|
974
975
|
|
|
975
976
|
:root:not([data-theme="dark"]) .home-project-specimen,
|
|
@@ -980,10 +981,20 @@ html[data-theme="light"] .home-project-specimen,
|
|
|
980
981
|
|
|
981
982
|
.home-project-specimen>.ledger-poster,
|
|
982
983
|
.home-project-specimen>.projects-plate {
|
|
984
|
+
flex: 0 0 auto;
|
|
983
985
|
width: auto;
|
|
984
986
|
margin: calc(var(--space-md) * -1) calc(var(--space-md) * -1) 0;
|
|
985
987
|
aspect-ratio: 16 / 9;
|
|
988
|
+
max-height: calc(var(--home-specimen-height) * 0.5);
|
|
986
989
|
position: relative;
|
|
990
|
+
overflow: hidden;
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
.home-project-specimen>.ledger-poster img,
|
|
994
|
+
.home-project-specimen>.ledger-poster video {
|
|
995
|
+
width: 100%;
|
|
996
|
+
height: 100%;
|
|
997
|
+
object-fit: cover;
|
|
987
998
|
}
|
|
988
999
|
|
|
989
1000
|
/* Glyph plates have no .ledger-poster::after — mirror the image corners. */
|
|
@@ -1006,77 +1017,6 @@ html[data-theme="light"] .home-project-specimen,
|
|
|
1006
1017
|
linear-gradient(var(--color-primary), var(--color-primary)) bottom right / var(--frame-corner-thickness) var(--frame-corner-size) no-repeat;
|
|
1007
1018
|
}
|
|
1008
1019
|
|
|
1009
|
-
@media (max-width: 899px) {
|
|
1010
|
-
.home-projects-bench {
|
|
1011
|
-
display: flex;
|
|
1012
|
-
flex-direction: column;
|
|
1013
|
-
align-items: stretch;
|
|
1014
|
-
gap: var(--space-md);
|
|
1015
|
-
}
|
|
1016
|
-
|
|
1017
|
-
.home-project-specimen {
|
|
1018
|
-
max-width: none;
|
|
1019
|
-
}
|
|
1020
|
-
|
|
1021
|
-
/* Icon strip under the specimen: equal buttons spanning the band width. */
|
|
1022
|
-
.home-project-inventory {
|
|
1023
|
-
display: grid;
|
|
1024
|
-
grid-template-columns: repeat(var(--home-project-icon-count, 6), minmax(0, 1fr));
|
|
1025
|
-
gap: var(--space-xs);
|
|
1026
|
-
height: auto !important;
|
|
1027
|
-
min-height: 0;
|
|
1028
|
-
overflow: visible;
|
|
1029
|
-
background: transparent;
|
|
1030
|
-
border: 0;
|
|
1031
|
-
}
|
|
1032
|
-
|
|
1033
|
-
.home-project-inventory-row {
|
|
1034
|
-
display: block;
|
|
1035
|
-
flex: none;
|
|
1036
|
-
min-height: 0;
|
|
1037
|
-
padding: 0;
|
|
1038
|
-
border: 1px solid var(--border-gentle-divider);
|
|
1039
|
-
border-bottom-color: var(--border-gentle-divider);
|
|
1040
|
-
background: var(--color-panel-contrast);
|
|
1041
|
-
aspect-ratio: 1;
|
|
1042
|
-
box-shadow: none;
|
|
1043
|
-
}
|
|
1044
|
-
|
|
1045
|
-
.home-project-inventory-row:last-child {
|
|
1046
|
-
border-bottom: 1px solid var(--border-gentle-divider);
|
|
1047
|
-
}
|
|
1048
|
-
|
|
1049
|
-
.home-project-inventory-index,
|
|
1050
|
-
.home-project-inventory-body,
|
|
1051
|
-
.home-project-inventory-glyph {
|
|
1052
|
-
display: none;
|
|
1053
|
-
}
|
|
1054
|
-
|
|
1055
|
-
.home-project-inventory-media {
|
|
1056
|
-
width: 100%;
|
|
1057
|
-
height: 100%;
|
|
1058
|
-
aspect-ratio: auto;
|
|
1059
|
-
border-right: 0;
|
|
1060
|
-
}
|
|
1061
|
-
|
|
1062
|
-
.home-project-inventory-media .ledger-poster,
|
|
1063
|
-
.home-project-inventory-mark {
|
|
1064
|
-
aspect-ratio: 1;
|
|
1065
|
-
height: 100%;
|
|
1066
|
-
}
|
|
1067
|
-
|
|
1068
|
-
.home-project-inventory-media .ledger-poster::after {
|
|
1069
|
-
display: none;
|
|
1070
|
-
}
|
|
1071
|
-
|
|
1072
|
-
.home-project-inventory-row.is-selected {
|
|
1073
|
-
border-color: var(--color-primary);
|
|
1074
|
-
outline: 1px solid var(--color-primary);
|
|
1075
|
-
outline-offset: -1px;
|
|
1076
|
-
background: var(--color-panel-contrast);
|
|
1077
|
-
}
|
|
1078
|
-
}
|
|
1079
|
-
|
|
1080
1020
|
.home-project-specimen .projects-plate--mark {
|
|
1081
1021
|
display: flex;
|
|
1082
1022
|
align-items: center;
|
|
@@ -1095,12 +1035,18 @@ html[data-theme="light"] .home-project-specimen,
|
|
|
1095
1035
|
|
|
1096
1036
|
.home-project-specimen .ledger-card-title,
|
|
1097
1037
|
.home-project-specimen .ledger-card-title a {
|
|
1038
|
+
flex: 0 0 auto;
|
|
1098
1039
|
font-family: var(--font-content-title);
|
|
1099
1040
|
font-size: var(--type-card-lg);
|
|
1100
1041
|
font-weight: var(--weight-title);
|
|
1101
1042
|
font-synthesis: none;
|
|
1102
1043
|
line-height: 1.2;
|
|
1103
1044
|
color: var(--color-on-surface);
|
|
1045
|
+
min-height: calc(1.2em * 1);
|
|
1046
|
+
margin: var(--space-sm) 0 0;
|
|
1047
|
+
overflow: hidden;
|
|
1048
|
+
text-overflow: ellipsis;
|
|
1049
|
+
white-space: nowrap;
|
|
1104
1050
|
}
|
|
1105
1051
|
|
|
1106
1052
|
.home-project-specimen:hover .ledger-card-title a,
|
|
@@ -1109,6 +1055,7 @@ html[data-theme="light"] .home-project-specimen,
|
|
|
1109
1055
|
}
|
|
1110
1056
|
|
|
1111
1057
|
.home-project-specimen .ledger-card-copy {
|
|
1058
|
+
flex: 0 0 auto;
|
|
1112
1059
|
font-family: var(--font-body);
|
|
1113
1060
|
font-size: var(--type-body);
|
|
1114
1061
|
font-weight: var(--weight-body);
|
|
@@ -1119,48 +1066,81 @@ html[data-theme="light"] .home-project-specimen,
|
|
|
1119
1066
|
-webkit-line-clamp: 3;
|
|
1120
1067
|
line-clamp: 3;
|
|
1121
1068
|
overflow: hidden;
|
|
1069
|
+
min-height: calc(var(--type-body) * var(--leading-body) * 3);
|
|
1070
|
+
margin: 0;
|
|
1122
1071
|
}
|
|
1123
1072
|
|
|
1124
|
-
/* Tags replace the old label/status strip; outbound links stay off. */
|
|
1125
1073
|
.home-project-specimen .ledger-chip-row {
|
|
1126
1074
|
display: flex;
|
|
1127
1075
|
flex-wrap: wrap;
|
|
1128
1076
|
gap: var(--space-xs);
|
|
1129
1077
|
margin: 0;
|
|
1078
|
+
margin-top: auto;
|
|
1079
|
+
flex: 0 0 auto;
|
|
1080
|
+
max-height: none;
|
|
1081
|
+
overflow: visible;
|
|
1130
1082
|
}
|
|
1131
1083
|
|
|
1132
1084
|
.home-project-specimen .ledger-card-links {
|
|
1133
1085
|
display: none;
|
|
1134
1086
|
}
|
|
1135
1087
|
|
|
1088
|
+
/* Mobile: six equal icon slots, fixed button height (empty slots stay empty). */
|
|
1136
1089
|
.home-project-inventory {
|
|
1137
|
-
display:
|
|
1138
|
-
|
|
1090
|
+
display: grid;
|
|
1091
|
+
grid-template-columns: repeat(var(--home-project-icon-count, 6), minmax(0, 1fr));
|
|
1092
|
+
gap: var(--space-xs);
|
|
1139
1093
|
min-width: 0;
|
|
1140
1094
|
min-height: 0;
|
|
1095
|
+
height: auto !important;
|
|
1096
|
+
overflow: visible;
|
|
1141
1097
|
background: transparent;
|
|
1142
1098
|
border: 0;
|
|
1143
|
-
|
|
1099
|
+
padding: 0;
|
|
1144
1100
|
}
|
|
1145
1101
|
|
|
1146
1102
|
.home-project-inventory-row {
|
|
1147
1103
|
position: relative;
|
|
1148
1104
|
display: flex;
|
|
1149
|
-
flex-direction: row;
|
|
1150
1105
|
align-items: center;
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1106
|
+
justify-content: center;
|
|
1107
|
+
flex: none;
|
|
1108
|
+
width: auto;
|
|
1109
|
+
min-width: 0;
|
|
1110
|
+
height: var(--home-icon-btn-size);
|
|
1111
|
+
aspect-ratio: auto;
|
|
1112
|
+
gap: 0;
|
|
1113
|
+
padding: 0;
|
|
1114
|
+
border: 1px solid var(--border-gentle-divider);
|
|
1115
|
+
background: var(--color-panel-contrast);
|
|
1158
1116
|
cursor: pointer;
|
|
1159
|
-
|
|
1117
|
+
box-shadow: none;
|
|
1118
|
+
transition: background-color var(--motion-duration-fast) var(--motion-ease-default),
|
|
1119
|
+
border-color var(--motion-duration-fast) var(--motion-ease-default);
|
|
1160
1120
|
}
|
|
1161
1121
|
|
|
1162
|
-
.home-project-inventory-
|
|
1163
|
-
|
|
1122
|
+
.home-project-inventory-index,
|
|
1123
|
+
.home-project-inventory-media,
|
|
1124
|
+
.home-project-inventory-body {
|
|
1125
|
+
display: none;
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
.home-project-inventory-glyph {
|
|
1129
|
+
display: inline-flex;
|
|
1130
|
+
align-items: center;
|
|
1131
|
+
justify-content: center;
|
|
1132
|
+
width: auto;
|
|
1133
|
+
height: auto;
|
|
1134
|
+
margin: 0;
|
|
1135
|
+
font-size: 1.25rem;
|
|
1136
|
+
line-height: 1;
|
|
1137
|
+
color: var(--color-on-surface-variant);
|
|
1138
|
+
}
|
|
1139
|
+
|
|
1140
|
+
.home-project-inventory-glyph--initial {
|
|
1141
|
+
font-family: var(--font-content-title);
|
|
1142
|
+
font-size: var(--type-subtitle);
|
|
1143
|
+
font-weight: var(--weight-title);
|
|
1164
1144
|
}
|
|
1165
1145
|
|
|
1166
1146
|
.home-project-inventory-row:hover,
|
|
@@ -1170,8 +1150,17 @@ html[data-theme="light"] .home-project-specimen,
|
|
|
1170
1150
|
}
|
|
1171
1151
|
|
|
1172
1152
|
.home-project-inventory-row.is-selected {
|
|
1153
|
+
border-color: var(--color-primary);
|
|
1154
|
+
outline: 1px solid var(--color-primary);
|
|
1155
|
+
outline-offset: -1px;
|
|
1173
1156
|
background: var(--color-surface-high);
|
|
1174
|
-
box-shadow:
|
|
1157
|
+
box-shadow: none;
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
.home-project-inventory-row.is-selected .home-project-inventory-glyph,
|
|
1161
|
+
.home-project-inventory-row:hover .home-project-inventory-glyph,
|
|
1162
|
+
.home-project-inventory-row:focus-visible .home-project-inventory-glyph {
|
|
1163
|
+
color: var(--color-primary);
|
|
1175
1164
|
}
|
|
1176
1165
|
|
|
1177
1166
|
.home-band--contrast .home-project-inventory-row:hover,
|
|
@@ -1180,132 +1169,173 @@ html[data-theme="light"] .home-project-specimen,
|
|
|
1180
1169
|
background: var(--color-surface-high-contrast);
|
|
1181
1170
|
}
|
|
1182
1171
|
|
|
1183
|
-
.home-project-inventory-
|
|
1184
|
-
|
|
1185
|
-
font-family: var(--font-mono);
|
|
1186
|
-
font-size: var(--type-caption);
|
|
1187
|
-
letter-spacing: 0.04em;
|
|
1188
|
-
color: var(--color-on-surface-variant);
|
|
1189
|
-
line-height: 1;
|
|
1190
|
-
text-align: right;
|
|
1172
|
+
.home-project-inventory-row .ledger-meta {
|
|
1173
|
+
display: none;
|
|
1191
1174
|
}
|
|
1192
1175
|
|
|
1193
|
-
|
|
1194
|
-
.home-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1176
|
+
@media (min-width: 900px) {
|
|
1177
|
+
.home-projects-bench {
|
|
1178
|
+
--home-specimen-height: 36rem;
|
|
1179
|
+
display: grid;
|
|
1180
|
+
grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
|
|
1181
|
+
gap: var(--space-xl);
|
|
1182
|
+
align-items: stretch;
|
|
1183
|
+
}
|
|
1198
1184
|
|
|
1199
|
-
.home-project-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
align-self: center;
|
|
1203
|
-
height: auto;
|
|
1204
|
-
min-width: 0;
|
|
1205
|
-
min-height: 0;
|
|
1206
|
-
aspect-ratio: 16 / 9;
|
|
1207
|
-
overflow: hidden;
|
|
1208
|
-
background: var(--color-surface-high);
|
|
1209
|
-
border: 1px solid var(--border-gentle-subtle);
|
|
1210
|
-
}
|
|
1185
|
+
.home-project-specimen {
|
|
1186
|
+
height: var(--home-specimen-height);
|
|
1187
|
+
}
|
|
1211
1188
|
|
|
1212
|
-
.
|
|
1213
|
-
.home-project-inventory
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1189
|
+
/* Panel container over the tiled band — not bare rows on the grid. */
|
|
1190
|
+
.home-project-inventory {
|
|
1191
|
+
display: flex;
|
|
1192
|
+
flex-direction: column;
|
|
1193
|
+
height: var(--home-specimen-height);
|
|
1194
|
+
overflow: hidden;
|
|
1195
|
+
gap: 0;
|
|
1196
|
+
padding: 0;
|
|
1197
|
+
background: var(--color-panel-contrast);
|
|
1198
|
+
border: 1px solid var(--border-gentle-divider);
|
|
1199
|
+
}
|
|
1221
1200
|
|
|
1222
|
-
.home-project-inventory-
|
|
1223
|
-
|
|
1224
|
-
|
|
1201
|
+
.home-project-inventory-row {
|
|
1202
|
+
display: flex;
|
|
1203
|
+
flex-direction: row;
|
|
1204
|
+
align-items: center;
|
|
1205
|
+
justify-content: flex-start;
|
|
1206
|
+
flex: 1 1 0;
|
|
1207
|
+
width: auto;
|
|
1208
|
+
height: auto;
|
|
1209
|
+
min-height: 0;
|
|
1210
|
+
aspect-ratio: auto;
|
|
1211
|
+
gap: var(--space-md);
|
|
1212
|
+
padding: var(--space-sm) var(--space-md);
|
|
1213
|
+
border: 0;
|
|
1214
|
+
border-bottom: 1px solid var(--border-gentle-divider);
|
|
1215
|
+
background: transparent;
|
|
1216
|
+
outline: none;
|
|
1217
|
+
}
|
|
1225
1218
|
|
|
1226
|
-
.home-project-inventory-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
object-fit: cover;
|
|
1230
|
-
display: block;
|
|
1231
|
-
}
|
|
1219
|
+
.home-project-inventory-row:last-child {
|
|
1220
|
+
border-bottom: 0;
|
|
1221
|
+
}
|
|
1232
1222
|
|
|
1233
|
-
.home-project-inventory-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
}
|
|
1223
|
+
.home-project-inventory-row.is-selected {
|
|
1224
|
+
background: var(--color-surface-high);
|
|
1225
|
+
border-color: transparent;
|
|
1226
|
+
outline: none;
|
|
1227
|
+
box-shadow: inset 3px 0 0 var(--color-primary);
|
|
1228
|
+
}
|
|
1239
1229
|
|
|
1240
|
-
.home-project-inventory-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1230
|
+
.home-project-inventory-index {
|
|
1231
|
+
display: block;
|
|
1232
|
+
flex: 0 0 1.75rem;
|
|
1233
|
+
font-family: var(--font-mono);
|
|
1234
|
+
font-size: var(--type-caption);
|
|
1235
|
+
letter-spacing: 0.04em;
|
|
1236
|
+
color: var(--color-on-surface-variant);
|
|
1237
|
+
line-height: 1;
|
|
1238
|
+
text-align: right;
|
|
1239
|
+
}
|
|
1247
1240
|
|
|
1248
|
-
.home-project-inventory-
|
|
1249
|
-
|
|
1250
|
-
|
|
1241
|
+
.home-project-inventory-row.is-selected .home-project-inventory-index,
|
|
1242
|
+
.home-project-inventory-row:hover .home-project-inventory-index,
|
|
1243
|
+
.home-project-inventory-row:focus-visible .home-project-inventory-index {
|
|
1244
|
+
color: var(--color-primary);
|
|
1245
|
+
}
|
|
1251
1246
|
|
|
1252
|
-
.home-project-inventory-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1247
|
+
.home-project-inventory-media {
|
|
1248
|
+
display: block;
|
|
1249
|
+
flex: 0 0 auto;
|
|
1250
|
+
width: 5.5rem;
|
|
1251
|
+
align-self: center;
|
|
1252
|
+
height: auto;
|
|
1253
|
+
min-width: 0;
|
|
1254
|
+
min-height: 0;
|
|
1255
|
+
aspect-ratio: 16 / 9;
|
|
1256
|
+
overflow: hidden;
|
|
1257
|
+
background: var(--color-surface-high);
|
|
1258
|
+
border: 1px solid var(--border-gentle-subtle);
|
|
1259
|
+
}
|
|
1261
1260
|
|
|
1262
|
-
.home-project-inventory-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
}
|
|
1261
|
+
.home-project-inventory-media .ledger-poster,
|
|
1262
|
+
.home-project-inventory-mark {
|
|
1263
|
+
width: 100%;
|
|
1264
|
+
height: 100%;
|
|
1265
|
+
aspect-ratio: auto;
|
|
1266
|
+
border: 0;
|
|
1267
|
+
overflow: hidden;
|
|
1268
|
+
background: var(--color-surface-high);
|
|
1269
|
+
}
|
|
1271
1270
|
|
|
1272
|
-
.home-project-inventory-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
}
|
|
1271
|
+
.home-project-inventory-media .ledger-poster::after {
|
|
1272
|
+
display: none;
|
|
1273
|
+
}
|
|
1276
1274
|
|
|
1277
|
-
.home-project-inventory-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1275
|
+
.home-project-inventory-media .ledger-poster img {
|
|
1276
|
+
width: 100%;
|
|
1277
|
+
height: 100%;
|
|
1278
|
+
object-fit: cover;
|
|
1279
|
+
display: block;
|
|
1280
|
+
}
|
|
1282
1281
|
|
|
1283
|
-
.home-project-inventory-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
height: 1.75rem;
|
|
1290
|
-
margin-left: auto;
|
|
1291
|
-
color: var(--color-on-surface-variant);
|
|
1292
|
-
font-size: 1.25rem;
|
|
1293
|
-
line-height: 1;
|
|
1294
|
-
}
|
|
1282
|
+
.home-project-inventory-mark {
|
|
1283
|
+
display: flex;
|
|
1284
|
+
align-items: center;
|
|
1285
|
+
justify-content: center;
|
|
1286
|
+
color: var(--color-primary);
|
|
1287
|
+
}
|
|
1295
1288
|
|
|
1296
|
-
.home-project-inventory-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1289
|
+
.home-project-inventory-mark--initial {
|
|
1290
|
+
font-family: var(--font-content-title);
|
|
1291
|
+
font-size: var(--type-card);
|
|
1292
|
+
font-weight: var(--weight-title);
|
|
1293
|
+
line-height: 1;
|
|
1294
|
+
color: var(--color-on-surface);
|
|
1295
|
+
}
|
|
1301
1296
|
|
|
1302
|
-
.home-project-inventory-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
}
|
|
1297
|
+
.home-project-inventory-mark .material-symbols-outlined {
|
|
1298
|
+
font-size: 1.25rem;
|
|
1299
|
+
}
|
|
1306
1300
|
|
|
1307
|
-
.home-project-inventory-
|
|
1308
|
-
|
|
1301
|
+
.home-project-inventory-body {
|
|
1302
|
+
display: flex;
|
|
1303
|
+
flex-direction: column;
|
|
1304
|
+
justify-content: center;
|
|
1305
|
+
gap: 0;
|
|
1306
|
+
flex: 1 1 0;
|
|
1307
|
+
min-width: 0;
|
|
1308
|
+
padding: 0;
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
.home-project-inventory-title {
|
|
1312
|
+
margin: 0;
|
|
1313
|
+
font-family: var(--font-content-title);
|
|
1314
|
+
font-size: var(--type-card);
|
|
1315
|
+
font-weight: var(--weight-title);
|
|
1316
|
+
font-synthesis: none;
|
|
1317
|
+
line-height: 1.25;
|
|
1318
|
+
color: var(--color-on-surface);
|
|
1319
|
+
}
|
|
1320
|
+
|
|
1321
|
+
.home-project-inventory-title a {
|
|
1322
|
+
color: inherit;
|
|
1323
|
+
text-decoration: none;
|
|
1324
|
+
}
|
|
1325
|
+
|
|
1326
|
+
.home-project-inventory-row:hover .home-project-inventory-title,
|
|
1327
|
+
.home-project-inventory-row:focus-visible .home-project-inventory-title,
|
|
1328
|
+
.home-project-inventory-row.is-selected .home-project-inventory-title {
|
|
1329
|
+
color: var(--color-primary);
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
.home-project-inventory-glyph {
|
|
1333
|
+
flex: 0 0 auto;
|
|
1334
|
+
width: 1.75rem;
|
|
1335
|
+
height: 1.75rem;
|
|
1336
|
+
margin-left: auto;
|
|
1337
|
+
font-size: 1.25rem;
|
|
1338
|
+
}
|
|
1309
1339
|
}
|
|
1310
1340
|
|
|
1311
1341
|
|
|
@@ -24,7 +24,7 @@ module Pandorga
|
|
|
24
24
|
|
|
25
25
|
gem "pandorga", "~> 1.3"
|
|
26
26
|
# Local checkout: gem "pandorga", path: "../pandorga"
|
|
27
|
-
# GitHub tag: gem "pandorga", github: "alexandrelheinen/pandorga", tag: "v1.3.
|
|
27
|
+
# GitHub tag: gem "pandorga", github: "alexandrelheinen/pandorga", tag: "v1.3.6"
|
|
28
28
|
gem "csv"
|
|
29
29
|
gem "base64"
|
|
30
30
|
RUBY
|
data/lib/pandorga/version.rb
CHANGED