Skip to content

Commit

Permalink
deploy: 6667777
Browse files Browse the repository at this point in the history
  • Loading branch information
noelwelsh committed Aug 23, 2024
1 parent 52c9a77 commit 241cd84
Show file tree
Hide file tree
Showing 131 changed files with 48,882 additions and 46,758 deletions.
337 changes: 337 additions & 0 deletions 2-explore/index.html

Large diffs are not rendered by default.

327 changes: 327 additions & 0 deletions 2-explore/loading.html

Large diffs are not rendered by default.

352 changes: 352 additions & 0 deletions 2-loading-data/index.html

Large diffs are not rendered by default.

327 changes: 327 additions & 0 deletions 2-loading-data/source.html

Large diffs are not rendered by default.

312 changes: 229 additions & 83 deletions adt/adt.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions adt/index.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions adt/turtle.html

Large diffs are not rendered by default.

284 changes: 211 additions & 73 deletions animation/easing.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions animation/index.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions animation/reactor.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions collections/create.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions collections/index.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions collections/paths.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions collections/take-home-points.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions collections/transform.html

Large diffs are not rendered by default.

925 changes: 925 additions & 0 deletions css/creative-scala.css

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions cycles/composition.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions cycles/conclusions.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions cycles/culmination.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions cycles/epicycles.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions cycles/fun.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions cycles/index.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions cycles/interpolation.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions data/case-classes.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions data/data.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions data/index.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions declarations/color-palette.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions declarations/index.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions declarations/method-declarations.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions declarations/take-home-points.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions declarations/value-declarations.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expanding-expressions/02-literals.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expanding-expressions/03-objects.html

Large diffs are not rendered by default.

298 changes: 221 additions & 77 deletions expanding-expressions/04-types.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expanding-expressions/05-exercises.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expanding-expressions/index.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expressions/02-starting.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expressions/03-expressions.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expressions/04-types.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expressions/05-exercises.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expressions/06-conclusions.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expressions/index.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expressive-expressions/01-images.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expressive-expressions/02-layout.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expressive-expressions/03-color.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions expressive-expressions/04-creating-color.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expressive-expressions/05-exercises.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expressive-expressions/06-conclusions.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions expressive-expressions/index.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions flowers/conclusions.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions flowers/flowers.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions flowers/fun.html

Large diffs are not rendered by default.

278 changes: 208 additions & 70 deletions flowers/functions.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions flowers/index.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions flowers/parametric-curves.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions foreword-1.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions foreword-2.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions fp/functions.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions fp/index.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions fp/recursion.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions fp/take-home-points.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions fractals/auxillary-parameter.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions fractals/conclusions.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions fractals/exercises.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions fractals/fractals.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions fractals/index.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions fractals/nested-methods.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions generative/api.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions generative/exercises.html

Large diffs are not rendered by default.

316 changes: 223 additions & 93 deletions generative/flatmap.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions generative/for.html

Large diffs are not rendered by default.

290 changes: 214 additions & 76 deletions generative/generative.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions generative/index.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions generative/product.html

Large diffs are not rendered by default.

280 changes: 209 additions & 71 deletions generative/random.html

Large diffs are not rendered by default.

272 changes: 205 additions & 67 deletions index.html

Large diffs are not rendered by default.

274 changes: 206 additions & 68 deletions intro.html

Large diffs are not rendered by default.

17 changes: 17 additions & 0 deletions js/solution.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
function solutionPatch() {
const nodes = document.querySelectorAll(".solution");
nodes.forEach(node => {
const summary = document.createElement("summary");
const header = document.createElement("h5");
header.appendChild(document.createTextNode("Solution"))
summary.appendChild(header);

const details = document.createElement("details");
const children = Array.from(node.children);
children.unshift(summary);
details.replaceChildren(...children)

node.replaceChildren(details);
})
}
addEventListener('load', () => solutionPatch());
90 changes: 90 additions & 0 deletions js/toc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
// Reformats table of contents so it can be styled as we desire
function tocPatch() {
// All the TOCs (there should be two, for mobile and desktop.)
const nodes = document.querySelectorAll('ul.nav-list');

// Node => Array[Array[Element]]
//
// Collect the chapters into a data structure
function makeChapters(node) {
// Array[Array[Element]]
//
// Each Element is a TOC link. The first element is the chapter title
const chapters = [];

Array.from(node.children).forEach(item => {
if (item.classList.contains('level1')) {
chapters.push([item]);
} else {
const chapter = chapters.pop();
chapter.push(item);
chapters.push(chapter);
}
})

return chapters;
}

// Element => Element
//
// Input should be of the form <li><a href="...">title</a></li>
function makeChapterTitle(element) {
const header = document.createElement("h5");
header.replaceChildren(...element.children);

return header;
}

// Element => Boolean
function isActive(element) {
return element.classList.contains('active');
}

// Array[Element] => Element
function makeChapterToc(chapter) {
const first = chapter.shift();
const title = makeChapterTitle(first);

if (first.classList.contains('nav-leaf')) {
const li = document.createElement('li');
li.className = first.className;
li.appendChild(title);
return li;
} else {
const children = [];

const summary = document.createElement('summary');
summary.appendChild(title);
children.push(summary);

const list = document.createElement('ul');
list.replaceChildren(...chapter);
children.push(list);

const details = document.createElement('details');
if (isActive(first) || chapter.some(isActive)) {
details.setAttribute('open', 'true');
}
details.replaceChildren(...children);

const li = document.createElement('li');
li.className = first.className;
li.appendChild(details);
return li;
}
}

function makeToc() {
nodes.forEach(node => {
const chapters = makeChapters(node);
// console.log("chapters", chapters);
const toc = chapters.map(chapter => makeChapterToc(chapter));

node.replaceChildren(...toc);
});
}

makeToc();
}
// Run it when the page loads
addEventListener('load', () => tocPatch());
274 changes: 206 additions & 68 deletions links.html

Large diffs are not rendered by default.

Loading

0 comments on commit 241cd84

Please sign in to comment.