edits; simplify caching

This commit is contained in:
jverzani
2022-06-06 11:43:19 -04:00
parent 1f377bf420
commit e36e700740
14 changed files with 344 additions and 141 deletions

View File

@@ -1,7 +1,7 @@
derivatives_optimization = "5975e12024d1cbb622b2879aacb70352f6632461ebb55b4631bdf82eca90a05b"
derivatives_implicit_differentiation = "bb10e33f783d2e9dbe47bd8734cce6e3878454e4d029ce464d8f6483d5de616f"
alternatives_plotly_plotting = "38de16a0a8f975a4a69a7dca7e747ce3dbb42c9291fc9591852fee9668e85c61"
integral_vector_calculus_stokes_theorem = "072c2d4cead381d760b8617f75a4f3a2f9c3c7080ca2fe0d1b09937b09ba678c"
derivatives_derivatives = "1f463e9535956f67a1d1f67c0bb96561793c188e4dee516956e15524db0092ad"
derivatives_derivatives = "b7070253b31556a826bc277daeee8a81c64aaa16ab2ad3a653205a5c5e71d4e6"
integrals_arc_length = "2544b9be3fdfdc553788e655313ddc7bf0d06478d1d3122e32e09d39f2e18d9d"
integrals_area = "f615c00f21b19de93016e879bc19a36e77bbdff86b15176700fc81608c4f8505"
derivatives_more_zeros = "8c399cc058540b8180356eed20333209c8e0227e1b158bf6036acaef7b50be45"
@@ -14,7 +14,7 @@ ODEs_euler = "7326d476767ecd1e68b3e33aff5683699e22257a3e4f252300c05c344aa2cb2f"
integrals_partial_fractions = "72cc5b7e96273fdc2d30d9c5532e399e86aa9e37ada3a7a173518d279be2a8c8"
differentiable_vector_calculus_scalar_functions = "660582e02440193a6b55721bc3690a4c61bdd76d3f0425fb7c9eabc7977ea982"
integrals_center_of_mass = "6a58f248e43cbcb664532a1edd3e418ca9b4aeb226eb7987daf69ba902f9752f"
misc_getting_started_with_julia = "2365a25db4c90c6681a020763269e57bcfe4e292aa9cecefbe59e80e56b546cc"
misc_getting_started_with_julia = "ebce6bccdf2f43078e4397b76bf5c2f60d4244a3cc628c89202ce629f4ac1ad6"
precalc_logical_expressions = "354f07b97bad092a198cef91a6403ef6bb6287e06b0b910de4bb9ce65477c1a9"
limits_continuity = "7ec41b103affe38d9a5a20d52971e7278bffa38e4daf11efd7dd10fa1f6df300"
differentiable_vector_calculus_scalar_functions_applications = "aaebf1333b4153e0678af7ba45c168dd15cca5a3fd5de43b27032c64f490735e"
@@ -22,8 +22,9 @@ limits_intermediate_value_theorem = "d695cee3a813edd12b33f8502542a813bf78a7295c5
integral_vector_calculus_review = "7d9bc1ea81ecb731eaf781f3dd90fe93bcaed198bddbeae14095edb1665bab6d"
precalc_inversefunctions = "fe53a8d52a189d1969e9ccc178c3531b314a8039d036be934a7ca7d9b20c850f"
precalc_variables = "eac80638a636d707187269654ecc6b69bb5593dd87431de669b47f4ec48fb9b0"
derivatives_related_rates = "ad9978143e47775297a7611f3237c703c2e5062707893a299f5232cd83475651"
derivatives_related_rates = "caf0f93b516577b3cff39717269a27037364a5d7737c58904bc426906c81abb0"
precalc_numbers_types = "37c0ba15749a95eb2bb854af30d7c53351a14689d8cfefc6c514070c9ba49491"
misc_getting_started_with_juila = "2365a25db4c90c6681a020763269e57bcfe4e292aa9cecefbe59e80e56b546cc"
integrals_volumes_slice = "2c8bbdea196ab12447b1b9f3f4c90cc308c712dbebb3298fff47475ce39e6ad6"
integrals_surface_area = "5fc55f8068911a67723710a7faf87947d951428289d253142419e329291a7263"
limits_limits_extensions = "52316ab96de356e2d8c6c0b03ea96663b4c39f254840c4588f017648bdb3a221"
@@ -40,7 +41,7 @@ derivatives_numeric_derivatives = "199441dc8c74f6854a907bcb7d380bab0e72bc3b6bb92
derivatives_linearization = "246e5fa6e9871f59c220f1891cd6a7b6c806670af5dae83779396e128f703d81"
misc_julia_interfaces = "2ecff77788c6c706450ab11ee45e21e0714cb545353d8879e2c2e6349dcf9608"
derivatives_newtons_method = "bd4185c9db9b8b7e3cb0ab582ae1f8d3908322fe81e208c25f62a68b2944859e"
integral_vector_calculus_double_triple_integrals = "8a1fe10844df05c69ff6fc5bdb53483462e3ef162ed2dcc873d647a0f2f3b15d"
integral_vector_calculus_double_triple_integrals = "84fc4918871b45dad08018655df4d60c03ba0ae5f54b09a68c17e5ea028f9f97"
precalc_polynomial_roots = "fa23b7f0dfdfb7fe85aae97cc94ebbc3de0ecf82ddccbf78ebf0c5c2d711578b"
precalc_ranges = "b262dbb5b0d7a87a21db72bb64d3fa37fe06cd5af2e38f48cc38b4ce820a0c33"
precalc_polynomial = "2c0ba02bd275e1fd51d7f0a239c691ed9ca57b7706a4cff7df462ffb364acc8c"
@@ -53,18 +54,18 @@ integrals_area_between_curves = "b91a0c1631ec04cf065eefddf18db1ea24c28f06d745909
precalc_trig_functions = "a638b2d482c45d58da6bcff0d25c27a7cc44d326e9532890e3b023df8a502097"
differentiable_vector_calculus_polar_coordinates = "a5eed23614ec0815e9c6f88768619fce9fc0ada31535147468c44a6c9c586376"
integrals_improper_integrals = "cc96fa238225a198b1717a50f72cb0869fff21d35d275c4c2e4b9f5b005b4cc7"
misc_calculus_with_julia = "79d3617d1b0a7735bbae8a6eda83fe40b755bde9bf101bb592e3b903adfeb34f"
misc_calculus_with_julia = "bb5458e4ee8d05d74567bb9b97b9dbccb8cc9bc150c927b0e3e029bba78d68ca"
differentiable_vector_calculus_vectors = "cde2675466c01a697a7bfc73a94d58e9a58b7ed1b30cc1f03b9f573b6cb5a48d"
misc_unicode = "ef41cdddea251570f3757186ccb6a0d1f9a313a04b6ac0f074e266f71dfcb461"
integrals_mean_value_theorem = "7d7dbc1e2f8461f1b59f0df5143189cce576a3fdcef39365190859fb827ecf46"
ODEs_solve = "967c509f4b998a5f7a2f993fbb649dd52c99ed2ed4120c6d7726e04fc088f1c1"
misc_toc = "0663a465e34b5a8e1b7b375dac2b9872e94ac5a276877061fc19bc300740c5b9"
misc_toc = "547986a9a3d581cdc62419a80b8e8e2128ae4e227337d643f855c9636433e3f3"
misc_quick_notes = "26d355d223cd562804037e96412ac766d5dcd997c42263819cf2c89504524e24"
precalc_functions = "a6d4928a59cf9eb4a8e3f36469819289c21911e756d73c9fa294eb421c9c686b"
precalc_plotting = "1b85c91fb0488407a91b79c2613716b2788e50ca62520888e15676a63a7a966d"
integrals_substitution = "b96fe31960c9c8b0a46e3f8f6011abd9a8deb2fcbe8cc5402692415bcb8c04f6"
precalc_calculator = "a400b6003b6093fe7efade92bb1adff4fe014a7e020529825be1692f36ae2653"
precalc_exp_log_functions = "bd5d1b555dd2c975f327ebf17d076ff390d6b480d35c52b3f88cdff441e6f2f3"
derivatives_optimization = "70c1435c1b0bfa3921a72f5f3b296f78e6f4e06c11c85f9c3468cee82e704042"
differentiable_vector_calculus_plots_plotting = "1fbca9144d419b406206671a04c6e5b954e1993192d53c1dfa3e132d8100b769"
differentiable_vector_calculus_vector_fields = "bd852d03a2a3397337649b23898252a7db0a298b6427d3e78262d4457e87a90b"
derivatives_implicit_differentiation = "e3bd825f55ed70502ea787361e0a3d4bbe3463dc56980e31feb2b2a6101ecc1c"

View File

@@ -39,8 +39,6 @@ force = parse(Bool, d["force"])
if isnothing(folder) && isnothing(file)
force = true
build_pages(nothing, nothing, :html, force)
build_toc()

View File

@@ -105,7 +105,7 @@ function md2notebook(fname; header_cmds=(), footer_cmds=())
footer_cmds = vcat(footer_cmds...,
"using PlutoUI",
"PlutoUI.TableOfContents()",
"html\"\"\"<script src=\"https://utteranc.es/client.js\" repo=\"jverzani/CalculusWithJulia.jl\" issue-term=\"pathname\" theme=\"github-light\" crossorigin=\"anonymous\" async> </script>\"\"\""
"html\"\"\"<script src=\"https://utteranc.es/client.js\" repo=\"jverzani/CalculusWithJuliaNotes.jl\" issue-term=\"pathname\" theme=\"github-light\" crossorigin=\"anonymous\" async> </script>\"\"\""
)
for cmd footer_cmds
cell = Pluto.Cell(cmd)

View File

@@ -46,21 +46,40 @@ function jmd_file(folder, file)
joinpath(repo_directory, "CwJ", folder, file)
end
# should we build this file?
function build_fileq(folder, file; force=true)
force && return force
file = replace(file, r"\.jmd$"=>"")
key = join((folder, file), "_")
D = read_cache()
jmd_sha = sha(jmd_file(folder, file))
cache_sha = get(D, key, nothing)
Δ = jmd_sha != cache_sha
return Δ
function out_file(folder, file; ext=".html")
file = replace(file, r"\.jmd$" => "")
joinpath(build_dir, folder, file * ext)
end
# should we build this file? keep cache
# too much
# function build_fileq(folder, file; force=true)
# force && return force
# file = replace(file, r"\.jmd$"=>"")
# key = join((folder, file), "_")
# D = read_cache()
# jmd_sha = sha(jmd_file(folder, file))
# cache_sha = get(D, key, nothing)
# Δ = jmd_sha != cache_sha
# return Δ
# end
# do we build the file check mtime
function build_fileq(folder, file; force=false)
force && return true
jmdfile = jmd_file(folder, file)
outfile = out_file(folder, file)
!isfile(outfile) && return true
mtime(outfile) < mtime(jmdfile) && return true
return false
end
## ----
function build_toc(force=true)
@@ -127,12 +146,20 @@ function build_file(folder, file, force)
dir = joinpath(build_dir, folder)
isdir(dir) || mkpath(dir)
header = CalculusWithJulia.WeaveSupport.header_cmd
footer = CalculusWithJulia.WeaveSupport.footer_cmd(bnm, folder)
html_content = md2html(jmd_file(folder, file),
header_cmds=(header,),
footer_cmds=(footer,)
)
html_content = try
header = CalculusWithJulia.WeaveSupport.header_cmd
footer = CalculusWithJulia.WeaveSupport.footer_cmd(bnm, folder)
md2html(jmd_file(folder, file),
header_cmds=(header,),
footer_cmds=(footer,)
)
catch err
@info "Error with $folder / $bnm"
header = CalculusWithJulia.WeaveSupport.header_cmd
md2html(jmd_file(folder, file),
header_cmds=(header,)
)
end
outfile = joinpath(build_dir, folder, bnm * ".html")
open(outfile, "w") do io
@@ -147,11 +174,12 @@ end
function build_all(force)
folders = readdir(joinpath(repo_directory,"CwJ"))
folders = filter(F -> isdir(joinpath(repo_directory, "CwJ", F)), folders)
_map(F -> build_folder(F, force), folders)
asyncmap(F -> build_folder(F, force), folders) # _map
end
function build_folder(folder, force)
!isnothing(match(r"\.ico$", folder)) && return nothing
@info "Build $(folder)/..."
files = readdir(joinpath(repo_directory,"CwJ",folder))
files = filter(f -> occursin(r".jmd$", basename(f)), files)
_map(file -> build_file(folder, file, force), files)