Skip to content
The sources for the Eloquent JavaScript book
JavaScript HTML CSS TeX Other
Branch: master
Clone or download

Latest commit

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
code Add MIT license text Apr 20, 2020
epub Fix incorrect chapter number in frontmatter May 24, 2020
html Mark one errata as fixed in the 4th reprint May 26, 2020
img Use final cover Dec 20, 2018
pdf Fix incorrect chapter number in frontmatter May 24, 2020
src Fix linking of zip files from code/index.html Apr 4, 2020
.gitignore Generate a two-level TOC for the epub file Feb 27, 2018
00_intro.md Improve index Oct 15, 2018
01_values.md Improve index Oct 15, 2018
02_program_structure.md Improve index Oct 15, 2018
03_functions.md Improve index Oct 15, 2018
04_data.md Avoid calling string values objects Jan 16, 2020
05_higher_order.md Add bad numbers for script dataset mistake to errata Jul 26, 2019
06_object.md Fix mismatch between argument name in code and text Feb 18, 2019
07_robot.md Improve index Oct 15, 2018
08_error.md Fixed error message on 8.2 The locked box May 20, 2019
09_regexp.md Improve index Oct 15, 2018
10_modules.md Typo fix in Chapter 10 Aug 6, 2019
11_async.md Add parens after new expression in Chapter 11 May 26, 2020
12_language.md Improve index Oct 15, 2018
13_browser.md Improve index Oct 15, 2018
14_dom.md Fix a typo in Chapter 14 (and note in errata) Jun 14, 2019
15_event.md Fix typo in chapter 15 Oct 4, 2019
16_game.md Update 16_game.md Feb 14, 2019
17_canvas.md Fix two damaged figure tags Dec 20, 2018
18_http.md Fix two damaged figure tags Dec 20, 2018
19_paint.md Improve index Oct 15, 2018
20_node.md Fix linking of zip files from code/index.html Apr 4, 2020
21_skillsharing.md Fix linking of zip files from code/index.html Apr 4, 2020
Makefile Upgrade CodeMirror May 17, 2018
README.md Add note on translation to readme file Sep 25, 2019
package.json Integrate tech editing for Chapter 20 Jun 4, 2018

README.md

Eloquent JavaScript

These are the sources used to build the third 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.)

You can’t perform that action at this time.