gtfs-to-html 2.12.0 → 2.12.1
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/app/index.js +11 -11
- package/dist/app/index.js.map +1 -1
- package/dist/bin/gtfs-to-html.js +11 -11
- package/dist/bin/gtfs-to-html.js.map +1 -1
- package/dist/index.js +11 -11
- package/dist/index.js.map +1 -1
- package/package.json +8 -8
- package/views/default/css/overview_styles.css +3 -5
- package/views/default/css/timetable_styles.css +5 -8
- package/views/default/js/system-map.js +1 -1
- package/views/default/js/timetable-alerts.js +2 -2
- package/views/default/js/timetable-map.js +1 -1
- package/views/default/js/timetable-menu.js +4 -4
- package/views/default/timetable_menu.pug +3 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gtfs-to-html",
|
|
3
|
-
"version": "2.12.
|
|
3
|
+
"version": "2.12.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Build human readable transit timetables as HTML, PDF or CSV from GTFS",
|
|
6
6
|
"keywords": [
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"@maplibre/maplibre-gl-geocoder": "^1.9.1",
|
|
51
|
-
"@turf/helpers": "^7.
|
|
52
|
-
"@turf/simplify": "^7.
|
|
51
|
+
"@turf/helpers": "^7.3.0",
|
|
52
|
+
"@turf/simplify": "^7.3.0",
|
|
53
53
|
"anchorme": "^3.0.8",
|
|
54
54
|
"archiver": "^7.0.1",
|
|
55
55
|
"cli-table": "^0.3.11",
|
|
@@ -60,13 +60,13 @@
|
|
|
60
60
|
"gtfs-realtime-pbf-js-module": "^1.0.0",
|
|
61
61
|
"js-beautify": "^1.15.4",
|
|
62
62
|
"lodash-es": "^4.17.21",
|
|
63
|
-
"maplibre-gl": "^5.
|
|
63
|
+
"maplibre-gl": "^5.13.0",
|
|
64
64
|
"marked": "^17.0.0",
|
|
65
65
|
"moment": "^2.30.1",
|
|
66
66
|
"pbf": "^4.0.1",
|
|
67
67
|
"pretty-error": "^4.0.0",
|
|
68
68
|
"pug": "^3.0.3",
|
|
69
|
-
"puppeteer": "^24.
|
|
69
|
+
"puppeteer": "^24.30.0",
|
|
70
70
|
"sanitize-filename": "^1.6.3",
|
|
71
71
|
"sanitize-html": "^2.17.0",
|
|
72
72
|
"sqlstring": "^2.3.3",
|
|
@@ -87,11 +87,11 @@
|
|
|
87
87
|
"@types/sanitize-html": "^2.16.0",
|
|
88
88
|
"@types/sqlstring": "^2.3.2",
|
|
89
89
|
"@types/toposort": "^2.0.7",
|
|
90
|
-
"@types/yargs": "^17.0.
|
|
90
|
+
"@types/yargs": "^17.0.35",
|
|
91
91
|
"husky": "^9.1.7",
|
|
92
|
-
"lint-staged": "^16.2.
|
|
92
|
+
"lint-staged": "^16.2.7",
|
|
93
93
|
"prettier": "^3.6.2",
|
|
94
|
-
"tsup": "^8.5.
|
|
94
|
+
"tsup": "^8.5.1",
|
|
95
95
|
"typescript": "^5.9.3"
|
|
96
96
|
},
|
|
97
97
|
"engines": {
|
|
@@ -103,7 +103,6 @@ a:hover {
|
|
|
103
103
|
flex-shrink: 0;
|
|
104
104
|
font-weight: bold;
|
|
105
105
|
color: white;
|
|
106
|
-
text-shadow: 0 0 2px rgba(0,0,0,0.5);
|
|
107
106
|
}
|
|
108
107
|
|
|
109
108
|
.timetable-overview .route-color-swatch-large {
|
|
@@ -120,11 +119,10 @@ a:hover {
|
|
|
120
119
|
flex-shrink: 0;
|
|
121
120
|
font-weight: bold;
|
|
122
121
|
color: white;
|
|
123
|
-
text-shadow: 0 0 4px rgba(0,0,0,0.5);
|
|
124
122
|
}
|
|
125
123
|
|
|
126
|
-
.timetable-overview .btn-
|
|
127
|
-
color: rgb(255 255 255);
|
|
124
|
+
.timetable-overview .btn-active {
|
|
125
|
+
color: rgb(255, 255, 255);
|
|
128
126
|
padding: 0.75rem 1.5rem;
|
|
129
127
|
background-color: rgb(37 99 235);
|
|
130
128
|
border-radius: 0.375rem;
|
|
@@ -135,7 +133,7 @@ a:hover {
|
|
|
135
133
|
text-decoration: none;
|
|
136
134
|
}
|
|
137
135
|
|
|
138
|
-
.timetable-overview .btn-
|
|
136
|
+
.timetable-overview .btn-active:hover {
|
|
139
137
|
background-color: rgb(29 78 216);
|
|
140
138
|
text-decoration: none;
|
|
141
139
|
}
|
|
@@ -201,8 +201,8 @@ a:hover {
|
|
|
201
201
|
display: none;
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
-
.timetable-page .btn-
|
|
205
|
-
color: rgb(255 255 255);
|
|
204
|
+
.timetable-page .btn-active {
|
|
205
|
+
color: rgb(255, 255, 255);
|
|
206
206
|
padding: 0.75rem 1.5rem;
|
|
207
207
|
background-color: rgb(37 99 235);
|
|
208
208
|
border-radius: 0.375rem;
|
|
@@ -213,12 +213,12 @@ a:hover {
|
|
|
213
213
|
text-decoration: none;
|
|
214
214
|
}
|
|
215
215
|
|
|
216
|
-
.timetable-page .btn-
|
|
216
|
+
.timetable-page .btn-active:hover {
|
|
217
217
|
background-color: rgb(29 78 216);
|
|
218
218
|
text-decoration: none;
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
-
.timetable-page .btn-
|
|
221
|
+
.timetable-page .btn-inactive {
|
|
222
222
|
color: rgb(75 85 99);
|
|
223
223
|
padding: 0.75rem 1.5rem;
|
|
224
224
|
background-color: rgb(209 213 219);
|
|
@@ -230,7 +230,7 @@ a:hover {
|
|
|
230
230
|
text-decoration: none;
|
|
231
231
|
}
|
|
232
232
|
|
|
233
|
-
.timetable-page .btn-
|
|
233
|
+
.timetable-page .btn-inactive:hover {
|
|
234
234
|
background-color: rgb(201, 206, 213);
|
|
235
235
|
text-decoration: none;
|
|
236
236
|
}
|
|
@@ -427,7 +427,6 @@ a:hover {
|
|
|
427
427
|
flex-shrink: 0;
|
|
428
428
|
font-weight: bold;
|
|
429
429
|
color: white;
|
|
430
|
-
text-shadow: 0 0 2px rgba(0,0,0,0.5);
|
|
431
430
|
}
|
|
432
431
|
|
|
433
432
|
.timetable-page .route-color-swatch-large {
|
|
@@ -444,7 +443,6 @@ a:hover {
|
|
|
444
443
|
flex-shrink: 0;
|
|
445
444
|
font-weight: bold;
|
|
446
445
|
color: white;
|
|
447
|
-
text-shadow: 0 0 4px rgba(0,0,0,0.5);
|
|
448
446
|
}
|
|
449
447
|
|
|
450
448
|
/* Map Styles */
|
|
@@ -678,7 +676,6 @@ a:hover {
|
|
|
678
676
|
flex-shrink: 0;
|
|
679
677
|
font-weight: bold;
|
|
680
678
|
color: white;
|
|
681
|
-
text-shadow: 0 0 2px rgba(0,0,0,0.5);
|
|
682
679
|
}
|
|
683
680
|
|
|
684
681
|
.timetable-page .timetable-alerts .alert-header .alert-title {
|
|
@@ -99,7 +99,7 @@ function formatStopPopup(feature) {
|
|
|
99
99
|
container.appendChild(routeList);
|
|
100
100
|
|
|
101
101
|
const streetviewLink = document.createElement('a');
|
|
102
|
-
streetviewLink.className = 'btn-
|
|
102
|
+
streetviewLink.className = 'btn-active btn-sm';
|
|
103
103
|
streetviewLink.href = `https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=${feature.geometry.coordinates[1]},${feature.geometry.coordinates[0]}&heading=0&pitch=0&fov=90`;
|
|
104
104
|
streetviewLink.target = '_blank';
|
|
105
105
|
streetviewLink.rel = 'noopener noreferrer';
|
|
@@ -68,7 +68,7 @@ function formatAlertAsHtml(
|
|
|
68
68
|
if (alert.alert.url?.translation?.[0].text) {
|
|
69
69
|
const moreInfoLink = document.createElement('a');
|
|
70
70
|
moreInfoLink.href = alert.alert.url.translation[0].text;
|
|
71
|
-
moreInfoLink.classList.add('btn-
|
|
71
|
+
moreInfoLink.classList.add('btn-active', 'btn-sm', 'alert-more-info');
|
|
72
72
|
moreInfoLink.textContent = 'More Info';
|
|
73
73
|
alertBody.appendChild(moreInfoLink);
|
|
74
74
|
}
|
|
@@ -194,7 +194,7 @@ async function updateAlerts() {
|
|
|
194
194
|
// Replace the empty message if present
|
|
195
195
|
const emptyMessage = document.querySelector('.timetable-alert-empty');
|
|
196
196
|
if (emptyMessage) {
|
|
197
|
-
emptyMessage.style.display = '';
|
|
197
|
+
emptyMessage.style.display = 'block';
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
200
|
} catch (error) {
|
|
@@ -194,7 +194,7 @@ function getStopPopupHtml(feature, stop) {
|
|
|
194
194
|
html.appendChild(routeList);
|
|
195
195
|
|
|
196
196
|
const streetviewLink = document.createElement('a');
|
|
197
|
-
streetviewLink.className = 'btn-
|
|
197
|
+
streetviewLink.className = 'btn-active btn-sm';
|
|
198
198
|
streetviewLink.href = `https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=${feature.geometry.coordinates[1]},${feature.geometry.coordinates[0]}&heading=0&pitch=0&fov=90`;
|
|
199
199
|
streetviewLink.target = '_blank';
|
|
200
200
|
streetviewLink.rel = 'noopener noreferrer';
|
|
@@ -13,8 +13,8 @@ function showSelectedTimetable() {
|
|
|
13
13
|
.forEach((element) => {
|
|
14
14
|
const label = element.closest('label');
|
|
15
15
|
if (label) {
|
|
16
|
-
label.classList.toggle('btn-
|
|
17
|
-
label.classList.toggle('btn-
|
|
16
|
+
label.classList.toggle('btn-active', element.checked);
|
|
17
|
+
label.classList.toggle('btn-inactive', !element.checked);
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
|
|
@@ -23,8 +23,8 @@ function showSelectedTimetable() {
|
|
|
23
23
|
.forEach((element) => {
|
|
24
24
|
const label = element.closest('label');
|
|
25
25
|
if (label) {
|
|
26
|
-
label.classList.toggle('btn-
|
|
27
|
-
label.classList.toggle('btn-
|
|
26
|
+
label.classList.toggle('btn-active', element.checked);
|
|
27
|
+
label.classList.toggle('btn-inactive', !element.checked);
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
30
|
|
|
@@ -27,7 +27,7 @@ if timetablePage.consolidatedTimetables.length > 1
|
|
|
27
27
|
div
|
|
28
28
|
h3= dayList
|
|
29
29
|
each timetable in group
|
|
30
|
-
a.btn-
|
|
30
|
+
a.btn-active(href=`#${cssEscape(`timetable_id_${timetable.timetable_id}`)}`)= timetable.timetable_label
|
|
31
31
|
|
|
32
32
|
if config.menuType === 'radio'
|
|
33
33
|
.timetable-radio-menu
|
|
@@ -36,13 +36,13 @@ if timetablePage.consolidatedTimetables.length > 1
|
|
|
36
36
|
#direction_name_selector
|
|
37
37
|
h3 Service Direction
|
|
38
38
|
each timetable, idx in uniqueDirectionTimetables
|
|
39
|
-
label(class=idx === 0 ? 'btn-
|
|
39
|
+
label(class=idx === 0 ? 'btn-active' : 'btn-inactive')
|
|
40
40
|
input.hidden(type="radio" name="directionId" autocomplete="off" value=timetable.direction_id checked=(idx === 0))
|
|
41
41
|
span= timetable.direction_name || timetable.timetable_label
|
|
42
42
|
div(hidden=timetablePage.dayLists.length <= 1)
|
|
43
43
|
#day_list_selector
|
|
44
44
|
h3 Day of Week
|
|
45
45
|
each dayList, idx in timetablePage.dayLists
|
|
46
|
-
label(class=idx === 0 ? 'btn-
|
|
46
|
+
label(class=idx === 0 ? 'btn-active' : 'btn-inactive')
|
|
47
47
|
input.hidden(type="radio" name="dayList" autocomplete="off" value=dayList checked=(idx === 0))
|
|
48
48
|
span= dayList
|