This repository contains Dylan Samuelian's bilingual academic website. Jekyll generates complete static HTML pages from shared layouts, structured data and the Markdown documents stored in _sections.
_layouts: shared page and legacy redirect layouts._includes: shared navigation, footer and compatibility routing._data/routes.yml: the single source of truth for French and English URLs._data/navigation.yml: navigation order and dropdown contents._data/i18n.yml: translated interface labels._data/profile.yml: shared identity and affiliation metadata._data/social.yml: footer and structured-profile links._sections/frand_sections/en: French and English content sources.static: stylesheets, Bootstrap, images and PDF documents.sitemap.xmlandsitemap.txt: minimal XML and plain-text lists of canonical pages.robots.txtandllms.txt: crawler discovery and AI-readable site information.
The navigation, language switcher, alternate-language metadata and llms.txt are generated from the shared route registry. Home, Publications and Awards are sections of the main page; their navigation entries use anchors, while legacy standalone URLs redirect to the corresponding section. The two deliberately minimal sitemaps contain only canonical pages, with no template processing or redirect URLs.
- Add the page key and localized URLs to
_data/routes.yml. - Add that key to
_data/navigation.ymlif the page should appear in the ribbon. - Create one
index.htmlpage per language in directories matching the registered URLs. Setnav_keyto the shared route key andlangtofroren. - Add localized Markdown documents to
_sections/frand_sections/en, then list theirsection_keyvalues in each page'ssectionsfront matter. - Add new shared interface labels to both language blocks in
_data/i18n.yml. - Add each new canonical page URL to both
sitemap.xmlandsitemap.txt.
No layout or language-switching changes are needed for an ordinary new page.
Install Ruby and Bundler, then run:
bundle install
bundle exec jekyll serveThe preview is then available at http://localhost:4000/.
In the repository settings, configure Pages → Build and deployment to deploy from the main branch and the repository root. GitHub Pages will run the supported Jekyll build automatically after each push.