Osamu Fukushima's website

View My GitHub Profile

Data Sync Scripts

This directory contains scripts for maintaining the Jekyll data files in _data.

Validate local data

ruby scripts/validate_data.rb

Format YAML spacing

ruby scripts/format_yaml_spacing.rb

This inserts a blank line between top-level list items in _data/*.yml.

Normalize publication titles

ruby scripts/normalize_publication_titles.rb

This ensures every publication has both title_latex and title_html. title_latex is intended for LaTeX/CV output, while title_html is intended for the website. Inline LaTeX math written as $...$ is converted to MathJax \(...\) in title_html when title_html is missing.

To regenerate all title_html values from title_latex, run:

ruby scripts/normalize_publication_titles.rb --force-html

Sort publication articles by arXiv id

ruby scripts/sort_publication_articles.rb

This sorts only type: article records in _data/publications.yml by arXiv id descending. Non-article records keep their current positions. To check without rewriting the file:

ruby scripts/sort_publication_articles.rb --check

Render HTML from YAML

ruby scripts/render_pages.rb

The live publications and presentations pages are Liquid templates processed by GitHub Pages/Jekyll. This script is kept as a local preview and backup generator. By default it writes preview files:

web/publications/index.generated.html
web/presentations/index.generated.html

Only if you intentionally want to replace the Liquid templates with generated static HTML, overwrite the live HTML with:

ruby scripts/render_pages.rb --in-place

You can render one page at a time:

ruby scripts/render_pages.rb --page publications
ruby scripts/render_pages.rb --page presentations

Render CV/Publications TeX from YAML

ruby scripts/render_cv_tex.rb

This reads _data/publications.yml and _data/presentations.yml, keeps the layout from CV/CV_original.tex and CV/publication_original.tex, and writes:

CV/CV.tex
CV/publication.tex

The generated files are local CV artifacts because CV/ is ignored by .gitignore.

Sync article metadata from INSPIRE HEP

ruby scripts/sync_inspire.rb

By default this queries literature records associated with INSPIRE author record 1818804, merges them into _data/publications.yml, and caches raw API responses under data_raw/inspire.

Useful options:

ruby scripts/sync_inspire.rb --query 'a O.Fukushima.1'
ruby scripts/sync_inspire.rb --author-id 1818804
ruby scripts/sync_inspire.rb --output _data/publications_inspire.yml

Manual display fixes can be placed in _data/publication_overrides.yml.

Sync public works from ORCID

ruby scripts/sync_orcid.rb

The default ORCID iD is 0000-0001-7205-5324. You can override it with:

ruby scripts/sync_orcid.rb --orcid 0000-0001-7205-5324
ORCID_ID=0000-0001-7205-5324 ruby scripts/sync_orcid.rb

If ORCID requires an access token for your environment, set ORCID_ACCESS_TOKEN.