How to deploy this website?

9 minute read

Published:

Jekyll-scholar

I use Jekyll-scholar to maintain my publications. So everytime I’d like to update my publications, I export from google scholar as the bib file, put it to publications.bib in my CV. Then in the GitHub Actions, I use cat CV/papers.bib >> _bibliography/references.bib. The _bibliography/references.bib originally has the Jekyll header:

---
---
References
==========

And in the publication pages, I only need

---
layout: archive
title: "Publications"
permalink: /publications/
author_profile: true
---

  You can also find my recent publications on <u><a href="https://scholar.google.com/citations?user=Ec6bzmcAAAAJ">my Google Scholar profile</a>.</u>


<!--  -->
<p> <sup>*</sup> means Equal Contirbution.</p>

<ol class="bibliography"><li><!-- Change all equal contribution -->

<span id="zhang2024uncertainty">Zhang, J., <strong>Zhang, W.</strong>, Zhou, D., &amp; Gu, Q. (2024). Uncertainty-Aware Reward-Free Exploration with General Function Approximation. <i>ArXiv Preprint ArXiv:2406.16255</i>.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="sun2024appropriate">Sun, J., <strong>Zhang, W.</strong>, Chen, Y., Hoar, B., Sheng, H., Yang, J., Costentin, C., Gu, Q., &amp; Liu, C. (2024). <i>What is the appropriate data representation of electrochemical impedance spectroscopy in machine-learning analysis?</i></span>

</li>
<li><!-- Change all equal contribution -->

<span id="zhang2024settling"><strong>Zhang, W.</strong>, Fan, Z., He, J., &amp; Gu, Q. (2024). Settling Constant Regrets in Linear Markov Decision Processes. <i>ArXiv Preprint ArXiv:2404.10745</i>.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="zhao2024mitigating">Zhao, L., Deng, Y., <strong>Zhang, W.</strong>, &amp; Gu, Q. (2024). Mitigating Object Hallucination in Large Vision-Language Models via Classifier-Free Guidance. <i>ArXiv Preprint ArXiv:2402.08680</i>.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="sheng2024autonomous">Sheng, H., Sun, J., Rodrı́guez Oliver, Hoar, B. B., <strong>Zhang, W.</strong>, Xiang, D., Tang, T., Hazra, A., Min, D. S., Doyle, A. G., &amp; others. (2024). Autonomous closed-loop mechanistic investigation of molecular electrochemistry via automation. <i>Nature Communications</i>, <i>15</i>(1), 2781.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="lopez2024challenges">Lopez, V. K., Cramer, E. Y., Pagano, R., Drake, J. M., O’Dea, E. B., Adee, M., Ayer, T., Chhatwal, J., Dalgic, O. O., Ladd, M. A., &amp; others. (2024). Challenges of COVID-19 Case Forecasting in the US, 2020–2021. <i>PLoS Computational Biology</i>, <i>20</i>(5), e1011200.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="deng2023rephrase">Deng, Y., <strong>Zhang, W.</strong>, Chen, Z., &amp; Gu, Q. (2023). Rephrase and respond: Let large language models ask better questions for themselves. <i>ArXiv Preprint ArXiv:2311.04205</i>.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="hoar2023object">Hoar, B., <strong>Zhang, W.</strong>, Chen, Y., Sun, J., Sheng, H., Zhang, Y., Yang, J., Costentin, C., Gu, Q., &amp; Liu, C. (2023). <i>Object-detecting deep learning for mechanism discernment in multi-redox cyclic voltammograms</i>.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="zhang2023moleculegpt"><strong>Zhang, W.</strong>, Wang, X., Nie, W., Eaton, J., Rees, B., &amp; Gu, Q. (2023). MoleculeGPT: Instruction Following Large Language Models for Molecular Property Prediction. <i>NeurIPS 2023 Workshop on New Frontiers of AI for Drug Discovery and Development</i>.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="zhang2023interplay"><strong>Zhang, W.</strong>, He, J., Fan, Z., &amp; Gu, Q. (2023). On the interplay between misspecification and sub-optimality gap in linear contextual bandits. <i>International Conference on Machine Learning</i>, 41111–41132.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="zhang2023optimal">Zhang, J., <strong>Zhang, W.</strong>, &amp; Gu, Q. (2023). Optimal horizon-free reward-free exploration for linear mixture mdps. <i>International Conference on Machine Learning</i>, 41902–41930.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="shea2023multiple">Shea, K., Borchering, R. K., Probert, W. J. M., Howerton, E., Bogich, T. L., Li, S.-L., van Panhuis, W. G., Viboud, C., Aguás, R., Belov, A. A., &amp; others. (2023). Multiple models for outbreak decision support in the face of uncertainty. <i>Proceedings of the National Academy of Sciences</i>, <i>120</i>(18), e2207537120.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="zhang2023diffmol"><strong>Zhang, W.</strong>, Wang, X., Smith, J., Eaton, J., Rees, B., &amp; Gu, Q. (2023). Diffmol: 3d structured molecule generation with discrete denoising diffusion probabilistic models. <i>ICML 2023 Workshop on Structured Probabilistic Inference {\Backslash&} Generative Modeling</i>.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="huang2023causal">Huang, Z., Hwang, J., Zhang, J., Baik, J., <strong>Zhang, W.</strong>, Wodarz, D., Sun, Y., Gu, Q., &amp; Wang, W. (2023). Causal Graph ODE: Continuous Treatment Effect Modeling in Multi-agent Dynamical Systems. <i>The Symbiosis of Deep Learning and Differential Equations III</i>.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="zhang2023provably"><strong>Zhang, W.</strong>, He, J., Zhou, D., Gu, Q., &amp; Zhang, A. (2023). Provably efficient representation selection in low-rank Markov decision processes: from online to offline RL. <i>Uncertainty in Artificial Intelligence</i>, 2488–2497.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="ji2023horizon">Ji, K., Zhao, Q., He, J., <strong>Zhang, W.</strong>, &amp; Gu, Q. (2023). Horizon-free Reinforcement Learning in Adversarial Linear Mixture MDPs. <i>The Twelfth International Conference on Learning Representations</i>.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="hoar2022electrochemical">Hoar, B. B., <strong>Zhang, W.</strong>, Xu, S., Deeba, R., Costentin, C., Gu, Q., &amp; Liu, C. (2022). Electrochemical mechanistic analysis from cyclic voltammograms based on deep learning. <i>ACS Measurement Science Au</i>, <i>2</i>(6), 595–604.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="cramer2022evaluation">Cramer, E. Y., Ray, E. L., Lopez, V. K., Bracher, J., Brennen, A., Castro Rivadeneira, A. J., Gerding, A., Gneiting, T., House, K. H., Huang, Y., &amp; others. (2022). Evaluation of individual and ensemble probabilistic forecasts of COVID-19 mortality in the United States. <i>Proceedings of the National Academy of Sciences</i>, <i>119</i>(15), e2113561119.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="jia2021learning">Jia, Y., <strong>Zhang, W.</strong>, Zhou, D., Gu, Q., &amp; Wang, H. (2021). Learning Neural Contextual Bandits through Perturbed Rewards. <i>International Conference on Learning Representations</i>.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="zhang2021reward"><strong>Zhang, W.</strong>, Zhou, D., &amp; Gu, Q. (2021). Reward-free model-based reinforcement learning with linear function approximation. <i>Advances in Neural Information Processing Systems</i>, <i>34</i>, 1582–1593.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="bracher2021pre">Bracher, J., Wolffram, D., Deuschel, J., Görgen, K., Ketterer, J. L., Ullrich, A., Abbott, S., Barbarossa, M. V., Bertsimas, D., Bhatia, S., &amp; others. (2021). A pre-registered short-term forecasting study of COVID-19 in Germany and Poland during the second wave. <i>Nature Communications</i>, <i>12</i>(1), 5173.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="zhang2020neural"><strong>Zhang, W.</strong>, Zhou, D., Li, L., &amp; Gu, Q. (2020). Neural Thompson Sampling. <i>International Conference on Learning Representations</i>.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="ray2020ensemble">Ray, E. L., Wattanachit, N., Niemi, J., Kanji, A. H., House, K., Cramer, E. Y., Bracher, J., Zheng, A., Yamana, T. K., Xiong, X., &amp; others. (2020). Ensemble forecasts of coronavirus disease 2019 (COVID-19) in the US. <i>MedRXiv</i>, 2020–2008.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="zou2020epidemic">Zou, D., Wang, L., Xu, P., Chen, J., <strong>Zhang, W.</strong>, &amp; Gu, Q. (2020). Epidemic model guided machine learning for COVID-19 forecasts in the United States. <i>MedRxiv</i>, 2020–2005.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="wu2020finite">Wu, Y. F., <strong>Zhang, W.</strong>, Xu, P., &amp; Gu, Q. (2020). A finite-time analysis of two time-scale actor-critic methods. <i>Advances in Neural Information Processing Systems</i>, <i>33</i>, 17617–17628.</span>

</li>
<li><!-- Change all equal contribution -->

<span id="liu2018simulation">Liu, S., <strong>Zhang, W.</strong>, Wu, X., Feng, S., Pei, X., &amp; Yao, D. (2018). A simulation system and speed guidance algorithms for intersection traffic control using connected vehicle technology. <i>Tsinghua Science and Technology</i>, <i>24</i>(2), 160–170.</span>

</li></ol>

Toolchain in 2024

I use GitHub Actions to deploy this webpage directly to my local server, eliminating the need to compile locally. Now, we can simultaneously update the CV and homepage using Jekyll.

Something interesting here is Overleaf has the connection with Github, so if I’d like to make some changes on the CV, I can only update the Overleaf project and then push to github. It will call the latex docker to complie it.

Below are the GitHub Actions I use

name: Build and Deploy Jekyll Site

on:
  push:
    branches:
      - master  # Set your default branch here
  workflow_dispatch:

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
      uses: actions/checkout@v2

    - name: Prepare deployment directory
      run: |
        mkdir www _site
        cat CV/papers.bib >> _bibliography/references.bib

    - name: Build site
      uses: docker://jekyll/jekyll:3
      with:
        args: "jekyll build"

    - name: Compile LaTeX document for resume
      uses: xu-cheng/latex-action@master
      with:
        working_directory: CV/
        root_file: main.tex
        args: -xelatex -file-line-error -interaction=nonstopmode
    

    - name: Copy site to www
      run: |
        cp -r _site/* www/
        cp -r assets/* www/assets/
        cp -r files/* www/files/
        cp -r images/* www/images/
        cp CV/main.pdf www/files/cv.pdf

    # This step also requires SSH keys to be set up in the secrets.
    - name: rsync deployments
      uses: burnett01/rsync-deployments@5.2.1
      with:
        switches: -avzr --delete
        path: ./www/
        remote_path: ~/www/
        remote_host: $
        remote_user: $
        remote_key: $

Toolchain in 2022

I don’t have admin privileges on the department server, so installing Ruby or Docker on that server without the admins’ permission could create complications. Instead, I compile the HTML files on my own machine and then transfer them to the department server. I store the HTML files in the www/ folder. Below is the script I use for this process:

rm -rf www/
docker run --rm --volume="$PWD:/srv/jekyll:Z" -it jekyll/jekyll jekyll clean
docker run --rm --volume="$PWD:/srv/jekyll:Z" -it jekyll/jekyll jekyll build
mkdir www/
cp -r _site/* www/
cp -r assets/* www/assets/
cp -r files/* www/files/
cp -r images/* www/images/
rsync -azi --delete ./www/ USRNAME@SERVER:~/www/