aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md43
-rw-r--r--index.html93
-rw-r--r--people.json172
3 files changed, 265 insertions, 43 deletions
diff --git a/README.md b/README.md
index 0fcbc53..738eae3 100644
--- a/README.md
+++ b/README.md
@@ -4,49 +4,6 @@ Can you please give me a Fibonacci function? Ideally (but not necessarily) one t
For a submission to the upcoming "Reclaim your space" exhibition at [Hatch Art Gallery](https://www.instagram.com/hatch_artgallery).
-### [`adirar111`](https://github.com/adirar111)
-- [`y86`](./entries/adirar111/y86/fib.s)
-
-### [`braxtonhall`](https://github.com/braxtonhall)
-- [`adam`](./entries/braxtonhall/adam/main.py) (WIP)
-- [`express`](./entries/braxtonhall/express/index.js)
-- [`homework`](./entries/braxtonhall/homework/fib.cpp)
-- [`types`](./entries/braxtonhall/types/index.ts)
-<!-- - `smt` compiles to SMT, and the solver gives you the fib sequence -->
-<!-- - `imperitive-church` imperitive implementation in the lambda calculus -->
-
-### [`ionathanch`](https://github.com/ionathanch)
-- [`agda`](./entries/ionathanch/Fib.agda)
-- [`fortran`](./entries/ionathanch/fib.f90)
-
-### [`funemy`](https://github.com/funemy)
-- [`agda`](./entries/funemy/agda/fib1.agda)
-- [`z3`](./entries/funemy/z3/z3fib.sh)
-
-### [`jyoo980`](https://github.com/jyoo980)
-- [`scala`](./entries/jyoo980/scala/Fib.scala)
-
-### [`margoseltzer`](https://github.com/margoseltzer)
-- [`efficiency`](./entries/margoseltzer/efficiency.c)
-
-### [`Metroxe`](https://github.com/Metroxe)
-- [`html`](./entries/Metroxe/index.html)
-
-### [`nritschel`](https://github.com/nritschel)
-- [`fib-java`](./entries/nritschel/fib-java/src)
-
-### [`rtholmes`](https://github.com/rtholmes)
-- [`stack-overflow`](./entries/rtholmes/Fibonacci%20series%20in%20JavaScript%20-%20Stack%20Overflow.webloc)
-
-### [`shayanh`](https://github.com/shayanh)
-- [`matrix`](./entries/shayanh/matrix.go)
-
-### [`Tarcisio-Teixeira`](https://github.com/Tarcisio-Teixeira)
-- [`logn?`](./entries/Tarcisio-Teixeira/fib.py)
-
-### [`wilbowma`](https://github.com/wilbowma)
-- [`fib-lang`](https://github.com/wilbowma/fib-lang/tree/2ec2d1dfd141220882d824cf3dac5b374ed291f3)
-
## Contributing
To contribute just make a PR into the `main` branch!
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..3755c55
--- /dev/null
+++ b/index.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <title>fib</title>
+ <style>
+ .person {
+ margin-bottom: 1em;
+ }
+ .person-pic {
+ width: 50px;
+ }
+ .person-header {
+ display: flex;
+ align-items: end;
+ }
+ .person-header > * {
+ margin: 0.5em;
+ }
+ .person-name {
+ margin-bottom: 0;
+ }
+ .person-title {
+ margin-top: 0;
+ font-size: 80%;
+ }
+ .person > p {
+ margin: 0;
+ margin-left: 0.5em;
+ }
+ #contributors-container {
+ margin-top: 3em;
+ }
+ </style>
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
+</head>
+<body>
+ <h1><code>fib</code></h1>
+ <p>Can you please give me a Fibonacci function? Ideally (but not necessarily) one that only you would give me.</p>
+
+ <p>For a submission to the upcoming "Reclaim your space" exhibition at <a href="https://www.instagram.com/hatch_artgallery">Hatch Art Gallery</a>.</p>
+
+ <div id="contributors-container">
+ <h3>Contributors</h3>
+ <div id="contributors"></div>
+ </div>
+<script>
+ const getContributors = _ => fetch("/people.json").then(res => res.json());
+
+ const toPersonNode = person => $("<div>", {class: "person"}).append(
+ toPersonHeader(person),
+ ...person.entries.sort(cmpEntry).map(toPersonEntryNode),
+ );
+
+ const toPersonImage = github => github
+ ? $("<img>", {class: "person-pic", src: `https://github.com/${github}.png`, alt: github})
+ : $("<div>", {class: "person-pic"});
+
+
+ const toPersonDetails = person =>
+ $("<div>").append(
+ person.github
+ ? $("<a>", {href: `https://github.com/${person.github}`})
+ .append($("<p>", {class: "person-name"}).text(person.name))
+ : $("<p>", {class: "person-name"}).text(person.name),
+ $("<p>", {class: "person-title"}).text(person.title),
+ );
+
+ const toPersonHeader = person => $("<div>", {class: "person-header"})
+ .append(toPersonImage(person.github), toPersonDetails(person));
+
+ const toPersonEntryNode = entry => $("<p>").append(
+ $("<a>", {
+ href: entry.link.startsWith("./entries")
+ ? `https://github.com/braxtonhall/fib/tree/main/${entry.link.replace(/^\.\//, "")}`
+ : entry.link
+ }).append($("<code>").text(entry.name)),
+ );
+
+ const cmpPeople = () => 1; // TODO
+
+ const cmpEntry = () => 1; // TODO
+
+ $(document).ready(async _ => {
+ const contributors = await getContributors()
+ .then(people => people.sort(cmpPeople))
+ .then(people => people.map(toPersonNode))
+ .then(nodes => $("#contributors").append(...nodes));
+ console.log(contributors);
+ });
+</script>
+</body>
+</html>
diff --git a/people.json b/people.json
new file mode 100644
index 0000000..cc5e8e3
--- /dev/null
+++ b/people.json
@@ -0,0 +1,172 @@
+[
+ {
+ "github": "adirar111",
+ "name": "Aymen Dirar",
+ "title": "BSc Student, UBC",
+ "entries": [
+ {
+ "name": "y86",
+ "link": "./entries/adirar111/y86/fib.s"
+ }
+ ]
+ },
+ {
+ "github": "braxtonhall",
+ "name": "Braxton Hall",
+ "title": "MSc, UBC",
+ "entries": [
+ {
+ "name": "express",
+ "link": "./entries/braxtonhall/express/index.js"
+ },
+ {
+ "name": "homework",
+ "link": "./entries/braxtonhall/homework/fib.cpp"
+ },
+ {
+ "name": "types",
+ "link": "./entries/braxtonhall/types/index.ts"
+ }
+ ]
+ },
+ {
+ "github": "ionathanch",
+ "name": "Jonathan Chan",
+ "title": "MSc, UBC",
+ "entries": [
+ {
+ "name": "agda",
+ "link": "./entries/ionathanch/Fib.agda"
+ },
+ {
+ "name": "fortran",
+ "link": "./entries/ionathanch/fib.f90"
+ }
+ ]
+ },
+ {
+ "github": "funemy",
+ "name": "Yanze Li",
+ "title": "PhD Student, UBC",
+ "entries": [
+ {
+ "name": "agda",
+ "link": "./entries/funemy/agda/fib1.agda"
+ },
+ {
+ "name": "z3",
+ "link": "./entries/funemy/z3/z3fib.sh"
+ }
+ ]
+ },
+ {
+ "github": "jyoo980",
+ "name": "James Yoo",
+ "title": "MSc, UBC",
+ "entries": [
+ {
+ "name": "scala",
+ "link": "./entries/jyoo980/scala/Fib.scala"
+ }
+ ]
+ },
+ {
+ "github": "margoseltzer",
+ "name": "Margo Seltzer",
+ "title": "Professor of Computer Science, UBC",
+ "entries": [
+ {
+ "name": "efficiency",
+ "link": "./entries/margoseltzer/efficiency.c"
+ }
+ ]
+ },
+ {
+ "github": "meghasinghania22",
+ "name": "Megha Singhania",
+ "title": "BSc, UBC",
+ "entries": [
+ {
+ "name": "bash",
+ "link": "./entries/meghasinghania22/bash/script.sh"
+ }
+ ]
+ },
+ {
+ "github": "Metroxe",
+ "name": "Christopher Powroznik",
+ "title": "BCom, UBC",
+ "entries": [
+ {
+ "name": "html",
+ "link": "./entries/Metroxe/index.html"
+ }
+ ]
+ },
+ {
+ "github": "nritschel",
+ "name": "Nico Ritschel",
+ "title": "PhD Student, UBC",
+ "entries": [
+ {
+ "name": "fib-java",
+ "link": "./entries/nritschel/fib-java/src"
+ }
+ ]
+ },
+ {
+ "github": "perryliao",
+ "name": "Perry Liao",
+ "title": "BSc, UBC",
+ "entries": [
+ {
+ "name": "groovy",
+ "link": "./entries/perryliao/fib.groovy"
+ }
+ ]
+ },
+ {
+ "github": "rtholmes",
+ "name": "Reid Holmes",
+ "title": "Associate Professor of Computer Science, UBC",
+ "entries": [
+ {
+ "name": "stack-overflow",
+ "link": "./entries/rtholmes/Fibonacci%20series%20in%20JavaScript%20-%20Stack%20Overflow.webloc"
+ }
+ ]
+ },
+ {
+ "github": "shayanh",
+ "name": "Shayan Hosseini",
+ "title": "MSc Student, UBC",
+ "entries": [
+ {
+ "name": "matrix",
+ "link": "./entries/shayanh/matrix.go"
+ }
+ ]
+ },
+ {
+ "github": "Tarcisio-Teixeira",
+ "name": "TarcĂ­sio Teixeira",
+ "title": "MSc Student, UBC",
+ "entries": [
+ {
+ "name": "logn?",
+ "link": "./entries/Tarcisio-Teixeira/fib.py"
+ }
+ ]
+ },
+ {
+ "github": "wilbowma",
+ "name": "William Bowman",
+ "title": "Assistant Professor of Computer Science, UBC",
+ "entries": [
+ {
+ "name": "fib-lang",
+ "link": "https://github.com/wilbowma/fib-lang/tree/2ec2d1dfd141220882d824cf3dac5b374ed291f3"
+ }
+ ]
+ }
+] \ No newline at end of file