Repo: riyadomf.github.io
Repo: riyadomf.github.io
Personal academic/portfolio site for Md Omar Faruqe (Riyad). Built on the academicpages Jekyll template, deployed via GitHub Pages at https://riyadomf.github.io.
Stack
- Jekyll (Ruby) + GitHub Pages
- Theme: academicpages (Minimal Mistakes fork)
- Site config:
_config.yml(site-wide settings, author profile, social links, publication categories, collections) - Navigation:
_data/navigation.yml
Directory map
_pages/— top-level pages (about.md is the homepage; cv.md, skills.md, projects.md, job-experience.md, research-experience.md, certifications-achievements.md, publications.html, talks.html, teaching.html, portfolio.html)_publications/— one markdown file per publication (filename pattern:YYYY-MM-DD-slug.md)_portfolio/— portfolio items_posts/— blog posts (YYYY-MM-DD-slug.md)_talks/,_teaching/— collections rendered by template_includes/,_layouts/,_sass/— theme internals; only touch if changing presentation_data/—authors.yml,navigation.yml,ui-text.ymlfiles/— static downloads (CV PDFs live here asCV-Md_Omar_Faruqe*.pdf, pluscertifications/andslides/)images/— site images (author avatar referenced from_config.ymlisomar-dp.png)assets/— compiled CSS/JS from thememarkdown_generator/— optional TSV→markdown scripts for publications/talks (Jupyter)resume/— LaTeX CV sources (kept here so portfolio + CV live in one repo). Two variants:Omar_research_cv/main.tex(academia) andOmar_Dev_cv/main.tex(industry/developer). Whichever is currently in use gets compiled locally and its PDF dropped intofiles/asCV-Md_Omar_Faruqe*.pdffor the portfolio download. Excluded from the Jekyll build via_config.ymlso the raw.texis not published.docs/kb/— career knowledge base; a separate private repo cloned here, gitignored and not tracked by this repo (see “Knowledge base” section below)_site/,vendor/— build output and bundler cache (do not edit)
Local dev
bundle install # first time
jekyll serve -l -H localhost # http://localhost:4000, live reload
Docker alternative: docker build -t jekyll-site . then run the container per README.
Conventions for content edits
- Page front matter follows Jekyll YAML; preserve
permalink,layout,author_profilefields when editing. - New publication: drop a new file in
_publications/matching the existing pattern; no index file to update. - Author/contact info, social handles, SEO, analytics IDs all live in
_config.yml— change there, not in pages. - Adding to nav: edit
_data/navigation.yml. - Don’t use em dashes (—) in page copy; they read as AI-generated. Use commas, periods, or parentheses instead.
Knowledge base
The source of truth for career content (core facts, locked decisions, writing rules, CV bullet pool, STAR stories, verified publication citations) lives ONLY in a separate private repo, cloned at docs/kb/: README.md, dev-knowledge.md, research-knowledge.md.
- If
docs/kb/is missing or empty, clone it before doing any CV, portfolio, or career-content work:gh repo clone riyadomf/career-kb docs/kb docs/is gitignored in this repo. KB content is never committed here, and never copied into this file,_pages/, or any other tracked file. This repo is public.- Edit, commit, and push KB changes inside
docs/kb/, as a separate repo with its own remote. A KB edit is not saved by committing in the portfolio repo. - Workflow: when updating the CVs or
_pages/content, pull facts, bullets, and citations from the KB. When real-world facts change, update the KB first, then propagate downstream. - Rule that survives the move to a private repo: no NDA-covered or client-confidential specifics, since the NDA applies regardless of repo visibility. Compensation and interview-strategy notes may live in the private KB now.
Out of repo
~/Documents/personal-notes/career-kb.md: the older local-only career notes. Superseded by the private KB repo; keep only for anything that should never leave this machine.- CV markdown page (
_pages/cv.md) is hand-maintained separately from the LaTeX source and the PDFs; keep it in sync manually.
Commit style
Short imperative present tense, lowercase (e.g., update cv, update skills, update jexp). Match the existing log.
