🏫 nodeschool internet web page
Clone or download
riyadhalnur Merge pull request #635 from fharper/fharper/learnuvnpm
switch git clone to npm install for learnuv
Latest commit 5112fd8 Dec 7, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
chapters Update santiago.json Oct 3, 2018
images Chapter Lima: update logo to a custom one Oct 2, 2018
js Absurdo pero que se puede hacer Aug 30, 2018
languages Fixed tranlated error Jul 8, 2018
scripts chore: cache length property Jun 16, 2018
styles Corrección de Observaciones Aug 29, 2018
.gitignore (chore): Update gitignore to ignore CSS files at root Sep 2, 2016
CNAME add CNAME Sep 3, 2014
CONTRIBUTING.md Clarifying the branch to use for contributions Oct 30, 2017
LICENSE Adding link to license on footer. Updating date on copyright in the l… Oct 30, 2017
README.md Fix typos and rewording on README Sep 11, 2016
about.html remove talks section from about Jan 12, 2018
building-workshops.html Extracting footers to file and injecting during build-html script Nov 1, 2017
centuryschoolbookmono.ttf update title icon, tweak typography Sep 17, 2013
chapters.html Extracting footers to file and injecting during build-html script Nov 1, 2017
events.html Event Calendar fixed May 10, 2018
favicon.ico Multiple minor layout fixes Sep 8, 2014
footer.html Extracting footers to file and injecting during build-html script Nov 1, 2017
google7639f48f12d11e24.html Added webmaster tool verification Jun 3, 2015
hexdex.html Absurdo pero que se puede hacer Aug 30, 2018
host.html Extracting footers to file and injecting during build-html script Nov 1, 2017
index.html switch git clone to npm install for learnuv Dec 6, 2018
mentor-at-event.html Extracting footers to file and injecting during build-html script Nov 1, 2017
package.json (feat): Add script to generate CSS files for Stylus Sep 2, 2016



Please fork it and send us improvements! Read our CONTRIBUTING.md guide for more details on how to send a great PR.

If you are an owner on the nodeschool/Owners team please do not edit this repo directly but instead send your contributions as pull requests.

We ask that you make pull requests because changes to this repository will get deployed onto the live production site immediately and it's best if you get feedback on your pull request first before it goes live.

Running the entire app locally

This is a static site with a build step, simply run npm start:

npm install
npm start

Installing and running individual nodeschool workshop packages

Please refer to the nodeschool site for detailed instructions. In short, there are two ways to install the workshop modules :

  • Globally (easiest)

    Depending on the npm version, npm packages get installed in different routes. To have access to them globally. Do

    npm install -global package_name or npm install -g package_name

    If you get a permission denied error. Run the previous command with sudo.

    sudo npm install -g package_name

    Now just run it by simply calling it. For example :

    npm install -g javascripting (installs it)


    javascripting (runs it)

    run_module `

  • Custom directory (a bit more configuration)

If you would like to keep all the node_school workshop packages inside a custom directory while you work through them. Using our previous example :

~ mkdir -p node_school
cd node_school
npm install javascripting 

From within the node_school directory now run node_modules/learnyounode/bin/javascripting to start it.

This is because you need to run the executable from within the directory itself since it's not available globally in your $PATH

Please refer to this discussion for more info.

Stickers, Badges and whatnots

These are in the /images directory, feel free to use for your events. In images/make-a-sticker there is a template for making a sticker too. Woop.


If you would like to translate the NodeSchool site into another language please make a pull request adding languages/<language code>.json.

To generate a new language file template automatically, run the following commands inside a clone of this repository:

npm install
npm run generate-language

This will prompt you to enter a language code and will generate your language file in the languages/ folder with English placeholder text. Now just translate each line. You should also add your language to the languages/languages.json list.

When picking your language code, please use the correct code from the first column of this spreadsheet: http://en.wikiversity.org/wiki/ISO_639-1_language_matrix

The way translations are implemented is building static pages using Codeship (see ./scripts for details).

Translation files are a mapping of translations IDs to the translated strings. There is a separate file called languages/selectors.json which maps CSS selectors in markup to the translation IDs.

The good things about this approach:

  • Every language is indexed by search engines.
  • The site remains a static site. This means that contributing to the site is really easy as the entire site is just flat HTML, CSS, JS and JSON files
  • When PRs get merged they are almost immediately deployed live to GitHub pages. This makes maintenance really nice as there is no manual deploy step.

The drawbacks of this approach:

  • Default branch is source as we can't use master anymore.

Update Translations

Are you not sure what translations is missing? Don't worry! :) Just run this command:

npm install
npm run generate-untranslated-lang

You will find untranslated IDs in languages/xx.untranslated.json.