Source code for NuPIC website.
HTML JavaScript CSS Gnuplot
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
_data Fixed broken links to numenta.com Jun 3, 2016
_includes Updated copyright years in translation license. Aug 31, 2016
_layouts Numenta.org 2016-02-19 Fixes and Changes: Feb 20, 2016
_sass Flying blind here :P Feb 11, 2016
assets Resize htm school logo Apr 1, 2016
blog Updating links to HTM Forum. May 24, 2016
committers Fix #199 make `committers` and `contributors` pages work again. May 27, 2015
contributors
docs new docs for added classes and modification Sep 29, 2016
events Added NAB competition event. Feb 19, 2016
faq WIP #189 Rename loner root pages (i.e. /search.html => /search/). May 19, 2015
hack Fixed broken redirect from /hack Feb 10, 2015
images WIP #161 #comment Add blog post images, some basic inital styling, etc. Jun 8, 2015
javascripts Fix #199 make `committers` and `contributors` pages work again. May 27, 2015
lib/reveal.js Adding the reveal.js library for online slides. Jun 20, 2013
licenses Fixed some bad char conversiosn in the txt verison. Apr 25, 2016
lists WIP #177 Filling out more links, prepping, etc. Apr 22, 2015
media WIP #161 Add Media images. Jun 9, 2015
nab Fixed timestamp format. Jul 18, 2016
news WIP #161 Finish putting in all content images. Posts have related lin… Jun 9, 2015
node_modules Numenta.org 2016-02-19 Fixes and Changes: Feb 20, 2016
report WIP #189 Rename loner root pages (i.e. /search.html => /search/). May 19, 2015
resources adding contributor Dec 27, 2016
search Fix #190 Fix up the Search page. May 27, 2015
sitemap Fix small test script annoyance. Feb 20, 2016
son WIP #177 Filling out more links, prepping, etc. Apr 22, 2015
stats added htm.java stats May 13, 2015
styleguide styleguide improvement Jun 5, 2015
stylesheets bit of work Mar 26, 2015
test
tools Merge branch 'gh-pages' into gh-pages-brev-redux May 22, 2015
.gitignore Numenta.org 2016-02-19 Fixes and Changes: Feb 20, 2016
.travis.yml Switch Travis build to container-based instead of older architecture. Jul 10, 2015
CNAME Restoring original cname. Nov 24, 2014
Gemfile Testing jekyll redirect plugin Feb 10, 2015
README.md Update README.md Jan 4, 2017
_config.dev.yml WIP #173 Refactor trying to get build tooling setup correctly for dev… May 19, 2015
_config.yml Numenta.org 2016-02-19 Fixes and Changes: Feb 20, 2016
googlee9f2358c00414081.html add new google verification file for webmaster tools setup. Jan 28, 2015
gulpfile.js Fix small test script annoyance. Feb 20, 2016
index.html Work on #188 1. Split events into groups and sort, 2. style list page… May 21, 2015
package.json Numenta.org 2016-02-19 Fixes and Changes: Feb 20, 2016
robots.txt WIP #189 Rename loner root pages (i.e. /search.html => /search/). May 19, 2015

README.md

DEPRECATED

New upcoming Numenta.org source is here:

Old NuPIC Website Sourcecode

This is the open source code for the NuPIC Website hosted at http://numenta.org

Build Status

Tech Stack

Client

  • Web Platform:
    • HTML5 markup semantic page structure
      • HTML pages are found in ./**/*.html
        • These pages are wrapped in layout templates found in ./_layouts/
        • These pages pull in partial include templates from ./_includes/
          • Pages and Includes will load and render Markdown .md text content from the ./_includes/content/ directory
      • Final output is generated and served from the ./_site/ directory
    • CSS3 styling with SASS preprocessing
      • Pages load CSS from the ./assets/css/ directory.
        • These files originate as .scss SASS files
          • The SASS files include template partials from the ./_sass/ directory
    • JS functionality
  • jQuery dom helper lib
  • Bootstrap responsive frontend framework

Server

Build

Prerequisites

Example of a quick Mac OS X setup:

brew install git ruby node
git clone git@github.com:numenta/numenta.org.git
cd numenta.org
gem install bundler
bundle install
npm install

Development

Build and Serve local dev site:

npm run dev

View local development site:

http://localhost:4000

Test by starting up a dev webserver on default port (8008) and run webtests and linkchecks against local environment:

# use defaults
npm run test

# customize test target if needed (defaults listed)
TEST_HOST=http://localhost TEST_PORT=8008 TEST_PATH=  npm run test

Staging

Build:

  • Modify _config.yml and set baseurl to be /numenta.org
  • Push changes to your own github username/gh-pages branch
  • Note: Living Styleguide doesn't work fully on Staging yet, it doesn't know about the gh-pages Jekyll baseurl setting.

View: Your own staging site will build and be available:

http://username.github.io/numenta.org/

Test against your Staging:

TEST_HOST=http://username.github.io TEST_PORT=80 TEST_PATH=/numenta.org npm run test

Production

Build:

View: Production build is available at the main URL:

http://numenta.org

Test against Production:

TEST_HOST=http://numenta.org TEST_PORT=80 TEST_PATH=  npm run test

Best Practices

Content

  • Markdown Text Content:
    • Main content text is stored as markdown here: _includes/content/
      • Quick snippet to load a Markdown text block:
        • {% include base/markdown.html file='text.md' %}
  • Links:
    • Social Sharing link URLs do not have full hostnames when in Development or Staging, but they will be full in Production.
    • DO NOT forget to include the {{ site.baseurl }} template variable on internal links.
      • If you forget to use it, you will break staging sites.
    • Use & instead of & within links.
      • (Local Jekyll may run fine, but GitHub Pages may die without warning.)

Design

  • Living Styleguide
  • Clean, Simple, Modern, Intelligent style
  • Mobile First
  • Standards-compliant as possible
  • Support a wide array of users with accessibility needs
  • Retina images automatically loaded via Retina.js - for image.png, expects a 2x resolution file named image@2x.png

Development

  • Keep Standards-compliant as possible
  • Support a wide array of users with accessibility needs
  • Node Style: 2 space text file indentation, 80-width text files, etc.
  • Clean simple file and directory names, no spaces (please use dash "-" instead) with lowercase and alphanumeric characters.
  • Keep local dev Ruby gems updated: bundle update
  • Modules:
    • node_modules meant for inclusion by the browser (jquery, bootstrap, etc) are stored in source control, and copied to _site/node_modules on build, where the browser can get to them.
    • node_modules not meant for the frontend (devDependencies, etc) should be ignored in .gitignore and _config.yml.