MPM Documentation Kit v1.3 (CW-034)

MPM Document Standard 1.3, mpmdoc build engine, templates for TN, INS, SOP,
BOM, SVY, TAP, DWG, TSB, PRO, SOW and WO (Chinese editions for TN and DWG),
glossary, MPM fonts and logos, and the mpm-technical-documents plugin 1.3.0.
Worked examples ship in the kit zip on Drive only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NWatTMmqmGatgHjDZvWs5b
This commit is contained in:
Jason StedwellandClaude Opus 5.5 committed 2026-11-09 11:51:56 -06:00
commit 5b52636003
143 files changed
+4097

No files matched your search

+91
View File
@@ -0,0 +1,91 @@
"""MPM brand tokens — the single source for colours, fonts and the document-type
and customer-code registries. Figures (figs.py) import colours from here so a
palette change lands everywhere at once.
See MPM_Document_Standard.md §3 (Numbering) and §6 (Visual system).
Fonts and logos are NOT stored here — they live in DOCUMENTATION PROJECT/_ASSETS/mpm/.
"""
from pathlib import Path
# ---- shared assets (DOCUMENTATION PROJECT/_ASSETS/mpm) ----------------------
def _find_assets():
for p in Path(__file__).resolve().parents:
if (p / "_ASSETS" / "mpm").is_dir():
return p / "_ASSETS" / "mpm"
raise FileNotFoundError("Could not find _ASSETS/mpm above _STANDARDS — see _ASSETS/README.md")
ASSETS = _find_assets()
FONTS_CSS = ASSETS / "fonts" / "fonts_embed.css" # generated by _ASSETS/mpm/fonts/make_embed.py
LOGO_HEADER = ASSETS / "logos" / "png" / "Logo-Gold-Black.png" # gold icon + dark text, on white
LOGO_ON_DARK = ASSETS / "logos" / "png" / "Logo-Gold-White.png" # dark title blocks / banners
LOGO_MONO = ASSETS / "logos" / "png" / "Logo-Black-Text.png" # single-colour black print
TAGLINE = "Born to Innovate. Built to Last."
# ---- palette (official MPM colour system; see _ASSETS/README.md) -----------
INK = "#232022" # Dark Shade · text, dark callouts, primary strokes
GOLD = "#DCBB4F" # Middle Gold · brand accent: rules, step numbers, header underline
KICK = "#998643" # Dark Gold · kicker text, labels, FIG/TABLE tags (gold for text on light backgrounds)
MUTE = "#849698" # Light Accent · secondary text, ledes, captions, footer
CREAM = "#F5F1EC" # meta cells, notes, calc blocks
LINE = "#E6E0D8" # table rules, figure frames
KEYBG = "#FBF6E6" # highlighted ("key") table row / KPI tile
RED = "#A42D20" # warnings, failing values, minimum/limit lines
REDBG = "#F7E9E7"
GRN = "#3F6B3A" # PASS, passing values
GRNBG = "#EAF1E6"
BLU = "#2F5A8A" # data-series only (e.g. blue channel); never for UI chrome
GRY = "#B8B1A8" # de-emphasised data series
FOOT = MUTE # running footer text (Light Accent)
# ---- type ----------------------------------------------------------------
FONT_HEAD = "Montserrat" # headings, kickers, labels, captions
FONT_BODY = "Open Sans" # body copy
FONT_MONO = "JetBrains Mono" # numbers, dimensions, part numbers, calcs
# ---- document types (TYPE field of TYPE-CUST-SUBJ-NN) ----------------------
# code: (header label, kicker label, default classification)
TYPES = {
"INS": ("Installation Guide", "Installation guide", "customer"),
"SOP": ("Standard Operating Procedure", "Procedure", "internal"),
"TN": ("Technical Note", "Technical note", "customer"),
"BOM": ("Bill of Materials", "Bill of materials", "internal"),
"SVY": ("Site Survey", "Site survey", "customer"),
"TAP": ("Technical Action Plan", "Technical action plan", "confidential"),
"DWG": ("Drawing", "Drawing", "customer"),
"TSB": ("Technical Service Bulletin", "Service bulletin", "customer"), # internal edition: classification="internal"
"PRO": ("Proposal", "Proposal", "confidential"),
"SOW": ("Statement of Work", "Statement of work", "customer"),
"WO": ("Field Work Order", "Work order", "internal"),
}
# ---- customer / department codes (CUST field) -------------------------------
# Add new codes here AND in registry.md before issuing a number.
CUSTOMERS = {
"LT": "LakeTran",
"NSH": "Nashville MCC (WeGo)",
"CMT": "CommTran",
"OMT": "Omnitrans",
"SOR": "SORTA / Metro",
"COTA": "COTA",
"GIL": "GILLIG",
# internal departments / company-wide
"MPM": "Message Point Media", # company-wide / product documents
"IT": "MPM IT",
"ENG": "MPM Engineering",
"OPS": "MPM Field Operations",
"QA": "MPM Quality",
}
# provider block for PRO / SOW / WO parties
PROVIDER = {"name": "Message Point Media of Alabama, Inc", "contact": "Jason Stedwell, Director of Technical Services",
"address": "Irondale, AL", "web": "messagepoint.tv"}
CLASSIFICATIONS = {
# key: footer suffix shown after the context ("" = no marking)
"public": "",
"customer": "",
"internal": "INTERNAL USE",
"confidential": "CONFIDENTIAL",
}