Maintaining the MoS Lab site

Conventions and checklists for keeping content consistent. See README.md for the overall structure.

Title casing rule (publications)

All publication titles use sentence case: capitalize only the first word, the first word after a colon, and proper nouns / acronyms. Everything else is lowercase.

Keep capitalized:

  • Proper nouns and places: Singapore, Beijing, Nanning, China, Markov, Bayesian, MIT, …
  • Acronyms / branded names exactly as written: COVID-19, V2I, SCOPE-MoE, MoE-based, TimeMixer++, IEEE, LLM, …
  • The first letter right after a colon, e.g. … modeling: An empirical benchmark.

Examples:

  • Robust transit frequency setting problem with demand uncertainty
  • Built environment and autonomous vehicle mode choice: A first-mile scenario in Singapore
  • SCOPE-MoE: Supply chain forecasting with a pretrained MoE-based large time series model in e-commerce
  • Modeling Epidemic Spreading Through Public Transit Using Time-Varying Encounter Network (Title Case — don’t use)

Don’t hand-fix casing — after editing _data/publist.yml, just run:

python3 scripts/sentence_case_titles.py

It rewrites every title to sentence case and is idempotent (already-correct titles are left alone, so re-running it after adding a new paper only normalizes the new entry). Genuine proper nouns are kept via the PROPER set, and acronyms (all-caps, internal caps, or containing digits — IEEE, MoE, V2I, COVID-19) are auto-detected; add new proper nouns to PROPER in that script if needed.

(The LaTeX CV applies its own Title Case via cv/A01_common_func.pytitle_case(); the words_map there is the source of truth for special tokens like COVID-19, V2I, TimeMixer++, SCOPE-MoE, MoE-Based.)

Adding a new publication — checklist

  1. _data/publist.yml — add an entry (newest first). Required fields:
    • title — sentence case (see rule above).
    • year, type (1=conference, 2=journal, 4=preprint/working), paper_type (J/C/P).
    • category — exactly one of the four directions: Public Transit Resilience, Travel Behavior & Demand, Mobility AI, Sustainable Urban Systems. No other labels.
    • category_labelJournal Article / Conference Paper / Preprint / Working Paper.
    • venue, issue_page, venue_display.
    • authors_text (plain) and authors_html. In authors_html:
      • PI: <strong class="author-me">Baichuan Mo</strong>
      • corresponding: <span class="author-corresponding-name">Name</span><sup class="author-corresponding">*</sup>
      • equal contribution: <sup class="author-equal">&dagger;</sup>
    • corresponding_authors, co_first_authors.
    • external_url = DOI (the title links here; leave empty → plain title), external_label (DOI).
    • pdf_url — put the PDF in documents/publication/ and use a URL-encoded path (spaces → %20, commas → %2C).
    • code_url — repo link if any.
    • impact_factor (JCR, 1 decimal) and cas_quartile (Q1 Top, Q1, Q2, Q3, Q4; empty to hide).
    • if_sci, first_author.
    • featured + feature_image — see step 3.
  2. PDF — add the file under documents/publication/; reference it from pdf_url.
  3. Feature it (optional) — there is a single featured flag (no more representative). Setting featured: true adds the amber “Featured” badge + purple border in the publication list and includes the paper in the “★ Featured only” filter. To also show it as a Featured Research card on the Home/Research pages, additionally give it feature_image: /images/featured/<name>.png and optionally feature_title, feature_description, feature_alt for nicer card copy. The image should be a title-area screenshot from the paper PDF; follow FEATURED_RESEARCH_IMAGES.md. Those grids automatically show the 4 most recent featured papers that have a feature_image — no separate file, no picking which four. Featured papers should be Baichuan-Mo first/co-first authored.
  4. News — add a line to _data/news.yml.
  5. CV — add the row to documents/papers.xlsx (the CV’s data source), then rebuild both CVs (see README → CV) and place the PDFs at cv/CV_Baichuan_EN.pdf and cv/CV_Baichuan_CN.pdf.
  6. Commit & push — pushing to main rebuilds and deploys via GitHub Actions.

Adding a team member

Edit _data/team_members.yml (group codes: 0 PI · 7 Researchers · 1 PhD · 2 MSc · 3 Undergrad · 4 Interns · 8 Alumni), add the photo to images/teampic/, and a profile markdown to team/ if needed.

Logos (funding / collaborating institutions)

Drop the official logo into images/funding/ or images/partners/, then trim whitespace and normalize it to a uniform content height on a white background (so the row stays even). Each logo links to the institution’s site with a title for the hover name.

For new Research Support / 科研支持 logos, use the current Mercedes-Benz mark as the visual-size reference: its dedicated class renders it at 50px high, giving it approximately the same perceived size and visual weight as the NSFC emblem. Match this perceived footprint rather than blindly giving every source image the same CSS height, since logos contain different amounts of internal whitespace. Use a logo-specific class when adjustment is needed, and verify alignment at both desktop and 390px mobile widths.