diff --git a/.github/workflows/blog.yaml b/.github/workflows/blog.yaml index 29d53f38a..fed6145b6 100644 --- a/.github/workflows/blog.yaml +++ b/.github/workflows/blog.yaml @@ -17,7 +17,7 @@ jobs: # submodules: true # Fetch Hugo themes (true OR recursive) fetch-depth: 3 - name: Cache Conda - uses: actions/cache@v2.1.6 + uses: actions/cache@v2.1.7 with: path: ~/conda_pkgs_dir key: ${{ runner.os }}-conda6-${{ hashFiles('environment.yml') }} @@ -45,7 +45,7 @@ jobs: run: | Rscript ./dependencies.R - name: Restore Blogdown Cache - uses: actions/cache@v2 + uses: actions/cache@v2.1.7 with: path: | ./blogdown @@ -68,7 +68,7 @@ jobs: - uses: actions/setup-node@v2 with: node-version: 16 - - uses: actions/cache@v2 + - uses: actions/cache@v2.1.7 with: path: ~/.npm key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 559648be9..820e55485 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -14,7 +14,7 @@ jobs: - uses: actions/setup-node@v2 with: node-version: 16 - - uses: actions/cache@v2 + - uses: actions/cache@v2.1.7 with: path: ~/.npm key: ${{ runner.os }}-node3-${{ hashFiles('**/package-lock.json') }} diff --git a/.github/workflows/release_main.yml b/.github/workflows/release_main.yml index a7970f53e..23295e0c3 100644 --- a/.github/workflows/release_main.yml +++ b/.github/workflows/release_main.yml @@ -47,7 +47,7 @@ jobs: with: node-version: 16 - name: Cache Node.js modules - uses: actions/cache@v2 + uses: actions/cache@v2.1.7 with: path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS key: ${{ runner.OS }}-node2-${{ hashFiles('**/package-lock.json') }} diff --git a/content/about/_index.md b/content/about/_index.md index 2490e65f6..0c5d93290 100644 --- a/content/about/_index.md +++ b/content/about/_index.md @@ -39,26 +39,30 @@ Public health authorities (federal, state, local), the healthcare industry, the In reverse chronological order. -- **April 2020.** We began supporting and advising the U.S. CDC in their community-driven COVID-19 forecasting effort. This work (collaborative with the [Reich Lab](https://reichlab.io) at UMass) includes: - - * Creating and evaluating an ensemble forecast from the 70+ forecasts in the [COVID-19 Forecast Hub](https://covid19forecasthub.org), which serves as the basis of the [CDC's official communications](https://www.cdc.gov/coronavirus/2019-ncov/covid-data/forecasting-us.html) on COVID-19 forecasting. - - * Creating a [forecast evaluation dashboard](https://delphi.cmu.edu/forecast-eval/), which provides an interactive analysis of the performance of Hub forecasters. - -- **March 2020.** We launched [COVIDcast]({{< relref "covidcast" >}}), the nation's largest public repository of diverse, real-time indicators of COVID-19 activity. - * Our indicators are freely available through a [public API]({{< apiref "api/covidcast.html" >}}), which is updated daily with the latest data. - - * Several of the underlying data sources (on which these indicators are built) would not exist or be publicly available without our efforts. This includes: - - * A massive [national daily survey]({{< relref "ctis">}}) we're running in [partnership with Facebook](https://covid-survey.dataforgood.fb.com/survey_and_map_data.html). Over 20 million Americans have answered the survey since April 2020, providing real-time insights into, e.g., self-reported symptoms, mask wearing, testing, contacts, and vaccination. - - * An enormous database of medical insurance claims that have been de-identified in accordance with HIPAA privacy regulations, covering more than half the U.S. population. This data is made available by health system partners including Change Healthcare, and provides insights into disease activity through outpatient visits and hospitalizations. - - -- **2019.** We became a CDC National Center of Excellence for Influenza Forecasting, one of two nationally (and a 5-year designation). - -- **2016.** We developed and deployed [influenza nowcasts](https://delphi.cmu.edu/nowcast/) for the CDC, state departments of public health, and the public. - -- **2016.** We developed and deployed the [Epidata API]({{< apiref "/" >}}), which provides real-time access to epidemiological surveillance data. - -- **2013.** We began supporting the U.S. CDC's Influenza Division in advancing and growing a [scientific community around influenza forecasting](https://www.cdc.gov/flu/weekly/flusight/index.html). We've been [perennial leaders in forecasting accuracy](https://www.cs.cmu.edu/~roni/CDC%20Flu%20Challenge%202014-2018%20Results.pdf) ever since. +- **April 2020.** We began supporting and advising the U.S. CDC's + community-driven COVID-19 forecasting effort, including creating and + maintaining an ensemble forecast from the models submitted to the + [COVID-19 Forecast Hub](https://covid19forecasthub.org), and a [forecast + evaluation dashboard](https://delphi.cmu.edu/forecast-eval/). + +- **March 2020.** We launched [COVIDcast]({{< relref "covidcast" >}}), the + nation's largest public repository of diverse, real-time indicators of + COVID-19 activity, freely accessible through the [Epidata API]({{< apiref + "api/covidcast.html" >}}), which is updated daily with the latest data. + +- **2019.** We became a CDC National Center of Excellence for Influenza + Forecasting, one of two nationally (and a 5-year designation). + +- **2016.** We developed and deployed + [influenza nowcasts](https://delphi.cmu.edu/nowcast/) for the CDC, state + departments of public health, and the public. + +- **2016.** We developed and deployed the [Epidata API]({{< apiref "/" >}}), + which provides real-time access to epidemiological surveillance data. + +- **2013.** We began supporting the U.S. CDC's Influenza Division in advancing + and growing a [scientific community around influenza + forecasting](https://www.cdc.gov/flu/weekly/flusight/index.html). We've been + [perennial leaders in forecasting + accuracy](https://www.cs.cmu.edu/~roni/CDC%20Flu%20Challenge%202014-2018%20Results.pdf) + ever since. diff --git a/content/about/careers/headless/2021_06_research_programmer_analyst.md b/content/about/careers/headless/2021_11_research_programmer_analyst.md similarity index 97% rename from content/about/careers/headless/2021_06_research_programmer_analyst.md rename to content/about/careers/headless/2021_11_research_programmer_analyst.md index 3d6e5f867..eb2a385ac 100644 --- a/content/about/careers/headless/2021_06_research_programmer_analyst.md +++ b/content/about/careers/headless/2021_11_research_programmer_analyst.md @@ -1,5 +1,5 @@ --- -date: 2021-06-22 +date: 2021-11-01 title: Research Programmer/Analyst --- diff --git a/content/about/careers/headless/2021_12_developer_in_residence.md b/content/about/careers/headless/2021_12_developer_in_residence.md new file mode 100644 index 000000000..8599d8dd6 --- /dev/null +++ b/content/about/careers/headless/2021_12_developer_in_residence.md @@ -0,0 +1,8 @@ +--- +date: 2021-12-14 +title: Developer in Residence +--- + +We are looking for a talented senior software developer to take the reins in designing and developing R and Python software packages. These packages support model development and evaluation in predictive tasks in epidemiology such as COVID forecasting, flu forecasting, or hotspot detection for these two pathogens. This software is important both for Delphi's own internal modeling work, and for a community of modelers that works with the CDC on COVID and flu forecasting. + +[Apply to the Developer in Residence position at CMU Careers](https://cmu.wd5.myworkdayjobs.com/CMU/job/Pittsburgh-PA/Developer-in-Residence---School-of-Computer-Sciences_2017318). diff --git a/content/about/careers/headless/2021_12_project_manager.md b/content/about/careers/headless/2021_12_project_manager.md new file mode 100644 index 000000000..be4cc6e47 --- /dev/null +++ b/content/about/careers/headless/2021_12_project_manager.md @@ -0,0 +1,8 @@ +--- +date: 2021-12-14 +title: Project Manager +--- + +We are looking for a talented project manager to coordinate between and manage the group's continually diverse set of ongoing projects, and assist the Delphi leadership team in translating the group's strategy into concrete deliverables. + +[Apply to the Project Manager position at CMU Careers](https://cmu.wd5.myworkdayjobs.com/CMU/job/Pittsburgh-PA/Project-Manager---School-of-Computer-Sciences_2017319). diff --git a/content/about/careers/headless/2022_11_open_rank_faculty.md b/content/about/careers/headless/2022_11_open_rank_faculty.md new file mode 100644 index 000000000..85386fd11 --- /dev/null +++ b/content/about/careers/headless/2022_11_open_rank_faculty.md @@ -0,0 +1,8 @@ +--- +date: 2022-01-11 +title: Open Rank Faculty +--- + +We would like to welcome new faculty at any rank and any track to join us in leading the Delphi group in the coming decade to develop and test the technology and science that are urgently needed for national epidemic tracking and forecasting, and that we believe we are in a position to do well. + +[Apply to the Open Rank Faculty positions at Interfolio](https://apply.interfolio.com/101207). diff --git a/content/about/news/headless/2016_12.md b/content/about/news/headless/2016_12.md index 8dca75d70..4a2457f9a 100644 --- a/content/about/news/headless/2016_12.md +++ b/content/about/news/headless/2016_12.md @@ -2,6 +2,7 @@ date: 2016-12-01 title: Delphi Wins 2015-2016 Forecasting Challenge category: accomplishment +image: placeholder-thumb.jpg --- Our system took the [top spot in the flu forecasting challenge of 2015-2016](https://www.cdc.gov/flu/spotlights/flu-activity-forecasts-2016-2017.htm), out of 14 submissions. ([Results summary](https://www.cs.cmu.edu/~roni/CDC%20Flu%20Challenge%202015-2016%20Results.pdf).) diff --git a/content/about/news/headless/2017_10.md b/content/about/news/headless/2017_10.md index 0a7ba45e1..d06b41c28 100644 --- a/content/about/news/headless/2017_10.md +++ b/content/about/news/headless/2017_10.md @@ -2,6 +2,7 @@ date: 2017-10-01 title: Delphi Wins 2016-2017 Forecasting Challenge category: accomplishment +image: placeholder-thumb.jpg --- We did it again! Our two systems took the [top two spots in the flu forecasting challenge of 2016-2017](https://www.cmu.edu/news/stories/archives/2017/september/flu-forecasts.html), out of 28 submissions. ([Results summary](https://www.cs.cmu.edu/~roni/CDC%20Flu%20Challenge%202016-2017%20Results.pdf).) diff --git a/content/about/news/headless/2018_11.md b/content/about/news/headless/2018_11.md index 3f9e01140..dd6a76f25 100644 --- a/content/about/news/headless/2018_11.md +++ b/content/about/news/headless/2018_11.md @@ -2,6 +2,7 @@ date: 2018-10-01 title: Delphi Wins 2017-2018 Forecasting Challenge category: accomplishment +image: placeholder-thumb.jpg --- And yet again! Our forecasting systems took the top spot in each of the three separate flu forecasting challenges of 2017-2018, out of up to 30 submissions. ([Results summary](https://www.cs.cmu.edu/~roni/CDC%20Flu%20Challenge%202017-2018%20Results.pdf).) diff --git a/content/about/news/headless/2019_10_CenterOfExcellence.md b/content/about/news/headless/2019_10_CenterOfExcellence.md index e246ca04e..029ace0fd 100644 --- a/content/about/news/headless/2019_10_CenterOfExcellence.md +++ b/content/about/news/headless/2019_10_CenterOfExcellence.md @@ -1,7 +1,8 @@ --- date: 2019-10-01 -title: Delphi named a Center of Excellence +title: Delphi named a Center of Excellence category: accomplishment +image: placeholder-thumb.jpg --- We were just named a national [Center of Excellence for Influenza Forecasting](https://www.cmu.edu/news/stories/archives/2019/october/cdc-funds-carnegie-mellons-flu-forecasting-center.html) by the CDC, one of two nationally. This is a 5 year designation. diff --git a/content/about/news/headless/2020_03_covid.md b/content/about/news/headless/2020_03_covid.md index dceb6c95a..0c43d2532 100644 --- a/content/about/news/headless/2020_03_covid.md +++ b/content/about/news/headless/2020_03_covid.md @@ -2,6 +2,7 @@ date: 2020-03-01 title: Delphi Shifts Focus to COVID-19 category: update +image: placeholder-thumb.jpg --- We are focusing our efforts at this point on COVID-19 tracking and forecasting. We are adapting our existing systems, and developing new ones. Some of our regular activities may be halted as a result. diff --git a/content/about/news/headless/2020_04_covidcast.md b/content/about/news/headless/2020_04_covidcast.md index bc5816b91..b80597611 100644 --- a/content/about/news/headless/2020_04_covidcast.md +++ b/content/about/news/headless/2020_04_covidcast.md @@ -2,6 +2,7 @@ date: 2020-04-01 title: Delphi Launches COVIDcast category: update +image: placeholder-thumb.jpg --- We launched our [COVIDcast system]({{< relref "covidcast">}}), which makes available indicators related to COVID-19 activity level across the U.S. These indicators are derived from a variety of anonymized, aggregated data sources made available by multiple partners, and are publicly available at the [COVIDcast endpoint]({{< apiref "api/covidcast.html">}}) of our [Epidata API]({{< apiref "api/README.html">}}). diff --git a/content/about/news/headless/2020_10_fellows.md b/content/about/news/headless/2020_10_fellows.md index 8672992c1..2f82aca83 100644 --- a/content/about/news/headless/2020_10_fellows.md +++ b/content/about/news/headless/2020_10_fellows.md @@ -2,6 +2,7 @@ date: 2020-10-01 title: Google Fellows Join Delphi for 6 Months category: update +image: placeholder-thumb.jpg --- We've welcomed [14 Google Fellows](https://www.cmu.edu/news/stories/archives/2020/september/covidcast-google.html) to Delphi and are excited to have them on board! diff --git a/content/about/news/headless/2020_12_chng_partnership.md b/content/about/news/headless/2020_12_chng_partnership.md index 67790dde6..d375db6ab 100644 --- a/content/about/news/headless/2020_12_chng_partnership.md +++ b/content/about/news/headless/2020_12_chng_partnership.md @@ -2,6 +2,7 @@ date: 2020-12-01 title: COVIDcast Enhanced with Change Healthcare Claims Data category: update +image: placeholder-thumb.jpg --- Change Healthcare and Delphi announce the [launch of new COVIDcast indicators](https://newsroom.changehealthcare.com/press-releases/carnegie-mellon-university-s-delphi-research-group-enhances-covi) using de-identified claims data from Change Healthcare. diff --git a/content/about/news/headless/2021_05_12_spaig_award.md b/content/about/news/headless/2021_05_12_spaig_award.md index 5c5b5c4b4..04218c6e9 100644 --- a/content/about/news/headless/2021_05_12_spaig_award.md +++ b/content/about/news/headless/2021_05_12_spaig_award.md @@ -2,6 +2,7 @@ date: 2021-05-12 title: Delphi and Collaborators Honored for COVIDcast category: update +image: 2021-05-12-spaig-award-thumb.jpg --- The American Statistical Association (ASA) presented the 2021 [Statistical Partnerships Among Academe, Industry, and Government (SPAIG) award](https://www.cmu.edu/dietrich/news/news-stories/2021/may/spaig-covid.html) to Delphi and their COVIDcast collaborators. diff --git a/content/about/news/headless/2021_11_22_nyt.md b/content/about/news/headless/2021_11_22_nyt.md index 023d13ad8..b66879e1e 100644 --- a/content/about/news/headless/2021_11_22_nyt.md +++ b/content/about/news/headless/2021_11_22_nyt.md @@ -1,7 +1,8 @@ --- date: 2021-11-22 -title: Delphi PI Featured in New York Times +title: New York Times Magazine Features Delphi PI category: update +image: 2021-11-22-nyt-thumb.jpg --- -The New York Times featured Delphi PI, Roni Rosenfeld, in the article [Inside the C.D.C.’s Pandemic ‘Weather Service’](https://www.nytimes.com/2021/11/22/magazine/cdc-pandemic-prediction.html). +The New York Times Magazine features Roni Rosenfeld in an article exploring efforts to forecast infectious-disease outbreaks, [Inside the C.D.C.’s Pandemic ‘Weather Service’](https://www.nytimes.com/2021/11/22/magazine/cdc-pandemic-prediction.html). diff --git a/content/about/news/headless/2021_12_14_pnas.md b/content/about/news/headless/2021_12_14_pnas.md new file mode 100644 index 000000000..349d1da3e --- /dev/null +++ b/content/about/news/headless/2021_12_14_pnas.md @@ -0,0 +1,13 @@ +--- +date: 2021-12-14 +title: Delphi Papers Highlighted in Proceedings of the National Academy of Sciences Special Feature +category: update +image: 2021-12-14-pnas-thumb.jpg +--- + +The Proceedings of the National Academy of Sciences Special Feature, ["Beyond Cases and Deaths: The Benefits of Auxiliary Data Streams In Tracking the COVID-19 Pandemic"](https://www.pnas.org/content/118/51#BeyondCasesandDeathsTheBenefitsofAuxiliaryDataStreamsInTrackingtheCOVID-19Pandemic), highlights Delphi papers, including: + + - [Epidemic Tracking and Forecasting: Lessons Learned from a Tumultuous Year](https://www.pnas.org/content/118/51/e2111456118) + - [An Open Repository of Real-Time COVID-19 Indicators](https://doi.org/10.1073/pnas.2111452118) + - [Can Auxiliary Indicators Improve COVID-19 Forecasting and Hotspot Prediction?](https://www.pnas.org/content/118/51/e2111453118) + - [The US COVID-19 Trends and Impact Survey: Continuous Real-Time Measurement of COVID-19 Symptoms, Risks, Protective Behaviors, Testing, and Vaccination](https://www.pnas.org/content/118/51/e2111454118) diff --git a/content/about/news/images/2021-05-12-spaig-award-thumb.jpg b/content/about/news/images/2021-05-12-spaig-award-thumb.jpg new file mode 100644 index 000000000..4f712d29d Binary files /dev/null and b/content/about/news/images/2021-05-12-spaig-award-thumb.jpg differ diff --git a/content/about/news/images/2021-11-22-nyt-thumb.jpg b/content/about/news/images/2021-11-22-nyt-thumb.jpg new file mode 100644 index 000000000..5fd0d56f3 Binary files /dev/null and b/content/about/news/images/2021-11-22-nyt-thumb.jpg differ diff --git a/content/about/news/images/2021-12-14-pnas-thumb.jpg b/content/about/news/images/2021-12-14-pnas-thumb.jpg new file mode 100644 index 000000000..991c86703 Binary files /dev/null and b/content/about/news/images/2021-12-14-pnas-thumb.jpg differ diff --git a/content/about/news/images/index.md b/content/about/news/images/index.md new file mode 100644 index 000000000..46ca3e791 --- /dev/null +++ b/content/about/news/images/index.md @@ -0,0 +1,4 @@ +--- +# flag to disable rendering individual pages +headless: true +--- \ No newline at end of file diff --git a/content/about/news/images/placeholder-thumb.jpg b/content/about/news/images/placeholder-thumb.jpg new file mode 100644 index 000000000..58e97de20 Binary files /dev/null and b/content/about/news/images/placeholder-thumb.jpg differ diff --git a/content/about/publications/images/ctis-hero.jpg b/content/about/publications/images/ctis-hero.jpg new file mode 100644 index 000000000..aa139e3ab Binary files /dev/null and b/content/about/publications/images/ctis-hero.jpg differ diff --git a/content/about/publications/images/ctis-thumb.jpg b/content/about/publications/images/ctis-thumb.jpg new file mode 100644 index 000000000..db20219a5 Binary files /dev/null and b/content/about/publications/images/ctis-thumb.jpg differ diff --git a/content/about/publications/images/nowcasting-thumb.jpg b/content/about/publications/images/nowcasting-thumb.jpg new file mode 100644 index 000000000..150958ad4 Binary files /dev/null and b/content/about/publications/images/nowcasting-thumb.jpg differ diff --git a/content/about/publications/images/recalibrating-hero.jpg b/content/about/publications/images/recalibrating-hero.jpg new file mode 100644 index 000000000..df8d18a4f Binary files /dev/null and b/content/about/publications/images/recalibrating-hero.jpg differ diff --git a/content/about/publications/images/recalibrating-thumb.jpg b/content/about/publications/images/recalibrating-thumb.jpg new file mode 100644 index 000000000..6a6b91042 Binary files /dev/null and b/content/about/publications/images/recalibrating-thumb.jpg differ diff --git a/content/about/publications/images/research-thumb-temp.jpg b/content/about/publications/images/research-thumb-temp.jpg new file mode 100644 index 000000000..c863376fb Binary files /dev/null and b/content/about/publications/images/research-thumb-temp.jpg differ diff --git a/content/about/publications/index.md b/content/about/publications/index.md index a2f86c235..73b6dba82 100644 --- a/content/about/publications/index.md +++ b/content/about/publications/index.md @@ -1,35 +1,47 @@ --- title: Research papers: - - title: "Epidemic Tracking and Forecasting: Lessons Learned from a Tumultuous Year" - image: perspective.jpg - authors: Rosenfeld, Tibshirani - link: https://github.com/cmu-delphi/covidcast-pnas/blob/main/perspective/paper.pdf - journal: Preprint + - title: "Real-Time Estimation of COVID-19 Infections via Deconvolution and Sensor Fusion" + image: nowcasting-thumb.jpg + authors: Jahja, Chin, Tibshirani + link: https://arxiv.org/abs/2112.06697 + journal: arXiv year: 2021 + - title: "Recalibrating Probabilistic Forecasts of Epidemics" + image: recalibrating-thumb.jpg + authors: Rumack, Tibshirani, Rosenfeld + link: https://arxiv.org/abs/2112.06305 + journal: Preprint + year: 2021 - title: "Big Data, Big Problems: Responding to \"Are We There Yet?\"" image: response.jpg authors: Reinhart, Tibshirani link: https://arxiv.org/abs/2109.00680 journal: arXiv year: 2021 - - title: "Continuous Real-Time Measurement of COVID-19 Symptoms, Risks, Protective Behaviors, Testing and Vaccination" - image: survey.jpg - authors: Salomon, Reinhart, Bilinski, Chua, La Motte-Kerr, Rönn, Reitsma, Morris, LaRocca, Farag, Kreuter, Rosenfeld, Tibshirani - link: https://doi.org/10.1101/2021.07.24.21261076 - journal: medRxiv + - title: "Epidemic Tracking and Forecasting: Lessons Learned from a Tumultuous Year" + image: perspective.jpg + authors: Rosenfeld, Tibshirani + link: https://doi.org/10.1073/pnas.2111456118 + journal: Proceedings of the National Academy of Sciences year: 2021 - title: "An Open Repository of Real-Time COVID-19 Indicators" image: indicators.jpg authors: Reinhart, Brooks, Jahja, Rumack, Tang, Agrawal, Al Saeed, Arnold, Basu, Bien, Cabrera, Chin, Chua, Clark, Colquhoun, DeFries, Farrow, Forlizzi, Grabman, Gratzl, Green, Haff, Han, Harwood, Hu, Hyde, Hyun, Joshi, Kim, Kuznetsov, La Motte-Kerr, YJ Lee, K Lee, Lipton, Liu, Mackey, Mazaitis, McDonald, McGuinness, Narasimhan, O’Brien, Oliveira, Patil, Perer, Politsch, Rajanala, Rucker, Scott, Shah, Shankar, Sharpnack, Shemetov, Simon, Smith, Srivastava, Tan, R Tibshirani, Tuzhilina, Van Nortwick, Ventura, Wasserman, Weaver, Weiss, Whitman, Williams, Rosenfeld, RJ Tibshirani - link: https://www.medrxiv.org/content/10.1101/2021.07.12.21259660 - journal: medRxiv + link: https://doi.org/10.1073/pnas.2111452118 + journal: Proceedings of the National Academy of Sciences year: 2021 - title: "Can Auxiliary Indicators Improve COVID-19 Forecasting and Hotspot Prediction?" image: forecasting.jpg authors: McDonald, Bien, Green, Hu, DeFries, Hyun, Oliveira, Sharpnack, Tang, Tibshirani, Ventura, Wasserman, Tibshirani - link: https://www.medrxiv.org/content/10.1101/2021.06.22.21259346 - journal: medRxiv + link: https://doi.org/10.1073/pnas.2111453118 + journal: Proceedings of the National Academy of Sciences + year: 2021 + - title: "The US COVID-19 Trends and Impact Survey: Continuous Real-Time Measurement of COVID-19 Symptoms, Risks, Protective Behaviors, Testing, and Vaccination" + image: ctis-thumb.jpg + authors: Salomon, Reinhart, Bilinski, Chua, La Motte-Kerr, Rönn, Reitsma, Morris, LaRocca, Farag, Kreuter, Rosenfeld, Tibshirani + link: https://doi.org/10.1073/pnas.2111454118 + journal: Proceedings of the National Academy of Sciences year: 2021 - title: "Causal Inference in the Time of COVID-19" image: causal.jpg diff --git a/content/blog/images/ctis-hero.jpg b/content/blog/images/ctis-hero.jpg new file mode 100644 index 000000000..aa139e3ab Binary files /dev/null and b/content/blog/images/ctis-hero.jpg differ diff --git a/content/blog/images/nowcasting-hero.jpg b/content/blog/images/nowcasting-hero.jpg new file mode 100644 index 000000000..e7d8d4652 Binary files /dev/null and b/content/blog/images/nowcasting-hero.jpg differ diff --git a/content/blog/images/recalibrating-hero.jpg b/content/blog/images/recalibrating-hero.jpg new file mode 100644 index 000000000..df8d18a4f Binary files /dev/null and b/content/blog/images/recalibrating-hero.jpg differ diff --git a/content/blog/images/recalibrating-thumb.jpg b/content/blog/images/recalibrating-thumb.jpg new file mode 100644 index 000000000..6a6b91042 Binary files /dev/null and b/content/blog/images/recalibrating-thumb.jpg differ diff --git a/content/covid19/_index.md b/content/covid19/_index.md index a7c82b33a..8ea732e30 100644 --- a/content/covid19/_index.md +++ b/content/covid19/_index.md @@ -4,11 +4,75 @@ linkTitle: COVID-19 layout: single --- -In March 2020, Delphi pivoted from seasonal epidemic forecasting to COVID-19 tracking. Since then, we’ve created and maintained the nation’s largest public repository of diverse, geographically-detailed, real-time indicators of COVID-19 activity in the U.S. Our indicators cover every rung of the severity pyramid, and are freely available through [our public API]({{< apiref "api/covidcast.html" >}}) or our [data export tool]({{< relref "covidcast/export" >}}). +COVIDcast is the name for Delphi's project in support of the COVID-19 response +in the United States. It has several parts. -Several of the underlying data sources (on which these indicators are built) would not exist or be publicly available without our efforts. This includes: +1. We procure unique data streams that reflect COVID activity from a wide + variety of sources, and extract COVID-related signals. These signals cover + every nearly every rung of the [severity pyramid](#severity-pyramid), and + constitute what we believe may be the nation's largest public repository of + real-time, geographically-detailed indicators of COVID activity in the U.S. -* A [massive national daily survey]({{< relref "covid19/ctis" >}}) we’re running in partnership with Facebook. Over 20 million Americans have answered the survey since April 2020, providing real-time insights into, e.g., self-reported symptoms, mask wearing, testing, and contacts, all broken down by various demographics. -* An enormous database of medical insurance claims that have been de-identified in accordance with HIPAA privacy regulations, covering more than half the US population, made possible through health system partners including Change Healthcare. We use this to produce a new syndromic COVID-19 indicator based on doctor visits, and other indicators based on hospitalizations and ICU admissions. +2. We make all COVID-19 indicators freely available through a + [public API](https://cmu-delphi.github.io/delphi-epidata/api/covidcast.html), + which is updated with new data daily. We also provide associated + [R](https://cmu-delphi.github.io/covidcast/covidcastR/) and + [Python](https://cmu-delphi.github.io/covidcast/covidcast-py/html/) packages, + and a [dashboard]({{< relref "covidcast" >}}) to visualize a core set of + indicators. -An overview of our work and data was [published in the *Proceedings of the National Academy of Sciences*](https://doi.org/10.1073/pnas.2111452118). We have selected a small number of indicators to showcase in [COVIDcast]({{< relref "covidcast" >}}), a visualization system that helps place pandemic activity in geographic and temporal context. It includes a notion of correlation across time, for example, a spike in cases is often followed by a spike in hospital admissions some number of days later. +3. Some of the underlying data sources (on which these indicators are built) + would not exist or be publicly available without Delphi's efforts. These + include a massive national daily survey called the [COVID-19 Trends and + Impact Survey (CTIS)]({{< relref "covid19/ctis" >}}) that we're running in + partnership with Facebook, which has been taken by over 25 million Americans + since April 2020; and an enormous database of de-identified medical insurance + claims, covering more than 35% of the U.S. population, made possible through + health system partners including Change Healthcare. + +4. We support and advise the U.S. CDC (in collaboration with the + [Reich Lab](https://reichlab.io/)) on short-term COVID forecasting, which + includes creating and evaluating an ensemble forecast out of the models + submitted to the [COVID-19 Forecast Hub](https://covid19forecasthub.org/), + serving as the basis for the [CDC's official forecast + communications](https://www.cdc.gov/coronavirus/2019-ncov/covid-data/forecasting-us.html). + +## See Also + +- [COVIDcast dashboard]({{< relref "covidcast" >}}) +- [CTIS dashboard]({{< relref "covidcast/survey-results" >}}) +- [Export data tool]({{< relref "covidcast/export" >}}) +- [API documentation](https://cmu-delphi.github.io/delphi-epidata/api/covidcast.html) +- [R package](https://cmu-delphi.github.io/covidcast/covidcastR/) +- [Python package](https://cmu-delphi.github.io/covidcast/covidcast-py/html/) +- [GitHub repo](https://www.github.com/cmu-delphi/covidcast/) (see also + [related repos](https://github.com/cmu-delphi/covidcast/#related-repos)) + +## Research Articles + +A summary of some key parts of COVIDcast can be found in the December 2021 *Proceedings of the National Academy of Sciences* +Special Feature: [Beyond cases and deaths: The benefits of auxiliary data +streams in tracking the COVID-19 pandemic](https://www.pnas.org/cc/beyond-cases-and-deaths): + +- [Epidemic tracking and forecasting: Lessons learned from a tumultuous + year](https://www.pnas.org/content/118/51/e2111456118?cct=2522) + by Rosenfeld and Tibshirani +- [An open repository of real-time COVID-19 + indicators](https://www.pnas.org/content/118/51/e2111452118?cct=2522) + by Reinhart et al. +- [Can auxiliary indicators improve COVID-19 + forecasting?](https://www.pnas.org/content/118/51/e2111453118?cct=2522) + by McDonald et al. +- [Continuous real-time measurement of COVID-19 symptoms, risks, protective + behaviors, testing, and vaccination](https://www.pnas.org/content/118/51/e2111454118?cct=2522) + by Salomon et al. + +More recent work on nowcasting using COVID-19 indicators: + +- [Real-time estimation of COVID-19 infections via deconvolution and sensor + fusion](https://arxiv.org/abs/2112.06697) + by Jahja et al. + +## Severity Pyramid + +![](images/severity-pyramid.svg) diff --git a/content/covid19/ctis.md b/content/covid19/ctis.md index ac98b4831..cf7d1f7f5 100644 --- a/content/covid19/ctis.md +++ b/content/covid19/ctis.md @@ -65,6 +65,7 @@ The [Symptom Data Challenge](https://www.symptomchallenge.org/) challenged parti protective behaviors, testing, and vaccination](https://doi.org/10.1073/pnas.2111454118). *Proceedings of the National Academy of Sciences* 118 (51) e2111454118. +- C. Lupton-Smith, E. Badillo-Goicochea, T.-H. Chang, H. Maniates, K. E. Riehm, I. Schmid, and E. A. Stuart (2021). [Factors associated with county-level mental health during the COVID-19 pandemic](https://doi.org/10.1002/jcop.22785). *Journal of Community Psychology*. - D. P. Do and R. Frank (2021). [U.S. frontline workers and COVID-19 inequities](https://doi.org/10.1016/j.ypmed.2021.106833). *Preventive Medicine* 153, 106833. - W. C. King, M. Rubinstein, A. Reinhart, and R. J. Mejia (2021). [COVID-19 vaccine hesitancy January-May 2021 among 18–64 year old US adults by employment and occupation](https://doi.org/10.1016/j.pmedr.2021.101569). *Preventive Medicine Reports* 24, 101569. - C. H. Sudre, A. Keshet, M. S. Graham, A. D. Joshi, S. Shilo, H. Rossman, B. Murray, E. Molteni, K. Klaser, L. D. Canas, M. Antonelli, L. H. Nguyen, D. A. Drew, M. Modat, J. Capdevila Pujol, S. Ganesh, J. Wolf, T. Meir, A. T. Chan, C. J. Steves, T. D. Spector, J. S. Brownstein, E. Segal, S. Ourselin, and C. M. Astley (2021). [Anosmia, ageusia, and other COVID-19-like symptoms in association with a positive SARS-CoV-2 test, across six national digital surveillance platforms: an observational study](https://doi.org/10.1016/S2589-7500(21)00115-1). *The Lancet Digital Health* 3 (9), e577-e586. diff --git a/content/covid19/images/severity-pyramid.svg b/content/covid19/images/severity-pyramid.svg new file mode 100644 index 000000000..cb929a3ee --- /dev/null +++ b/content/covid19/images/severity-pyramid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/people/index.md b/content/people/index.md index 67eb1bd64..325c9d3f2 100644 --- a/content/people/index.md +++ b/content/people/index.md @@ -390,8 +390,9 @@ people: affiliation: CMU/MLD description: is an Assistant Professor of Operations Research and Machine Learning at CMU and is a member of Delphi. team: - - core + - contributors - blog + note: Core member, April 2020-January 2021 - firstName: Michael lastName: Xieyang lastName: Liu @@ -744,8 +745,9 @@ people: affiliation: CMU/Heinz College description: is an Assistant Professor of Health Informatics at CMU and is a member of Delphi. team: - - core + - contributors - blog + note: Core member, April-December 2020 - firstName: Spencer lastName: Whitman image: specer-whitman_head-shot.jpg diff --git a/package-lock.json b/package-lock.json index cf15e8236..040c1dcf4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,27 +1,27 @@ { "name": "www-main", - "version": "3.0.0", + "version": "3.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "www-main", - "version": "3.0.0", + "version": "3.0.1", "hasInstallScript": true, "dependencies": { "@fortawesome/fontawesome-free": "^5.15.4", "highlight.js": "^11.3.1", "katex": "^0.15.1", - "uikit": "^3.9.3", + "uikit": "^3.9.4", "www-covidcast": "https://github.com/cmu-delphi/www-covidcast/releases/download/v3.0.0/www-covidcast-3.0.0.tgz", "www-covidcast-classic": "https://github.com/cmu-delphi/www-covidcast-classic/releases/download/v2.6.0/www-covidcast-classic-2.6.0.tgz", "www-epivis": "https://github.com/cmu-delphi/www-epivis/releases/download/v2.0.1/www-epivis-2.0.1.tgz" }, "devDependencies": { - "hugo-bin": "^0.77.4", + "hugo-bin": "^0.79.2", "husky": "^7.0.4", - "lint-staged": "^12.1.2", - "prettier": "^2.4.1", + "lint-staged": "^12.1.5", + "prettier": "^2.5.1", "prettier-plugin-go-template": "^0.0.11", "rimraf": "^3.0.2", "shx": "^0.3.3" @@ -61,6 +61,8 @@ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=6" } @@ -104,17 +106,6 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/arch": { "version": "2.2.0", "dev": true, @@ -397,19 +388,6 @@ "node": ">=4" } }, - "node_modules/chalk": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -455,19 +433,6 @@ "mimic-response": "^1.0.0" } }, - "node_modules/color-convert": { - "version": "1.9.3", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, "node_modules/colorette": { "version": "2.0.16", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", @@ -528,9 +493,10 @@ } }, "node_modules/debug": { - "version": "4.3.2", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -749,6 +715,8 @@ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "ansi-colors": "^4.1.1" }, @@ -756,14 +724,6 @@ "node": ">=8.6" } }, - "node_modules/error-ex": { - "version": "1.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, "node_modules/escape-string-regexp": { "version": "1.0.5", "dev": true, @@ -839,17 +799,6 @@ "pend": "~1.2.0" } }, - "node_modules/figures": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/file-type": { "version": "8.1.0", "dev": true, @@ -891,14 +840,19 @@ } }, "node_modules/find-up": { - "version": "3.0.0", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.2.0.tgz", + "integrity": "sha512-yWHzMzXCaFoABSnFTCPKNFlYoq4mSga9QLRRKOCLSJ33hSkzROB14ITbAWW0QDQDyuzsPQ33S1DsOWQb/oW1yA==", "dev": true, - "license": "MIT", "dependencies": { - "locate-path": "^3.0.0" + "locate-path": "^7.0.0", + "path-exists": "^5.0.0" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/find-versions": { @@ -1025,14 +979,6 @@ "node": ">= 0.4.0" } }, - "node_modules/has-flag": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/has-symbol-support-x": { "version": "1.4.2", "dev": true, @@ -1065,22 +1011,22 @@ "license": "BSD-2-Clause" }, "node_modules/hugo-bin": { - "version": "0.77.4", - "resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.77.4.tgz", - "integrity": "sha512-ZCQhBBtBzszBxGGd2QWiqe/Ckr+TWugtsV8N8rFx+soW9R9N+mK+f7BZeToUULxd7g0ZBsggE5UH+aK7Op1qQQ==", + "version": "0.79.2", + "resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.79.2.tgz", + "integrity": "sha512-Oik01vhaWcmZXYlBgVGCdidoJqcEsU7aEhXwgGgnPa9fiIDDwtLG4cTJEyEKwcgdk9JXSAofPOgbtudbQDCJQg==", "dev": true, "hasInstallScript": true, "dependencies": { "bin-wrapper": "^4.1.0", - "pkg-conf": "^3.1.0", - "rimraf": "^3.0.2", - "signale": "^1.4.0" + "picocolors": "^1.0.0", + "pkg-conf": "^4.0.0", + "rimraf": "^3.0.2" }, "bin": { "hugo": "cli.js" }, "engines": { - "node": ">=12" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/human-signals": { @@ -1181,11 +1127,6 @@ "node": ">=4" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "dev": true, - "license": "MIT" - }, "node_modules/is-core-module": { "version": "2.8.0", "dev": true, @@ -1281,11 +1222,6 @@ "dev": true, "license": "MIT" }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, "node_modules/katex": { "version": "0.15.1", "resolved": "https://registry.npmjs.org/katex/-/katex-0.15.1.tgz", @@ -1319,24 +1255,23 @@ } }, "node_modules/lint-staged": { - "version": "12.1.2", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.1.2.tgz", - "integrity": "sha512-bSMcQVqMW98HLLLR2c2tZ+vnDCnx4fd+0QJBQgN/4XkdspGRPc8DGp7UuOEBe1ApCfJ+wXXumYnJmU+wDo7j9A==", + "version": "12.1.5", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.1.5.tgz", + "integrity": "sha512-WyKb+0sNKDTd1LwwAfTBPp0XmdaKkAOEbg4oHE4Kq2+oQVchg/VAcjVQtSqZih1izNsTURjc2EkhG/syRQUXdA==", "dev": true, "dependencies": { "cli-truncate": "^3.1.0", "colorette": "^2.0.16", "commander": "^8.3.0", - "debug": "^4.3.2", - "enquirer": "^2.3.6", + "debug": "^4.3.3", "execa": "^5.1.1", "lilconfig": "2.0.4", - "listr2": "^3.13.3", + "listr2": "^3.13.5", "micromatch": "^4.0.4", "normalize-path": "^3.0.0", - "object-inspect": "^1.11.0", + "object-inspect": "^1.11.1", "string-argv": "^0.3.1", - "supports-color": "^9.0.2", + "supports-color": "^9.2.1", "yaml": "^1.10.2" }, "bin": { @@ -1445,9 +1380,9 @@ } }, "node_modules/lint-staged/node_modules/supports-color": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.1.0.tgz", - "integrity": "sha512-lOCGOTmBSN54zKAoPWhHkjoqVQ0MqgzPE5iirtoSixhr0ZieR/6l7WZ32V53cvy9+1qghFnIk7k52p991lKd6g==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.2.1.tgz", + "integrity": "sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ==", "dev": true, "engines": { "node": ">=12" @@ -1611,30 +1546,30 @@ } }, "node_modules/load-json-file": { - "version": "5.3.0", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-7.0.1.tgz", + "integrity": "sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==", "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/locate-path": { - "version": "3.0.0", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.0.0.tgz", + "integrity": "sha512-+cg2yXqDUKfo4hsFxwa3G1cBJeA+gs1vD8FyV9/odWoUlQe/4syxHQ5DPtKjtfm6gnKbZzjCqzX03kXosvZB1w==", "dev": true, - "license": "MIT", "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^6.0.0" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/log-update": { @@ -1864,8 +1799,9 @@ }, "node_modules/ms": { "version": "2.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/nice-try": { "version": "1.0.5", @@ -1944,9 +1880,9 @@ } }, "node_modules/object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2021,28 +1957,33 @@ } }, "node_modules/p-limit": { - "version": "2.3.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, - "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "3.0.0", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, - "license": "MIT", "dependencies": { - "p-limit": "^2.0.0" + "p-limit": "^4.0.0" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-map": { @@ -2071,32 +2012,13 @@ "node": ">=4" } }, - "node_modules/p-try": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/path-exists": { - "version": "3.0.0", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/path-is-absolute": { @@ -2125,6 +2047,12 @@ "dev": true, "license": "MIT" }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "node_modules/picomatch": { "version": "2.3.0", "dev": true, @@ -2164,15 +2092,19 @@ } }, "node_modules/pkg-conf": { - "version": "3.1.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-4.0.0.tgz", + "integrity": "sha512-7dmgi4UY4qk+4mj5Cd8v/GExPo0K+SlY+hulOSdfZ/T6jVH6//y7NtzZo5WrfhDBxuQ0jCa7fLZmNaNh7EWL/w==", "dev": true, - "license": "MIT", "dependencies": { - "find-up": "^3.0.0", - "load-json-file": "^5.2.0" + "find-up": "^6.0.0", + "load-json-file": "^7.0.0" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/prepend-http": { @@ -2184,9 +2116,10 @@ } }, "node_modules/prettier": { - "version": "2.4.1", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", + "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -2454,106 +2387,6 @@ "dev": true, "license": "ISC" }, - "node_modules/signale": { - "version": "1.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^2.3.2", - "figures": "^2.0.0", - "pkg-conf": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/signale/node_modules/find-up": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/signale/node_modules/load-json-file": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/signale/node_modules/locate-path": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/signale/node_modules/p-limit": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/signale/node_modules/p-locate": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/signale/node_modules/p-try": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/signale/node_modules/pify": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/signale/node_modules/pkg-conf": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^2.0.0", - "load-json-file": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/slice-ansi": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", @@ -2665,14 +2498,6 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/strip-dirs": { "version": "2.1.0", "dev": true, @@ -2708,17 +2533,6 @@ "node": ">=0.10.0" } }, - "node_modules/supports-color": { - "version": "5.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/tar-stream": { "version": "1.6.2", "dev": true, @@ -2793,18 +2607,10 @@ "node": "*" } }, - "node_modules/type-fest": { - "version": "0.3.1", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=6" - } - }, "node_modules/uikit": { - "version": "3.9.3", - "resolved": "https://registry.npmjs.org/uikit/-/uikit-3.9.3.tgz", - "integrity": "sha512-+kL1A3nl+t9yXIrILi+5kGbsZyq8WMZmyZGIZmYbw2RqGzgUe8SRUm3zKUEWfpMTmtBD99nl1oZ5Te2qE2ZHRQ==" + "version": "3.9.4", + "resolved": "https://registry.npmjs.org/uikit/-/uikit-3.9.4.tgz", + "integrity": "sha512-mrOr/k3a/6/VBXgnqmQFg0l2ipZyoTpULZZgJ0RVHZz97HNrc28KQsb24pl8wxtw+BGpD39nfMhSmOznyOZuHw==" }, "node_modules/ulid": { "version": "2.3.0", @@ -3020,6 +2826,18 @@ "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } + }, + "node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { @@ -3044,7 +2862,9 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "ansi-escapes": { "version": "4.3.2", @@ -3069,13 +2889,6 @@ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, - "ansi-styles": { - "version": "3.2.1", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, "arch": { "version": "2.2.0", "dev": true @@ -3257,15 +3070,6 @@ "url-to-options": "^1.0.1" } }, - "chalk": { - "version": "2.4.2", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -3298,17 +3102,6 @@ "mimic-response": "^1.0.0" } }, - "color-convert": { - "version": "1.9.3", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "dev": true - }, "colorette": { "version": "2.0.16", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", @@ -3359,7 +3152,9 @@ } }, "debug": { - "version": "4.3.2", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dev": true, "requires": { "ms": "2.1.2" @@ -3517,17 +3312,12 @@ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, + "optional": true, + "peer": true, "requires": { "ansi-colors": "^4.1.1" } }, - "error-ex": { - "version": "1.3.2", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, "escape-string-regexp": { "version": "1.0.5", "dev": true @@ -3580,13 +3370,6 @@ "pend": "~1.2.0" } }, - "figures": { - "version": "2.0.0", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, "file-type": { "version": "8.1.0", "dev": true @@ -3612,10 +3395,13 @@ } }, "find-up": { - "version": "3.0.0", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.2.0.tgz", + "integrity": "sha512-yWHzMzXCaFoABSnFTCPKNFlYoq4mSga9QLRRKOCLSJ33hSkzROB14ITbAWW0QDQDyuzsPQ33S1DsOWQb/oW1yA==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "locate-path": "^7.0.0", + "path-exists": "^5.0.0" } }, "find-versions": { @@ -3708,10 +3494,6 @@ "function-bind": "^1.1.1" } }, - "has-flag": { - "version": "3.0.0", - "dev": true - }, "has-symbol-support-x": { "version": "1.4.2", "dev": true @@ -3731,15 +3513,15 @@ "dev": true }, "hugo-bin": { - "version": "0.77.4", - "resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.77.4.tgz", - "integrity": "sha512-ZCQhBBtBzszBxGGd2QWiqe/Ckr+TWugtsV8N8rFx+soW9R9N+mK+f7BZeToUULxd7g0ZBsggE5UH+aK7Op1qQQ==", + "version": "0.79.2", + "resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.79.2.tgz", + "integrity": "sha512-Oik01vhaWcmZXYlBgVGCdidoJqcEsU7aEhXwgGgnPa9fiIDDwtLG4cTJEyEKwcgdk9JXSAofPOgbtudbQDCJQg==", "dev": true, "requires": { "bin-wrapper": "^4.1.0", - "pkg-conf": "^3.1.0", - "rimraf": "^3.0.2", - "signale": "^1.4.0" + "picocolors": "^1.0.0", + "pkg-conf": "^4.0.0", + "rimraf": "^3.0.2" } }, "human-signals": { @@ -3794,10 +3576,6 @@ "p-is-promise": "^1.1.0" } }, - "is-arrayish": { - "version": "0.2.1", - "dev": true - }, "is-core-module": { "version": "2.8.0", "dev": true, @@ -3855,10 +3633,6 @@ "version": "3.0.0", "dev": true }, - "json-parse-better-errors": { - "version": "1.0.2", - "dev": true - }, "katex": { "version": "0.15.1", "resolved": "https://registry.npmjs.org/katex/-/katex-0.15.1.tgz", @@ -3881,24 +3655,23 @@ "dev": true }, "lint-staged": { - "version": "12.1.2", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.1.2.tgz", - "integrity": "sha512-bSMcQVqMW98HLLLR2c2tZ+vnDCnx4fd+0QJBQgN/4XkdspGRPc8DGp7UuOEBe1ApCfJ+wXXumYnJmU+wDo7j9A==", + "version": "12.1.5", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.1.5.tgz", + "integrity": "sha512-WyKb+0sNKDTd1LwwAfTBPp0XmdaKkAOEbg4oHE4Kq2+oQVchg/VAcjVQtSqZih1izNsTURjc2EkhG/syRQUXdA==", "dev": true, "requires": { "cli-truncate": "^3.1.0", "colorette": "^2.0.16", "commander": "^8.3.0", - "debug": "^4.3.2", - "enquirer": "^2.3.6", + "debug": "^4.3.3", "execa": "^5.1.1", "lilconfig": "2.0.4", - "listr2": "^3.13.3", + "listr2": "^3.13.5", "micromatch": "^4.0.4", "normalize-path": "^3.0.0", - "object-inspect": "^1.11.0", + "object-inspect": "^1.11.1", "string-argv": "^0.3.1", - "supports-color": "^9.0.2", + "supports-color": "^9.2.1", "yaml": "^1.10.2" }, "dependencies": { @@ -3957,9 +3730,9 @@ "dev": true }, "supports-color": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.1.0.tgz", - "integrity": "sha512-lOCGOTmBSN54zKAoPWhHkjoqVQ0MqgzPE5iirtoSixhr0ZieR/6l7WZ32V53cvy9+1qghFnIk7k52p991lKd6g==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.2.1.tgz", + "integrity": "sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ==", "dev": true }, "which": { @@ -4073,22 +3846,18 @@ } }, "load-json-file": { - "version": "5.3.0", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - } + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-7.0.1.tgz", + "integrity": "sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==", + "dev": true }, "locate-path": { - "version": "3.0.0", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.0.0.tgz", + "integrity": "sha512-+cg2yXqDUKfo4hsFxwa3G1cBJeA+gs1vD8FyV9/odWoUlQe/4syxHQ5DPtKjtfm6gnKbZzjCqzX03kXosvZB1w==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^6.0.0" } }, "log-update": { @@ -4251,6 +4020,8 @@ }, "ms": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "nice-try": { @@ -4305,9 +4076,9 @@ "dev": true }, "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", "dev": true }, "once": { @@ -4351,17 +4122,21 @@ "dev": true }, "p-limit": { - "version": "2.3.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, "requires": { - "p-try": "^2.0.0" + "yocto-queue": "^1.0.0" } }, "p-locate": { - "version": "3.0.0", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "p-limit": "^4.0.0" } }, "p-map": { @@ -4380,20 +4155,10 @@ "p-finally": "^1.0.0" } }, - "p-try": { - "version": "2.2.0", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, "path-exists": { - "version": "3.0.0", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true }, "path-is-absolute": { @@ -4412,6 +4177,12 @@ "version": "1.2.0", "dev": true }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "picomatch": { "version": "2.3.0", "dev": true @@ -4432,11 +4203,13 @@ } }, "pkg-conf": { - "version": "3.1.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-4.0.0.tgz", + "integrity": "sha512-7dmgi4UY4qk+4mj5Cd8v/GExPo0K+SlY+hulOSdfZ/T6jVH6//y7NtzZo5WrfhDBxuQ0jCa7fLZmNaNh7EWL/w==", "dev": true, "requires": { - "find-up": "^3.0.0", - "load-json-file": "^5.2.0" + "find-up": "^6.0.0", + "load-json-file": "^7.0.0" } }, "prepend-http": { @@ -4444,7 +4217,9 @@ "dev": true }, "prettier": { - "version": "2.4.1", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", + "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", "dev": true }, "prettier-plugin-go-template": { @@ -4620,72 +4395,6 @@ "version": "3.0.5", "dev": true }, - "signale": { - "version": "1.4.0", - "dev": true, - "requires": { - "chalk": "^2.3.2", - "figures": "^2.0.0", - "pkg-conf": "^2.1.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "load-json-file": { - "version": "4.0.0", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "dev": true - }, - "pify": { - "version": "3.0.0", - "dev": true - }, - "pkg-conf": { - "version": "2.1.0", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "load-json-file": "^4.0.0" - } - } - } - }, "slice-ansi": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", @@ -4759,10 +4468,6 @@ "ansi-regex": "^6.0.1" } }, - "strip-bom": { - "version": "3.0.0", - "dev": true - }, "strip-dirs": { "version": "2.1.0", "dev": true, @@ -4785,13 +4490,6 @@ "escape-string-regexp": "^1.0.2" } }, - "supports-color": { - "version": "5.5.0", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, "tar-stream": { "version": "1.6.2", "dev": true, @@ -4844,14 +4542,10 @@ "safe-buffer": "^5.0.1" } }, - "type-fest": { - "version": "0.3.1", - "dev": true - }, "uikit": { - "version": "3.9.3", - "resolved": "https://registry.npmjs.org/uikit/-/uikit-3.9.3.tgz", - "integrity": "sha512-+kL1A3nl+t9yXIrILi+5kGbsZyq8WMZmyZGIZmYbw2RqGzgUe8SRUm3zKUEWfpMTmtBD99nl1oZ5Te2qE2ZHRQ==" + "version": "3.9.4", + "resolved": "https://registry.npmjs.org/uikit/-/uikit-3.9.4.tgz", + "integrity": "sha512-mrOr/k3a/6/VBXgnqmQFg0l2ipZyoTpULZZgJ0RVHZz97HNrc28KQsb24pl8wxtw+BGpD39nfMhSmOznyOZuHw==" }, "ulid": { "version": "2.3.0", @@ -5008,6 +4702,12 @@ "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true } } } diff --git a/package.json b/package.json index aa71e83ec..55dcbcdbd 100644 --- a/package.json +++ b/package.json @@ -1,21 +1,21 @@ { "name": "www-main", - "version": "3.0.0", + "version": "3.0.1", "private": true, "dependencies": { "@fortawesome/fontawesome-free": "^5.15.4", "highlight.js": "^11.3.1", "katex": "^0.15.1", - "uikit": "^3.9.3", + "uikit": "^3.9.4", "www-covidcast": "https://github.com/cmu-delphi/www-covidcast/releases/download/v3.0.0/www-covidcast-3.0.0.tgz", "www-covidcast-classic": "https://github.com/cmu-delphi/www-covidcast-classic/releases/download/v2.6.0/www-covidcast-classic-2.6.0.tgz", "www-epivis": "https://github.com/cmu-delphi/www-epivis/releases/download/v2.0.1/www-epivis-2.0.1.tgz" }, "devDependencies": { - "hugo-bin": "^0.77.4", + "hugo-bin": "^0.79.2", "husky": "^7.0.4", - "lint-staged": "^12.1.2", - "prettier": "^2.4.1", + "lint-staged": "^12.1.5", + "prettier": "^2.5.1", "prettier-plugin-go-template": "^0.0.11", "rimraf": "^3.0.2", "shx": "^0.3.3" diff --git a/themes/delphi/layouts/partials/landing/latest-news.html b/themes/delphi/layouts/partials/landing/latest-news.html index a62edba56..ae2690476 100644 --- a/themes/delphi/layouts/partials/landing/latest-news.html +++ b/themes/delphi/layouts/partials/landing/latest-news.html @@ -7,7 +7,7 @@

Latest News

{{ $items := apply (.Site.GetPage "/blog").Pages "partial" "latest-blog" "." }} {{ define "partials/latest-news-item" }} - {{ return (dict "source" "news" "img" (resources.Get "/images/placeholder-thumb.jpg") "title" .Title "date" .PublishDate "link" (.Site.GetPage "/about/news").RelPermalink "summary" (.Summary | safeHTML | truncate 100) ) }} + {{ return (dict "source" "news" "img" (($.GetPage "/about/news/images").Resources.GetMatch .Params.image) "title" .Title "date" .PublishDate "link" (.Site.GetPage "/about/news").RelPermalink "summary" (.Summary | safeHTML | truncate 100) ) }} {{ end }} {{ $newsItems := apply ((.Site.GetPage "/about/news/headless").Resources.ByType "page") "partial" "latest-news-item" "." }} diff --git a/themes/delphi/layouts/shortcodes/news.html b/themes/delphi/layouts/shortcodes/news.html index 561f58a3c..086e035e2 100644 --- a/themes/delphi/layouts/shortcodes/news.html +++ b/themes/delphi/layouts/shortcodes/news.html @@ -1,8 +1,16 @@ {{ $news := .Site.GetPage "/about/news/headless" }} +{{ $images := (.Site.GetPage "/about/news/images").Resources.ByType "image" }} + +
{{ range (sort ($news.Resources.ByType "page") ".PublishDate" "desc") }} + {{ $img := $images.GetMatch .Params.image }}
{{ .PublishDate.Format "Jan 2006" }}
+ + + {{ .Name }} +

{{ .Title }}