Portfolio Google Sheets deployment
The workbook is designed so that the first 14 columns of IMSI Lab’s
WEB_Publications tab can be pasted directly into DB_Publications.
Additional portfolio-only fields begin at column O.
Upload and deploy
- Upload
Portfolio_Website_Content_Model.xlsxto Google Drive. - Open it with Google Sheets and confirm that
DB_Publicationsand the value-onlyWEB_Publicationscompatibility tab are populated. - Open Extensions → Apps Script.
- Replace the editor contents with google-sheets-code.gs.
- Select Deploy → New deployment → Web app.
- Use Execute as: Me and Who has access: Anyone.
- Copy the URL ending in
/exec. - Set
portfolio_api_urlin_config.ymlto that URL.
Cell edits are served immediately. A new deployment is only needed when
Code.gs itself changes.
Browser checks
.../exec?sheet=07_Publications&lang=en
.../exec?sheet=07_Publications&lang=ko
.../exec?sheet=07_Publications&lang=all
.../exec?sheet=08_Projects&lang=en
.../exec?sheet=08_Projects&lang=en&slug=3d-lldm
.../exec?sheet=09_Project_Content&lang=ko&project_id=PROJ_3DLLDM
.../exec?sheet=10_Credentials&lang=all
.../exec?sheet=Site_Config&lang=all
The API publishes khkim1729@gmail.com from Site_Config and publishes
credential_number/verification_id for the credentials table. Do not add a
phone-number column or any other private contact data to a public sheet.
Editing rules
- Publications: edit
DB_Publications; keepPub_IDunique. - IMSI import: paste the IMSI roster’s
WEB_Publications!A:NintoDB_Publications!A:N. The API readsDB_Publicationsdirectly, avoiding upload-time formula compatibility problems. - Korean text: optional. Empty Korean values fall back to English.
- Projects: use public HTTPS URLs in
cover_image_url. - Project details: add ordered blocks in
Project_Content. - Visibility: set
Is_Visible/is_visibleto false to hide a row.
GitHub Pages also contains assets/data/portfolio-data.json. It is an offline
fallback used when Apps Script is unavailable; regenerate it with:
python3 scripts/build_content_model.py \
--imsi /path/to/latest-imsi-export.xlsx \
--credentials /path/to/KHKIM_Certifications_Licenses.xlsx \
--output docs/Portfolio_Website_Content_Model.xlsx \
--json-output assets/data/portfolio-data.json