Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add chart challenge 2023 to vizlab homepage #36

Merged
merged 30 commits into from
Jun 5, 2023
Merged
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
948e216
Add pipeline to upload CC23 images to s3
hcorson-dosch-usgs May 22, 2023
6623130
import VueImg
hcorson-dosch-usgs May 22, 2023
fc5ee94
set maxWidth for recent image
hcorson-dosch-usgs May 22, 2023
b8b22cc
Add custom fxns from snow-to-flow to add caption to fullscreen images
hcorson-dosch-usgs May 22, 2023
ab4b913
Add chart challenge carousel component
hcorson-dosch-usgs May 22, 2023
576fe18
Make sure basename target is always built
hcorson-dosch-usgs May 23, 2023
655d065
Add all remaining charts
hcorson-dosch-usgs May 23, 2023
874d368
adjust max height on fullscreen
hcorson-dosch-usgs May 23, 2023
a5962b7
turn off autoplay
hcorson-dosch-usgs May 23, 2023
c44ae02
Adjust styling of carousel items
hcorson-dosch-usgs May 23, 2023
fcfc4cc
Adjust margins on carousel dots
hcorson-dosch-usgs May 23, 2023
8f9d7c4
add viz titles to fix duplicate key warning
hcorson-dosch-usgs May 26, 2023
b92d4b3
call lazy loading function
hcorson-dosch-usgs May 26, 2023
4806d4f
place carousel into titled accordion for now
hcorson-dosch-usgs May 26, 2023
ea4c2c1
Add hover effect to carousel slides
hcorson-dosch-usgs May 26, 2023
060a1f6
replace apostrophe
hcorson-dosch-usgs May 26, 2023
280a602
Fix link
hcorson-dosch-usgs May 26, 2023
73a0927
Use chart attributes to construct caption for v-img
hcorson-dosch-usgs May 26, 2023
1d29fcf
Fix typo
hcorson-dosch-usgs May 26, 2023
82a557d
left-justify v-img thumbnails
hcorson-dosch-usgs May 26, 2023
065a983
Fix caption styling
hcorson-dosch-usgs May 26, 2023
26ece5d
Fix thumbnail styling
hcorson-dosch-usgs May 26, 2023
9f3f2af
Remove accordion content class from carousel so that end isn't cut off
hcorson-dosch-usgs May 26, 2023
9f1dc4c
run lint
hcorson-dosch-usgs May 26, 2023
c20030a
Pull carousel out of accordion
hcorson-dosch-usgs May 26, 2023
c5468d3
make padding same as accordion headings
hcorson-dosch-usgs May 26, 2023
dc9d3fa
fix typo
hcorson-dosch-usgs May 31, 2023
8570c1d
drop d3 in cc23 carousel component
hcorson-dosch-usgs May 31, 2023
38ced8f
add navigation arrows
hcorson-dosch-usgs May 31, 2023
128a52c
move CC23 carousel into Chart gallery
hcorson-dosch-usgs May 31, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,11 @@ scratch/
# User-specific files
.Ruserdata
.Rproj.user

# pipeline files
_targets/
in/*
!in/.empty
!/in/CC23/.empty
tmp/*
!tmp/.empty
83 changes: 83 additions & 0 deletions _targets.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
library(targets)
library(tidyverse)

options(tidyverse.quiet = TRUE)
tar_option_set(packages = c('aws.s3', 'magick', 'tools'))

source("data-src/s3_upload.R")

list(
# Download images to 'in/CC23' from
# https://doimspp.sharepoint.com/:f:/r/sites/IIDDStaff/Shared%20Documents/Function%20-%20Vizlab/Social%20media/30DayChartChallenge/chart-challenge-23/UPLOAD_IMAGES_HERE?csf=1&web=1&e=MAdFsZ
tar_target(
cc23_image_basenames,
list.files('in/CC23'),
cue = tar_cue(mode = "always")
),
tar_target(
cc23_images,
file.path('in/CC23', cc23_image_basenames),
pattern = map(cc23_image_basenames),
format = 'file'
),

# SKIP SCALING FOR NOW
# ALSO SKIP EXPORTING AS PNG, SINCE SOME GIFS
# # compress images via rescaling size and reduce dpi (density) output
# # export as png
# tar_target(
# image_scaled_png,{
# out_file <- sprintf('tmp/%s', basename(cc23_images))
# image_read(cc23_images) |>
# image_scale("x300") |>
# image_write(out_file, density = 92)
# return(out_file)
# },
# pattern = map(cc23_images),
# format = 'file'
# ),

# export as webp to optimize browser delivery
tar_target(
image_scaled_webp,{
file_name <- tools::file_path_sans_ext(basename(cc23_images))
out_file <- sprintf('tmp/%s.webp', file_name)
image_read(cc23_images) |>
image_scale("x400") |>
image_write(out_file, density = 300, compression = "WebP")
return(out_file)
},
pattern = map(cc23_images),
format = 'file'
),
# Build list of png and webp version for each image
tar_target(
image_list,
c(cc23_images, image_scaled_webp),
format = 'file',
pattern = map(cc23_images, image_scaled_webp)
),
# store compressed images in s3
tar_target(
image_upload_s3, {
# upload png and webp files for each image
purrr::map_dfr(image_list, function(image_file) {
file_name <- basename(image_file)
file_s3 <- sprintf('visualizations/charts/%s', file_name)
s3_upload(filepath_s3 = file_s3,
on_exists = "replace",
filepath_local = image_file)
})
},
pattern = map(image_list)
),
tar_target(
upload_log_csv,{
file_out <- 'out/upload_log.csv'
image_upload_s3 %>%
write_csv(file_out)
return(file_out)
},
format = "file"
)
)
33 changes: 33 additions & 0 deletions data-src/s3_upload.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
s3_upload <- function(filepath_s3,
filepath_local,
on_exists = c("replace", "stop"),
verbose = FALSE,
config_file = "lib/cfg/s3_config_viz.yml") {

# Access bucket
s3_config <- yaml::yaml.load_file(config_file)
aws.signature::use_credentials(profile = s3_config$profile)

# Check to see if the file already exists and use `on_exists`
# argument to determine what the user wants to do
bucket_contents <- aws.s3::get_bucket_df(bucket = s3_config$bucket)
exists_on_s3 <- filepath_s3 %in% bucket_contents$Key
match.arg(on_exists)

if (exists_on_s3 && on_exists == "stop") {
stop("File already exists and on_exists==stop")
} else {
if (verbose) message("Uploading ", filepath_local, " to S3, overwriting = ", exists_on_s3)

status <- aws.s3::put_object(file = filepath_local,
object = filepath_s3,
bucket = s3_config$bucket)
}

# Construct a filepath and timestamp of when it was last updated
tibble(
local_filepath = filepath_local,
s3_filepath = filepath_s3,
timestamp = Sys.time()
)
}
Empty file added in/.empty
Empty file.
Empty file added out/.empty
Empty file.
69 changes: 69 additions & 0 deletions out/upload_log.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
local_filepath,s3_filepath,timestamp
in/CC23/20230401a_part-to-whole_mcarr.png,visualizations/charts/20230401a_part-to-whole_mcarr.png,2023-05-22T16:35:07Z
tmp/20230401a_part-to-whole_mcarr.webp,visualizations/charts/20230401a_part-to-whole_mcarr.webp,2023-05-22T16:35:10Z
in/CC23/20230401b_part-to-whole_mcarr.png,visualizations/charts/20230401b_part-to-whole_mcarr.png,2023-05-22T16:35:13Z
tmp/20230401b_part-to-whole_mcarr.webp,visualizations/charts/20230401b_part-to-whole_mcarr.webp,2023-05-22T16:35:16Z
in/CC23/20230402_waffle_eazadpour.png,visualizations/charts/20230402_waffle_eazadpour.png,2023-05-22T16:35:18Z
tmp/20230402_waffle_eazadpour.webp,visualizations/charts/20230402_waffle_eazadpour.webp,2023-05-22T16:35:21Z
in/CC23/20230402_waffle_hcorson-dosch.png,visualizations/charts/20230402_waffle_hcorson-dosch.png,2023-05-22T16:35:23Z
tmp/20230402_waffle_hcorson-dosch.webp,visualizations/charts/20230402_waffle_hcorson-dosch.webp,2023-05-22T16:35:25Z
in/CC23/20230403_flora-fauna-aaarcher.png,visualizations/charts/20230403_flora-fauna-aaarcher.png,2023-05-22T16:35:31Z
tmp/20230403_flora-fauna-aaarcher.webp,visualizations/charts/20230403_flora-fauna-aaarcher.webp,2023-05-22T16:35:33Z
in/CC23/20230403_flora_cee.gif,visualizations/charts/20230403_flora_cee.gif,2023-05-22T16:35:36Z
tmp/20230403_flora_cee.webp,visualizations/charts/20230403_flora_cee.webp,2023-05-22T16:35:39Z
in/CC23/20230404_historical_aaarcher.png,visualizations/charts/20230404_historical_aaarcher.png,2023-05-22T16:35:42Z
tmp/20230404_historical_aaarcher.webp,visualizations/charts/20230404_historical_aaarcher.webp,2023-05-22T16:35:44Z
in/CC23/20230404_historical_eazadpour_cnell.png,visualizations/charts/20230404_historical_eazadpour_cnell.png,2023-05-22T16:35:47Z
tmp/20230404_historical_eazadpour_cnell.webp,visualizations/charts/20230404_historical_eazadpour_cnell.webp,2023-05-22T16:35:50Z
in/CC23/20230406_OWID_hcorson-dosch.png,visualizations/charts/20230406_OWID_hcorson-dosch.png,2023-05-22T16:35:53Z
tmp/20230406_OWID_hcorson-dosch.webp,visualizations/charts/20230406_OWID_hcorson-dosch.webp,2023-05-22T16:35:55Z
in/CC23/20230407_hazards_conlon_colgin.gif,visualizations/charts/20230407_hazards_conlon_colgin.gif,2023-05-22T16:35:59Z
tmp/20230407_hazards_conlon_colgin.webp,visualizations/charts/20230407_hazards_conlon_colgin.webp,2023-05-22T16:36:05Z
in/CC23/20230408_humans_hcorson-dosch.png,visualizations/charts/20230408_humans_hcorson-dosch.png,2023-05-22T16:36:09Z
tmp/20230408_humans_hcorson-dosch.webp,visualizations/charts/20230408_humans_hcorson-dosch.webp,2023-05-22T16:36:12Z
in/CC23/20230409_high-low_aaarcher.png,visualizations/charts/20230409_high-low_aaarcher.png,2023-05-22T16:36:15Z
tmp/20230409_high-low_aaarcher.webp,visualizations/charts/20230409_high-low_aaarcher.webp,2023-05-22T16:36:17Z
in/CC23/20230411_circular_jhariharan.png,visualizations/charts/20230411_circular_jhariharan.png,2023-05-22T16:36:20Z
tmp/20230411_circular_jhariharan.webp,visualizations/charts/20230411_circular_jhariharan.webp,2023-05-22T16:36:22Z
in/CC23/20230413_pop-culture_ajmartinez.gif,visualizations/charts/20230413_pop-culture_ajmartinez.gif,2023-05-22T16:36:29Z
tmp/20230413_pop-culture_ajmartinez.webp,visualizations/charts/20230413_pop-culture_ajmartinez.webp,2023-05-22T16:36:37Z
in/CC23/20230413_pop-culture_eazadpour.png,visualizations/charts/20230413_pop-culture_eazadpour.png,2023-05-22T16:36:39Z
tmp/20230413_pop-culture_eazadpour.webp,visualizations/charts/20230413_pop-culture_eazadpour.webp,2023-05-22T16:36:41Z
in/CC23/20230414_new-tool_eazadpour.gif,visualizations/charts/20230414_new-tool_eazadpour.gif,2023-05-22T16:36:48Z
tmp/20230414_new-tool_eazadpour.webp,visualizations/charts/20230414_new-tool_eazadpour.webp,2023-05-22T16:37:09Z
in/CC23/20230415_positive-negative_aaarcher01.png,visualizations/charts/20230415_positive-negative_aaarcher01.png,2023-05-22T16:37:11Z
tmp/20230415_positive-negative_aaarcher01.webp,visualizations/charts/20230415_positive-negative_aaarcher01.webp,2023-05-22T16:37:14Z
in/CC23/20230415_positive-negative_aaarcher02.png,visualizations/charts/20230415_positive-negative_aaarcher02.png,2023-05-22T16:37:19Z
tmp/20230415_positive-negative_aaarcher02.webp,visualizations/charts/20230415_positive-negative_aaarcher02.webp,2023-05-22T16:37:22Z
in/CC23/20230417_networks_hcorson-dosch.png,visualizations/charts/20230417_networks_hcorson-dosch.png,2023-05-22T16:37:28Z
tmp/20230417_networks_hcorson-dosch.webp,visualizations/charts/20230417_networks_hcorson-dosch.webp,2023-05-22T16:37:30Z
in/CC23/20230419_anthropocene_mjaenicke.png,visualizations/charts/20230419_anthropocene_mjaenicke.png,2023-05-22T16:37:33Z
tmp/20230419_anthropocene_mjaenicke.webp,visualizations/charts/20230419_anthropocene_mjaenicke.webp,2023-05-22T16:37:35Z
in/CC23/20230420a_correlation_aaarcher.png,visualizations/charts/20230420a_correlation_aaarcher.png,2023-05-23T22:39:52Z
tmp/20230420a_correlation_aaarcher.webp,visualizations/charts/20230420a_correlation_aaarcher.webp,2023-05-23T22:39:54Z
in/CC23/20230420b_correlation_aaarcher.gif,visualizations/charts/20230420b_correlation_aaarcher.gif,2023-05-23T22:34:35Z
tmp/20230420b_correlation_aaarcher.webp,visualizations/charts/20230420b_correlation_aaarcher.webp,2023-05-23T22:34:40Z
in/CC23/20230421_down-upward_aaarcher.png,visualizations/charts/20230421_down-upward_aaarcher.png,2023-05-22T16:37:52Z
tmp/20230421_down-upward_aaarcher.webp,visualizations/charts/20230421_down-upward_aaarcher.webp,2023-05-22T16:37:54Z
in/CC23/20230421_downupward_nschmer.png,visualizations/charts/20230421_downupward_nschmer.png,2023-05-22T16:37:57Z
tmp/20230421_downupward_nschmer.webp,visualizations/charts/20230421_downupward_nschmer.webp,2023-05-22T16:38:00Z
in/CC23/20230422_green-energy_ancarr.png,visualizations/charts/20230422_green-energy_ancarr.png,2023-05-22T16:38:03Z
tmp/20230422_green-energy_ancarr.webp,visualizations/charts/20230422_green-energy_ancarr.webp,2023-05-22T16:38:06Z
in/CC23/20230423_tiles_hcorson-dosch.png,visualizations/charts/20230423_tiles_hcorson-dosch.png,2023-05-22T16:38:10Z
tmp/20230423_tiles_hcorson-dosch.webp,visualizations/charts/20230423_tiles_hcorson-dosch.webp,2023-05-22T16:38:13Z
in/CC23/20230425_global-change_knuessly.png,visualizations/charts/20230425_global-change_knuessly.png,2023-05-22T16:38:17Z
tmp/20230425_global-change_knuessly.webp,visualizations/charts/20230425_global-change_knuessly.webp,2023-05-22T16:38:19Z
in/CC23/20230426a_local-change_ewhite.png,visualizations/charts/20230426a_local-change_ewhite.png,2023-05-22T16:38:23Z
tmp/20230426a_local-change_ewhite.webp,visualizations/charts/20230426a_local-change_ewhite.webp,2023-05-22T16:38:27Z
in/CC23/20230426b_local-change_ewhite.png,visualizations/charts/20230426b_local-change_ewhite.png,2023-05-22T16:38:31Z
tmp/20230426b_local-change_ewhite.webp,visualizations/charts/20230426b_local-change_ewhite.webp,2023-05-22T16:38:33Z
in/CC23/20230428_trend_eazadpour.png,visualizations/charts/20230428_trend_eazadpour.png,2023-05-22T16:38:36Z
tmp/20230428_trend_eazadpour.webp,visualizations/charts/20230428_trend_eazadpour.webp,2023-05-22T16:38:38Z
in/CC23/20230428_trends_greatlakesice.png,visualizations/charts/20230428_trends_greatlakesice.png,2023-05-22T16:38:42Z
tmp/20230428_trends_greatlakesice.webp,visualizations/charts/20230428_trends_greatlakesice.webp,2023-05-22T16:38:44Z
in/CC23/20230428_trends_msleckman.png,visualizations/charts/20230428_trends_msleckman.png,2023-05-22T16:38:47Z
tmp/20230428_trends_msleckman.webp,visualizations/charts/20230428_trends_msleckman.webp,2023-05-22T16:38:49Z
in/CC23/20230429_monochrome_mharlan.gif,visualizations/charts/20230429_monochrome_mharlan.gif,2023-05-22T16:38:52Z
tmp/20230429_monochrome_mharlan.webp,visualizations/charts/20230429_monochrome_mharlan.webp,2023-05-22T16:38:55Z
in/CC23/20230430_worldbank_jhariharan.gif,visualizations/charts/20230430_worldbank_jhariharan.gif,2023-05-22T16:38:58Z
tmp/20230430_worldbank_jhariharan.webp,visualizations/charts/20230430_worldbank_jhariharan.webp,2023-05-22T16:39:03Z
Loading