diff --git a/Manifest.toml b/Manifest.toml index f68d2e1..93dc57b 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -8,13 +8,70 @@ git-tree-sha1 = "574baf8110975760d391c710b6341da1afa48d8c" uuid = "a4c015fc-c6ff-483c-b24f-f7ea428134e9" version = "0.0.1" +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" + [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" +[[deps.Compat]] +deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"] +git-tree-sha1 = "b153278a25dd42c65abbf4e62344f9d22e59191b" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "3.43.0" + +[[deps.CompilerSupportLibraries_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" + +[[deps.Conda]] +deps = ["Downloads", "JSON", "VersionParsing"] +git-tree-sha1 = "6e47d11ea2776bc5627421d59cdcc1296c058071" +uuid = "8f4d0f93-b110-5947-807f-2305c1781a2d" +version = "1.7.0" + +[[deps.Crayons]] +git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" +uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" +version = "4.1.1" + +[[deps.DataAPI]] +git-tree-sha1 = "cc70b17275652eb47bc9e5f81635981f13cea5c8" +uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" +version = "1.9.0" + +[[deps.DataFrames]] +deps = ["Compat", "DataAPI", "Future", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrettyTables", "Printf", "REPL", "Reexport", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"] +git-tree-sha1 = "6c19003824cbebd804a51211fd3bbd81bf1ecad5" +uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" +version = "1.3.3" + +[[deps.DataStructures]] +deps = ["Compat", "InteractiveUtils", "OrderedCollections"] +git-tree-sha1 = "3daef5523dd2e769dad2365274f760ff5f282c7d" +uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +version = "0.18.11" + +[[deps.DataValueInterfaces]] +git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" +uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" +version = "1.0.0" + [[deps.Dates]] deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" +[[deps.DelimitedFiles]] +deps = ["Mmap"] +uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" + +[[deps.Distributed]] +deps = ["Random", "Serialization", "Sockets"] +uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" + [[deps.DocStringExtensions]] deps = ["LibGit2"] git-tree-sha1 = "b19534d1895d702889b219c382a6e18010797f0b" @@ -27,6 +84,25 @@ git-tree-sha1 = "7d9a46421aef53cbd6b8ecc40c3dcbacbceaf40e" uuid = "e30172f5-a6a5-5a46-863b-614d45cd2de4" version = "0.27.15" +[[deps.Downloads]] +deps = ["ArgTools", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" + +[[deps.Formatting]] +deps = ["Printf"] +git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" +uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" +version = "0.4.2" + +[[deps.Future]] +deps = ["Random"] +uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" + +[[deps.Glob]] +git-tree-sha1 = "4df9f7e06108728ebf00a0a11edee4b29a482bb2" +uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" +version = "1.3.0" + [[deps.IOCapture]] deps = ["Logging", "Random"] git-tree-sha1 = "f7be53659ab06ddc986428d3a9dcc95f6fa6705a" @@ -37,16 +113,45 @@ version = "0.2.2" deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" +[[deps.InvertedIndices]] +git-tree-sha1 = "bee5f1ef5bf65df56bdd2e40447590b272a5471f" +uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f" +version = "1.1.0" + +[[deps.IteratorInterfaceExtensions]] +git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" +uuid = "82899510-4779-5014-852e-03e436cf321d" +version = "1.0.0" + [[deps.JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] git-tree-sha1 = "3c837543ddb02250ef42f4738347454f95079d4e" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" version = "0.21.3" +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" + [[deps.LibGit2]] deps = ["Base64", "NetworkOptions", "Printf", "SHA"] uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[deps.LinearAlgebra]] +deps = ["Libdl", "libblastrampoline_jll"] +uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + [[deps.Literate]] deps = ["Base64", "IOCapture", "JSON", "REPL"] git-tree-sha1 = "b856be4fe3dfa4146e5c890f1d9865f4e2e4779d" @@ -56,26 +161,82 @@ version = "2.13.0" [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" +[[deps.MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "3d3e902b31198a27340d0bf00d6ac452866021cf" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.9" + [[deps.Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" + +[[deps.Missings]] +deps = ["DataAPI"] +git-tree-sha1 = "bf210ce90b6c9eed32d25dbcae1ebc565df2687f" +uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" +version = "1.0.2" + [[deps.Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" + [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +[[deps.OdsIO]] +deps = ["DataFrames", "DataStructures", "PyCall"] +git-tree-sha1 = "b26adb39ea9ecf7555ca7519847f7caa62d90c9a" +uuid = "56b0d19f-0a74-5872-92bc-f48f9c5431d4" +version = "0.6.1" + +[[deps.OpenBLAS_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] +uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" + +[[deps.OrderedCollections]] +git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.4.1" + [[deps.Parsers]] deps = ["Dates"] git-tree-sha1 = "85b5da0fa43588c75bb1ff986493443f821c70b7" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" version = "2.2.3" +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" + +[[deps.PooledArrays]] +deps = ["DataAPI", "Future"] +git-tree-sha1 = "28ef6c7ce353f0b35d0df0d5930e0d072c1f5b9b" +uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720" +version = "1.4.1" + +[[deps.PrettyTables]] +deps = ["Crayons", "Formatting", "Markdown", "Reexport", "Tables"] +git-tree-sha1 = "dfb54c4e414caa595a1f2ed759b160f5a3ddcba5" +uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" +version = "1.3.1" + [[deps.Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" +[[deps.PyCall]] +deps = ["Conda", "Dates", "Libdl", "LinearAlgebra", "MacroTools", "Serialization", "VersionParsing"] +git-tree-sha1 = "1fc929f47d7c151c839c5fc1375929766fb8edcc" +uuid = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" +version = "1.93.1" + [[deps.REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" @@ -84,18 +245,86 @@ uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" deps = ["SHA", "Serialization"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +[[deps.Reexport]] +git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" +uuid = "189a3867-3050-52da-a836-e630ba90ab69" +version = "1.2.2" + [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" +[[deps.SharedArrays]] +deps = ["Distributed", "Mmap", "Random", "Serialization"] +uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" + [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" +[[deps.SortingAlgorithms]] +deps = ["DataStructures"] +git-tree-sha1 = "b3363d7460f7d098ca0912c69b082f75625d7508" +uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" +version = "1.0.1" + +[[deps.SparseArrays]] +deps = ["LinearAlgebra", "Random"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + +[[deps.Statistics]] +deps = ["LinearAlgebra", "SparseArrays"] +uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" + +[[deps.TOML]] +deps = ["Dates"] +uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" + +[[deps.TableTraits]] +deps = ["IteratorInterfaceExtensions"] +git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" +uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" +version = "1.0.1" + +[[deps.Tables]] +deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits", "Test"] +git-tree-sha1 = "5ce79ce186cc678bbb5c5681ca3379d1ddae11a1" +uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" +version = "1.7.0" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" + [[deps.Test]] deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" +[[deps.UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + [[deps.Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[deps.VersionParsing]] +git-tree-sha1 = "58d6e80b4ee071f5efd07fda82cb9fbe17200868" +uuid = "81def892-9a0e-5fdd-b105-ffc91e053289" +version = "1.3.0" + +[[deps.Zlib_jll]] +deps = ["Libdl"] +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" + +[[deps.libblastrampoline_jll]] +deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] +uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" diff --git a/Project.toml b/Project.toml index 81be596..ea13c1d 100644 --- a/Project.toml +++ b/Project.toml @@ -1,4 +1,6 @@ [deps] +DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +Glob = "c27321d9-0574-5035-807b-f59d2c89b15c" Literate = "98b081ad-f1c9-55d3-8b20-4c87d4299306" - +OdsIO = "56b0d19f-0a74-5872-92bc-f48f9c5431d4" diff --git a/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0002_-_Program.md b/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0002_-_Program.md index 86b6f08..6b6a777 100644 --- a/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0002_-_Program.md +++ b/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0002_-_Program.md @@ -27,7 +27,7 @@ The slides used in the videos below are available [here](https://github.com/sylv ### 01 JULIA1: Basic Julia programming (5h:52:33) - Basic syntax elements (46:45) - [Part A - Introduction and setup of the environment](https://www.youtube.com/watch?v=fRv3vAmzHS8&list=PLDIpPSqVuMmK1poGUS7nuAXXILxHxmV2O&index=1) (8:37) - - [Part B - Comments, code organsation, Unicode support, broadcasting](https://www.youtube.com/watch?v=1SVA6woAq18&list=PLDIpPSqVuMmK1poGUS7nuAXXILxHxmV2O&index=2) (12:04) + - [Part B - Comments, code organisation, Unicode support, broadcasting](https://www.youtube.com/watch?v=1SVA6woAq18&list=PLDIpPSqVuMmK1poGUS7nuAXXILxHxmV2O&index=2) (12:04) - [Part C - Math operators, quotation marks](https://www.youtube.com/watch?v=1AVb-92QmPg&list=PLDIpPSqVuMmK1poGUS7nuAXXILxHxmV2O&index=3) (6:49) - [Part D - Missing values](https://www.youtube.com/watch?v=UGlJlH1BbjM&list=PLDIpPSqVuMmK1poGUS7nuAXXILxHxmV2O&index=4) (10:04) - [Part E - Stochasticity in programming](https://www.youtube.com/watch?v=Hi_a7YWA_j8&list=PLDIpPSqVuMmK1poGUS7nuAXXILxHxmV2O&index=5) (9:14) diff --git a/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0003_-_Introduction_to_Julia.md b/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0003_-_Introduction_to_Julia.md index 74bc324..29167ac 100644 --- a/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0003_-_Introduction_to_Julia.md +++ b/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0003_-_Introduction_to_Julia.md @@ -1,12 +1,8 @@ -TODO. Please refer to the videos. - -```@raw html - -``` \ No newline at end of file +TODO. Please refer to the videos above or to the slides. + +# An introduction to the Julia Programming Language + +## How to install Julia and git + +## Julia modules, packages and environments + diff --git a/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0004_-_Introduction_to_ML.md b/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0004_-_Introduction_to_ML.md index 734523e..9edc1ea 100644 --- a/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0004_-_Introduction_to_ML.md +++ b/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0004_-_Introduction_to_ML.md @@ -1 +1,6 @@ -TODO. Please refer to the videos. \ No newline at end of file +TODO. Please refer to the videos above or to the slides + + + +# An introduction to Machine Learning + diff --git a/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0005_-_How_to_install_Julia_and_git.md b/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0005_-_How_to_install_Julia_and_git.md deleted file mode 100644 index 734523e..0000000 --- a/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0005_-_How_to_install_Julia_and_git.md +++ /dev/null @@ -1 +0,0 @@ -TODO. Please refer to the videos. \ No newline at end of file diff --git a/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0006_-_Modules_packages_and_environments.md b/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0006_-_Modules_packages_and_environments.md deleted file mode 100644 index 734523e..0000000 --- a/lessonsSources/00_-_INTRO_-_Introduction_julia_ml/0006_-_Modules_packages_and_environments.md +++ /dev/null @@ -1 +0,0 @@ -TODO. Please refer to the videos. \ No newline at end of file diff --git a/lessonsSources/assets/custom.css b/lessonsSources/assets/custom.css index 8e68bf1..db8e4d8 100644 --- a/lessonsSources/assets/custom.css +++ b/lessonsSources/assets/custom.css @@ -14,3 +14,8 @@ html.theme--documenter-light pre code { min-height: 300px; position: relative; } + +.ytb-container iframe.embed-responsive-item{ + width: 600px; + height: 300px; +} diff --git a/makedoc.jl b/makedoc.jl index f43c5dc..68b0105 100644 --- a/makedoc.jl +++ b/makedoc.jl @@ -28,15 +28,16 @@ Pkg.activate(".") #Pkg.resolve() Pkg.instantiate() -#Pkg.add(["Documenter", "Literate"]) +#Pkg.add(["Documenter", "Literate", "Glob", "DataFrames", "OdsIO"]) -using Documenter, Literate, Test +using Documenter, Literate, Test, Glob, DataFrames, OdsIO const LESSONS_ROOTDIR = joinpath(@__DIR__, "lessonsSources") # Important: If some lesson is removed but the md file is left, this may still be used by Documenter const LESSONS_ROOTDIR_TMP = joinpath(@__DIR__, "lessonsSources_tmp") +# Where to save the lessons before they are preprocessed LESSONS_SUBDIR = Dict( @@ -49,49 +50,6 @@ LESSONS_SUBDIR = Dict( ) -function preprocess(page,path) - - commentCode = """ - ```@raw html - - ``` - """ - addThisCode = """ - ```@raw html - - - ``` - """ - # https://crowdsignal.com/support/rating-widget/ - ratingCode1 = """ - ```@raw html -
- - ``` - """ - ratingCode2 = """ - ```@raw html - - ``` - """ - return string(page,"\n---------\n",ratingCode1,"\n---------\n",commentCode,"\n---------\n",ratingCode2) - #return string(page,"\n",addThisCode,"\n",ratingCode1,"\n",commentCode,"\n",ratingCode2) -end - # Utility functions..... @@ -133,6 +91,24 @@ function makeList(rootDir,subDirList) return outArray end +""" + rdir(string,match) + +Return a vector of all files (full paths) of a given directory recursivelly taht matches `match`, recursivelly. + +# example +filenames = getindex.(splitdir.(rdir(LESSONS_ROOTDIR,"*.jl")),2) #get all md filenames +""" +function rdir(dir::AbstractString, pat::Glob.FilenameMatch) + result = String[] + for (root, dirs, files) in walkdir(dir) + append!(result, filter!(f -> occursin(pat, f), joinpath.(root, files))) + end + return result +end +rdir(dir::AbstractString, pat::AbstractString) = rdir(dir, Glob.FilenameMatch(pat)) + + function literate_directory(dir) # Removing old compiled md files... #for filename in filter(file -> endswith(file, ".md"), readdir(dir)) @@ -176,6 +152,93 @@ function literate_directory(dir) return nothing end +function preprocess(rootDir) + cd(@__DIR__) + Pkg.activate(".") + #rootDir = LESSONS_ROOTDIR + files = rdir(rootDir,"*.md") + videos = ods_read(joinpath(@__DIR__,"videosList.ods");sheetName="videos",retType="DataFrame") + for file in files + #file = files[4] + origContent = read(file,String) + outContent = "" + filename = splitdir(file)[2] + segmentVideos = videos[videos.host_filename .== filename,:] + if size(segmentVideos,1) > 0 + outContent *= """ + ```@raw html + Videos related to this segment (click the title to watch) + """ + for video in eachrow(segmentVideos) + #video = segmentVideos[1,:] + outContent *= """ +
$(video.lesson_short_name) - $(video.segment_id)$(video.part_id): $(video.part_name) ($(video.minutes):$(video.seconds)) +
+
+ +
+
+
+ """ + end # end of each video + outContent *= """ + ``` + ------ + """ + end # end of if there are videos + outContent *= origContent + if (filename != "index.md") + commentCode = """ + ```@raw html + + ``` + """ + addThisCode = """ + ```@raw html + + + ``` + """ + # https://crowdsignal.com/support/rating-widget/ + ratingCode1 = """ + ```@raw html +
+ + ``` + """ + ratingCode2 = """ + ```@raw html + + ``` + """ + outContent *= "\n---------\n" + outContent *= ratingCode1 + outContent *= "\n---------\n" + outContent *= commentCode + outContent *= ratingCode2 + end + #print(outContent) + #println(file) + write(file,outContent) + end # end for each file +end #end preprocess function + + + # ------------------------------------------------------------------------------ # Saving the unmodified source to a temp directory cp(LESSONS_ROOTDIR, LESSONS_ROOTDIR_TMP; force=true) @@ -184,7 +247,7 @@ println("Starting literating tutorials (.jl --> .md)...") literate_directory.(map(lsubdir->joinpath(LESSONS_ROOTDIR ,lsubdir),values(LESSONS_SUBDIR))) println("Starting preprocessing markdown pages...") -# Preprocess here +preprocess(LESSONS_ROOTDIR) println("Starting making the documentation...") makedocs(sitename="SPMLJ",