forked from ChelseaKR/gtfs-scorecard
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsubmit.html
More file actions
190 lines (185 loc) · 10.4 KB
/
Copy pathsubmit.html
File metadata and controls
190 lines (185 loc) · 10.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Add your agency — GTFS Scorecard</title>
<meta name="description"
content="Submit a transit agency's GTFS feed to the scorecard. No account or YAML needed.">
<link rel="canonical" href="https://gtfsscorecard.org/submit.html">
<meta property="og:title" content="Add your agency — GTFS Scorecard">
<meta property="og:description" content="Submit a transit agency's GTFS feed to the scorecard. No account needed.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://gtfsscorecard.org/submit.html">
<meta property="og:image" content="https://gtfsscorecard.org/og.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://gtfsscorecard.org/og.png">
<script src="/analytics.js" defer></script>
<link rel="stylesheet" href="src/styles.css">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='13' fill='%23204e3a'/%3E%3Ccircle cx='16' cy='16' r='5' fill='%23f2f3ee'/%3E%3C/svg%3E">
<script>
/* Apply the saved theme before first paint to avoid a flash (1.4.8). */
try {
var t = localStorage.getItem("scorecard-theme");
if (t && ["light", "contrast", "dark"].indexOf(t) >= 0)
document.documentElement.setAttribute("data-theme", t);
} catch (e) {}
</script>
<script src="/src/theme.js" defer></script>
<script src="/src/nav.js" defer></script>
<noscript><style>
/* Without JS the menu button cannot expand the collapsed nav, so show the
stacked nav permanently and hide the button (content stays operable
without scripting). nav.js never runs here, so nothing double-toggles. */
@media (max-width: 1400px) {
.nav-menu-btn { display: none !important; }
.nav-cluster { display: flex !important; position: static; }
}
</style></noscript>
</head>
<body>
<a class="skip-link" href="#main">Skip to main content</a>
<header class="site-header">
<div class="wrap">
<a class="brand" href="/"><span class="brand-mark" aria-hidden="true"></span><span class="brand-name">GTFS Scorecard</span></a>
<button class="nav-menu-btn" type="button" aria-expanded="false" aria-controls="nav-cluster"><span aria-hidden="true">☰</span> Menu</button>
<div class="nav-cluster" id="nav-cluster">
<nav class="nav-stops" aria-label="Primary"><a class="nav-stop" href="/agencies/"><span class="pip" aria-hidden="true"></span>Find an agency</a><a class="nav-stop" href="/pulse/"><span class="pip" aria-hidden="true"></span>Coverage</a><a class="nav-stop" href="/app/#/?view=features"><span class="pip" aria-hidden="true"></span>Feed features</a><a class="nav-stop" href="/tools/"><span class="pip" aria-hidden="true"></span>Tools</a><a class="nav-stop" href="/how-to-read/"><span class="pip" aria-hidden="true"></span>How it works</a><a class="nav-stop" href="/about/"><span class="pip" aria-hidden="true"></span>About</a></nav>
<div id="theme-control"></div>
</div>
</div>
</header>
<main id="main" class="wrap" tabindex="-1">
<a class="backlink" href="/app/">← All agencies</a>
<h1 class="page-title">Add your agency.</h1>
<p class="page-lede">Give us the link to your published
<dfn><abbr title="General Transit Feed Specification">GTFS</abbr></dfn> feed and we will start
scoring it. You do not need an account or to know what
<abbr title="YAML Ain't Markup Language, a plain-text config format">YAML</abbr> is. Submitting
opens a pull request for a person to review before anything goes live.</p>
<p class="page-lede">Just want a one-off grade without being added to the list?
<a href="try.html">Request a score</a> through the GitHub-backed path or run the scorer locally.</p>
<form id="submit-form" class="submit-form" novalidate>
<p class="field">
<label for="name">Agency name <span class="req">(required)</span></label>
<input id="name" name="name" type="text" required autocomplete="organization"
placeholder="e.g. Fairfield and Suisun Transit">
</p>
<p class="field">
<label for="static_gtfs_url">GTFS Schedule URL <span class="req">(required)</span></label>
<input id="static_gtfs_url" name="static_gtfs_url" type="url" required
placeholder="https://.../google_transit.zip">
<span class="hint">A direct link to your GTFS .zip. If you are not sure, your
scheduling vendor or your page on the Mobility Database has it.</span>
</p>
<fieldset class="field">
<legend>Primary location <span class="req">(required)</span></legend>
<label for="country">Country code</label>
<input id="country" name="country" type="text" required maxlength="2"
pattern="[A-Za-z]{2}" autocomplete="off" autocapitalize="characters"
spellcheck="false" placeholder="e.g. US or CA">
<span class="hint">Use the two-letter ISO country code. This identifies the feed's
primary catalog location; it does not limit a service that crosses a border.</span>
<label for="subdivision_code">Subdivision code</label>
<input id="subdivision_code" name="subdivision_code" type="text" maxlength="7"
pattern="[A-Za-z]{2}-[A-Za-z0-9]{1,3}" placeholder="e.g. CA-ON">
<label for="subdivision_name">Subdivision name</label>
<input id="subdivision_name" name="subdivision_name" type="text"
placeholder="e.g. Ontario">
<span class="hint">Subdivision is optional for national, cross-border, city-state, or
genuinely unlocated feeds. If you provide it, include both the ISO 3166-2 code and the
local practitioner-facing name.</span>
</fieldset>
<fieldset class="field">
<legend><abbr title="GTFS Realtime">GTFS-Realtime</abbr> URLs (optional)</legend>
<label for="trip_updates">Trip updates</label>
<input id="trip_updates" name="trip_updates" type="url" placeholder="https://.../TripUpdates.pb">
<label for="vehicle_positions">Vehicle positions</label>
<input id="vehicle_positions" name="vehicle_positions" type="url" placeholder="https://.../VehiclePositions.pb">
<label for="service_alerts">Service alerts</label>
<input id="service_alerts" name="service_alerts" type="url" placeholder="https://.../ServiceAlerts.pb">
<span class="hint">Leave these blank if you do not publish realtime. That is not
counted against your grade.</span>
</fieldset>
<p class="field">
<label for="license_note">Data license <span class="req">(optional)</span></label>
<input id="license_note" name="license_note" type="text"
placeholder="e.g. CC-BY 4.0, or a link to your terms">
</p>
<p class="field">
<label for="submitter_email">Your email <span class="req">(optional)</span></label>
<input id="submitter_email" name="submitter_email" type="email" autocomplete="email"
placeholder="So we can reach you with questions">
</p>
<p class="field">
<button type="submit" class="submit-button">Submit my agency</button>
</p>
<p id="form-status" class="form-status" role="status" aria-live="polite"></p>
</form>
</main>
<footer class="site-footer">
<div class="wrap">
<div class="footer-intro">
<a class="footer-brand" href="/">GTFS Scorecard</a>
<p>An open-source data quality tool for small and rural transit agencies.</p>
</div>
<nav class="footer-grid" aria-label="Footer">
<section aria-labelledby="footer-find-h">
<h2 id="footer-find-h">Find a scorecard</h2>
<ul>
<li><a href="/agencies/">Agency directory</a></li>
<li><a href="/app/">Interactive search</a></li>
<li><a href="/map/">Agency map</a></li>
<li><a href="/routes/">All routes</a></li>
<li><a href="/compare/">Compare two agencies</a></li>
</ul>
</section>
<section aria-labelledby="footer-improve-h">
<h2 id="footer-improve-h">Improve a feed</h2>
<ul>
<li><a href="/fix/">GTFS errors & fixes</a></li>
<li><a href="/check/">Check before publishing</a></li>
<li><a href="/try.html">Request a one-off score</a></li>
<li><a href="/subscribe.html">Feed-health alerts</a></li>
<li><a href="/submit.html">Add an agency</a></li>
<li><a href="/claim/">Correct or claim a listing</a></li>
<li><a href="/procurement/">Procurement language</a></li>
</ul>
</section>
<section aria-labelledby="footer-explore-h">
<h2 id="footer-explore-h">Explore the data</h2>
<ul>
<li><a href="/pulse/">Coverage overview</a></li>
<li><a href="/problems/">Common problems</a></li>
<li><a href="/realtime/">Realtime quality</a></li>
<li><a href="/adoption/">What feeds publish</a></li>
<li><a href="/focus/">Focus areas</a></li>
<li class="footer-subhead">United States tools</li>
<li><a href="/ntd/">U.S. NTD readiness</a></li>
<li><a href="/equity/">U.S. equity</a></li>
<li><a href="/query/">Query the dataset</a></li>
<li><a href="/data/">Open data</a></li>
</ul>
</section>
<section aria-labelledby="footer-project-h">
<h2 id="footer-project-h">Project</h2>
<ul>
<li><a href="/about/">About</a></li>
<li><a href="/status/">Status</a></li>
<li><a href="/support/">Get help or sponsor</a></li>
<li><a href="/how-to-read/">How to read a scorecard</a></li>
<li><a href="/how-to-read/#glossary">Glossary</a></li>
<li><a href="/crosswalk/">Standards crosswalk</a></li>
<li><a href="/press/">For reporters</a></li>
<li><a href="/accessibility/">Accessibility</a></li>
<li><a href="https://github.com/ChelseaKR/gtfs-scorecard/blob/main/CONTRIBUTING.md">Contribute</a></li>
<li><a href="https://github.com/ChelseaKR/gtfs-scorecard/blob/main/docs/listing-policy.md">Listing & removal policy</a></li>
</ul>
</section>
</nav>
</div>
</footer>
<script src="src/config.js"></script>
<script type="module" src="src/submit.js"></script>
</body>
</html>