Compare commits
1 Commits
v2026
...
5375ab41a4
| Author | SHA1 | Date | |
|---|---|---|---|
|
5375ab41a4
|
4
.github/workflows/ci-docs.yml
vendored
4
.github/workflows/ci-docs.yml
vendored
@@ -2,10 +2,6 @@ name: CI - Docs build check
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
|
||||||
- "draft*"
|
|
||||||
- "rc*"
|
|
||||||
- "v*"
|
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- draft
|
- draft
|
||||||
|
|||||||
14
.github/workflows/release.yml
vendored
14
.github/workflows/release.yml
vendored
@@ -87,7 +87,6 @@ jobs:
|
|||||||
|
|
||||||
OUT_DIR="${RUNNER_TEMP}/pandoc"
|
OUT_DIR="${RUNNER_TEMP}/pandoc"
|
||||||
OUT_FILE="${GITHUB_REF_NAME}-${SHORT_SHA}.docx"
|
OUT_FILE="${GITHUB_REF_NAME}-${SHORT_SHA}.docx"
|
||||||
PLAYING_RULES_OUT_FILE="${GITHUB_REF_NAME}-${SHORT_SHA}-playing-rules.docx"
|
|
||||||
echo "SHORT_SHA=`echo ${SHORT_SHA}`" >> $GITHUB_ENV
|
echo "SHORT_SHA=`echo ${SHORT_SHA}`" >> $GITHUB_ENV
|
||||||
|
|
||||||
mkdir -p "${OUT_DIR}"
|
mkdir -p "${OUT_DIR}"
|
||||||
@@ -110,16 +109,6 @@ jobs:
|
|||||||
|
|
||||||
echo "Pandoc output written to ${OUT_DIR}/${OUT_FILE}"
|
echo "Pandoc output written to ${OUT_DIR}/${OUT_FILE}"
|
||||||
|
|
||||||
echo "Generating ${PLAYING_RULES_OUT_FILE}"
|
|
||||||
|
|
||||||
pandoc \
|
|
||||||
docs/03-playing-rules.md \
|
|
||||||
--shift-heading-level-by=-1 \
|
|
||||||
--number-sections \
|
|
||||||
-o "${OUT_DIR}/${PLAYING_RULES_OUT_FILE}"
|
|
||||||
|
|
||||||
echo "Pandoc output written to ${OUT_DIR}/${PLAYING_RULES_OUT_FILE}"
|
|
||||||
|
|
||||||
- name: Zip offline site
|
- name: Zip offline site
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
@@ -151,7 +140,6 @@ jobs:
|
|||||||
files: |
|
files: |
|
||||||
${{ runner.temp }}/mkdocs_out/site_offline/${{ github.ref_name }}.zip
|
${{ runner.temp }}/mkdocs_out/site_offline/${{ github.ref_name }}.zip
|
||||||
${{ runner.temp }}/pandoc/${{ github.ref_name }}-${{ env.SHORT_SHA }}.docx
|
${{ runner.temp }}/pandoc/${{ github.ref_name }}-${{ env.SHORT_SHA }}.docx
|
||||||
${{ runner.temp }}/pandoc/${{ github.ref_name }}-${{ env.SHORT_SHA }}-playing-rules.docx
|
|
||||||
|
|
||||||
- name: Publish release
|
- name: Publish release
|
||||||
if: startsWith(github.ref_name, 'v')
|
if: startsWith(github.ref_name, 'v')
|
||||||
@@ -162,8 +150,6 @@ jobs:
|
|||||||
body_path: ${{ runner.temp }}/release-notes.md
|
body_path: ${{ runner.temp }}/release-notes.md
|
||||||
files: |
|
files: |
|
||||||
${{ runner.temp }}/mkdocs_out/site_offline/${{ github.ref_name }}.zip
|
${{ runner.temp }}/mkdocs_out/site_offline/${{ github.ref_name }}.zip
|
||||||
${{ runner.temp }}/pandoc/${{ github.ref_name }}-${{ env.SHORT_SHA }}.docx
|
|
||||||
${{ runner.temp }}/pandoc/${{ github.ref_name }}-${{ env.SHORT_SHA }}-playing-rules.docx
|
|
||||||
|
|
||||||
- name: Checkout gh-pages branch
|
- name: Checkout gh-pages branch
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|||||||
20
README.md
20
README.md
@@ -14,6 +14,7 @@ This repository contains the governing documents for the Chicago Metropolitan Ba
|
|||||||
- `docs/03-playing-rules.md`: playing rules
|
- `docs/03-playing-rules.md`: playing rules
|
||||||
- `mkdocs/mkdocs.yml`: MkDocs site configuration
|
- `mkdocs/mkdocs.yml`: MkDocs site configuration
|
||||||
- `mkdocs/requirements.txt`: Python packages required to build the site
|
- `mkdocs/requirements.txt`: Python packages required to build the site
|
||||||
|
- `tools/build.sh`: production build script
|
||||||
- `tools/spellcheck/`: CSpell configuration and custom baseball dictionary
|
- `tools/spellcheck/`: CSpell configuration and custom baseball dictionary
|
||||||
|
|
||||||
## Local Development
|
## Local Development
|
||||||
@@ -44,23 +45,6 @@ MkDocs serves the site locally and watches the Markdown files under `docs/` for
|
|||||||
- Use the local preview server when editing headings, internal links, or cross-references.
|
- Use the local preview server when editing headings, internal links, or cross-references.
|
||||||
- Update `tools/spellcheck/baseball-words.txt` when league-specific terminology is flagged by CSpell.
|
- Update `tools/spellcheck/baseball-words.txt` when league-specific terminology is flagged by CSpell.
|
||||||
|
|
||||||
## Amendment Flow
|
|
||||||
|
|
||||||
Amendments move through three review stages before publication:
|
|
||||||
|
|
||||||
1. Draft amendments are prepared on the `draft` branch. Use this branch for active editing, internal review, and early validation.
|
|
||||||
2. Drafts may be prereleased for review by pushing a `draft*` tag. The draft prerelease provides a reviewable GitHub release and deploys the draft preview site at `/draft/`.
|
|
||||||
3. When the draft is ready for formal consideration, merge it into `release-candidate` with a merge commit. The merge commit preserves the point at which the draft moved into release-candidate review.
|
|
||||||
4. Release candidates may be prereleased for review by pushing an `rc*` tag. The release-candidate prerelease provides the version to be voted on and deploys the release-candidate preview site at `/rc/`.
|
|
||||||
5. After the amendment is voted on and approved according to the required CMBA process, merge the release candidate into `main`.
|
|
||||||
6. Publish the approved amendment from `main` by pushing a `v*` tag and creating the final GitHub release.
|
|
||||||
|
|
||||||
The final GitHub release is the published record for an approved amendment. It should include:
|
|
||||||
|
|
||||||
- an offline HTML version of the documents
|
|
||||||
- a `.docx` version of the combined bylaws, policy, and playing rules
|
|
||||||
- a `.docx` version of the playing rules only
|
|
||||||
|
|
||||||
## Publishing
|
## Publishing
|
||||||
|
|
||||||
Publishing is driven by GitHub Actions.
|
Publishing is driven by GitHub Actions.
|
||||||
@@ -83,7 +67,7 @@ It builds both the normal site and an offline site package, then publishes based
|
|||||||
|
|
||||||
- `draft*`: creates a GitHub prerelease, attaches the offline zip and generated `.docx`, and deploys the preview site to the `gh-pages` branch under `/draft/`
|
- `draft*`: creates a GitHub prerelease, attaches the offline zip and generated `.docx`, and deploys the preview site to the `gh-pages` branch under `/draft/`
|
||||||
- `rc*`: creates a GitHub prerelease, attaches the offline zip and generated `.docx`, and deploys the preview site to the `gh-pages` branch under `/rc/`
|
- `rc*`: creates a GitHub prerelease, attaches the offline zip and generated `.docx`, and deploys the preview site to the `gh-pages` branch under `/rc/`
|
||||||
- `v*`: creates a GitHub release, attaches the release artifacts, and deploys the release site to the root of the `gh-pages` branch
|
- `v*`: creates a GitHub release, attaches the offline zip, and deploys the release site to the root of the `gh-pages` branch
|
||||||
|
|
||||||
The GitHub release description is generated from `docs/summary-of-changes.md`. Draft and release-candidate prereleases prepend a short prerelease note before that summary.
|
The GitHub release description is generated from `docs/summary-of-changes.md`. Draft and release-candidate prereleases prepend a short prerelease note before that summary.
|
||||||
|
|
||||||
|
|||||||
@@ -21,16 +21,6 @@ These rules shall *not* incorporate the following rules of Major League Baseball
|
|||||||
## Pre-Game Meeting
|
## Pre-Game Meeting
|
||||||
Before first pitch, the Managers and the umpire-in-chief shall conduct a pre-game meeting. A Manager may designate a team delegate to attend on the Manager’s behalf. At this meeting, the teams shall exchange lineups and review any applicable ground rules with the umpire.
|
Before first pitch, the Managers and the umpire-in-chief shall conduct a pre-game meeting. A Manager may designate a team delegate to attend on the Manager’s behalf. At this meeting, the teams shall exchange lineups and review any applicable ground rules with the umpire.
|
||||||
|
|
||||||
## Pre-Game Warmups
|
|
||||||
As a general pre-game guideline, teams should plan for about 20 to 30 minutes of total defensive warmup time (i.e. an infield/outfield routine), counted from when the first team starts, and distributed evenly as practically as possible. The visiting team will usually go first, and the home team will usually take the final turn before the pre-game meeting and first pitch. For fields where a batting cage is available, the team not using the field should make use of the batting cage while the other team finishes its defensive warmups.
|
|
||||||
|
|
||||||
Managers may agree to reverse the order or adjust the timing if that works better for both teams.
|
|
||||||
|
|
||||||
!!! Examples
|
|
||||||
For a game starting at 9:30 am at a field with a batting cage, the visiting team might perform their infield/outfield routine from about 9:00 to 9:15 while the home team uses the batting cage. The teams would then switch, with the home team taking the field from about 9:15 to 9:30 and the visiting team using the cage or bullpen until first pitch.
|
|
||||||
|
|
||||||
For a game starting at 6:15 pm at a field with a batting cage, the home team might start offensive warmups in the batting cage at 6:00 pm. Because there are 15 minutes before first pitch, they take approximately 7.5 minutes for offensive warmups while the visiting team uses the field for their defensive infield/outfield routine. The teams would then switch, with the home team taking the field from about 6:07 to 6:14 and the visiting team using the cage until first pitch.
|
|
||||||
|
|
||||||
## Regulation Games
|
## Regulation Games
|
||||||
Games played under the auspices of both recognized Managers of the participating teams shall count as official. A regulation game is defined as follows
|
Games played under the auspices of both recognized Managers of the participating teams shall count as official. A regulation game is defined as follows
|
||||||
|
|
||||||
|
|||||||
@@ -35,4 +35,4 @@ The Chicago Metropolitan Baseball Association exists to provide strong amateur b
|
|||||||
|
|
||||||
## Additional Resources
|
## Additional Resources
|
||||||
|
|
||||||
- [Summary of Changes](summary-of-changes.md)
|
- [Summary of High Level Changes for 2026](summary-of-changes.md)
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
### Playing Rules
|
### Playing Rules
|
||||||
|
|
||||||
- Playing Rules now focus on on-field competition only, with administrative topics moved into League Policy.
|
- Playing Rules now focus on on-field competition only, with administrative topics moved into League Policy.
|
||||||
- Pre-game warmup guidance has been added for field sharing, batting cage use, and a suggested 20-to-30-minute overall warmup window counted from when the first team starts.
|
|
||||||
- The Playing Rules expressly incorporate the Official Baseball Rules unless a League exception applies.
|
- The Playing Rules expressly incorporate the Official Baseball Rules unless a League exception applies.
|
||||||
- The draft clarifies which modern MLB rules are not adopted by description, including limits on position-player pitching, shift restrictions, extra-inning automatic runners, pitch clocks, disengagement limits, the three-batter minimum, per-game mound visit limits, mandatory 18-inch bases, and replay/specialized-equipment rules.
|
- The draft clarifies which modern MLB rules are not adopted by description, including limits on position-player pitching, shift restrictions, extra-inning automatic runners, pitch clocks, disengagement limits, the three-batter minimum, per-game mound visit limits, mandatory 18-inch bases, and replay/specialized-equipment rules.
|
||||||
- The League now has a clear rule hierarchy: League Policy controls first, then Playing Rules, then incorporated MLB rules.
|
- The League now has a clear rule hierarchy: League Policy controls first, then Playing Rules, then incorporated MLB rules.
|
||||||
@@ -32,4 +31,4 @@
|
|||||||
- Regular-season flexibility is preserved through the Expanded Lineup Format, allowing unlimited Extra Hitters, shared batting positions, free defensive substitution, Designated Runners, and Courtesy Runners.
|
- Regular-season flexibility is preserved through the Expanded Lineup Format, allowing unlimited Extra Hitters, shared batting positions, free defensive substitution, Designated Runners, and Courtesy Runners.
|
||||||
- Postseason play is treated more formally through the Restricted Lineup Format, which excludes shared batting positions and uses stricter substitution rules.
|
- Postseason play is treated more formally through the Restricted Lineup Format, which excludes shared batting positions and uses stricter substitution rules.
|
||||||
- Minimum-player rules have been clarified: teams must start when both have one fewer than the required batting positions, short spots are outs, and teams falling below the minimum forfeit.
|
- Minimum-player rules have been clarified: teams must start when both have one fewer than the required batting positions, short spots are outs, and teams falling below the minimum forfeit.
|
||||||
- Collision, injury substitution, Designated Runner, Courtesy Runner, and umpire-dispute rules have been rewritten for clarity and consistency with incorporated baseball rules.
|
- Collision, injury substitution, Designated Runner, Courtesy Runner, and umpire-dispute rules have been rewritten for clarity and consistency with incorporated baseball rules.
|
||||||
15
tools/build.sh
Executable file
15
tools/build.sh
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
MKDOCS_STRICT="${MKDOCS_STRICT:-true}"
|
||||||
|
TMPDIR="${RUNNER_TEMP:-$TMPDIR}"
|
||||||
|
OUTPUT_DIR="${OUTPUT_DIR:-${TMPDIR}/dist/}"
|
||||||
|
# OFFLINE="${OFFLINE:-false}" # This doesn't seem to do anything, set by mkdocs.yml
|
||||||
|
MKDOCS_CONFIG="${MKDOCS_CONFIG:-mkdocs/mkdocs.yml}"
|
||||||
|
|
||||||
|
STRICT_FLAG=""
|
||||||
|
if [ "${MKDOCS_STRICT}" = "true" ]; then
|
||||||
|
STRICT_FLAG="--strict"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdocs build ${STRICT_FLAG} -f $MKDOCS_CONFIG -d $OUTPUT_DIR
|
||||||
Reference in New Issue
Block a user