diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 4be736429..ad05c4b89 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -15,10 +15,10 @@ name: "CodeQL" on: push: - branches: [ "dev", master ] + branches: [ "dev", master, "mtc-deploy" ] pull_request: # The branches below must be a subset of the branches above - branches: [ "dev" ] + branches: [ "dev", "mtc-deploy" ] schedule: - cron: '24 19 * * 6' diff --git a/.github/workflows/node-ci.yml b/.github/workflows/node-ci.yml index 361b8a54f..4bd7d05ef 100644 --- a/.github/workflows/node-ci.yml +++ b/.github/workflows/node-ci.yml @@ -16,10 +16,12 @@ jobs: - uses: actions/setup-python@v2 with: python-version: '3.x' - - name: Install mkdocs + - name: Install mkdocs and plugins run: | pip install Jinja2==3.0.3 mkdocs mkdocs --version + pip install mkdocs-macros-plugin + pip install requests - name: Use Node.js 14.x uses: actions/setup-node@v1 with: diff --git a/.gitignore b/.gitignore index de18f02c7..a0310431d 100644 --- a/.gitignore +++ b/.gitignore @@ -22,9 +22,13 @@ configurations/* !configurations/default !configurations/test !configurations/end-to-end +!configurations/mtc-docs dist assets +# Mkdocs local build +target/ + # Secret config files env.yml env.yml-original diff --git a/.readthedocs.yml b/.readthedocs.yaml similarity index 69% rename from .readthedocs.yml rename to .readthedocs.yaml index e138fa82d..76180a229 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yaml @@ -8,7 +8,12 @@ version: 2 build: os: ubuntu-22.04 tools: - python: "3.11" + python: "3.13" + +# Install mkdocs macros and other plugins +python: + install: + - requirements: docs/requirements.txt mkdocs: configuration: mkdocs.yml diff --git a/configurations/default/env.yml.tmp b/configurations/default/env.yml.tmp index efcad4a54..03d0c7c68 100644 --- a/configurations/default/env.yml.tmp +++ b/configurations/default/env.yml.tmp @@ -2,10 +2,10 @@ AUTH0_CLIENT_ID: your-auth0-client-id AUTH0_CONNECTION_NAME: your-auth0-connection-name AUTH0_DOMAIN: your-auth0-domain BUGSNAG_KEY: optional-bugsnag-key -MAP_BASE_URL: optional-map-tile-url MAPBOX_ACCESS_TOKEN: your-mapbox-access-token MAPBOX_MAP_ID: mapbox/outdoors-v11 MAPBOX_ATTRIBUTION: © Mapbox © OpenStreetMap Improve this map +MAP_BASE_URL: optional-map-tile-url # MAP_BASE_URL: http://tile.openstreetmap.org/{z}/{x}/{y}.png # Uncomment it if maps are gray SLACK_CHANNEL: optional-slack-channel SLACK_WEBHOOK: optional-slack-webhook @@ -22,6 +22,6 @@ GRAPH_HOPPER_KEY: your-graph-hopper-key # - 6 # - -46 # - 83 -GOOGLE_ANALYTICS_TRACKING_ID: optional-ga-key # GRAPH_HOPPER_POINT_LIMIT: 10 # Defaults to 30 +GOOGLE_ANALYTICS_TRACKING_ID: optional-ga-key DISABLE_AUTH: true diff --git a/configurations/mtc-docs/.readthedocs.yaml b/configurations/mtc-docs/.readthedocs.yaml new file mode 100644 index 000000000..3b057f68f --- /dev/null +++ b/configurations/mtc-docs/.readthedocs.yaml @@ -0,0 +1,20 @@ +# Read the Docs configuration file for MkDocs projects +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Set the version of Python and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.13" + +# Install mkdocs macros and other plugins +# Per readthedocs: paths are relative to the root of the project. +python: + install: + - requirements: docs/requirements.txt + +mkdocs: + configuration: configurations/mtc-docs/mkdocs-mtc.yml diff --git a/configurations/mtc-docs/mkdocs-mtc.yml b/configurations/mtc-docs/mkdocs-mtc.yml new file mode 100644 index 000000000..df89de75f --- /dev/null +++ b/configurations/mtc-docs/mkdocs-mtc.yml @@ -0,0 +1,29 @@ +INHERIT: ../../mkdocs.yml +site_name: Transit Data Manager Docs +docs_dir: ../../docs + +extra: + product_name: MTC Transit Data Manager (TDM) + support_email: transitdata@511.org + +nav: +- Home: 'index.md' +- Data Manager: + - 'Introduction': 'user/introduction.md' + - 'Managing Projects & Feeds': 'user/managing-projects-feeds.md' + - 'Publishing Feeds': 'user/publishing-feeds.md' + - 'Merging Feeds': 'user/merging-feeds.md' + - 'Feed Version Summary': 'user/feed-version-summary.md' + - 'Managing Users': 'user/managing-users.md' + - 'Service Alerts Manager': 'user/service-alerts.md' + - 'Searching for Routes and Stops': 'user/searching-routes-stops.md' + - 'GTFS+ Editor': 'user/gtfs-plus-editor.md' +- 'GTFS Editor': + - Getting Started: 'user/editor/getting-started.md' + - Stops: 'user/editor/stops.md' + - Routes: 'user/editor/routes.md' + - Patterns: 'user/editor/patterns.md' + - Schedules: 'user/editor/schedules.md' + - Fares: 'user/editor/fares.md' +- Appendices: + - GTFS Validation Warnings: 'user/appendix-gtfs-warnings.md' diff --git a/docs/dev/development.md b/docs/dev/development.md index b12c7c261..8e8ae5221 100644 --- a/docs/dev/development.md +++ b/docs/dev/development.md @@ -49,4 +49,4 @@ yarn start -- --config /path/to/config The e2e tests have been Dockerized, which allows them to be run easily anywhere `docker compose` works. To run them on localhost, first create a `.env` file in the `__tests__/e2e`. `docker compose` will alert you as to which variables must be present. -To run the tests, run `docker compose -f docker compose.yml up --abort-on-container-exit` in the `__tests__/e2e/` directory. +To run the tests, run `docker compose -f docker-compose.yml up --abort-on-container-exit` in the `__tests__/e2e/` directory. diff --git a/docs/img/affected-service.png b/docs/img/affected-service.png new file mode 100644 index 000000000..07de310a3 Binary files /dev/null and b/docs/img/affected-service.png differ diff --git a/docs/img/agency-filter.png b/docs/img/agency-filter.png new file mode 100644 index 000000000..5e2dc777d Binary files /dev/null and b/docs/img/agency-filter.png differ diff --git a/docs/img/alert-editor.png b/docs/img/alert-editor.png new file mode 100644 index 000000000..9b847cad5 Binary files /dev/null and b/docs/img/alert-editor.png differ diff --git a/docs/img/alerts-parent-station.png b/docs/img/alerts-parent-station.png new file mode 100644 index 000000000..83bbeef45 Binary files /dev/null and b/docs/img/alerts-parent-station.png differ diff --git a/docs/img/alerts-viewer.png b/docs/img/alerts-viewer.png new file mode 100644 index 000000000..67e526199 Binary files /dev/null and b/docs/img/alerts-viewer.png differ diff --git a/docs/img/auto-publish-feed.png b/docs/img/auto-publish-feed.png new file mode 100644 index 000000000..4b7b93473 Binary files /dev/null and b/docs/img/auto-publish-feed.png differ diff --git a/docs/img/auto-publish-status.png b/docs/img/auto-publish-status.png new file mode 100644 index 000000000..c4c93b061 Binary files /dev/null and b/docs/img/auto-publish-status.png differ diff --git a/docs/img/configuration-editor.png b/docs/img/configuration-editor.png new file mode 100644 index 000000000..d4cdf60d8 Binary files /dev/null and b/docs/img/configuration-editor.png differ diff --git a/docs/img/configurations-viewer.png b/docs/img/configurations-viewer.png new file mode 100644 index 000000000..be0e4ea01 Binary files /dev/null and b/docs/img/configurations-viewer.png differ diff --git a/docs/img/create-project.png b/docs/img/create-project.png new file mode 100644 index 000000000..ad87d224a Binary files /dev/null and b/docs/img/create-project.png differ diff --git a/docs/img/editor-session-lock.png b/docs/img/editor-session-lock.png new file mode 100644 index 000000000..b62185578 Binary files /dev/null and b/docs/img/editor-session-lock.png differ diff --git a/docs/img/editor-welcome.png b/docs/img/editor-welcome.png new file mode 100644 index 000000000..fa80ce71d Binary files /dev/null and b/docs/img/editor-welcome.png differ diff --git a/docs/img/feed-manager-publish.png b/docs/img/feed-manager-publish.png new file mode 100644 index 000000000..65d0d64da Binary files /dev/null and b/docs/img/feed-manager-publish.png differ diff --git a/docs/img/feed-manager-published.png b/docs/img/feed-manager-published.png new file mode 100644 index 000000000..9b0feaffe Binary files /dev/null and b/docs/img/feed-manager-published.png differ diff --git a/docs/img/feed-profile.png b/docs/img/feed-profile.png new file mode 100644 index 000000000..7bc0be318 Binary files /dev/null and b/docs/img/feed-profile.png differ diff --git a/docs/img/feed-transformation-results.png b/docs/img/feed-transformation-results.png new file mode 100644 index 000000000..e65fd1ab3 Binary files /dev/null and b/docs/img/feed-transformation-results.png differ diff --git a/docs/img/feed-version-navigator.png b/docs/img/feed-version-navigator.png new file mode 100644 index 000000000..54a63a60a Binary files /dev/null and b/docs/img/feed-version-navigator.png differ diff --git a/docs/img/filter-alerts.png b/docs/img/filter-alerts.png new file mode 100644 index 000000000..a449c54b8 Binary files /dev/null and b/docs/img/filter-alerts.png differ diff --git a/docs/img/filter-configurations.png b/docs/img/filter-configurations.png new file mode 100644 index 000000000..0ec39d4fe Binary files /dev/null and b/docs/img/filter-configurations.png differ diff --git a/docs/img/gtfs-map-search-alert.png b/docs/img/gtfs-map-search-alert.png new file mode 100644 index 000000000..9c58a4fdd Binary files /dev/null and b/docs/img/gtfs-map-search-alert.png differ diff --git a/docs/img/gtfs-map-search-config.png b/docs/img/gtfs-map-search-config.png new file mode 100644 index 000000000..9545f0897 Binary files /dev/null and b/docs/img/gtfs-map-search-config.png differ diff --git a/docs/img/gtfsplus-editor-nav.png b/docs/img/gtfsplus-editor-nav.png new file mode 100644 index 000000000..fdcaf9266 Binary files /dev/null and b/docs/img/gtfsplus-editor-nav.png differ diff --git a/docs/img/gtfsplus-editor-route-attr-empty.png b/docs/img/gtfsplus-editor-route-attr-empty.png new file mode 100644 index 000000000..6f9f4e3db Binary files /dev/null and b/docs/img/gtfsplus-editor-route-attr-empty.png differ diff --git a/docs/img/gtfsplus-editor-route-attr.png b/docs/img/gtfsplus-editor-route-attr.png new file mode 100644 index 000000000..75c9d199d Binary files /dev/null and b/docs/img/gtfsplus-editor-route-attr.png differ diff --git a/docs/img/gtfsplus-editor.png b/docs/img/gtfsplus-editor.png new file mode 100644 index 000000000..cbabd7e83 Binary files /dev/null and b/docs/img/gtfsplus-editor.png differ diff --git a/docs/img/gtfsplus-publish.png b/docs/img/gtfsplus-publish.png new file mode 100644 index 000000000..4e2d2c09f Binary files /dev/null and b/docs/img/gtfsplus-publish.png differ diff --git a/docs/img/gtfsplus-summary.png b/docs/img/gtfsplus-summary.png new file mode 100644 index 000000000..be655d690 Binary files /dev/null and b/docs/img/gtfsplus-summary.png differ diff --git a/docs/img/hours-per-mode.png b/docs/img/hours-per-mode.png new file mode 100644 index 000000000..17f99c0f8 Binary files /dev/null and b/docs/img/hours-per-mode.png differ diff --git a/docs/img/merge-feeds-button.png b/docs/img/merge-feeds-button.png new file mode 100644 index 000000000..2fbed3499 Binary files /dev/null and b/docs/img/merge-feeds-button.png differ diff --git a/docs/img/merge-feeds-result.png b/docs/img/merge-feeds-result.png new file mode 100644 index 000000000..172731e78 Binary files /dev/null and b/docs/img/merge-feeds-result.png differ diff --git a/docs/img/new-alert-button.png b/docs/img/new-alert-button.png new file mode 100644 index 000000000..93b874641 Binary files /dev/null and b/docs/img/new-alert-button.png differ diff --git a/docs/img/normalize-stop-times.png b/docs/img/normalize-stop-times.png new file mode 100644 index 000000000..40e3610f8 Binary files /dev/null and b/docs/img/normalize-stop-times.png differ diff --git a/docs/img/pattern-add-stop.png b/docs/img/pattern-add-stop.png new file mode 100644 index 000000000..02631fa8d Binary files /dev/null and b/docs/img/pattern-add-stop.png differ diff --git a/docs/img/pattern-stop-warning.png b/docs/img/pattern-stop-warning.png new file mode 100644 index 000000000..6929a16a2 Binary files /dev/null and b/docs/img/pattern-stop-warning.png differ diff --git a/docs/img/publish-blocking-issue.png b/docs/img/publish-blocking-issue.png new file mode 100644 index 000000000..6a25d3072 Binary files /dev/null and b/docs/img/publish-blocking-issue.png differ diff --git a/docs/img/stops-routes-configuration.png b/docs/img/stops-routes-configuration.png new file mode 100644 index 000000000..7feed8692 Binary files /dev/null and b/docs/img/stops-routes-configuration.png differ diff --git a/docs/img/timetable-selector.png b/docs/img/timetable-selector.png new file mode 100644 index 000000000..fe78ebf50 Binary files /dev/null and b/docs/img/timetable-selector.png differ diff --git a/docs/img/timetable-shortcuts.png b/docs/img/timetable-shortcuts.png new file mode 100644 index 000000000..a6c71a3ed Binary files /dev/null and b/docs/img/timetable-shortcuts.png differ diff --git a/docs/img/transform-normalize-field.png b/docs/img/transform-normalize-field.png new file mode 100644 index 000000000..0ea1c9c80 Binary files /dev/null and b/docs/img/transform-normalize-field.png differ diff --git a/docs/img/transform-route-attr-from-csv.png b/docs/img/transform-route-attr-from-csv.png new file mode 100644 index 000000000..7459c206d Binary files /dev/null and b/docs/img/transform-route-attr-from-csv.png differ diff --git a/docs/img/transform-route-attr-from-version.png b/docs/img/transform-route-attr-from-version.png new file mode 100644 index 000000000..9efc5a224 Binary files /dev/null and b/docs/img/transform-route-attr-from-version.png differ diff --git a/docs/img/transform-table-from-csv.png b/docs/img/transform-table-from-csv.png new file mode 100644 index 000000000..0b9a223ea Binary files /dev/null and b/docs/img/transform-table-from-csv.png differ diff --git a/docs/img/transform-table-from-version.png b/docs/img/transform-table-from-version.png new file mode 100644 index 000000000..abbb7fe63 Binary files /dev/null and b/docs/img/transform-table-from-version.png differ diff --git a/docs/img/trips-per-date.png b/docs/img/trips-per-date.png new file mode 100644 index 000000000..eb03c7cf1 Binary files /dev/null and b/docs/img/trips-per-date.png differ diff --git a/docs/img/trips-per-hour-histogram.png b/docs/img/trips-per-hour-histogram.png new file mode 100644 index 000000000..421f2fa56 Binary files /dev/null and b/docs/img/trips-per-hour-histogram.png differ diff --git a/docs/img/version-timetables.png b/docs/img/version-timetables.png new file mode 100644 index 000000000..bb2ad0db8 Binary files /dev/null and b/docs/img/version-timetables.png differ diff --git a/docs/index.md b/docs/index.md index 1ae3866a8..5406b14f4 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,7 +1,9 @@ -# Arcadis TRANSIT-data-tools - -The Arcadis TRANSIT-data-tools suite provides web-based tools for creating, managing, evaluating, and publishing transit data, specifically data stored in the General Transit Feed Specification (GTFS) format. +# {{ product_name }} +The {{ product_name }} suite provides web-based tools for creating, managing, evaluating, and publishing transit data, specifically data stored in the General Transit Feed Specification (GTFS) format. ![feed-profile](https://datatools-builds.s3.amazonaws.com/docs/intro/feed-profile.png) -To get started, select a topic from the table of contents on the left pane. +To get started, click a topic from the table of contents on the left pane. + +## Contact +If users need to report bugs or require further assistance, please email [{{ support_email }}](mailto:{{ support_email }}). diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 000000000..9399b6b57 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,4 @@ +# Pin the mkdocs version so that readthedocs uses the same version as this repo's CI job. +# (Otherwise because the project is from before 2019, readthedocs uses a super old mkdocs 0.17.3.) +mkdocs==1.6.1 +mkdocs-macros-plugin diff --git a/docs/style.css b/docs/style.css index 358d2eafe..9f362c349 100644 --- a/docs/style.css +++ b/docs/style.css @@ -2,15 +2,25 @@ body { font-family: Arial, Helvetica, sans-serif; } +/*Ignore first heading in page in TOC list*/ +.toctree-l4:first-child { + display: none; +} + h1, h2, h3 { color: #015f97; font-family: Arial, Helvetica, sans-serif; } -.img-center { +img:not(img[alt=screenshot]) { + min-width: 300px; margin-left: auto; margin-right: auto; - width: 300px; + max-width: 90%; +} + +.section p:has(img:not(img[alt="screenshot"])) { + text-align: center; } /* Make all images responsive */ diff --git a/docs/user/editor/fares.md b/docs/user/editor/fares.md index 358cde39e..89b195cea 100644 --- a/docs/user/editor/fares.md +++ b/docs/user/editor/fares.md @@ -33,13 +33,13 @@ To edit fare rules, you must first create and save a fare with attributes. After 2. **From/to zone** - applies to any itinerary that travels from the origin zone to the destination zone 3. **Contains zone** - applies to any itinerary that passes through *each* `contains` zone - +![Fare rule editor](https://datatools-builds.s3.amazonaws.com/docs/fares/edit-fare-rules.png) ### Creating fare zones To create a fare zone, you must first select a stop that you would like to include in the zone by clicking the location pin icon on the sidebar and selecting one of the stop names. Next, click in the `zone_id` dropdown and begin typing the new `zone_id`. Click `Create new zone: [zone_id]` and then save the stop. Repeat for as many zones as needed. - +![Add fare zone](https://datatools-builds.s3.amazonaws.com/docs/fares/add-fare-zone.png) ### Tutorial Video: Editing/Creating Fares