• Stars
    star
    1,094
  • Rank 42,362 (Top 0.9 %)
  • Language
    HTML
  • Created almost 3 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The 2024 edition of The Nature of Code with p5.js. Includes Notion workflow and build system.

The Nature of Code 2nd Edition

This repo contains all the files for the Nature of Code 2nd edition. The book is now being authored in Notion and imported here as raw HTML files (which are then used to build the print PDF and gatsby website).

Data flow chart showing three parts: edit, store, and output.

Edit & Import

Notion Database Screenshot

Content are stored in a Notion Database with the following attributes:

  • Type (Page | Chapter): to be handled differently during builds, now only act in the website build.
  • Title: defines the title
  • Status (Draft | Published): only Published ones will be imported
  • File Name: defines the page sequence in a pdf build
  • Slug: defines the path in web page URL

Each entity also contains a page of its content, which will be transformed to html files based on the schema. The transformation script (nature-of-code/fetch-notion) is written in Node.js, utilized as a GitHub action.

Build

Following are the steps to build the book and website, however, you will have to skip the import-notion-docs as that can only be done with the Notion API key associated with the book. You can find the latest HTML version of the book in /content.

# Install Dependencies
npm install

# Build PDF (Magicbook) in `build` directory
npm run build:pdf

# Build Website in `public` directory
npm run build

More Repositories

1

noc-examples-processing

Repository for example code from The Nature of Code book
Processing
2,557
star
2

noc-book

The Nature of Code book (archived repo, see README for new repo / build system!)
JavaScript
1,937
star
3

noc-examples-p5.js-archived

Port to p5.js of Nature of Code examples
JavaScript
1,049
star
4

NOC-S17-2-Intelligence-Learning

Syllabus for Part 2 of Nature of Code: "Intelligence and Learning" at ITP Spring 2017 Edit
JavaScript
932
star
5

The-Nature-of-Code-archive

The very first build system for The Nature of Code
JavaScript
913
star
6

noc-book-2-archive

Repository for The Nature of Code book with p5.js
HTML
643
star
7

noc-examples-python

Python port (via processing.py) of The Nature of Code Examples
Python
197
star
8

The-Nature-of-Code-Cosmos-Edition

Repository for fall 2013 workshop at ITP on space data visualization
Processing
129
star
9

Nature-of-Code-Website-Archive

Repo for web files for nature of code
JavaScript
111
star
10

noc-syllabus-S20

Syllabus for Nature of Code Spring 2020
JavaScript
103
star
11

NOC-S18

Course repo and syllabus for Nature of Code Spring 2018 at ITP.
JavaScript
88
star
12

NOC-S17-1-Physics-Animation

Syllabus for Part 1 of Nature of Code: "Physics and Animation" at ITP Spring 2017
Processing
81
star
13

noc-syllabus-S23

Syllabus for IMA and ITP Spring 2023 The Nature of Code
59
star
14

noc-syllabus-S19

Course repo and syllabus for Nature of Code Spring 2019 at ITP.
JavaScript
47
star
15

noc-syllabus-S21

45
star
16

noc-kadenze

Code from Kadenze online course
JavaScript
44
star
17

The-Nature-of-Code-S14

Repository for ITP Spring 2014 Course
36
star
18

The-Nature-of-Code-Course

Syllabus and Course Materials for The Nature of Code. Book code examples are here: https://github.com/shiffman/The-Nature-of-Code-Examples
30
star
19

The-Nature-of-Code-JTerm-2015

Class repository for NYU JTerm 2015
JavaScript
16
star
20

noc-syllabus-s24

Spring 2024 Syllabus
15
star
21

noc-syllabus-modules

14
star
22

noc-discord-bot

JavaScript
12
star
23

fetch-notion

Github action that imports `nature-of-code` content on Notion as static HTMLs
JavaScript
10
star
24

The-Nature-of-Code-JTerm-2016

Repository for NYU JTerm class 2016
JavaScript
10
star
25

video.natureofcode.com

Site for nature of code videos
JavaScript
7
star
26

noc-blue-sky-bot

Making a Bot for Blue Sky with atproto
JavaScript
6
star