diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 8b13d8e..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "src/_libs/devicon"] - path = src/_libs/devicon - url = https://github.com/devicons/devicon diff --git a/Manifest.toml b/Manifest.toml index 9629924..333d666 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.8.0-DEV.1544" manifest_format = "2.0" -project_hash = "b624ff2117a370fbbc58955a02126cf4545f031e" +project_hash = "a02a7b673b951e1ca0acf27ef15e0db496517221" [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" @@ -85,6 +85,12 @@ version = "0.5.1" deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" +[[deps.JLLWrappers]] +deps = ["Preferences"] +git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.4.1" + [[deps.JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] git-tree-sha1 = "3c837543ddb02250ef42f4738347454f95079d4e" @@ -113,6 +119,12 @@ version = "1.9.1+2" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" +[[deps.Libiconv_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "42b62845d70a619f063a7da093d995ec8e15e778" +uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" +version = "1.16.1+1" + [[deps.Literate]] deps = ["Base64", "IOCapture", "JSON", "REPL"] git-tree-sha1 = "5b5ec7696d40868945c407f28a6672a230448b70" @@ -187,6 +199,12 @@ deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markd uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" version = "1.8.0" +[[deps.Preferences]] +deps = ["TOML"] +git-tree-sha1 = "47e5f437cc0e7ef2ce8406ce1e7e24d44915f88d" +uuid = "21216c6a-2e73-6563-6e65-726566657250" +version = "1.3.0" + [[deps.Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" @@ -214,6 +232,12 @@ version = "1.1.0" [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" +[[deps.StringEncodings]] +deps = ["Libiconv_jll"] +git-tree-sha1 = "50ccd5ddb00d19392577902f0079267a72c5ab04" +uuid = "69024149-9ee7-55f6-a4c4-859efe599b68" +version = "0.3.5" + [[deps.TOML]] deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" @@ -246,6 +270,12 @@ uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" [[deps.Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" +[[deps.YAML]] +deps = ["Base64", "Dates", "Printf", "StringEncodings"] +git-tree-sha1 = "3c6e8b9f5cdaaa21340f841653942e1a6b6561e5" +uuid = "ddb6d928-2868-570f-bddf-ab3f9cf99eb6" +version = "0.4.7" + [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" diff --git a/Project.toml b/Project.toml index 8f357c5..96b1de6 100644 --- a/Project.toml +++ b/Project.toml @@ -1,3 +1,5 @@ [deps] Franklin = "713c75ef-9fc9-4b05-94a9-213340da978e" -NodeJS = "2bd173c7-0d6d-553b-b6af-13a54713934c" \ No newline at end of file +NodeJS = "2bd173c7-0d6d-553b-b6af-13a54713934c" +OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +YAML = "ddb6d928-2868-570f-bddf-ab3f9cf99eb6" diff --git a/src/_css/project.css b/src/_css/project.css new file mode 100644 index 0000000..7f7c3de --- /dev/null +++ b/src/_css/project.css @@ -0,0 +1,10 @@ +.icons { + display: flex; + align-items: center; + gap: 0.5rem; +} + +.icon { + display: flex; + align-items: center; +} diff --git a/src/_data/personnal_projects.yml b/src/_data/personnal_projects.yml index 8b5fc06..84ad5aa 100644 --- a/src/_data/personnal_projects.yml +++ b/src/_data/personnal_projects.yml @@ -1,37 +1,28 @@ -Hackathon net7: - role: Author - year: 2022-2023 - description: Cool little game, soon™ - Personnal website: - role: Author year: 2022-2023 - description: TODO + description: Simple website built with [Franklin.jl](https://franklinjl.org/). repository: https://git.inpt.fr/fainsil/personnal-website/ website: https://laurent.fainsin.bzh/ B00 plays GBA: - role: Author + year: 2021-2023 description: Using technologies such as [websocket](https://websockets.readthedocs.io/en/stable/), [redis](https://redis.io/), [docker](https://www.docker.com/), [rtmp](https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol), [mgba](https://github.com/mgba-emu/mgba) and gluing it all together with [Python](https://en.wikipedia.org/wiki/Python_(programming_language)), we get a collaborative emulator inspired from [TwitchPlaysPokemon](https://en.wikipedia.org/wiki/Twitch_Plays_Pok%C3%A9mon). repository: https://git.inpt.fr/fainsil/booplaysgba/ -INP-net: - role: President +INP-net (president): year: 2021-2022 - description: Active member of my school's computer association which provides many services to over 10,000 students. + description: Active member of my school's group computer association which provides many services to over 5,000 students in 6 schools each year. website: https://www.bde.enseeiht.fr/clubs/net7/ repository: https://git.inpt.fr/inp-net/ -net7: - role: Treasurer +net7 (treasurer): year: 2021-2022 - description: Active member of my school's computer association which provides many services to over 10,000 students. + description: Active member of my school's computer association which provides many services to over 1,000 students each year. website: https://www.bde.inp-toulouse.fr/clubs/inp-net/ repository: https://git.inpt.fr/net7/ Personnal website (old): - role: Author year: 2020-2022 - description: Simple website built with the static site generetor [11ty.js](https://www.11ty.dev/). Made with [Nunjucks](https://mozilla.github.io/nunjucks/), [SCSS](https://sass-lang.com/), [Javascript](https://developer.mozilla.org/fr/docs/Web/JavaScript), [Yarn](https://yarnpkg.com/) and autodeployed with a [GitLab pipeline](https://git.inpt.fr/fainsil/personnal-website/-/pipelines). + description: Simple website built with the static site generator [11ty.js](https://www.11ty.dev/). Made with [Nunjucks](https://mozilla.github.io/nunjucks/), [SCSS](https://sass-lang.com/), [Javascript](https://developer.mozilla.org/fr/docs/Web/JavaScript), [Yarn](https://yarnpkg.com/) and autodeployed with a [GitLab pipeline](https://git.inpt.fr/fainsil/personnal-website/-/pipelines). repository: https://git.inpt.fr/fainsil/personnal-website-old/ website: https://fainsil.users.inpt.fr/ diff --git a/src/_data/school_projects.yml b/src/_data/school_projects.yml index e09b342..ba71dbe 100644 --- a/src/_data/school_projects.yml +++ b/src/_data/school_projects.yml @@ -1,16 +1,16 @@ Sagittarius: - repo: https://git.inpt.fr/fainsil/sagittarius - pdf: https://git.inpt.fr/fainsil/sagittarius/-/blob/master/docs/iteration3/rapport3.pdf - role: Author + year: 2020-2021 description: From an object oriented programming project in [Java](https://en.wikipedia.org/wiki/Java_(programming_language)), a little 2D turn-based game inspired by [a game under the same name by George Prosser](https://gprosser.itch.io/sagittarius). + repository: https://git.inpt.fr/fainsil/sagittarius + pdf: https://git.inpt.fr/fainsil/sagittarius/-/blob/master/docs/iteration3/rapport3.pdf Minishell: - repo: https://git.inpt.fr/fainsil/minishell - role: Author + year: 2020-2021 description: Implementation of a basic [shell program](https://en.wikipedia.org/wiki/Shell_(computing)) in [C](https://en.wikipedia.org/wiki/C_(programming_language)), capable of launching programs, piping their streams and sending them signals. + repository: https://git.inpt.fr/fainsil/minishell Pagerank: - repo: https://git.inpt.fr/fainsil/pagerank - pdf: https://git.inpt.fr/fainsil/pagerank/-/blob/master/doc/rapport.pdf - role: Author + year: 2020-2021 description: Implementation of an iterative algorithm in [Ada](https://en.wikipedia.org/wiki/Ada_(programming_language)) to compute the [pagerank](https://en.wikipedia.org/wiki/PageRank) of a given network as quickly and efficiently as possible. + repository: https://git.inpt.fr/fainsil/pagerank + pdf: https://git.inpt.fr/fainsil/pagerank/-/blob/master/doc/rapport.pdf diff --git a/src/_layout/head.html b/src/_layout/head.html index 079b80d..87048b5 100644 --- a/src/_layout/head.html +++ b/src/_layout/head.html @@ -3,12 +3,13 @@ - {{if hasmath}} {{insert head_katex.html }} {{end}} - {{if hascode}} {{insert head_highlight.html }} {{end}} + {{if hasmath}} {{insert head_katex.html }} {{end}} + {{if hascode}} {{insert head_highlight.html }} {{end}} + {{if hasicons}} {{insert head_icons.html }} {{end}} - {{isdef title}} {{fill title}} {{end}} + {{isdef title}} {{fill title}} {{end}} {{insert header.html}} diff --git a/src/_layout/head_icons.html b/src/_layout/head_icons.html new file mode 100644 index 0000000..0e95350 --- /dev/null +++ b/src/_layout/head_icons.html @@ -0,0 +1,3 @@ + + + diff --git a/src/config.md b/src/config.md index 719622b..588a11c 100644 --- a/src/config.md +++ b/src/config.md @@ -4,6 +4,8 @@ mintoclevel = 2 ignore = ["node_modules/"] +hasicons = false + robots_disallow = ["/"] generate_sitemap = false generate_rss = false diff --git a/src/projects.md b/src/projects.md index 23512b6..1a20bdd 100644 --- a/src/projects.md +++ b/src/projects.md @@ -1,9 +1,10 @@ @def title = "Projects" +@def hasicons = true # Personnal projects -test +{{ print_projects _data/personnal_projects.yml }} # School projects -test +{{ print_projects _data/school_projects.yml }} diff --git a/src/utils.jl b/src/utils.jl index 33d3164..9370aa5 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -1,89 +1,29 @@ using YAML +using OrderedCollections +using Franklin -personnal_projects = YAML.load_file("_data/personnal_projects.yml") -school_projects = YAML.load_file("_data/school_projects.yml") +function hfun_print_projects(yaml_files) + yaml = YAML.load_file(yaml_files[1]; dicttype=OrderedDict{String,Any}) -# icon_dict = Dict( -# "arXiv" => ("ai ai-arxiv ai-lg", "arXiv"), -# "openaccess" => ("ai ai-open-access ai-lg", "Journal paper"), -# "closedaccess" => ("ai ai-closed-access ai-lg", "Journal paper"), -# "conference" => ("ai ai-open-access ai-lg", "Conference paper"), -# "julia_package" => ("icon-julia-dots", "Julia package"), -# "reproduction_code" => ("las la-code la-lg", "Reproduction code"), -# "bioRxiv" => ("ai ai-biorxiv ai-lg", "bioRxiv"), -# "r_package" => ("lab la-r-project la-lg", "R package"), -# "poster" => ("las la-chalkboard la-lg", "Poster") -# ) + html_string = "" + for (project_name, project) in yaml + description = Franklin.fd2html(project["description"], internal=true) + repository = haskey(project, "repository") ? """""" : "" + website = haskey(project, "website") ? """""" : "" + pdf = haskey(project, "pdf") ? """""" : "" + year = """$(project["year"])""" + html_string = """ + $(html_string) +

$(project_name), $(year)

+ $(description) + + $(repository) + $(pdf) + $(website) + + """ + end -# function tooltip_code(url, class) -# dict_entry = icon_dict[class] -# class_text = dict_entry[1] -# tooltip_text = dict_entry[2] -# """ -# -# -# $(tooltip_text) -# -# """ -# end - - -# function bibprint(yamlkey) -# entry = bibliography[yamlkey] -# names = join(["""$name""" for name ∈ entry["author"]], ", ") -# year = """$(entry["year"])""" -# title = """$(entry["title"]).""" -# journal = """$(entry["journal"]).""" -# html_string = """ -#
  • -# $(names) -# $(year)
    -# $(title)
    -# $(journal)
    -# """ -# if haskey(entry, "note") -# html_string = """ -# $(html_string) -# $(entry["note"])
    -# """ -# end - -# bibkey_order = ["openaccess" -# "closedaccess" -# "conference" -# "arXiv" -# "bioRxiv" -# "poster" -# "reproduction_code" -# "julia_package" -# "r_package"] -# for key in bibkey_order -# if haskey(entry, key) -# html_string = """ -# $(html_string) -# $(tooltip_code(entry[key], key)) -# """ -# end -# end -# html_string = """ -# $(html_string) -#
  • -# """ -# html_string -# end - -# function hfun_bibliographyprint(yamlkeys) -# keys = locvar(yamlkeys[1]) -# html_string = """
      """ -# for key in keys -# html_string = """ -# $(html_string) -# $(bibprint(key)) -# """ -# end -# """ -# $(html_string) -#
    -# """ -# end + return html_string +end