1
0
Fork 0
mirror of https://github.com/marijnh/Eloquent-JavaScript.git synced 2026-05-13 19:14:32 +02:00
The sources for the Eloquent JavaScript book https://eloquentjavascript.net
  • JavaScript 75.6%
  • HTML 18.2%
  • CSS 3.6%
  • TeX 1.4%
  • Makefile 1.1%
Find a file
2026-01-11 10:20:23 +01:00
code Use the proper image path for the robot animation on the code/ page 2025-04-20 19:52:09 +02:00
epub Remove credit for picture that's no longer used 2024-05-03 14:15:56 +02:00
html Add some errata 2026-01-11 10:20:23 +01:00
img Remove unused svg image 2024-08-27 07:33:06 +02:00
pdf Remove credit for picture that's no longer used 2024-05-03 14:15:56 +02:00
src Fix prev fix 2025-04-01 09:26:26 +02:00
.gitignore Go over Chapter 20 2023-10-25 18:01:13 +02:00
00_intro.md Changes made as part of final print sign-off 2024-08-06 07:36:35 +02:00
01_values.md Minor index tweaks 2024-08-01 08:17:00 +02:00
02_program_structure.md Second page review 2024-07-16 09:38:29 +02:00
03_functions.md Changes made as part of final print sign-off 2024-08-06 07:36:35 +02:00
04_data.md Minor index tweaks 2024-08-01 08:17:00 +02:00
05_higher_order.md Second page review 2024-07-16 09:38:29 +02:00
06_object.md Second page review 2024-07-16 09:38:29 +02:00
07_robot.md Copyediting hint text 2024-07-14 22:31:07 +02:00
08_error.md Second page review 2024-07-16 09:38:29 +02:00
09_regexp.md Changes made as part of final print sign-off 2024-08-06 07:36:35 +02:00
10_modules.md Changes made as part of final print sign-off 2024-08-06 07:36:35 +02:00
11_async.md Copyediting hint text 2024-07-14 22:31:07 +02:00
12_language.md Copyediting hint text 2024-07-14 22:31:07 +02:00
13_browser.md Fix typo in Chapter 13 quote attribution 2025-10-08 18:18:18 +02:00
14_dom.md Second page review 2024-07-16 09:38:29 +02:00
15_event.md Copyediting chapter 15 2024-07-08 11:15:51 +02:00
16_game.md Copyediting hint text 2024-07-14 22:31:07 +02:00
17_canvas.md Second page review 2024-07-16 09:38:29 +02:00
18_http.md Add some errata 2026-01-11 10:20:23 +01:00
19_paint.md Add some errata 2026-01-11 10:20:23 +01:00
20_node.md Remove unused import 2024-07-24 21:00:49 +02:00
21_skillsharing.md Minor index tweaks 2024-08-01 08:17:00 +02:00
Makefile Fix various details in metadata and front pages 2024-02-29 13:25:13 +01:00
package.json Run terser on client script 2024-02-29 15:27:55 +01:00
README.md remove spaces 2025-02-11 11:51:09 +01:00

Eloquent JavaScript

These are the sources used to build the fourth edition of Eloquent JavaScript (https://eloquentjavascript.net).

Feedback welcome, in the form of issues and pull requests.

Building

This builds the HTML output in html/, where make is GNU make:

npm install
make html

To build the PDF file (don't bother trying this unless you really need it, since this list has probably bitrotted again and getting all this set up is a pain):

apt-get install texlive texlive-xetex fonts-inconsolata fonts-symbola texlive-lang-chinese inkscape
make book.pdf

Translating

Translations are very much welcome. The license this book is published under allows non-commercial derivations, which includes open translations. If you do one, let me know, and I'll add a link to the website.

A note of caution though: This text consists of about 130 000 words, the paper book is 400 pages. That's a lot of text, which will take a lot of time to translate.

If that doesn't scare you off, the recommended way to go about a translation is:

  • Fork this repository on GitHub.

  • Create an issue on the repository describing your plan to translate.

  • Translate the .md files in your fork. These are CommonMark formatted, with a few extensions. You may consider omitting the index terms (indicated with double parentheses and {{index ...}} syntax) from your translation, since that's mostly relevant for print output.

  • Publish somewhere online or ask me to host the result.

Doing this in public, and creating an issue that links to your work, helps avoid wasted effort, where multiple people start a translation to the same language (and possibly never finish it). (Since translations have to retain the license, it is okay to pick up someone else's translation and continue it, even when they have vanished from the internet.)

I am not interested in machine translations. Please only ask me to link your translation when it was done by actual people.