├── .gitignore ├── .jshintignore ├── .jshintrc ├── README.md ├── blog ├── data.js ├── index.js ├── posts │ ├── .gitignore │ ├── 2009-the-year-of-the-cow-whats-coming-with-mootools.md │ ├── a-better-way-to-use-elements.md │ ├── a-magical-journey-into-the-base-fx-class.md │ ├── a-new-name-for-mootools.md │ ├── a-week-of-forging-an-overview.md │ ├── and-finally-the-blog-arrived.md │ ├── announcing-mootools-more-1-3.md │ ├── anyone-using-corebrowser-js.md │ ├── book-review-decouvrez-mootools-un-framework-javascript-pour-des-sites-dynamiques-et-interactifs.md │ ├── calling-all-plugins.md │ ├── contributing-to-mootools.md │ ├── dojo-and-mootools.md │ ├── enhanced-mootools-search-launched.md │ ├── events-with-mootools-element-class-delegation-and-pseudos.md │ ├── faces-of-mootools.md │ ├── get-friendly-with-the-natives.md │ ├── help-i-dont-know-javascript.md │ ├── help-us-help-you.md │ ├── javascript-challenge-1-review.md │ ├── javascript-challenge-1.md │ ├── javascript-challenge-2-review.md │ ├── javascript-challenge-2.md │ ├── javascript-challenge-3-review.md │ ├── javascript-challenge-3.md │ ├── javascript-challenge-4.md │ ├── javascript-challenge-5.md │ ├── july-12th-dev-hour-recapsummary.md │ ├── july-2009-roundup.md │ ├── july-5th-irc-office-hour-recapsummary.md │ ├── june-21st-office-hour-recapsummary.md │ ├── june-28th-irc-office-hour-recapsummary.md │ ├── jxlib-an-introduction.md │ ├── london-hackathon-2009.md │ ├── moobile-0-1-released.md │ ├── moobile-0-2-released.md │ ├── mootools-1-1-upgrade-layer-beta.md │ ├── mootools-1-2-4.md │ ├── mootools-1-2-6-released.md │ ├── mootools-1-3-beta-1.md │ ├── mootools-1-4-0.md │ ├── mootools-1-4-2-released.md │ ├── mootools-1-4-3-released.md │ ├── mootools-1-4-4-released.md │ ├── mootools-1-4-5-released.md │ ├── mootools-1-5-1-release.md │ ├── mootools-1-5-2-release.md │ ├── mootools-1-5-is-here.md │ ├── mootools-1-6-0-release.md │ ├── mootools-12-beta-1.md │ ├── mootools-12-beta-2.md │ ├── mootools-12-its-official.md │ ├── mootools-121-released.md │ ├── mootools-122-and-the-new-mootools-more.md │ ├── mootools-123-released.md │ ├── mootools-124-released.md │ ├── mootools-air-love.md │ ├── mootools-at-fosdem-video.md │ ├── mootools-behavior.md │ ├── mootools-classes-how-to-use-them.md │ ├── mootools-conference.md │ ├── mootools-core-1-2-5.md │ ├── mootools-core-1-3-2-and-more-1-3-2-1.md │ ├── mootools-core-1-3-beta-2.md │ ├── mootools-core-1-3-stable-and-mootools-more-1-3rc.md │ ├── mootools-core-1-4-1.md │ ├── mootools-core-more-1-3-1.md │ ├── mootools-depender-a-build-tool-for-mootools-javascript-libraries.md │ ├── mootools-forge-and-github-are-friends-again.md │ ├── mootools-forge-now-with-comments.md │ ├── mootools-foundations-natives-and-elements.md │ ├── mootools-gets-a-little-closer-to-home.md │ ├── mootools-in-real-life.md │ ├── mootools-merchandise-available.md │ ├── mootools-more-1-2-4-2.md │ ├── mootools-more-1-2-4-3.md │ ├── mootools-more-1222.md │ ├── mootools-on-bountysource.md │ ├── mootools-roundup-august-2009.md │ ├── mootools-roundup-december-2009.md │ ├── mootools-roundup-february-2010.md │ ├── mootools-roundup-january-2010.md │ ├── mootools-roundup-october-2009.md │ ├── mootools-roundup-september-2009.md │ ├── mootools-survey.md │ ├── mootools-version-111-released.md │ ├── more-than-meets-the-eye-form-validator.md │ ├── more-than-meets-the-eye.md │ ├── more-to-love.md │ ├── moving-to-github-issues.md │ ├── new-demos.md │ ├── object-oriented-jquery-with-mootools-jquery-conference.md │ ├── open-irc-office-hours.md │ ├── optimizing-mootools-builds-sans-internet-explorer.md │ ├── reminder-next-office-hour-is-tomorrow-june-21st.md │ ├── roundup-1.md │ ├── selectors-on-fire-a-tale-of-pseudoselectors.md │ ├── setting-up-elements.md │ ├── sizzle.md │ ├── snippely.md │ ├── survey-results.md │ ├── the-dollar-safe-mode.md │ ├── the-journey-toward-more-1-3.md │ ├── the-official-mootools-plugins-repository-is-here.md │ ├── undefined.md │ ├── upgrade-mootools.md │ ├── whats-going-on-with-mootools.md │ ├── whats-new-in-12-behaviour-driven-developmentyou-know-weve-been-telling-you-that-mootools-is-reliable-but-how-can-you-can-be-sure-that-it-will-work-for-your-project-without-just-taking-our-word.md │ ├── whats-new-in-12-element-storage.md │ ├── whats-new-in-12-swiff.md │ ├── whats-new-in-12-the-best-fx-now-even-better.md │ └── whats-new-in-12-the-hash.md └── searchIndexing.js ├── books ├── books.js └── index.js ├── build ├── all.js ├── api_keys.js ├── archived-blog.js ├── archived-blog.json ├── blog.js ├── docs.js ├── fontello.js ├── guides.js ├── release.js └── repositories.js ├── builder ├── dependencies.js ├── index.js └── modules │ └── .gitignore ├── cache └── .gitignore ├── config ├── api_keys.sample.json ├── databases.sample.json ├── init.d │ └── mootools-website ├── log.sample.json ├── logrotate.d │ └── mootools-website └── nginx │ ├── mootools.net │ └── staging.mootools.net ├── core ├── guides │ ├── .gitignore │ └── class.md └── index.js ├── design ├── assets │ ├── README.md │ ├── fonts │ │ ├── README.md │ │ ├── entypo-social.json │ │ ├── entypo.json │ │ ├── entypo │ │ │ ├── glyph-guide.rtf │ │ │ ├── license.txt │ │ │ ├── otf │ │ │ │ ├── Entypo-Social.otf │ │ │ │ └── Entypo.otf │ │ │ ├── vectors │ │ │ │ └── entypo.eps │ │ │ └── webfont │ │ │ │ ├── entypo-social.eot │ │ │ │ ├── entypo-social.svg │ │ │ │ ├── entypo-social.ttf │ │ │ │ ├── entypo-social.woff │ │ │ │ ├── entypo.eot │ │ │ │ ├── entypo.svg │ │ │ │ ├── entypo.ttf │ │ │ │ └── entypo.woff │ │ ├── mission-script │ │ │ └── otf │ │ │ │ ├── Mission-Script.otf │ │ │ │ └── license.txt │ │ ├── source-code-pro │ │ │ ├── otf │ │ │ │ ├── SourceCodePro-Black.otf │ │ │ │ ├── SourceCodePro-Bold.otf │ │ │ │ ├── SourceCodePro-ExtraLight.otf │ │ │ │ ├── SourceCodePro-Light.otf │ │ │ │ ├── SourceCodePro-Regular.otf │ │ │ │ ├── SourceCodePro-Semibold.otf │ │ │ │ └── license.txt │ │ │ └── webfont │ │ │ │ ├── SourceCodePro-Black-webfont.eot │ │ │ │ ├── SourceCodePro-Black-webfont.svg │ │ │ │ ├── SourceCodePro-Black-webfont.ttf │ │ │ │ ├── SourceCodePro-Black-webfont.woff │ │ │ │ ├── SourceCodePro-Bold-webfont.eot │ │ │ │ ├── SourceCodePro-Bold-webfont.svg │ │ │ │ ├── SourceCodePro-Bold-webfont.ttf │ │ │ │ ├── SourceCodePro-Bold-webfont.woff │ │ │ │ ├── SourceCodePro-ExtraLight-webfont.eot │ │ │ │ ├── SourceCodePro-ExtraLight-webfont.svg │ │ │ │ ├── SourceCodePro-ExtraLight-webfont.ttf │ │ │ │ ├── SourceCodePro-ExtraLight-webfont.woff │ │ │ │ ├── SourceCodePro-Light-webfont.eot │ │ │ │ ├── SourceCodePro-Light-webfont.svg │ │ │ │ ├── SourceCodePro-Light-webfont.ttf │ │ │ │ ├── SourceCodePro-Light-webfont.woff │ │ │ │ ├── SourceCodePro-Regular-webfont.eot │ │ │ │ ├── SourceCodePro-Regular-webfont.svg │ │ │ │ ├── SourceCodePro-Regular-webfont.ttf │ │ │ │ ├── SourceCodePro-Regular-webfont.woff │ │ │ │ ├── SourceCodePro-Semibold-webfont.eot │ │ │ │ ├── SourceCodePro-Semibold-webfont.svg │ │ │ │ ├── SourceCodePro-Semibold-webfont.ttf │ │ │ │ ├── SourceCodePro-Semibold-webfont.woff │ │ │ │ └── license.txt │ │ └── source-sans-pro │ │ │ ├── otf │ │ │ ├── SourceSansPro-Black.otf │ │ │ ├── SourceSansPro-BlackIt.otf │ │ │ ├── SourceSansPro-Bold.otf │ │ │ ├── SourceSansPro-BoldIt.otf │ │ │ ├── SourceSansPro-ExtraLight.otf │ │ │ ├── SourceSansPro-ExtraLightIt.otf │ │ │ ├── SourceSansPro-It.otf │ │ │ ├── SourceSansPro-Light.otf │ │ │ ├── SourceSansPro-LightIt.otf │ │ │ ├── SourceSansPro-Regular.otf │ │ │ ├── SourceSansPro-Semibold.otf │ │ │ ├── SourceSansPro-SemiboldIt.otf │ │ │ └── license.txt │ │ │ └── webfont │ │ │ ├── SourceSansPro-Black-webfont.eot │ │ │ ├── SourceSansPro-Black-webfont.svg │ │ │ ├── SourceSansPro-Black-webfont.ttf │ │ │ ├── SourceSansPro-Black-webfont.woff │ │ │ ├── SourceSansPro-BlackIt-webfont.eot │ │ │ ├── SourceSansPro-BlackIt-webfont.svg │ │ │ ├── SourceSansPro-BlackIt-webfont.ttf │ │ │ ├── SourceSansPro-BlackIt-webfont.woff │ │ │ ├── SourceSansPro-Bold-webfont.eot │ │ │ ├── SourceSansPro-Bold-webfont.svg │ │ │ ├── SourceSansPro-Bold-webfont.ttf │ │ │ ├── SourceSansPro-Bold-webfont.woff │ │ │ ├── SourceSansPro-BoldIt-webfont.eot │ │ │ ├── SourceSansPro-BoldIt-webfont.svg │ │ │ ├── SourceSansPro-BoldIt-webfont.ttf │ │ │ ├── SourceSansPro-BoldIt-webfont.woff │ │ │ ├── SourceSansPro-ExtraLight-webfont.eot │ │ │ ├── SourceSansPro-ExtraLight-webfont.svg │ │ │ ├── SourceSansPro-ExtraLight-webfont.ttf │ │ │ ├── SourceSansPro-ExtraLight-webfont.woff │ │ │ ├── SourceSansPro-ExtraLightIt-webfont.eot │ │ │ ├── SourceSansPro-ExtraLightIt-webfont.svg │ │ │ ├── SourceSansPro-ExtraLightIt-webfont.ttf │ │ │ ├── SourceSansPro-ExtraLightIt-webfont.woff │ │ │ ├── SourceSansPro-It-webfont.eot │ │ │ ├── SourceSansPro-It-webfont.svg │ │ │ ├── SourceSansPro-It-webfont.ttf │ │ │ ├── SourceSansPro-It-webfont.woff │ │ │ ├── SourceSansPro-Light-webfont.eot │ │ │ ├── SourceSansPro-Light-webfont.svg │ │ │ ├── SourceSansPro-Light-webfont.ttf │ │ │ ├── SourceSansPro-Light-webfont.woff │ │ │ ├── SourceSansPro-LightIt-webfont.eot │ │ │ ├── SourceSansPro-LightIt-webfont.svg │ │ │ ├── SourceSansPro-LightIt-webfont.ttf │ │ │ ├── SourceSansPro-LightIt-webfont.woff │ │ │ ├── SourceSansPro-Regular-webfont.eot │ │ │ ├── SourceSansPro-Regular-webfont.svg │ │ │ ├── SourceSansPro-Regular-webfont.ttf │ │ │ ├── SourceSansPro-Regular-webfont.woff │ │ │ ├── SourceSansPro-Semibold-webfont.eot │ │ │ ├── SourceSansPro-Semibold-webfont.svg │ │ │ ├── SourceSansPro-Semibold-webfont.ttf │ │ │ ├── SourceSansPro-Semibold-webfont.woff │ │ │ ├── SourceSansPro-SemiboldIt-webfont.eot │ │ │ ├── SourceSansPro-SemiboldIt-webfont.svg │ │ │ ├── SourceSansPro-SemiboldIt-webfont.ttf │ │ │ ├── SourceSansPro-SemiboldIt-webfont.woff │ │ │ └── license.txt │ └── logos │ │ ├── README.md │ │ ├── agent │ │ ├── agent-brand.ai │ │ ├── agent-brand.png │ │ ├── agent-icon.ai │ │ ├── agent-icon.png │ │ ├── agent-logotype.ai │ │ └── agent-logotype.png │ │ ├── core │ │ ├── core-brand-negative.ai │ │ ├── core-brand-negative.png │ │ ├── core-brand.ai │ │ ├── core-brand.png │ │ ├── core-icon.ai │ │ └── core-icon.png │ │ ├── elements │ │ ├── elements-brand.ai │ │ ├── elements-brand.png │ │ ├── elements-icon.ai │ │ ├── elements-icon.png │ │ ├── elements-logotype.ai │ │ └── elements-logotype.png │ │ ├── moofx │ │ ├── moofx-brand.ai │ │ ├── moofx-brand.png │ │ ├── moofx-icon.ai │ │ ├── moofx-icon.png │ │ ├── moofx-logotype.ai │ │ └── moofx-logotype.png │ │ ├── mootools │ │ ├── mootools-icon.ai │ │ ├── mootools-icon.png │ │ ├── mootools-logo-version-2.0.0.eps │ │ ├── mootools-logo-version-2.0.0.psd │ │ ├── mootools-logotype.ai │ │ ├── mootools-logotype.png │ │ ├── mootools-payoff.ai │ │ └── mootools-payoff.png │ │ ├── more │ │ ├── more-brand-negative.ai │ │ ├── more-brand-negative.png │ │ ├── more-brand.ai │ │ ├── more-brand.png │ │ ├── more-icon.ai │ │ └── more-icon.png │ │ ├── old-files │ │ ├── mootools_icon.ai │ │ └── mootools_logotype.ai │ │ ├── open-files │ │ ├── agent-logotype.ai │ │ ├── core-more-logotype.ai │ │ ├── elements-icon.ai │ │ ├── elements-logotype.ai │ │ ├── moofx-icon.ai │ │ ├── moofx-logotype.ai │ │ ├── mootools-favicon.psd │ │ ├── mootools-logotype.ai │ │ ├── mootools-payoff.ai │ │ ├── prime-icon.ai │ │ ├── prime-logotype.ai │ │ ├── slick-icon.ai │ │ ├── slick-logotype.ai │ │ └── wrapup-logotype.ai │ │ ├── prime │ │ ├── prime-brand.ai │ │ ├── prime-brand.png │ │ ├── prime-icon.ai │ │ ├── prime-icon.png │ │ ├── prime-logotype.ai │ │ └── prime-logotype.png │ │ ├── slick │ │ ├── slick-brand.ai │ │ ├── slick-brand.png │ │ ├── slick-icon.ai │ │ ├── slick-icon.png │ │ ├── slick-logotype.ai │ │ └── slick-logotype.png │ │ └── wrapup │ │ ├── wrapup-logotype.ai │ │ └── wrapup-logotype.png ├── demo │ ├── assets │ │ ├── css │ │ │ └── global.css │ │ ├── fonts │ │ │ ├── entypo-social.eot │ │ │ ├── entypo-social.svg │ │ │ ├── entypo-social.ttf │ │ │ ├── entypo-social.woff │ │ │ ├── entypo.eot │ │ │ ├── entypo.svg │ │ │ ├── entypo.ttf │ │ │ └── entypo.woff │ │ └── images │ │ │ ├── agent.png │ │ │ ├── elements.png │ │ │ ├── favicon.ico │ │ │ ├── favicon.png │ │ │ ├── moofx.png │ │ │ ├── mootools-logo.png │ │ │ ├── prime-icon.png │ │ │ └── prime.png │ └── prime-homepage.html ├── drafts │ ├── mootools_homepage.ai │ ├── mootools_homepage.pdf │ ├── prime_homepage.ai │ └── prime_homepage.pdf └── guidelines │ └── README.md ├── developers ├── developers.json └── index.js ├── index.js ├── lib ├── BuilderHash.js ├── associate.js ├── compareSEMVER.js ├── compile-md.js ├── debounce.js ├── getFiles.js ├── jade-highlight.js ├── loadJSON.js ├── log.js ├── projectPath.js └── waitForIt.js ├── middleware ├── build-static.js ├── buildHash.js ├── docs.js ├── githubEvents.js ├── guides.js └── twitter.js ├── more ├── guides │ ├── .gitignore │ └── drag.move.md └── index.js ├── package.json ├── public ├── css │ └── .gitignore ├── fonts │ ├── entypo-social.eot │ ├── entypo-social.svg │ ├── entypo-social.ttf │ ├── entypo-social.woff │ ├── entypo.eot │ ├── entypo.svg │ ├── entypo.ttf │ ├── entypo.woff │ └── font ├── googlea106970571919746.html ├── images │ ├── avatars │ │ ├── Valerio.png │ │ ├── aaron.png │ │ ├── arian.png │ │ ├── chris.png │ │ ├── christoph.png │ │ ├── cristian.jpg │ │ ├── david.png │ │ ├── djamil.png │ │ ├── fabio.jpg │ │ ├── fakedarren.png │ │ ├── guillermo.png │ │ ├── harald.jpg │ │ ├── jacob.png │ │ ├── jan.png │ │ ├── keeto.png │ │ ├── michelle.png │ │ ├── olmo.png │ │ ├── pietrogregorini.jpg │ │ ├── scott_kyle.png │ │ ├── sebastian.png │ │ ├── sergio.png │ │ ├── thomas.png │ │ ├── tim.png │ │ ├── tom.png │ │ └── yaroslaff.png │ ├── books │ │ ├── mootools_1point2.jpg │ │ ├── mootools_essentials.jpg │ │ └── pro_javascript_with_mootools.jpg │ ├── credits │ │ └── mediatemple.png │ ├── favicon │ │ ├── mootools.ico │ │ └── mootools.png │ ├── icon │ │ ├── core.png │ │ └── more.png │ └── logo │ │ ├── core-negative.png │ │ ├── core.png │ │ ├── mootools-payoff.png │ │ ├── mootools.png │ │ ├── more-negative.png │ │ └── more.png └── js │ └── .gitignore ├── service.js ├── tests ├── database │ ├── core.db │ ├── more.db │ ├── newDatabase.js │ └── sampleData.json ├── lib │ └── waitForIt.js └── run.js └── views ├── blog ├── feed.jade ├── index.jade ├── partials │ └── postedUnder.jade └── post.jade ├── books └── index.jade ├── builder └── index.jade ├── core ├── docs.jade ├── guide.jade ├── guides.jade ├── index.jade ├── page.jade └── partials │ ├── big-icon.jade │ ├── features.jade │ ├── overview.jade │ └── summary.jade ├── css ├── builder.styl ├── colorscheme.styl ├── developers.styl ├── docs.styl ├── entypo-social.styl ├── entypo.styl ├── footer.styl ├── global.styl ├── guides.styl ├── header.styl ├── media.styl ├── mootools.styl ├── reset.styl └── style.styl ├── developers └── index.jade ├── errors ├── 404.jade └── 500.jade ├── index.jade ├── js └── main.js ├── layouts ├── home.jade └── main.jade ├── more ├── docs.jade ├── guide.jade ├── guides.jade ├── index.jade ├── page.jade └── partials │ ├── big-icon.jade │ ├── features.jade │ ├── overview.jade │ └── summary.jade ├── partials ├── GitHubEvents.jade ├── disqus_count.jade ├── disqus_thread.jade ├── docs.jade ├── docs │ ├── blockcode.jade │ ├── heading.jade │ ├── link.jade │ └── toc.jade ├── footer-navigation.jade ├── guide.jade ├── header.jade ├── header │ ├── header-logo.jade │ ├── header-menu.jade │ └── header.jade ├── older-version-select.jade └── projects.jade └── search.jade /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | *.DS_Store 3 | *.tern-port 4 | config/api_keys.json 5 | config/databases.json 6 | config/log.json 7 | -------------------------------------------------------------------------------- /.jshintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | core/docs 3 | more/docs 4 | -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "node": true, 3 | "browser": true, 4 | "eqnull": true, 5 | "boss": true, 6 | "predef": [ 7 | "describe", 8 | "it" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /blog/data.js: -------------------------------------------------------------------------------- 1 | 2 | var fs = require('fs'); 3 | var path = require('path'); 4 | var async = require('async'); 5 | var waitForIt = require('../lib/waitForIt'); 6 | var debounce = require('../lib/debounce'); 7 | var loadJSON = require('../lib/loadJSON'); 8 | var pkg = require('../package.json'); 9 | 10 | var dir = path.join(__dirname, '../', pkg._buildOutput, 'blog/posts'); 11 | 12 | var loadJSONPosts = async.apply(loadJSON, dir + '/posts.json'); 13 | 14 | function loadPost(post, callback){ 15 | fs.readFile(dir + '/' + post.htmlFile, function(err, str){ 16 | if (err) return callback(err); 17 | post.content = str; 18 | callback(null, post); 19 | }); 20 | } 21 | 22 | function loadContent(posts, callback){ 23 | async.map(posts, loadPost, callback); 24 | } 25 | 26 | function index(posts, callback){ 27 | 28 | var total = { 29 | posts: posts, 30 | urls: {}, 31 | tags: {} 32 | }; 33 | 34 | posts.forEach(function(post, i){ 35 | post.date = new Date(post.date); 36 | total.urls[post.permalink] = i; 37 | if (post.tags && Array.isArray(post.tags)) post.tags.forEach(function(tag){ 38 | tag = tag.toLowerCase(); 39 | (total.tags[tag] || (total.tags[tag] = [])).push(i); 40 | }); 41 | }); 42 | 43 | callback(null, total); 44 | 45 | } 46 | 47 | var load = async.compose(index, loadContent, loadJSONPosts); 48 | 49 | module.exports = waitForIt(load); 50 | 51 | fs.watch(dir, debounce(function(){ 52 | console.log('reloading blog data'); 53 | module.exports.reset(); 54 | })); 55 | -------------------------------------------------------------------------------- /blog/posts/.gitignore: -------------------------------------------------------------------------------- 1 | *.html 2 | *.json 3 | -------------------------------------------------------------------------------- /blog/posts/a-new-name-for-mootools.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "A New Name for MooTools" 3 | date: "Wed, 01 Apr 2009 05:00:57 +0000" 4 | author: "Valerio Proietti" 5 | tags: "news" 6 | permalink: "2009/04/01/a-new-name-for-mootools/" 7 | 8 | --- 9 | **UPDATE**: Sincere thanks to all of you who actually believed this was real news! April Fools' wouldn't be as much fun without you. 10 | 11 | The MooTools project has been around for quite some time now. We've seen a few releases, some great, some less great (1.0). We've coded tons of plug-ins, scripts, websites, applications and desktop applications using our beloved MooTools. However, the community is really starting to get tired, tired of this project name. I mean, seriously, we're really fed up with cows. We even tried to "sell" it as My Object Oriented Tools, but we all know that's a stretch, and a pretty bad one. 12 | 13 | 14 | 15 | 21 | 22 | Therefore, I officially announce to the world that from now on MooTools will be known as *jTools*. This is the totally logical choice for our new name, since you know, the j stands for JavaScript, and well, MooTools is written in JavaScript. It's so obvious I can't really understand why everyone doesn't just prepend j into their JavaScript project name. Anyways, I hope you'll like it, as this new name is very likely to stick around pretty much forever! On another note, we are also renaming MooTools More to *jMore*, MooTools Core to *jCore* and Aaron is renaming Clientcide to *jCide*. 23 | 24 | Also, we're going to remove internet explorer 6 support from in next minor version of *jTools*. I wish I could tell you more about this decision, but it's far less important than the groundbreaking name change, so I'll leave it for another day. 25 | 26 | Cheers! -------------------------------------------------------------------------------- /blog/posts/a-week-of-forging-an-overview.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "A Week of Forging: An Overview" 3 | date: "Thu, 17 Dec 2009 18:30:24 +0000" 4 | author: "Guillermo Rauch" 5 | tags: "forge,news" 6 | permalink: "2009/12/17/a-week-of-forging-an-overview/" 7 | published: false 8 | --- 9 |
The MooTools Forge, our plugins repository, is officially 7 days old. What have we accomplished in this short period of time?
10 | 11 |In this first week:
14 | 15 |20,000 different people have visited the forge
Together, they visited 93,000 pages
65 projects were created
There's been over 4000 downloads
300 developers signed up
10% contributed plugins
We were featured in the GitHub Rebase
We got a lot of positive feedback and useful suggestions
We pushed some visual enhancements and small features and fixes, and will continue to do so iteratively.
I personally want to thank everyone who has joined and shared their efforts, and encourage everyone else to do the same.
33 | 34 |Happy Mooing!
35 | -------------------------------------------------------------------------------- /blog/posts/and-finally-the-blog-arrived.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "And finally, the blog arrived" 3 | date: "Tue, 29 May 2007 01:22:44 +0000" 4 | author: "Valerio Proietti" 5 | tags: "all" 6 | permalink: "2007/05/29/and-finally-the-blog-arrived/" 7 | 8 | --- 9 | After more than a year of continuous and dedicated development, [we](/developers) decided it was time to launch a blog to keep you in the loop. 10 | 11 | Here we're gonna post about the latest moo trends, the latest breaking changes, the latest plugins that see the light everyday. 12 | 13 | Hoping its enough for an introductory post, I'll leave you at better things, for now. 14 | 15 | Cheers 16 | 17 | Valerio -------------------------------------------------------------------------------- /blog/posts/anyone-using-corebrowser-js.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Anyone using Core/Browser.js?" 3 | date: "Thu, 06 Feb 2014 23:12:10 +0000" 4 | author: "Olmo Maldonado" 5 | tags: "all" 6 | permalink: "2014/02/06/anyone-using-corebrowser-js/" 7 | 8 | --- 9 | On our road to Version 1.5, we're trying to eliminate some bad practices from our code. One of the things we've just gotten rid of, is that a few last pieces of our libraries still depended on Browser UA detection. This has all been eliminated in favour of feature detection. To help us reach a decision on where to go with the `Browser` module, here's a quick survey. Reply via [@mootools](https://twitter.com/mootools) or leave a comment here. 10 | 11 | 12 | 13 | Are you using the [Browser module](https://github.com/mootools/mootools-core/blob/master/Source/Browser/Browser.js)? If so, what are you using it for? 14 | 15 | Cheers! -------------------------------------------------------------------------------- /blog/posts/calling-all-plugins.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Calling All Plugins" 3 | date: "Mon, 23 Jun 2008 23:23:46 +0000" 4 | author: "Michelle Steigerwalt" 5 | tags: "all,news" 6 | permalink: "2008/06/24/calling-all-plugins/" 7 | 8 | --- 9 | One of the main things missing since the forums have gone into read only mode is the Your Scripts section. We realize this and are working to complete our own plugin directory. 10 | 11 | We're trying to assemble a comprehensive list of all our plugins. As part of this effort, we're asking all plugin creators to send an email to plugins@mootools.net with the following information: 12 | 13 | * Plugin Name 14 | * Plugin URL 15 | * Plugin Description (one line) 16 | * Plugin author name and link (if applicable) 17 | 18 | At this time, we're only interested in collecting data on plugins which are compatible with the 1.2 release. 19 | 20 | This is a temporary measure until we get a more interactive system in place. -------------------------------------------------------------------------------- /blog/posts/enhanced-mootools-search-launched.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Enhanced MooTools Search Launched" 3 | date: "Mon, 12 Oct 2009 12:28:01 +0000" 4 | author: "David Walsh" 5 | tags: "all" 6 | permalink: "2009/10/12/enhanced-mootools-search-launched/" 7 | 8 | --- 9 |The MooTools team would like to announce the launch of an enhanced MooTools web search:
10 | 11 |MooTools Search Beta: /search
12 | 13 |14 | This enhanced search has been integrated with the MooTools documentation and will help you easily navigate and identify information in the documentation better than the previous documentation search. The new search system also searches multiple domains -- this will allow you to find MooTools demos, forum posts, tutorials, screencasts, and anything MooTools-related. Initial supporting domains include MooTools.net, Clientcide, The MooTorial, David Walsh Blog, etc. We will also pay attention to most-searched terms and aim to ensure the search feature is providing sufficient, quality results. 15 |
16 | 17 |This enhanced search release is considered beta. We will soon be adding further enhancements based on team goals (including full site search, etc.) and feedback provided by our most valued asset: the MooTools community.
18 | 19 |Special thanks to Darren Waddell (fakedarren)
for all of his hard work in implementing and maintaining the new search system!
element.set('html', html);
) now works even with select and table elements in Internet Explorer. Element:clone is also now faster than ever, and retains the values of form elements being cloned. A lot of work has also been done to fix some bugs in Class.js, and Safari 2 support is now back. With the help of Daniel Steigerwald, we've also cleaned up quite a few memory leaks in IE related to events and Element storage, and destroyed elements are now more effectively destroyed.
16 |
17 | For a complete list of changes, see the changelog on GitHub...
18 |
19 | #### Links:
20 |
21 | - [Changelog](http://github.com/mootools/mootools-core/tree/1.2.1/CHANGELOG)
22 | - [MooTools 1.2.1 Download](/download)
23 | - [MooTools 1.2.1 Builder](/core)
24 |
25 | #### What's next?
26 |
27 | We are going to keep going through all the tickets, and try to start fixing the bugs that have cropped up with some of the plugins. 1.2.2 might also see a few new features as we start preparing for some exciting changes and additions we have planned for 1.3.
28 |
29 | MooTools 1.2 will be the last version of MooTools to support Safari 2 and Opera 9.5. These browsers have been advancing at a tremendous pace, and have a user base which updates regularly, so we don't think this will be much of an issue when the time comes. Note that you don't need to worry about this for quite some time yet because 1.3 is a long way off, but we just thought this was a good place to let everyone know.
--------------------------------------------------------------------------------
/blog/posts/mootools-air-love.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "MooTools + AIR = Love"
3 | date: "Fri, 26 Oct 2007 18:14:55 +0000"
4 | author: "Valerio Proietti"
5 | tags: "all"
6 | permalink: "2007/10/26/mootools-air-love/"
7 |
8 | ---
9 | Today I found a nice article on [coderseye.com](http://coderseye.com/2007/mootools-beats-jquery-and-ext-for-air.html):
10 |
11 | >I spent a half hour tinkering around in Aptana, downloading MooTools 1.1, and setting up a few tests. The result is extremely pleasing. Not only is MooTools way better and easier to use than I remember, but it works out of the box with AIR.
12 |
13 | That's **Very** nice to know!
14 |
15 | I personally haven't yet tried MooTools in AIR extensively (i only did a few basic tests) but I'm definitely looking forward to creating something in the very near future. Maybe a downloader app? We'll see!
--------------------------------------------------------------------------------
/blog/posts/mootools-at-fosdem-video.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "MooTools at FOSDEM: Video"
3 | date: "Mon, 15 Feb 2010 15:59:28 +0000"
4 | author: "Christoph Pojer"
5 | tags: "all,news"
6 | permalink: "2010/02/15/mootools-at-fosdem-video/"
7 |
8 | ---
9 | Hello everyone,
10 |
11 | I'm really excited and pleased to announce that my presentation "MooTools as a General Purpose Application Framework" which I delivered at the FOSDEM is now available on YouTube.
12 |
13 |
14 |
15 |
16 | http://www.queridodesign.net/blog/passshark
17 | 18 | 19 | 20 |22 | Sean McArthur has recently updated his popular Tabs class by making it more efficient and more flexible. Tabs has also been added to GitHub so you may pull code, push bug fixes, and post issues. 23 |
24 |http://mcarthurgfx.com/blog/article/mgfx-tabs-1-1-on-github
25 | 26 |MooPix is not only a MooTools slideshow function but a method for accessing your public Flickr photos. Though no server side scripting is required, MooPix remains very small.
28 | 29 | 30 | 31 |These are just a few of the great MooTools plugins floating around the MooTools community recently. Keep up the good work and we look forward to featuring your plugins in future posts!
-------------------------------------------------------------------------------- /blog/searchIndexing.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var request = require('request'); 4 | var async = require('async'); 5 | var slug = require('slugify'); 6 | var data = require('./data'); 7 | 8 | function insertBlog(posts, callback){ 9 | 10 | var commands = []; 11 | 12 | posts.posts.forEach(function(post){ 13 | 14 | commands.push( 15 | JSON.stringify({ 16 | index : { 17 | _index: 'page', 18 | _type: 'blogging', 19 | _id: post.permalink 20 | } 21 | }), 22 | JSON.stringify({ 23 | title: post.title, 24 | date: post.date, 25 | author: post.author, 26 | tags: post.tags.slice(), 27 | url: "/blog/" + post.permalink, 28 | content: post.content.toString() 29 | }) 30 | ); 31 | 32 | }); 33 | 34 | var _commands = commands.join("\n") + "\n"; 35 | 36 | request.post("http://localhost:9200/_bulk/", { 37 | body: _commands 38 | }, function(err, res, body){ 39 | callback(err, body); 40 | }); 41 | } 42 | 43 | module.exports = async.compose(insertBlog, data.get); 44 | -------------------------------------------------------------------------------- /books/books.js: -------------------------------------------------------------------------------- 1 | var books = [ 2 | { 3 | "title": "Pro JavaScript with MooTools", 4 | "description": "Ready to take your MooTools knowledge to a new level? Then grab a copy of Pro JavaScript with MooTools by Mark Obcena, with a Foreword by MooTools Founder and Lead Developer Valerio Proietti.Geared towards intermediate and advanced users, \"Pro JavaScript with MooTools\" explores advanced features of the JavaScript language as well as the internals of MooTools 1.3.",
5 | "cover": "/images/books/pro_javascript_with_mootools.jpg",
6 | "alt_tag": "Pro JavaScript with MooTools by Mark Obcena",
7 | "buy_link": "http://www.amazon.com/Pro-JavaScript-MooTools-Mark-Obcena/dp/1430230541/"
8 | }, {
9 | "title": "MooTools Essentials",
10 | "description": "The Official MooTools Reference for JavaScript and Ajax Development. Combined real-world examples with nuanced explanations of everything you need to know to make your site fun and engaging.
You’ll be adding effects and Ajax in no time.",
11 | "cover": "/images/books/mootools_essentials.jpg",
12 | "alt_tag": "MooTools Essentials by Aaron Newton",
13 | "buy_link": "http://www.amazon.com/MooTools-Essentials-JavaScript-Development-Firstpress/dp/1430209836"
14 | }, {
15 | "title": "MooTools 1.2 Beginner's Guide",
16 | "description": "Learn how to create dynamic, interactive, and responsive cross-browser web applications using this popular JavaScript framework.
This book is perfect for MooTools newcomers. You do not require any familiarity with MooTools whatsoever, only a willingness to learn.",
17 | "cover": "/images/books/mootools_1point2.jpg",
18 | "alt_tag": "MooTools 1.2 Beginner's Guide by Jacob Gube and Garrick Cheung",
19 | "buy_link": "https://www.packtpub.com/web-development/mootools-12-beginners-guide"
20 | }
21 | ];
22 | module.exports = books;
23 |
--------------------------------------------------------------------------------
/books/index.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var books = require('./books.js');
4 |
5 | module.exports = function(app){
6 |
7 | app.get('/books', function(req, res){
8 | res.render('books/index', {
9 | site: "books",
10 | title: "MooTools Books",
11 | books: books
12 | });
13 | });
14 | };
15 |
--------------------------------------------------------------------------------
/build/all.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var async = require('async');
4 | var spawn = require('child_process').spawn;
5 | var getKeys = require('./api_keys');
6 | var options = process.argv.splice(2);
7 |
8 | function checkKeys(){
9 | if (options.indexOf('--add-keys') != -1){
10 | getKeys();
11 | }
12 | }
13 |
14 | var cmds = [
15 | ["build/docs", "core"],
16 | ["build/docs", "more"],
17 | ["build/guides", "core"],
18 | ["build/guides", "more"],
19 | ["build/blog"]
20 | ];
21 |
22 | function spawnCmd(cmd, callback){
23 | spawn("node", cmd, {
24 | stdio: 'inherit',
25 | cwd: __dirname + '/..'
26 | })
27 | .on('close', callback)
28 | .on('error', function(err){
29 | throw err;
30 | });
31 | }
32 |
33 | async.series([
34 | async.apply(spawnCmd, ["build/repositories"]),
35 | async.apply(async.each, cmds, spawnCmd)
36 | ], checkKeys);
37 |
--------------------------------------------------------------------------------
/build/api_keys.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var fs = require('fs-extra');
4 | var APIkeys = require('./../config/api_keys.json');
5 | var readline = require('readline');
6 | var rli;
7 |
8 | function checkKeys(site, done){
9 | var keys = Object.keys(APIkeys[site]);
10 | (function question(){
11 | var key = keys.shift();
12 | if (!key) return done();
13 | rli.question('Please insert ' + site + '\'s ' + key + ': ', function(answer){
14 | if (answer) APIkeys[site][key] = answer;
15 | question();
16 | });
17 | })();
18 | }
19 |
20 | function question(site, next){
21 | rli.question('Do you want to add or change keys for ' + site + '? (y/n): ',
22 | function(answer){
23 | if (answer.toLowerCase() == 'y') checkKeys(site, next);
24 | else next();
25 | });
26 | }
27 | module.exports = function(){
28 | var services = Object.keys(APIkeys);
29 | rli = readline.createInterface({
30 | input: process.stdin,
31 | output: process.stdout
32 | });
33 | (function iterator(){
34 | var service = services.shift();
35 | if (service) return question(service, iterator);
36 | rli.close();
37 | fs.writeFileSync(APIpath, JSON.stringify(APIkeys, null, 4));
38 | })();
39 | }
40 |
--------------------------------------------------------------------------------
/build/archived-blog.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var fs = require('fs');
4 | var async = require('async');
5 |
6 | function getName(nickname, authors){
7 | var author = authors.filter(function(writer){
8 | return writer.author_display_name.__cdata.toLowerCase() == nickname;
9 | })[0];
10 | if (!author) console.log('Blog author not found with nickname: ' + nickname);
11 | return author.author_first_name.__cdata + ' ' + author.author_last_name.__cdata;
12 | }
13 |
14 | function rebuildPost(post, authors, callback){
15 |
16 | var renderLink = post.link.replace('http://mootools.net/blog/', '');
17 | var content = post.encoded[0].__cdata;
18 |
19 | if (!content){
20 | if (post.status.__text == 'publish'){
21 | console.error(post);
22 | return callback(new Error('Post has no content'));
23 | }
24 | return callback();
25 | }
26 |
27 | if (!post.category.length) post.category = [post.category];
28 | var tags = post.category.map(function(cat){
29 | return cat._nicename;
30 | });
31 |
32 | var md = [
33 | '---',
34 | 'title: "' + post.title + '"',
35 | 'date: "' + post.pubDate + '"',
36 | 'author: "' + getName(post.creator.__cdata.toLowerCase(), authors) + '"',
37 | 'tags: "' + tags + '"',
38 | 'permalink: "' + renderLink + '"',
39 | post.status.__text != 'publish' ? 'published: false' : '',
40 | '---',
41 | content
42 | ].join('\n');
43 |
44 | var filename = 'blog/posts/' + renderLink.split('/')[3] + '.md';
45 | fs.writeFile(filename, md, 'utf8', callback);
46 | }
47 |
48 | function readArchive(file, callback){
49 | fs.readFile(file, 'utf-8', function(err, data){
50 | if (err) return callback(err);
51 | data = JSON.parse(data);
52 | callback(err, {
53 | posts: data.channel.item,
54 | authors: data.channel.author
55 | });
56 | });
57 | }
58 |
59 | var importPosts = async.compose(function(data, callback){
60 | async.map(data.posts, function(post, cb){
61 | rebuildPost(post, data.authors, cb);
62 | }, callback);
63 | }, readArchive);
64 |
65 | importPosts('build/archived-blog.json', function(err){
66 | if (err) console.error(err);
67 | else console.log('imported the old posts');
68 | });
69 |
70 |
--------------------------------------------------------------------------------
/build/fontello.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var pkg = require('../package');
4 | var fs = require('fs');
5 | var path = require('path');
6 | var async = require('async');
7 | var needle = require('needle');
8 | var unzip = require('unzip');
9 | var es = require('event-stream');
10 |
11 | var url = 'http://fontello.com';
12 | var config = __dirname + '/../design/assets/fonts';
13 | var dest = __dirname + '/../public/fonts';
14 | var stylDest = __dirname + '/../views/css/';
15 |
16 | var readConfig = async.apply(fs.readFile, config);
17 |
18 | function getSessionID(font, callback){
19 | needle.post(url, {
20 | config: {
21 | file: config + '/' + font + '.json',
22 | content_type: 'application/json'}
23 | },
24 | {multipart: true},
25 | function(err, response, body){
26 | if (response.statusCode == 200) callback(err, {
27 | id: body,
28 | font: font
29 | });
30 | else callback(err || new Error(response.body));
31 | });
32 | }
33 |
34 | var stylFunctionify = es.map(function(data, cb){
35 | var re = /(\.icon\-[\w-]+)(\:before)(\s?)/g;
36 | data = String(data).replace(re, function($0, $1){
37 | return $1.slice(1) + '() ';
38 | });
39 | cb(null, data);
40 | });
41 |
42 | function download(data, callback){
43 | var r = needle.get(url + '/' + data.id + '/get', function(err, res, body){
44 | if (err) callback(err);
45 | });
46 | r.pipe(unzip.Parse())
47 | .on('entry', function(entry){
48 | var filename = entry.path;
49 | var type = entry.type;
50 | var match = /\/css\/.*\-codes\.css$/;
51 | var file;
52 |
53 | if (filename.indexOf('/font/') != -1){
54 | file = path.basename(filename);
55 | entry.pipe(fs.createWriteStream(dest + '/' + file));
56 | } else if (filename.match(match) && !filename.match(/ie7/)){
57 | entry
58 | .pipe(stylFunctionify)
59 | .pipe(fs.createWriteStream(stylDest + '/' + data.font + '.styl'));
60 | } else {
61 | entry.autodrain();
62 | }
63 | })
64 | .on('finish', function(){
65 | callback();
66 | });
67 | }
68 |
69 | var downloadZip = async.compose(download, getSessionID);
70 |
71 | if (!process.argv[2]){
72 | console.error('please specificy a font type');
73 | process.exit(1);
74 | }
75 |
76 | downloadZip(process.argv[2], function(err){
77 | if (err) console.err(err);
78 | else console.log('written font files');
79 | });
80 |
--------------------------------------------------------------------------------
/build/guides.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var fs = require('fs-extra');
4 | var async = require('async');
5 | var path = require('path');
6 | var slug = require ('slugify');
7 | var compile = require('../lib/compile-md');
8 | var fm = require('front-matter');
9 | var pkg = require('../package.json');
10 |
11 | var args = process.argv;
12 |
13 | if (args.length < 3){
14 | console.log('usage: node guides.js [project]');
15 | process.exit(1);
16 | }
17 |
18 | var project = args[2];
19 |
20 | var srcdir = path.join(__dirname, "../", project, "guides");
21 | var destdir = path.join(__dirname, "../", pkg._buildOutput, project, "guides");
22 |
23 | build(project, srcdir, destdir);
24 |
25 | function build(project, srcdir, destdir){
26 |
27 | async.auto({
28 |
29 | mkdir: async.apply(fs.mkdirs, destdir),
30 |
31 | readdir: function(callback){
32 | fs.readdir(srcdir, function(err, files){
33 | if (err) return callback(err);
34 | callback(null, files.filter(function(file){
35 | return (/\.md$/).test(file);
36 | }));
37 | });
38 | },
39 |
40 | readfiles: ['readdir', function(callback, res){
41 | async.map(res.readdir, function(file, cb){
42 | fs.readFile(srcdir + '/' + file, "utf-8", function(err, data){
43 | if (err) return cb(err);
44 | cb(null, {file: file, md: data});
45 | });
46 | }, callback);
47 | }],
48 |
49 | compile: ['readfiles', function(callback, res){
50 | async.map(res.readfiles, function(file, cb){
51 | var parts = fm(file.md);
52 | var data = parts.attributes;
53 | data.slug = slug(data.title);
54 | data.file = file.file;
55 | data.htmlFile = file.file.replace(/\.md$/, '.html');
56 | var html = compile(parts.body, data.htmlFile);
57 | cb(null, [data, html]);
58 | }, callback);
59 | }],
60 |
61 | saveHTML: ['compile', function(callback, res){
62 | async.map(res.compile.map(function(file, i){
63 | return {
64 | html: file[1],
65 | file: destdir + '/' + file[0].htmlFile
66 | };
67 | }), function(file, cb){
68 | fs.writeFile(file.file, file.html.content, cb);
69 | }, callback);
70 | }],
71 |
72 | saveJSON: ['compile', function(callback, res){
73 | var guides = {};
74 | res.compile.forEach(function(file){
75 | guides[file[0].slug] = file[0];
76 | });
77 | fs.writeFile(destdir + '/guides.json', JSON.stringify(guides, null, 2), callback);
78 | }]
79 |
80 | }, function(err, res){
81 | if (err) console.error(err);
82 | console.log("done building guides html files for " + project);
83 | });
84 |
85 | }
86 |
--------------------------------------------------------------------------------
/build/release.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var async = require('async');
4 | var path = require('path');
5 | var fs = require('fs');
6 | var semver = require('semver');
7 |
8 | var args = process.argv;
9 |
10 | if (args.length != 4){
11 | console.error("Usage: " + args[0] + " " + path.relative(process.cwd(), args[1]) + " [project] [version]");
12 | process.exit(1);
13 | }
14 |
15 | var project = args[2];
16 | var version = args[3];
17 |
18 | if (!semver.valid(version)){
19 | console.error("invalid semver version format (use vx.x.x)");
20 | process.exit(1);
21 | }
22 |
23 | var pkgFile = __dirname + '/../package.json';
24 |
25 | var pkg = require(pkgFile);
26 | var projects = pkg._projects;
27 | var builder = pkg._wrapupWebbuilderConfig;
28 |
29 | if (!projects[project]){
30 | console.error("project does not exist");
31 | process.exit(1);
32 | }
33 |
34 | var versions = projects[project].versions;
35 | var builderv = builder.modules[project];
36 |
37 | if (versions.indexOf(version) == -1) versions.push(version);
38 | if (builderv.indexOf(version) == -1) builderv.push(version);
39 |
40 | fs.writeFile(pkgFile, JSON.stringify(pkg, null, 2), function(err){
41 | if (err) throw err;
42 | console.log("saved package.json with the new " + project + " version");
43 | console.log("now you might want to run build/repositories and build/all");
44 | });
45 |
--------------------------------------------------------------------------------
/builder/dependencies.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var YAML = require('js-yaml');
4 | var path = require('path');
5 | var fs = require("fs");
6 | var getFiles = require('../lib/getFiles');
7 | var projectPath = require('../lib/projectPath');
8 | var packager = require('mootools-packager');
9 | var DESC_REGEXP = /\/\*\s*^---([\s\S]+?)^(?:\.\.\.|---)\s*\*\//mg;
10 |
11 | function makeString(type){
12 | if (!type) return '';
13 | return typeof type == 'string' ? type : type.join(', ');
14 | }
15 | function capitalise(name){
16 | return name.charAt(0).toUpperCase() + name.slice(1);
17 | }
18 |
19 |
20 | module.exports = function(project, version){
21 |
22 | var isCore = project == 'core';
23 | var sourcePath = {
24 | Core: projectPath('core', version)
25 | };
26 | if (!isCore) sourcePath[capitalise(project)] = projectPath(project, version);
27 |
28 | var packagerOptions = {
29 | name: sourcePath,
30 | noOutput: true,
31 | removeCoreDependencies: !isCore,
32 | callback: function(src){
33 | var headers = src.match(DESC_REGEXP);
34 | headers.forEach(function(header){
35 | var yamlHeader = YAML.load(header.slice(2, -2));
36 | filesInfo[yamlHeader.name] = {
37 | req: makeString(yamlHeader.requires),
38 | prov: makeString(yamlHeader.provides),
39 | desc: yamlHeader.description
40 | };
41 | });
42 | }
43 | };
44 |
45 | var sourceFiles = Object.keys(sourcePath).map(function(proj){
46 | return sourcePath[proj];
47 | }).reduce(function(files, folder){
48 | var folderPath = path.join(__dirname, '/../', folder);
49 | return getFiles(folderPath, files, '.js');
50 | }, []);
51 |
52 | var filesInfo = {};
53 | packager(sourceFiles, packagerOptions);
54 | return filesInfo;
55 | };
56 |
--------------------------------------------------------------------------------
/builder/modules/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 |
--------------------------------------------------------------------------------
/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 |
--------------------------------------------------------------------------------
/config/api_keys.sample.json:
--------------------------------------------------------------------------------
1 | {
2 | "twitter": {
3 | "consumer_key": "",
4 | "consumer_secret": "",
5 | "access_token_key": "",
6 | "access_token_secret": ""
7 | },
8 | "github": {
9 | "consumer_key": "",
10 | "consumer_secret": "",
11 | "access_token_key": "",
12 | "access_token_secret": ""
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/config/databases.sample.json:
--------------------------------------------------------------------------------
1 | {
2 | "core": "tests/database/core.db",
3 | "more": "tests/database/more.db"
4 | }
5 |
--------------------------------------------------------------------------------
/config/log.sample.json:
--------------------------------------------------------------------------------
1 | {
2 | "outFile": "tests/out.log",
3 | "errFile": "tests/err.log"
4 | }
5 |
--------------------------------------------------------------------------------
/config/logrotate.d/mootools-website:
--------------------------------------------------------------------------------
1 | /var/opt/mootools/log/mootools-website.*.log {
2 | weekly
3 | missingok
4 | rotate 52
5 | compress
6 | delaycompress
7 | notifempty
8 | create 0640 www-data adm
9 | sharedscripts
10 | postrotate
11 | service mootools-website reload-logs
12 | endscript
13 | }
14 |
--------------------------------------------------------------------------------
/config/nginx/staging.mootools.net:
--------------------------------------------------------------------------------
1 |
2 | upstream staging.mootools.net {
3 | server 127.0.0.1:3000;
4 | }
5 |
6 | server {
7 |
8 | listen 80; ## listen for ipv4
9 | listen [::]:80; ## listen for ipv6
10 |
11 | server_name staging.mootools.net;
12 |
13 | access_log /var/log/nginx/staging.mootools.net.access.log;
14 |
15 | location / {
16 | proxy_redirect off;
17 | proxy_set_header Host $http_host;
18 | proxy_set_header X-Real-IP $remote_addr;
19 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
20 | proxy_pass http://staging.mootools.net;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/core/guides/.gitignore:
--------------------------------------------------------------------------------
1 | *.json
2 | *.html
3 |
--------------------------------------------------------------------------------
/design/assets/README.md:
--------------------------------------------------------------------------------
1 | # Assets
2 |
3 | This folder contains all the MooTools assets used in the website and other brand communications.
4 |
5 | * * *
6 |
7 | Fonts
8 | -------------
9 |
10 | The complete library of fonts used in the brand identity, from logotypes to website fonts. They are provided in both OTF (for publishing) and webfonts (EOT, WOFF, TTF and SVG). License files are included for each font.
11 |
12 | Logos
13 | -------------
14 |
15 | Contains the official MooTools brand logo, projects icons and logotypes, provided in both AI and PNG files. Open files for future improvements are included.
--------------------------------------------------------------------------------
/design/assets/fonts/README.md:
--------------------------------------------------------------------------------
1 | # Fonts
2 |
3 | * * *
4 |
5 | Overview
6 | -------------
7 |
8 | ###### Entypo / Entypo Social
9 |
10 | Entypo is a set of icons and pictograms which is used in the website instead of icon images, saving loading requests and bandwidth. Moreover, in this way, icons will result crispy even when zoomed in high resolution screens.
11 |
12 | ###### Mission Script
13 |
14 | Mission Script is the font used for product logotypes. It is included here just for future revision of logotypes and to modify open Illustrator files. This font will never appear as webfont inside the website, since logotypes are shown only as images.
15 |
16 | ###### Source Sans Pro
17 |
18 | Source Sans Pro is the main font used for all texts inside the website. Here is provided in all the possible weights, anyway just 200, 300 and 400 weights are actually used in the website.
19 |
20 | ###### Source Code Pro
21 |
22 | Source Code Pro is the font used for code snippets in the website. Here is provided in all the possible weights, anyway just 400 or bolder weights are actually used in the website.
23 |
24 | Webfonts
25 | -------------
26 |
27 | The main fonts used in the website can be provided directly through Google Fonts CDN service. Below are listed the links to the Google Fonts.
28 |
29 | ###### Source Sans Pro
30 |
31 | http://www.google.com/fonts/specimen/Source+Sans+Pro
32 |
33 | ###### Source Code Pro
34 |
35 | http://www.google.com/fonts/specimen/Source+Code+Pro
36 |
37 | ###### Entypo / Entypo Social
38 |
39 | Entypo and Entypo Social fonts are not currently provided by any webfont service, so they must be loaded in MooTools server.
40 |
41 | Usage
42 | -------------
43 |
44 | In the website, fonts could be loaded asynchronously through Google WebFont JavaScript loader.
45 |
46 | https://developers.google.com/fonts/docs/webfont_loader
47 |
48 | Licenses
49 | -------------
50 |
51 | Relative license files are included inside each directory, both for OTF and webfont versions.
--------------------------------------------------------------------------------
/design/assets/fonts/entypo-social.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "entypo-social",
3 | "css_prefix_text": "",
4 | "css_use_suffix": false,
5 | "hinting": true,
6 | "units_per_em": 1000,
7 | "ascent": 850,
8 | "glyphs": [
9 | {
10 | "uid": "d94334f23acba022bfd68e49d76b31bb",
11 | "css": "github",
12 | "code": 59395,
13 | "src": "entypo"
14 | },
15 | {
16 | "uid": "d090355c31f497b61d676416c1fd39fb",
17 | "css": "twitter",
18 | "code": 59394,
19 | "src": "entypo"
20 | },
21 | {
22 | "uid": "47bd87a650e95b97f947d275ed968efe",
23 | "css": "facebook-squared",
24 | "code": 59392,
25 | "src": "entypo"
26 | },
27 | {
28 | "uid": "b945f4ac2439565661e8e4878e35d379",
29 | "css": "gplus",
30 | "code": 59393,
31 | "src": "entypo"
32 | }
33 | ]
34 | }
35 |
--------------------------------------------------------------------------------
/design/assets/fonts/entypo/otf/Entypo-Social.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/entypo/otf/Entypo-Social.otf
--------------------------------------------------------------------------------
/design/assets/fonts/entypo/otf/Entypo.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/entypo/otf/Entypo.otf
--------------------------------------------------------------------------------
/design/assets/fonts/entypo/vectors/entypo.eps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/entypo/vectors/entypo.eps
--------------------------------------------------------------------------------
/design/assets/fonts/entypo/webfont/entypo-social.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/entypo/webfont/entypo-social.eot
--------------------------------------------------------------------------------
/design/assets/fonts/entypo/webfont/entypo-social.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/design/assets/fonts/entypo/webfont/entypo-social.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/entypo/webfont/entypo-social.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/entypo/webfont/entypo-social.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/entypo/webfont/entypo-social.woff
--------------------------------------------------------------------------------
/design/assets/fonts/entypo/webfont/entypo.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/entypo/webfont/entypo.eot
--------------------------------------------------------------------------------
/design/assets/fonts/entypo/webfont/entypo.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/design/assets/fonts/entypo/webfont/entypo.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/entypo/webfont/entypo.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/entypo/webfont/entypo.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/entypo/webfont/entypo.woff
--------------------------------------------------------------------------------
/design/assets/fonts/mission-script/otf/Mission-Script.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/mission-script/otf/Mission-Script.otf
--------------------------------------------------------------------------------
/design/assets/fonts/mission-script/otf/license.txt:
--------------------------------------------------------------------------------
1 | THE LOST TYPE CO-OP
2 | www.losttype.com
3 |
4 | LICENSING AGREEMENT
5 |
6 | YOU MAY:
7 |
8 | 1) USE THIS FONT IN PERSONAL DESIGN.
9 |
10 | YOU MAY NOT:
11 |
12 | 1) USE THIS FONT IN COMMERCIAL DESIGN WITHOUT CONTACTING JTE@JAMESTEDMONDSON.COM.
13 |
14 | 2) RE-DISTRIBUTE THIS FONT BY ANY MEANS, FOR FREE, OR FOR A FEE.
15 |
16 | 3) ALTER THIS FONT FOR RE-DISTRIBUTION.
17 |
18 | FOR ALL OTHER MATTERS, EMAIL AT:
19 |
20 | jte@jamestedmondson.com
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/otf/SourceCodePro-Black.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/otf/SourceCodePro-Black.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/otf/SourceCodePro-Bold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/otf/SourceCodePro-Bold.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/otf/SourceCodePro-ExtraLight.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/otf/SourceCodePro-ExtraLight.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/otf/SourceCodePro-Light.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/otf/SourceCodePro-Light.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/otf/SourceCodePro-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/otf/SourceCodePro-Regular.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/otf/SourceCodePro-Semibold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/otf/SourceCodePro-Semibold.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Black-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Black-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Black-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Black-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Black-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Black-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Bold-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Bold-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Bold-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Bold-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Bold-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Bold-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-ExtraLight-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-ExtraLight-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-ExtraLight-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-ExtraLight-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-ExtraLight-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-ExtraLight-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Light-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Light-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Light-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Light-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Light-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Light-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Regular-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Regular-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Regular-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Regular-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Regular-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Regular-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Semibold-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Semibold-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Semibold-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Semibold-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Semibold-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-code-pro/webfont/SourceCodePro-Semibold-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/otf/SourceSansPro-Black.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/otf/SourceSansPro-Black.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/otf/SourceSansPro-BlackIt.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/otf/SourceSansPro-BlackIt.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/otf/SourceSansPro-Bold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/otf/SourceSansPro-Bold.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/otf/SourceSansPro-BoldIt.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/otf/SourceSansPro-BoldIt.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/otf/SourceSansPro-ExtraLight.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/otf/SourceSansPro-ExtraLight.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/otf/SourceSansPro-ExtraLightIt.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/otf/SourceSansPro-ExtraLightIt.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/otf/SourceSansPro-It.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/otf/SourceSansPro-It.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/otf/SourceSansPro-Light.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/otf/SourceSansPro-Light.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/otf/SourceSansPro-LightIt.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/otf/SourceSansPro-LightIt.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/otf/SourceSansPro-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/otf/SourceSansPro-Regular.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/otf/SourceSansPro-Semibold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/otf/SourceSansPro-Semibold.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/otf/SourceSansPro-SemiboldIt.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/otf/SourceSansPro-SemiboldIt.otf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Black-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Black-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Black-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Black-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Black-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Black-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-BlackIt-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-BlackIt-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-BlackIt-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-BlackIt-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-BlackIt-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-BlackIt-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Bold-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Bold-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Bold-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Bold-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Bold-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Bold-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-BoldIt-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-BoldIt-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-BoldIt-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-BoldIt-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-BoldIt-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-BoldIt-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-ExtraLight-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-ExtraLight-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-ExtraLight-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-ExtraLight-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-ExtraLight-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-ExtraLight-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-ExtraLightIt-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-ExtraLightIt-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-ExtraLightIt-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-ExtraLightIt-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-ExtraLightIt-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-ExtraLightIt-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-It-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-It-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-It-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-It-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-It-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-It-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Light-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Light-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Light-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Light-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Light-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Light-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-LightIt-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-LightIt-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-LightIt-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-LightIt-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-LightIt-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-LightIt-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Regular-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Regular-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Regular-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Regular-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Regular-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Regular-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Semibold-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Semibold-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Semibold-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Semibold-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Semibold-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-Semibold-webfont.woff
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-SemiboldIt-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-SemiboldIt-webfont.eot
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-SemiboldIt-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-SemiboldIt-webfont.ttf
--------------------------------------------------------------------------------
/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-SemiboldIt-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/fonts/source-sans-pro/webfont/SourceSansPro-SemiboldIt-webfont.woff
--------------------------------------------------------------------------------
/design/assets/logos/README.md:
--------------------------------------------------------------------------------
1 | # Logos
2 |
3 | * * *
4 |
5 | Overview
6 | -------------
7 |
8 | ###### MooTools
9 |
10 | The official MooTools logo, slightly restyled.
11 |
12 | ###### Prime
13 |
14 | Prime icon and logotype, provided in AI and PNG files, ready to use.
15 |
16 | ###### Elements
17 |
18 | Prime icon and logotype, provided in AI and PNG files, ready to use.
19 |
20 | ###### MooFx
21 |
22 | MooFx icon and logotype, provided in AI and PNG files, ready to use.
23 |
24 | ###### Agent
25 |
26 | Agent icon and logotype, provided in AI and PNG files, ready to use.
27 |
28 | Bonus Materials
29 | -------------
30 |
31 | ###### Open Files
32 |
33 | In this folder are stored all the original AI files, without outlines for text boxes and strokes and with unmerged shapes. They can be used for future improvements or retouching.
34 |
35 | ###### Old Files
36 |
37 | In this folder are stored the old MooTools logos, before restyling.
--------------------------------------------------------------------------------
/design/assets/logos/agent/agent-brand.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/agent/agent-brand.ai
--------------------------------------------------------------------------------
/design/assets/logos/agent/agent-brand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/agent/agent-brand.png
--------------------------------------------------------------------------------
/design/assets/logos/agent/agent-icon.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/agent/agent-icon.ai
--------------------------------------------------------------------------------
/design/assets/logos/agent/agent-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/agent/agent-icon.png
--------------------------------------------------------------------------------
/design/assets/logos/agent/agent-logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/agent/agent-logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/agent/agent-logotype.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/agent/agent-logotype.png
--------------------------------------------------------------------------------
/design/assets/logos/core/core-brand-negative.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/core/core-brand-negative.ai
--------------------------------------------------------------------------------
/design/assets/logos/core/core-brand-negative.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/core/core-brand-negative.png
--------------------------------------------------------------------------------
/design/assets/logos/core/core-brand.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/core/core-brand.ai
--------------------------------------------------------------------------------
/design/assets/logos/core/core-brand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/core/core-brand.png
--------------------------------------------------------------------------------
/design/assets/logos/core/core-icon.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/core/core-icon.ai
--------------------------------------------------------------------------------
/design/assets/logos/core/core-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/core/core-icon.png
--------------------------------------------------------------------------------
/design/assets/logos/elements/elements-brand.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/elements/elements-brand.ai
--------------------------------------------------------------------------------
/design/assets/logos/elements/elements-brand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/elements/elements-brand.png
--------------------------------------------------------------------------------
/design/assets/logos/elements/elements-icon.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/elements/elements-icon.ai
--------------------------------------------------------------------------------
/design/assets/logos/elements/elements-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/elements/elements-icon.png
--------------------------------------------------------------------------------
/design/assets/logos/elements/elements-logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/elements/elements-logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/elements/elements-logotype.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/elements/elements-logotype.png
--------------------------------------------------------------------------------
/design/assets/logos/moofx/moofx-brand.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/moofx/moofx-brand.ai
--------------------------------------------------------------------------------
/design/assets/logos/moofx/moofx-brand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/moofx/moofx-brand.png
--------------------------------------------------------------------------------
/design/assets/logos/moofx/moofx-icon.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/moofx/moofx-icon.ai
--------------------------------------------------------------------------------
/design/assets/logos/moofx/moofx-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/moofx/moofx-icon.png
--------------------------------------------------------------------------------
/design/assets/logos/moofx/moofx-logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/moofx/moofx-logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/moofx/moofx-logotype.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/moofx/moofx-logotype.png
--------------------------------------------------------------------------------
/design/assets/logos/mootools/mootools-icon.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/mootools/mootools-icon.ai
--------------------------------------------------------------------------------
/design/assets/logos/mootools/mootools-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/mootools/mootools-icon.png
--------------------------------------------------------------------------------
/design/assets/logos/mootools/mootools-logo-version-2.0.0.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/mootools/mootools-logo-version-2.0.0.psd
--------------------------------------------------------------------------------
/design/assets/logos/mootools/mootools-logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/mootools/mootools-logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/mootools/mootools-logotype.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/mootools/mootools-logotype.png
--------------------------------------------------------------------------------
/design/assets/logos/mootools/mootools-payoff.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/mootools/mootools-payoff.ai
--------------------------------------------------------------------------------
/design/assets/logos/mootools/mootools-payoff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/mootools/mootools-payoff.png
--------------------------------------------------------------------------------
/design/assets/logos/more/more-brand-negative.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/more/more-brand-negative.ai
--------------------------------------------------------------------------------
/design/assets/logos/more/more-brand-negative.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/more/more-brand-negative.png
--------------------------------------------------------------------------------
/design/assets/logos/more/more-brand.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/more/more-brand.ai
--------------------------------------------------------------------------------
/design/assets/logos/more/more-brand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/more/more-brand.png
--------------------------------------------------------------------------------
/design/assets/logos/more/more-icon.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/more/more-icon.ai
--------------------------------------------------------------------------------
/design/assets/logos/more/more-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/more/more-icon.png
--------------------------------------------------------------------------------
/design/assets/logos/old-files/mootools_icon.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/old-files/mootools_icon.ai
--------------------------------------------------------------------------------
/design/assets/logos/old-files/mootools_logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/old-files/mootools_logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/open-files/agent-logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/open-files/agent-logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/open-files/core-more-logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/open-files/core-more-logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/open-files/elements-icon.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/open-files/elements-icon.ai
--------------------------------------------------------------------------------
/design/assets/logos/open-files/elements-logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/open-files/elements-logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/open-files/moofx-icon.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/open-files/moofx-icon.ai
--------------------------------------------------------------------------------
/design/assets/logos/open-files/moofx-logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/open-files/moofx-logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/open-files/mootools-favicon.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/open-files/mootools-favicon.psd
--------------------------------------------------------------------------------
/design/assets/logos/open-files/mootools-logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/open-files/mootools-logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/open-files/mootools-payoff.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/open-files/mootools-payoff.ai
--------------------------------------------------------------------------------
/design/assets/logos/open-files/prime-icon.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/open-files/prime-icon.ai
--------------------------------------------------------------------------------
/design/assets/logos/open-files/prime-logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/open-files/prime-logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/open-files/slick-icon.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/open-files/slick-icon.ai
--------------------------------------------------------------------------------
/design/assets/logos/open-files/slick-logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/open-files/slick-logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/open-files/wrapup-logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/open-files/wrapup-logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/prime/prime-brand.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/prime/prime-brand.ai
--------------------------------------------------------------------------------
/design/assets/logos/prime/prime-brand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/prime/prime-brand.png
--------------------------------------------------------------------------------
/design/assets/logos/prime/prime-icon.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/prime/prime-icon.ai
--------------------------------------------------------------------------------
/design/assets/logos/prime/prime-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/prime/prime-icon.png
--------------------------------------------------------------------------------
/design/assets/logos/prime/prime-logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/prime/prime-logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/prime/prime-logotype.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/prime/prime-logotype.png
--------------------------------------------------------------------------------
/design/assets/logos/slick/slick-brand.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/slick/slick-brand.ai
--------------------------------------------------------------------------------
/design/assets/logos/slick/slick-brand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/slick/slick-brand.png
--------------------------------------------------------------------------------
/design/assets/logos/slick/slick-icon.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/slick/slick-icon.ai
--------------------------------------------------------------------------------
/design/assets/logos/slick/slick-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/slick/slick-icon.png
--------------------------------------------------------------------------------
/design/assets/logos/slick/slick-logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/slick/slick-logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/slick/slick-logotype.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/slick/slick-logotype.png
--------------------------------------------------------------------------------
/design/assets/logos/wrapup/wrapup-logotype.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/wrapup/wrapup-logotype.ai
--------------------------------------------------------------------------------
/design/assets/logos/wrapup/wrapup-logotype.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/assets/logos/wrapup/wrapup-logotype.png
--------------------------------------------------------------------------------
/design/demo/assets/fonts/entypo-social.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/demo/assets/fonts/entypo-social.eot
--------------------------------------------------------------------------------
/design/demo/assets/fonts/entypo-social.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/design/demo/assets/fonts/entypo-social.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/demo/assets/fonts/entypo-social.ttf
--------------------------------------------------------------------------------
/design/demo/assets/fonts/entypo-social.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/demo/assets/fonts/entypo-social.woff
--------------------------------------------------------------------------------
/design/demo/assets/fonts/entypo.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/demo/assets/fonts/entypo.eot
--------------------------------------------------------------------------------
/design/demo/assets/fonts/entypo.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/design/demo/assets/fonts/entypo.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/demo/assets/fonts/entypo.ttf
--------------------------------------------------------------------------------
/design/demo/assets/fonts/entypo.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/demo/assets/fonts/entypo.woff
--------------------------------------------------------------------------------
/design/demo/assets/images/agent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/demo/assets/images/agent.png
--------------------------------------------------------------------------------
/design/demo/assets/images/elements.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/demo/assets/images/elements.png
--------------------------------------------------------------------------------
/design/demo/assets/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/demo/assets/images/favicon.ico
--------------------------------------------------------------------------------
/design/demo/assets/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/demo/assets/images/favicon.png
--------------------------------------------------------------------------------
/design/demo/assets/images/moofx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/demo/assets/images/moofx.png
--------------------------------------------------------------------------------
/design/demo/assets/images/mootools-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/demo/assets/images/mootools-logo.png
--------------------------------------------------------------------------------
/design/demo/assets/images/prime-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/demo/assets/images/prime-icon.png
--------------------------------------------------------------------------------
/design/demo/assets/images/prime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/demo/assets/images/prime.png
--------------------------------------------------------------------------------
/design/drafts/mootools_homepage.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/drafts/mootools_homepage.ai
--------------------------------------------------------------------------------
/design/drafts/mootools_homepage.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/drafts/mootools_homepage.pdf
--------------------------------------------------------------------------------
/design/drafts/prime_homepage.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/drafts/prime_homepage.ai
--------------------------------------------------------------------------------
/design/drafts/prime_homepage.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/design/drafts/prime_homepage.pdf
--------------------------------------------------------------------------------
/design/guidelines/README.md:
--------------------------------------------------------------------------------
1 | MooTools Website Guidelines
2 | ==============
3 |
4 | Table of Contents
5 |
6 | * [Colors](#colors)
7 |
8 |
9 | * * *
10 |
11 | Colors
12 | -------------
13 |
14 | ### Backgrounds
15 |
16 | ###### White
17 |
18 | White is the foundamental color for background.
19 | Large amount of white spaces are recommended for pages and margins in every application of the brand.
20 |
21 | R `255` G `255` B `255`
22 | HTML `#FFFFFF`
23 |
24 | ###### Dirty White
25 |
26 | A slightly darker shade of white is used as background for code blocks, search field and less relevant buttons.
27 |
28 | R `244` G `241` B `237`
29 | HTML `#F4F1ED`
30 |
31 | ### Global Colours
32 |
33 | ###### Dark Gray
34 |
35 | Instead of black, this color is used for main and common texts on the whole website and to identify unselected links in main navigation sections.
36 |
37 | R `119` G `117` B `113`
38 | HTML `#777571`
39 |
40 | ###### Mid Gray
41 |
42 | This color is used for MooTools logo, sub-headlines and less relevant or small texts.
43 |
44 | R `172` G `170` B `167`
45 | HTML `#ACAAA7`
46 |
47 | ###### Light Gray
48 |
49 | This color is used for horizontal rules and other less relevant applications.
50 |
51 | R `229` G `227` B `223`
52 | HTML `#E5E3DF1`
53 |
54 | ### Project Colours
55 |
56 | ###### Prime
57 |
58 | Prime main color is orange.
59 |
60 | R `235` G `111` B `20`
61 | HTML `#eb6f14`
62 |
63 | ###### Elements
64 |
65 | Elements main color is red.
66 |
67 | R `187` G `25` B `29`
68 | HTML `#bb191d`
69 |
70 | ###### MooFx
71 |
72 | MooFx main color is reddish purple.
73 |
74 | R `141` G `46` B `133`
75 | HTML `#8d2e85`
76 |
77 | ###### Agent
78 |
79 | Agent main color is bluish purple.
80 |
81 | R `71` G `56` B `138`
82 | HTML `#47388a`
83 |
--------------------------------------------------------------------------------
/developers/index.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | module.exports = function(app){
4 |
5 | var developersData = require('./developers');
6 | var randomSort = function(){
7 | return 0.5 - Math.random();
8 | };
9 |
10 | app.get('/developers', function(req, res){
11 |
12 | Object.keys(developersData).forEach(function(section){
13 | developersData[section] = developersData[section].sort(randomSort);
14 | });
15 | res.render('developers/index', {
16 | site: "developers",
17 | title: "MooTools Developers",
18 | developersData: developersData
19 | });
20 | });
21 |
22 | };
23 |
24 |
--------------------------------------------------------------------------------
/lib/associate.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | function associate(keys, values){
4 | var length = Math.min(keys.length, values.length);
5 | var associated = {};
6 | for (var i = 0; i < length; i++){
7 | associated[keys[i]] = values[i];
8 | }
9 | return associated;
10 | }
11 |
12 | module.exports = associate;
13 |
--------------------------------------------------------------------------------
/lib/compareSEMVER.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | function splitVersion(ver){
4 | return ver.split('.').map(function(part){
5 | return parseInt(part, 10);
6 | });
7 | }
8 |
9 | // from http://stackoverflow.com/a/6832706/2256325
10 | module.exports = function(a, b){
11 |
12 | if (a === b) return 0;
13 |
14 | var aComponents = splitVersion(a);
15 | var bComponents = splitVersion(b);
16 | var len = Math.min(aComponents.length, bComponents.length);
17 |
18 | // loop while the components are equal
19 | for (var i = 0; i < len; i++){
20 | if (aComponents[i] > bComponents[i]) return 1;
21 | if (aComponents[i] < bComponents[i]) return -1;
22 | }
23 |
24 | // If one's a prefix of the other, the longer one is greater.
25 | if (aComponents.length > bComponents.length) return 1;
26 | if (aComponents.length < bComponents.length) return -1;
27 |
28 | // Otherwise they are the same.
29 | return 0;
30 | }
31 |
--------------------------------------------------------------------------------
/lib/debounce.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | function debounce(fn){
4 | var timer;
5 | return function(){
6 | var self = this, args = Array.prototype.slice.call(arguments);
7 | clearTimeout(timer);
8 | timer = setTimeout(function(){
9 | fn.apply(self, args);
10 | }, 200);
11 | };
12 | }
13 |
14 | module.exports = debounce;
15 |
--------------------------------------------------------------------------------
/lib/getFiles.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var path = require('path');
4 | var fs = require('fs');
5 |
6 | // dir: string - path to directory from script path
7 | // files_: array - files array to add to, optional
8 | // fileType: string - filter fileextension, defaults to no filter
9 |
10 | function getFiles(dir, files_, fileType){
11 |
12 | var regex = fileType ? new RegExp('\\' + fileType + '$') : '';
13 |
14 | return fs.readdirSync(dir).reduce(function(allFiles, file){
15 | var name = path.join(dir, file);
16 | if (fs.statSync(name).isDirectory()){
17 | getFiles(name, allFiles, fileType);
18 | } else if (file.match(regex)){
19 | allFiles.push(name);
20 | }
21 | return allFiles;
22 | }, files_ || []);
23 |
24 | }
25 |
26 | module.exports = getFiles;
27 |
--------------------------------------------------------------------------------
/lib/jade-highlight.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var hljs = require('highlight.js');
4 |
5 | module.exports = function(code, options){
6 | var lang = options.lang;
7 | var indent = parseInt(options.indent, 10) || 4;
8 |
9 | var tab = new Array(indent + 1).join(' ');
10 |
11 | // fix indentation, code comes in with only one space
12 | code = code.split('\n').map(function(line){
13 | var indentations = line.match(/^\s+/g);
14 | if (!indentations) return line;
15 | var length = indentations[0].length;
16 | return new Array(length + 1).join(tab) + line.slice(length);
17 | }).join('\n');
18 |
19 | if (!lang) code = '
' + code + '
\n';
20 | else {
21 | if (lang == 'js') lang = 'javascript';
22 | else if (lang == 'html') lang = 'xml';
23 | else if (lang == 'shell') lang = 'bash';
24 | code = hljs.highlight(lang, code).value.trim();
25 | code = '' + code + '
\n';
26 | }
27 | return code.replace(/'/g,''');
28 | };
29 |
30 |
31 |
--------------------------------------------------------------------------------
/lib/loadJSON.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var fs = require('fs');
4 |
5 | function loadJSON(file, callback){
6 |
7 | fs.readFile(file, function(err, json){
8 | if (err) return callback(err);
9 | try {
10 | callback(null, JSON.parse(json));
11 | } catch (e){
12 | callback(e);
13 | }
14 | });
15 |
16 | }
17 |
18 | module.exports = loadJSON;
19 |
--------------------------------------------------------------------------------
/lib/log.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var fs = require('fs');
4 |
5 | var silent = false,
6 | monitors = [],
7 | files = {},
8 | streams = {};
9 |
10 | function close(type){
11 | if (streams[type]){
12 | streams[type].end();
13 | streams[type] = null;
14 | }
15 | }
16 |
17 | function open(type, file){
18 | if (file){
19 | files[type] = file;
20 | } else {
21 | file = files[type];
22 | }
23 |
24 | close(type);
25 |
26 | if (file){
27 | var stream = fs.createWriteStream(file, {
28 | flags: 'a+',
29 | defaultEncoding: 'utf8',
30 | mode: parseInt('640', 8)
31 | });
32 | stream.addListener('error', function(error){
33 | stream.end();
34 | streams[type] = null;
35 | if (monitors.length){
36 | for (var i = 0, l = monitors.length; i < l; ++i){
37 | monitors[i].emit('error', error);
38 | }
39 | } else {
40 | throw error;
41 | }
42 | });
43 | streams[type] = stream;
44 | }
45 | }
46 |
47 | function write(type, data){
48 | var stream = streams[type];
49 | if (stream){
50 | stream.write('[' + (new Date()).toISOString() + '] ' + data);
51 | }
52 | }
53 |
54 | function configure(configuration){
55 | if (configuration.silent != null) silent = configuration.silent;
56 | if (configuration.outFile) open('out', configuration.outFile);
57 | if (configuration.errFile) open('err', configuration.errFile);
58 | }
59 |
60 | function reload(){
61 | var types = Object.keys(files);
62 | for (var i = 0, l = types.length; i < l; ++i){
63 | open(types[i]);
64 | }
65 | }
66 |
67 | function attach(monitor){
68 | if (monitors.indexOf(monitor) == -1) monitors.push(monitor);
69 | monitor.addListener('stdout', log);
70 | monitor.addListener('stderr', logError);
71 | }
72 |
73 | function detach(monitor){
74 | var index = monitors.indexOf(monitor);
75 | if (index > -1) monitors.splice(index, 1);
76 | monitor.removeListener('stdout', log);
77 | monitor.removeListener('stderr', logError);
78 | }
79 |
80 | function log(data){
81 | write('out', data);
82 | if (!silent) process.stdout.write(data);
83 | }
84 |
85 | function logError(data){
86 | write('err', data);
87 | if (!silent) process.stderr.write(data);
88 | }
89 |
90 | exports.configure = configure;
91 | exports.reload = reload;
92 | exports.attach = attach;
93 | exports.detach = detach;
94 |
95 | exports.write = function(data){ return log(data + '\n'); };
96 | exports.error = function(data){ return logError(data + '\n'); };
97 |
--------------------------------------------------------------------------------
/lib/projectPath.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var allVersions = require('../package.json');
4 |
5 | function projectPath(project_, version_){
6 | var versions = allVersions._projects[project_].versions;
7 | if (versions.indexOf(version_) == -1) version_ = versions.filter(function(ver){
8 | return ver.slice(0, -2) <= version_.slice(0, -2);
9 | })[0];
10 | return 'cache/' + project_.toLowerCase() + '/docs/' + project_.toLowerCase() + '-' + version_ + '/Source/';
11 | }
12 |
13 | module.exports = projectPath;
14 |
--------------------------------------------------------------------------------
/lib/waitForIt.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var slice = Array.prototype.slice;
4 |
5 | module.exports = function(fn){
6 |
7 | var args;
8 | var isRunning = false;
9 | var callbacks = [];
10 |
11 | var done = function(callbacks, args){
12 | var cbs = callbacks.slice(), cb;
13 | while (cb = cbs.shift()) cb.apply(null, args);
14 | };
15 |
16 | return {
17 |
18 | get: function(callback){
19 |
20 | if (args){
21 | callback.apply(null, args);
22 | return;
23 | }
24 |
25 | callbacks.push(callback);
26 |
27 | if (isRunning){
28 | return;
29 | }
30 |
31 | isRunning = true;
32 |
33 | fn(function(){
34 | args = slice.call(arguments);
35 | isRunning = false;
36 | done(callbacks, args);
37 | });
38 |
39 | return this;
40 | },
41 |
42 | reset: function(){
43 | args = null;
44 | callbacks = [];
45 | return this;
46 | }
47 |
48 | };
49 |
50 | };
51 |
--------------------------------------------------------------------------------
/middleware/build-static.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var stylus = require('stylus');
4 | var nib = require('nib');
5 | var fs = require('fs');
6 |
7 | var compileCSS = function(str, path){
8 | return stylus(str)
9 | .set('filename', path)
10 | .use(nib());
11 | };
12 |
13 | module.exports = function(app, options){
14 |
15 | if (!options) options = {};
16 | if (!options.path) options.path = '/';
17 |
18 | // development only
19 | if ('development' == app.get('env')){
20 |
21 | // wrapup middleware
22 | var wrapup = require('wrapup-middleware');
23 | app.get((options.path == '/' ? '' : options.path) + '/js/*.js', wrapup({
24 | src: options.dirname + '/views',
25 | dest: options.dirname + '/public'
26 | }));
27 |
28 | // stylus middleware
29 | app.use(options.path, stylus.middleware({
30 | src: options.dirname + '/views',
31 | dest: options.dirname + '/public',
32 | compile: function(str, path){
33 | return compileCSS(str, path)
34 | .set('linenos', true);
35 | }
36 | }));
37 |
38 | } else {
39 |
40 | // compile js
41 | var wrup = require('wrapup')();
42 | wrup.require(options.dirname + '/views/js/main.js')
43 | .options({
44 | output: options.dirname + '/public/js/main.js',
45 | compress: true
46 | })
47 | .up(function(err){
48 | if (err) console.error(err);
49 | else console.log("built public/js/main.js");
50 | });
51 |
52 | // compile css
53 | var stylFile = options.dirname + '/views/css/style.styl';
54 | var str = fs.readFileSync(stylFile, 'utf8');
55 |
56 | compileCSS(str, stylFile)
57 | .set('compress', true)
58 | .render(function(err, css){
59 | if (err) console.error(err);
60 | else {
61 | fs.writeFile(options.dirname + '/public/css/style.css', css);
62 | console.log("built public/css/style.js");
63 | }
64 | }
65 | );
66 | }
67 |
68 | };
69 |
--------------------------------------------------------------------------------
/middleware/buildHash.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var builderHash = require('../lib/BuilderHash')(require('../config/databases.json'));
4 |
5 | module.exports = function(project){
6 |
7 | return function(req, res, next){
8 | var hash = req.params.hash;
9 | if (hash){
10 | builderHash.load(project, hash, function(err, data) {
11 | if (data){
12 | res.locals.hash = data.packages;
13 | }
14 | next(err);
15 | });
16 | } else {
17 | return next();
18 | }
19 | };
20 | };
21 |
--------------------------------------------------------------------------------
/middleware/githubEvents.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var GitHub = require('github');
4 |
5 | module.exports = function(options){
6 |
7 | if (!options){
8 | throw new Error("you need to set options, with either an 'user' or 'org' property");
9 | }
10 |
11 | // interval updating the data happens
12 | if (!options.interval) options.interval = 1000 * 60 * 30; // each 30 minutes
13 | // if this number of request fail after each other, then just stop
14 | if (!options.maxFailingRequests) options.maxFailingRequests = 3;
15 | // the variable name the result ends up in your templates
16 | if (!options.variable) options.variable = 'githubEvents';
17 |
18 | var client = new GitHub({
19 | version: "3.0.0"
20 | });
21 |
22 | var request;
23 |
24 | // separate client options from the options used in this file
25 | var clientOptions = {};
26 | for (var k in options){
27 | if (!({interval: 1, maxFailingRequests: 1, variable: 1}[k])){
28 | clientOptions[k] = options[k];
29 | }
30 | }
31 |
32 | // using the data from an org or from an user
33 | if (options.org){
34 | request = function(callback){
35 | client.events.getFromOrg(clientOptions, callback);
36 | };
37 | } else if (options.user){
38 | request = function(callback){
39 | client.events.getFromUser(clientOptions, callback);
40 | };
41 | }
42 |
43 | if (!request){
44 | throw new Error("You either need to set a user or an organisation");
45 | }
46 |
47 | var errors = 0;
48 | var events;
49 | var timer;
50 |
51 | // periodically fetching the GitHub API.
52 | var poller = function(){
53 | request(function(err, data){
54 | if (err){
55 | console.error(err);
56 | // too many errors after each other, stop polling GitHub
57 | if (++errors < options.maxFailingRequests){
58 | clearInterval(timer);
59 | }
60 | } else {
61 | console.log('recieved GitHub events data');
62 | errors = 0;
63 | events = data;
64 | }
65 | });
66 | return poller;
67 | };
68 |
69 | timer = setInterval(poller(), options.interval);
70 |
71 | return function(req, res, next){
72 | res.locals[options.variable] = events;
73 | if (next) next();
74 | };
75 |
76 | };
77 |
--------------------------------------------------------------------------------
/middleware/twitter.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var keys = require('./../config/api_keys.json').twitter;
4 | var twitter = require('twitter');
5 | var twit = new twitter(keys);
6 |
7 | module.exports = function(interval){
8 |
9 | var tweets;
10 |
11 | // periodically fetching the Twiter API.
12 | var poller = function(){
13 | twit.get('/statuses/user_timeline.json', {
14 | include_entities: true,
15 | screen_name: 'mootools'
16 | }, function(err, data, res){
17 | if (err) console.log(err);
18 | if (res && res.statusCode == 200){
19 | tweets = data.slice(0, 3);
20 | console.log('recieved Twitter events data');
21 | }
22 | });
23 | return poller;
24 | };
25 |
26 | setInterval(poller(), (interval == null) ? 1000 * 60 * 30 : interval);
27 |
28 | return function(req, res, next){
29 | res.locals.twitter = tweets;
30 | if (next) next();
31 | };
32 | };
33 |
--------------------------------------------------------------------------------
/more/guides/.gitignore:
--------------------------------------------------------------------------------
1 | *.json
2 | *.html
3 |
--------------------------------------------------------------------------------
/more/guides/drag.move.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Drag.Move
3 | date: 2014-10-08
4 | author: Aaron Newton
5 | ---
6 |
7 | *Drag.Move* extends *Drag* to support moving an element around the page.
8 |
9 | The usage is pretty straight forward:
10 |
11 | ```js
12 | new Drag.Move($('fxTarget'));
13 | ```
14 |
15 | It takes all the options that *Drag* takes and adds two new ones:
16 |
17 |
18 | ### Element.makeDraggable()
19 |
20 | *Element* has a shortcut that's really about the same number of characters (actually, it's one more), so it's not much of a shortcut. Still, it's easy enough to use:
21 |
22 |
23 | ```js
24 | $('fxTarget').makeDraggable();
25 | ```
26 |
27 |
28 | That's it. You're done.
29 |
30 | Now, if you want to do things like capture the location of the object when the user drops it (and then maybe send that info back to the server via ajax so you can remember its location for another visit), you can specify a bunch of additional options.
31 |
32 | ```js
33 | $('fxTarget').makeDraggable({
34 | onStart: function(){
35 | console.log("start left: %s, top: %s", this.getLeft(), this.getTop());
36 | }.bind($('fxTarget')),
37 | onDrag: function(){
38 | console.log("drag start left: %s, top: %s", this.getLeft(), this.getTop());
39 | }.bind($('fxTarget'))
40 | });
41 | ```
42 |
43 | There's more stuff you can add here like snapping, and container so that you can drag an element only within the confines of another. Snap let's you require the user to drag the element a certain distance before it starts to follow the mouse (the default is 6px).
44 |
45 |
46 | ```js
47 | $('dragExample').makeDraggable({
48 | snap: 25,
49 | container: 'snapContainer'
50 | });
51 | ```
52 |
53 |
54 | If you want to keep a handle on the instance of the *Drag.Move* class so you can interact with it (for instance, to disable dragging at a later point), you can do so with either syntax:
55 |
56 |
57 | ```js
58 | var myDraggable = new Drag.Move($(element), {
59 | options...
60 | });
61 | var myDraggable = $(element).makeDraggable({
62 | options...
63 | });
64 | ```
65 |
66 | Here is the [documentation for Drag.Move.js](/docs/more/Drag/Drag.Move).
67 |
--------------------------------------------------------------------------------
/more/index.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var project = 'more';
4 |
5 | var docs = require('../middleware/docs')(project, {
6 | title: "MooTools More Documentation"
7 | });
8 |
9 | var guides = require('../middleware/guides')(project, {
10 | title: "MooTools More Guides"
11 | });
12 |
13 | var hash = require('../middleware/buildHash')(project);
14 |
15 | var pkgProject = require('../package.json')._projects[project];
16 | var lastVersion = pkgProject.versions[0];
17 |
18 | module.exports = function(app){
19 |
20 | var more = function(req, res, next){
21 | res.locals.site = 'more';
22 | next();
23 | };
24 |
25 | app.get('/more', more, function(req, res){
26 | res.render('more/index', {
27 | navigation: 'more',
28 | project: 'More',
29 | version: lastVersion,
30 | title: "MooTools More"
31 | });
32 | });
33 |
34 | app.get('/more/builder/:hash?', hash, more, function(req, res){
35 | res.render('builder/index', {
36 | title: 'MooTools More Builder',
37 | navigation: 'builder',
38 | project: 'More',
39 | hashDependencies: res.locals.hash || [],
40 | version: lastVersion,
41 | dependencies: require('../builder/dependencies.js')(project, lastVersion)
42 | });
43 | });
44 |
45 | app.get('/more/docs', more, docs);
46 | app.get('/more/docs/:version', more, docs);
47 | app.all('/more/docs/:version/*', more, docs);
48 |
49 | app.get('/more/guides', more, guides.index);
50 | app.get('/more/guides/:guide', more, guides.article);
51 |
52 | // hash build redirect
53 | app.get('/more/:hash', function(req, res){
54 | res.redirect('/more/builder/' + req.params.hash);
55 | });
56 |
57 | };
58 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mootools-website",
3 | "version": "0.2.1",
4 | "description": "Website for MooTools",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "node tests/run.js"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git://github.com/mootools/website.git"
12 | },
13 | "keywords": [
14 | "mootools",
15 | "mootools-core",
16 | "mootools-more"
17 | ],
18 | "author": "Arian Stolwijk",
19 | "license": "MIT",
20 | "readmeFilename": "README.md",
21 | "dependencies": {
22 | "async": "0.2",
23 | "body-parser": "~1.9.0",
24 | "colors": "0.6",
25 | "dateable": "0.3",
26 | "errorhandler": "~1.2.0",
27 | "event-stream": "~3.0.16",
28 | "express": "4.9",
29 | "forever-monitor": "~1.6",
30 | "front-matter": "~0.1.3",
31 | "fs-extra": "^0.22.1",
32 | "github": "0.1",
33 | "highlight.js": "7.3",
34 | "jade": "0.31",
35 | "js-yaml": "^3.2.2",
36 | "marked": "~0.3.9",
37 | "md5": "^1.0.0",
38 | "mootools-packager": "~0.0.2",
39 | "morgan": "~1.9.1",
40 | "needle": "~0.6.3",
41 | "nib": "0.9",
42 | "prime": "0.1",
43 | "request": "2.88",
44 | "semver": "*",
45 | "serve-favicon": "^2.1.5",
46 | "slugify": "0.1",
47 | "sqlite3": "^3.0.2",
48 | "stylus": "0.32",
49 | "twitter": "^1.2.5",
50 | "uglify-js": "^2.4.15",
51 | "unzip": "~0.1.9",
52 | "wrapup": "0.12",
53 | "wrapup-middleware": "0.0.x"
54 | },
55 | "devDependencies": {
56 | "mocha": "1.11",
57 | "expect.js": "0.3.x"
58 | },
59 | "_buildOutput": "cache",
60 | "_projects": {
61 | "core": {
62 | "repository": "https://github.com/mootools/mootools-core",
63 | "docsIntro": "Docs/Intro.md",
64 | "versions": [
65 | "1.6.0",
66 | "1.5.2",
67 | "1.5.1",
68 | "1.4.5",
69 | "1.3.2",
70 | "1.2.6"
71 | ]
72 | },
73 | "more": {
74 | "repository": "https://github.com/mootools/mootools-more",
75 | "docsIntro": "Docs/More/More.md",
76 | "versions": [
77 | "1.6.0",
78 | "1.5.2",
79 | "1.5.1",
80 | "1.5.0",
81 | "1.4.0.1",
82 | "1.3.2.1",
83 | "1.2.5.1",
84 | "1.0.2"
85 | ]
86 | }
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/public/css/.gitignore:
--------------------------------------------------------------------------------
1 | style.css
2 |
--------------------------------------------------------------------------------
/public/fonts/entypo-social.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/fonts/entypo-social.eot
--------------------------------------------------------------------------------
/public/fonts/entypo-social.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/public/fonts/entypo-social.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/fonts/entypo-social.ttf
--------------------------------------------------------------------------------
/public/fonts/entypo-social.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/fonts/entypo-social.woff
--------------------------------------------------------------------------------
/public/fonts/entypo.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/fonts/entypo.eot
--------------------------------------------------------------------------------
/public/fonts/entypo.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/fonts/entypo.ttf
--------------------------------------------------------------------------------
/public/fonts/entypo.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/fonts/entypo.woff
--------------------------------------------------------------------------------
/public/fonts/font:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/fonts/font
--------------------------------------------------------------------------------
/public/googlea106970571919746.html:
--------------------------------------------------------------------------------
1 | google-site-verification: googlea106970571919746.html
--------------------------------------------------------------------------------
/public/images/avatars/Valerio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/Valerio.png
--------------------------------------------------------------------------------
/public/images/avatars/aaron.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/aaron.png
--------------------------------------------------------------------------------
/public/images/avatars/arian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/arian.png
--------------------------------------------------------------------------------
/public/images/avatars/chris.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/chris.png
--------------------------------------------------------------------------------
/public/images/avatars/christoph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/christoph.png
--------------------------------------------------------------------------------
/public/images/avatars/cristian.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/cristian.jpg
--------------------------------------------------------------------------------
/public/images/avatars/david.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/david.png
--------------------------------------------------------------------------------
/public/images/avatars/djamil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/djamil.png
--------------------------------------------------------------------------------
/public/images/avatars/fabio.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/fabio.jpg
--------------------------------------------------------------------------------
/public/images/avatars/fakedarren.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/fakedarren.png
--------------------------------------------------------------------------------
/public/images/avatars/guillermo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/guillermo.png
--------------------------------------------------------------------------------
/public/images/avatars/harald.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/harald.jpg
--------------------------------------------------------------------------------
/public/images/avatars/jacob.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/jacob.png
--------------------------------------------------------------------------------
/public/images/avatars/jan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/jan.png
--------------------------------------------------------------------------------
/public/images/avatars/keeto.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/keeto.png
--------------------------------------------------------------------------------
/public/images/avatars/michelle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/michelle.png
--------------------------------------------------------------------------------
/public/images/avatars/olmo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/olmo.png
--------------------------------------------------------------------------------
/public/images/avatars/pietrogregorini.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/pietrogregorini.jpg
--------------------------------------------------------------------------------
/public/images/avatars/scott_kyle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/scott_kyle.png
--------------------------------------------------------------------------------
/public/images/avatars/sebastian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/sebastian.png
--------------------------------------------------------------------------------
/public/images/avatars/sergio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/sergio.png
--------------------------------------------------------------------------------
/public/images/avatars/thomas.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/thomas.png
--------------------------------------------------------------------------------
/public/images/avatars/tim.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/tim.png
--------------------------------------------------------------------------------
/public/images/avatars/tom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/tom.png
--------------------------------------------------------------------------------
/public/images/avatars/yaroslaff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/avatars/yaroslaff.png
--------------------------------------------------------------------------------
/public/images/books/mootools_1point2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/books/mootools_1point2.jpg
--------------------------------------------------------------------------------
/public/images/books/mootools_essentials.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/books/mootools_essentials.jpg
--------------------------------------------------------------------------------
/public/images/books/pro_javascript_with_mootools.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/books/pro_javascript_with_mootools.jpg
--------------------------------------------------------------------------------
/public/images/credits/mediatemple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/credits/mediatemple.png
--------------------------------------------------------------------------------
/public/images/favicon/mootools.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/favicon/mootools.ico
--------------------------------------------------------------------------------
/public/images/favicon/mootools.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/favicon/mootools.png
--------------------------------------------------------------------------------
/public/images/icon/core.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/icon/core.png
--------------------------------------------------------------------------------
/public/images/icon/more.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/icon/more.png
--------------------------------------------------------------------------------
/public/images/logo/core-negative.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/logo/core-negative.png
--------------------------------------------------------------------------------
/public/images/logo/core.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/logo/core.png
--------------------------------------------------------------------------------
/public/images/logo/mootools-payoff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/logo/mootools-payoff.png
--------------------------------------------------------------------------------
/public/images/logo/mootools.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/logo/mootools.png
--------------------------------------------------------------------------------
/public/images/logo/more-negative.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/logo/more-negative.png
--------------------------------------------------------------------------------
/public/images/logo/more.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/public/images/logo/more.png
--------------------------------------------------------------------------------
/public/js/.gitignore:
--------------------------------------------------------------------------------
1 | main.js
2 |
--------------------------------------------------------------------------------
/service.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var app = 'index',
4 | name = 'mootools-website';
5 |
6 | var Monitor = require('forever-monitor').Monitor,
7 | log = require('./lib/log.js');
8 |
9 | var monitor = new Monitor(__dirname + '/' + app + '.js', {
10 | silent: true,
11 | minUptime: 2000,
12 | args: process.argv.splice(2)
13 | });
14 |
15 | log.attach(monitor);
16 | try {
17 | log.configure(require('./config/log.json'));
18 | } catch (error){
19 | }
20 |
21 | function stop(){
22 | log.error('** Requested stop of ' + name);
23 | monitor.stop();
24 | }
25 |
26 | function reload(){
27 | log.error('** Requested reload of ' + name);
28 | log.reload();
29 | monitor.restart();
30 | }
31 |
32 | function reloadLogs(){
33 | log.error('** Requested log reload of ' + name);
34 | log.reload();
35 | }
36 |
37 | process.addListener('SIGINT', stop);
38 | process.addListener('SIGTERM', stop);
39 | process.addListener('SIGHUP', reload);
40 | process.addListener('SIGUSR2', reloadLogs);
41 |
42 | monitor.addListener('start', function(){
43 | log.error('** Starting ' + name + ' monitor');
44 | });
45 |
46 | monitor.addListener('stop', function(){
47 | log.error('** Stopping ' + name + ' monitor');
48 | });
49 |
50 | monitor.addListener('exit:code', function(code){
51 | if (code == null) code = 0;
52 | log.error('** Detected ' + name + ' process exited (exit code ' + code + ')');
53 | });
54 |
55 | monitor.addListener('restart', function(){
56 | log.error('** Restarting ' + name + ' process (#' + monitor.times + ')');
57 | });
58 |
59 | monitor.addListener('error', function(error){
60 | if (error.stack){
61 | log.error('** ' + error.stack);
62 | } else if (error.message) {
63 | log.error('** Error: ' + error.message);
64 | } else {
65 | log.error('** Error: ' + error);
66 | }
67 | });
68 |
69 | monitor.start();
70 |
--------------------------------------------------------------------------------
/tests/database/core.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/tests/database/core.db
--------------------------------------------------------------------------------
/tests/database/more.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mootools/website/0a9bedcbe86ef196d78fd18b32ab4ee225ef8e89/tests/database/more.db
--------------------------------------------------------------------------------
/tests/database/newDatabase.js:
--------------------------------------------------------------------------------
1 | var fs = require('fs');
2 | var path = require('path');
3 | var file = path.join(__dirname, 'more.db');
4 | var exists = fs.existsSync(file);
5 | var sqlite3 = require('sqlite3').verbose();
6 | var sampleData = require('./sampleData.json');
7 |
8 | if (!exists){
9 | console.log('Creating DB file.');
10 | fs.openSync(file, 'w');
11 | }
12 |
13 | var db = new sqlite3.Database(file);
14 | db.serialize(function(){
15 |
16 | if (!exists) db.run("CREATE TABLE hashes (md5, packages, date)");
17 |
18 | if (!exists) sampleData.forEach(function (sample) {
19 | var values = sample;
20 | db.run('INSERT INTO hashes (md5, packages, date) VALUES (?, ?, ?)', values, function(error){
21 | if (error) throw error;
22 | });
23 | });
24 |
25 | db.each("SELECT md5, packages, date FROM hashes", function(err, row){
26 | console.log(row.md5);
27 | console.log(row.packages);
28 | console.log(row.date);
29 | console.log('.....................');
30 | });
31 | });
32 |
33 | db.close();
34 |
--------------------------------------------------------------------------------
/tests/database/sampleData.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "1": "e8f3003df2d0919c1091b11854a53e9b",
4 | "2": "Core/Core;Core/String;Core/Event;Core/Browser;Core/Class;Core/Element.Style;Core/Element.Event;Core/Element.Delegation;Core/Element.Dimensions;Core/Fx;Core/Fx.CSS;Core/Fx.Tween;Core/Fx.Morph;Core/Fx.Transitions;Core/Request.HTML;Core/Request.JSON;Core/Cookie;Core/DOMReady",
5 | "3": "1415017941"
6 | },
7 | {
8 | "1": "2aa60ee2887f132a617b2a49754ef7fd",
9 | "2": "Core/Core;Core/Array;Core/String;Core/Number;Core/Function;Core/Object;Core/Event;Core/Browser;Core/Request;Core/Request.HTML;Core/Request.JSON;Core/Cookie;Core/JSON",
10 | "3": "1415017221"
11 | },
12 | {
13 | "1": "d1d2b98d3cae0d77aa29422996e67802",
14 | "2": "Core/Core;Core/Event;Core/Element;Core/Element.Style;Core/Element.Delegation;Core/Element.Dimensions;Core/Fx;Core/Fx.Tween;Core/Fx.Morph;Core/JSON;Core/DOMReady",
15 | "3": "1414767773"
16 | },
17 | {
18 | "1": "73a246bd9f16ce89e3ab685ff1e08599",
19 | "2": "Core/Array;Core/Function;Core/Event;Core/Class;Core/Element;Core/Element.Event;Core/Fx",
20 | "3": "1414689276"
21 | },
22 | {
23 | "1": "22af847e17dad82b2f32682e0f617e3e",
24 | "2": "Core/Core;Core/Array;Core/String;Core/Number;Core/Function;Core/Object;Core/Event;Core/Browser;Core/Class;Core/Class.Extras;Core/Slick.Parser;Core/Slick.Finder;Core/Element;Core/Element.Style;Core/Element.Event;Core/Element.Dimensions;Core/Fx;Core/Fx.CSS;Core/Fx.Tween;Core/Fx.Morph;Core/Fx.Transitions;Core/Request;Core/Request.HTML;Core/Request.JSON;Core/Cookie;Core/JSON;Core/DOMReady",
25 | "3": "1414636765"
26 | }
27 | ]
28 |
--------------------------------------------------------------------------------
/tests/lib/waitForIt.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var expect = require('expect.js');
4 | var waitForIt = require('../../lib/waitForIt');
5 |
6 | describe('waitForIt', function(){
7 |
8 | it('should call all callbacks when the result becomes available', function(done){
9 | var _a = 0, _b = 0, _c = 0;
10 | var a = function(e, x){ _a = x; };
11 | var b = function(e, x){ _b = x; };
12 | var c = function(e, x){ _c = x; };
13 |
14 | var fn = waitForIt(function(cb){
15 | setTimeout(function(){
16 | cb(null, 4);
17 | }, 10);
18 | }).get(a);
19 |
20 | fn.get(b);
21 |
22 | setTimeout(function(){
23 | expect(_a).to.be(4);
24 | expect(_b).to.be(4);
25 |
26 | fn.get(c);
27 |
28 | expect(_c).to.be(4);
29 | done();
30 | }, 20);
31 |
32 | });
33 |
34 | });
35 |
--------------------------------------------------------------------------------
/tests/run.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var spawn = require('child_process').spawn;
4 |
5 | spawn('../node_modules/.bin/mocha', [
6 | './lib/*'
7 | ], {
8 | cwd: __dirname,
9 | stdio: 'inherit'
10 | }).on('close', function(code){
11 | process.exit(code);
12 | });
13 |
--------------------------------------------------------------------------------
/views/blog/feed.jade:
--------------------------------------------------------------------------------
1 | doctype xml
2 | rss(version="2.0", xmlns:atom="http://www.w3.org/2005/Atom", xmlns:dc="http://purl.org/dc/elements/1.1/")
3 | channel
4 | title= title
5 | link= blogURL
6 | atom:link(href= feedURL, rel="self", type="application/rss+xml")
7 | description= description
8 | language= language
9 | if posts.length
10 | lastBuildDate= new Date(posts[0].date).toUTCString()
11 | each post in posts
12 | - var permalink = [blogURL, post.permalink].join('/');
13 | item
14 | title= post.title
15 | link= permalink
16 | dc:creator
17 | |
20 | each tag in post.tags
21 | category
22 | |
25 | description
26 | |
29 | pubDate= new Date(post.date).toUTCString()
30 | guid(isPermaLink='true')= permalink
31 |
--------------------------------------------------------------------------------
/views/blog/index.jade:
--------------------------------------------------------------------------------
1 | extends ../layouts/home
2 | include ./partials/postedUnder
3 |
4 | block main
5 | .overview.clearfix.wrapper.blog
6 |
7 | each post in posts
8 | a(href="/blog/#{post.permalink}")
9 | h2 #{post.title}
10 |
11 | small
12 | space = ""
13 | | Written by #{post.author} on #{dateable(post.date, "D MMMM YYYY")}
14 | mixin postedUnder(post.tags)
15 | a(href="/blog/#{post.permalink}/#disqus_thread", data-disqus-identifier).comments
16 | | Comments
17 |
18 | .post.short
19 | | !{post.summary}
20 |
21 | hr
22 |
23 | div.pagination.clearfix
24 | if nextPage
25 | if tag
26 | a.older(href="/blog/category/#{tag}/page/#{nextPage}")
27 | span.icon.previous
28 | | Older Entries
29 | else
30 | a.older(href="/blog/page/#{nextPage}")
31 | span.icon.previous
32 | |Older Entries
33 |
34 | if previousPage
35 | if tag
36 | a.newer(href="/blog/category/#{tag}/page/#{previousPage}")
37 | span.icon.next
38 | | Newer Entries
39 | else
40 | a.newer(href="/blog/page/#{previousPage}")
41 | span.icon.next
42 | | Newer Entries
43 |
44 | include ../partials/disqus_count
45 |
--------------------------------------------------------------------------------
/views/blog/partials/postedUnder.jade:
--------------------------------------------------------------------------------
1 | mixin postedUnder(tags)
2 | space = ""
3 | if tags.length > 0
4 | | – Posted under #{space}
5 | each tag, i in tags
6 | a(href="/blog/category/#{tag.toLowerCase()}")
7 | | #{tag}
8 | if i != tags.length - 1
9 | | , #{space}
10 |
11 |
--------------------------------------------------------------------------------
/views/blog/post.jade:
--------------------------------------------------------------------------------
1 | extends ../layouts/main
2 |
3 | include ./partials/postedUnder
4 |
5 | block main
6 | .clearfix.wrapper.blog
7 | h2
8 | | #{post.title}
9 |
10 | small
11 | space = ""
12 | | Written by #{post.author} on #{dateable(post.date, "D MMMM YYYY")}
13 | mixin postedUnder(post.tags)
14 |
15 | .post
16 | | !{content}
17 |
18 | include ../partials/disqus_thread
19 |
--------------------------------------------------------------------------------
/views/books/index.jade:
--------------------------------------------------------------------------------
1 | extends ../layouts/home
2 |
3 | block about
4 | .overview.books
5 |
6 | each book in books
7 | .about
8 | div.clearfix.wrapper
9 | div.introduction
10 | h2
11 | | #{book.title}
12 | p
13 | | !{book.description}
14 |
15 | div.cover
16 | img(src="#{book.cover}")
17 | p
18 | a(href='#{book.buy_link}', target='_blank', alt='#{book.alt_tag}') Grab a copy here
19 |
20 | block main
21 |
22 | block about
23 |
24 | hr
25 |
26 | block updates
27 |
--------------------------------------------------------------------------------
/views/core/docs.jade:
--------------------------------------------------------------------------------
1 | extends page
2 |
3 | block main
4 | include ../partials/docs
5 | mixin docs(content, versions, "/core/docs/")
6 |
--------------------------------------------------------------------------------
/views/core/guide.jade:
--------------------------------------------------------------------------------
1 | extends page
2 |
3 | block main
4 | include ../partials/guide
5 |
--------------------------------------------------------------------------------
/views/core/guides.jade:
--------------------------------------------------------------------------------
1 | extends page
2 |
3 | block main
4 | .guides.overview.clearfix.wrapper
5 | each guide in guides
6 | .guide
7 | h3
8 | a(href="/core/guides/" + guide.slug)= guide.title
9 | | !{guide.author}
10 |
--------------------------------------------------------------------------------
/views/core/index.jade:
--------------------------------------------------------------------------------
1 | extends ../layouts/home
2 |
3 | block header-logo
4 | include ../partials/header/header-logo
5 |
6 | block header-menu
7 | include ../partials/header/header-menu
8 |
9 | block summary
10 | include partials/summary
11 |
12 | block overview
13 | include partials/overview
14 |
15 | block features
16 | include partials/features
17 |
--------------------------------------------------------------------------------
/views/core/page.jade:
--------------------------------------------------------------------------------
1 | extends ../layouts/home
2 |
3 | block header-logo
4 | include ../partials/header/header-logo
5 |
6 | block header-menu
7 | include ../partials/header/header-menu
8 |
--------------------------------------------------------------------------------
/views/core/partials/big-icon.jade:
--------------------------------------------------------------------------------
1 | .big-icon
2 | img(src='/images/icon/core.png', alt='')
--------------------------------------------------------------------------------
/views/core/partials/features.jade:
--------------------------------------------------------------------------------
1 | section
2 | a(href='/core/docs')
3 | h2 Learn
4 | p.darker Check out the complete documentation and start using Core today.
5 | p.color
6 | | Documentation
7 | span.arrow(aria-hidden='true')
8 |
9 | //
10 | section
11 | a(href='/core/guides')
12 | h2 Try
13 | p.darker Want to know how to use it? See core in action and discover how powerful it is.
14 | p.color
15 | | Tutorials
16 | span.arrow(aria-hidden='true')
17 |
18 | section
19 | a(href='https://github.com/mootools/mootools-core')
20 | h2 Contribute
21 | p.darker Report bugs issues or help us to extend our documentation.
22 | p.color
23 | | GitHub Repository
24 | span.arrow(aria-hidden='true')
25 |
26 |
--------------------------------------------------------------------------------
/views/core/partials/overview.jade:
--------------------------------------------------------------------------------
1 | h2 Modules Overview
2 | div
3 | h3
4 | span.command MooTools Class
5 | p
6 | | A simple MooTools Class example.
7 | :highlight(lang=js)
8 | var Animal = new Class({
9 | initialize: function(age){
10 | this.age = age;
11 | }
12 | });
13 | var Cat = new Class({
14 | Extends: Animal,
15 | initialize: function(name, age){
16 | this.parent(age); // calls initalize method of Animal class
17 | this.name = name;
18 | }
19 | });
20 | var myCat = new Cat('Micia', 20);
21 | alert(myCat.name); // alerts 'Micia'.
22 | alert(myCat.age); // alerts 20.
23 |
24 | div
25 | h3
26 | span.command Implement
27 | p This method implements a new method to the Array type's prototype.
28 | :highlight(lang=js)
29 | Array.implement('limitTop', function(top){
30 | for (var i = 0, l = this.length; i < l; i++){
31 | if (this[i] > top) this[i] = top;
32 | }
33 | return this;
34 | });
35 |
36 | [1, 2, 3, 4, 5, 6].limitTop(4); // returns [1, 2, 3, 4, 4, 4]
37 |
38 | p.docs
39 | a(href='/core/docs')
40 | span.arrow Full Documentation
41 |
--------------------------------------------------------------------------------
/views/core/partials/summary.jade:
--------------------------------------------------------------------------------
1 | include ../../partials/older-version-select
2 |
3 | p.summary
4 | | MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer.
5 | br
6 | | It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.
7 |
8 | p.description.lighter MooTools is about enhancing JavaScript.
9 |
10 | .use
11 |
12 | ul.clearfix
13 | li
14 | form(method="post", action="../builder")
15 | input(hidden, name="project", value="#{project}")
16 | input(hidden, name="version", value="#{version}")
17 | a.button.highlighted.getFile(href='#', download)
18 | span
19 | | Download
20 | span.version Ver. #{version}
21 | span.icon.download(aria-hidden='true')
22 | li
23 | a.button.git(href='http://github.com/mootools/mootools-core')
24 | span
25 | | GitHub
26 | br
27 | | Repository
28 | span.icon.github(aria-hidden='true')
29 |
30 | mixin older-version-select(versions)
31 |
32 | p.license
33 | | To choose which modules to use visit the
34 | a(href='#{site}/builder') builder page.
35 |
36 |
37 | include big-icon
38 |
--------------------------------------------------------------------------------
/views/css/builder.styl:
--------------------------------------------------------------------------------
1 |
2 | .builder
3 |
4 | margin-top 2em
5 | margin-bottom 2em
6 |
7 | .header
8 | h1
9 | float left
10 | margin 1.5em 0em 0.5em
11 | width 100%
12 |
13 | .save
14 | float left
15 | clear none
16 | margin-right 1em
17 |
18 | .save
19 | clear both
20 |
21 | label
22 | display block
23 | margin-top 1em
24 | position relative
25 |
26 | label.select:after
27 | top 7px
28 | select
29 | width 100%
30 |
31 | input[type="checkbox"]
32 | margin-right 0.5em
33 | vertical-align bottom
34 |
35 | input[type="submit"]
36 | margin-top 0.5em
37 | padding 0.5em
38 | width 100%
39 | text-align left
40 |
41 | .icon.download
42 | position absolute
43 | right 0.25em
44 | top 0
45 | line-height 1em
46 |
47 | form
48 | margin-top 1em
49 |
50 | .step
51 | clear both
52 | font-weight 400
53 | margin-top 1em
54 |
55 |
56 | @media only screen and (min-width: 48em) /* More or equal to 768 pixels */
57 |
58 | .builder
59 | .save
60 | width 35%
61 |
62 | table
63 | width 100%
64 |
65 | tr
66 | border-bottom 1px solid #acaaa7
67 | td
68 | padding .3em
69 |
70 | &:first-child
71 | width 5%
72 | & + td
73 | width 15%
74 | & + td + td
75 | width 20%
76 | & + td + td +td
77 | width 60%
78 |
--------------------------------------------------------------------------------
/views/css/colorscheme.styl:
--------------------------------------------------------------------------------
1 | color_scheme(str, color)
2 | &.{str}
3 | color color
4 |
5 | pre span
6 | color_scheme('keyword', #b05098)
7 | color_scheme('number', #429bc1)
8 | color_scheme('string', #83a440)
9 | color_scheme('comment', #9c9ea0)
10 |
--------------------------------------------------------------------------------
/views/css/developers.styl:
--------------------------------------------------------------------------------
1 | /* DEVELOPERS * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 |
3 | div.developers
4 | width 100%
5 |
6 | h1
7 | font-size 2em
8 | color #7d8aa5
9 |
10 | section
11 | padding 0em 0em 1em
12 | color #777571
13 | float left
14 | width 100%
15 | clear both
16 |
17 | img
18 | float left
19 | height 65px
20 | margin 0.4em 1em
21 |
22 | h3, p.inline
23 | display inline
24 |
25 | p.small
26 | font-size 0.9em
27 | a
28 | color #7d8aa5
29 |
--------------------------------------------------------------------------------
/views/css/entypo-social.styl:
--------------------------------------------------------------------------------
1 |
2 | icon-github() { content '\e803' } /* '' */
3 | icon-twitter() { content '\e802' } /* '' */
4 | icon-facebook-squared() { content '\e800' } /* '' */
5 | icon-gplus() { content '\e801' } /* '' */
6 |
--------------------------------------------------------------------------------
/views/css/entypo.styl:
--------------------------------------------------------------------------------
1 |
2 | icon-check() { content '\e801' } /* '' */
3 | icon-up-open-big() { content '\e813' } /* '' */
4 | icon-minus-squared() { content '\e807' } /* '' */
5 | icon-arrow-combo() { content '\e800' } /* '' */
6 | icon-down-circled() { content '\e802' } /* '' */
7 | icon-left-circled() { content '\e803' } /* '' */
8 | icon-right-circled() { content '\e804' } /* '' */
9 | icon-up-circled() { content '\e805' } /* '' */
10 | icon-down-open() { content '\e808' } /* '' */
11 | icon-left-open() { content '\e811' } /* '' */
12 | icon-plus-squared() { content '\e806' } /* '' */
13 | icon-up-open() { content '\e80b' } /* '' */
14 | icon-down-open-mini() { content '\e809' } /* '' */
15 | icon-left-open-mini() { content '\e80d' } /* '' */
16 | icon-right-open-mini() { content '\e80c' } /* '' */
17 | icon-up-open-mini() { content '\e80a' } /* '' */
18 | icon-down-open-big() { content '\e810' } /* '' */
19 | icon-left-open-big() { content '\e80e' } /* '' */
20 | icon-right-open-big() { content '\e80f' } /* '' */
21 | icon-right-open() { content '\e812' } /* '' */
22 |
--------------------------------------------------------------------------------
/views/css/footer.styl:
--------------------------------------------------------------------------------
1 | /* F O O T E R * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 |
3 | #menu
4 | box-shadow #9c9ea0 0px 0px 30px
5 | padding 0 0 1em
6 | a
7 | border-radius 5px
8 | border solid #e5e3df 1px
9 | display block
10 | padding 0.6em 0 0.4em
11 | text-align center
12 | &:active,
13 | &:focus
14 | border-color #e5e3df
15 |
16 | img
17 | height 1.6em
18 |
19 | #sitemap
20 | font-size 0.8em
21 | h3
22 | color #cbd0db
23 | font-weight 400
24 |
25 | ul li a
26 | padding 0em 0.5em
27 | margin-left -0.5em
28 | display block
29 | span.icon
30 | margin-right 0.5em
31 | font-size 100%
32 |
33 | #credits
34 | font-size 0.8em
35 | p
36 | margin 0 0 1em
37 |
38 | img.mootools
39 | width 150px
40 | padding 0.5em
41 | margin-left -0.5em
42 | p.mediatemple a
43 | background url("/images/credits/mediatemple.png") no-repeat left top
44 | background-size auto 16px
45 | color #dedfdf
46 | font-size 0.85em
47 | font-weight 300
48 | padding-left 46px
49 | &:active,
50 | &:focus
51 | color #dedfdf !important
52 |
--------------------------------------------------------------------------------
/views/css/guides.styl:
--------------------------------------------------------------------------------
1 | /* G U I D E S * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 |
3 | .guides
4 | padding-bottom 2em
5 |
6 | .content:first-child h1
7 | border 0
8 | margin 0
9 | padding 0
10 |
11 | .content
12 | margin 0 0 2em
13 |
14 | h1
15 | border-top solid 1px #e5e3df
16 | margin 2em 0 0
17 | padding 1.5em 0 0
18 |
19 | h2
20 | background #777571
21 | border-radius 5px
22 | margin 2em 0 0.5em
23 | padding 0.15em 0.5em 0.25em
24 | a
25 | color #ffffff !important
26 |
27 | h3
28 | border-radius 5px
29 | border solid #e5e3df 1px
30 | font-weight 400
31 | margin 1.5em 0 0
32 | padding 0.5em
33 |
34 | h4
35 | border-radius 5px
36 | border solid #f4f1ed 1px
37 | color #acaaa7
38 | font-size 1.125em
39 | font-weight 400
40 | margin 1.5em 0 0.5em
41 | padding 0.15em 0.5em 0.25em
42 |
43 | h5
44 | color #acaaa7
45 | font-size 1em
46 | font-weight 400
47 | margin 1.5em 0 0
48 |
49 | p
50 | margin 0.5em 0
51 | padding 0.4em
52 |
53 | ol
54 | counter-reset li /* Initiate a counter */
55 | list-style none /* Remove default numbering */
56 | *list-style decimal /* Keep using default numbering for IE6/7 */
57 | position relative
58 | li
59 | margin-top 0.5em
60 | padding-left 1.5em
61 | &:before
62 | background #f4f1ed
63 | border-radius 3px
64 | content counter(li)
65 | counter-increment li
66 | font-size 0.75em
67 | font-weight 600
68 | left 0
69 | padding 0.15em 0.5em
70 | position absolute
71 |
72 | ul li
73 | margin 0.5em 0 0
74 | &:after
75 | icon-right-open-mini()
76 | float left
77 | font-family "Entypo"
78 | font-size 100%
79 | margin 0.2em 0.5em 0 0
80 |
81 | pre
82 | margin 0.5em 0 0
83 |
84 | code
85 | padding 0.25em 0.5em
86 |
--------------------------------------------------------------------------------
/views/css/header.styl:
--------------------------------------------------------------------------------
1 | /* H E A D E R * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 |
3 | background()
4 | background arguments
5 | border-color arguments
6 | color #ffffff
7 |
8 | #global-bar
9 | box-shadow rgba(0,0,0,0.1) 0px 0px 30px
10 | padding-bottom 1em
11 | padding-top 1em
12 | position fixed
13 | width 100%
14 | background-color white
15 | z-index 100
16 |
17 | div.wrapper
18 | position relative
19 | div.right
20 | bottom 4px
21 | position absolute
22 | right 4%
23 | ul > li > a
24 | &:active,
25 | &:focus
26 | background(#9c9ea0)
27 | ul
28 | float left
29 | li
30 | float left
31 | margin-right 0.5em
32 | position relative
33 | a
34 | border-radius 3px
35 | color #414347
36 | font-size 1em
37 | padding 0.3em 0.5em 0.3em 0.5em
38 | cursor pointer
39 | ul
40 | li.selected > a
41 | background(#414347)
42 | &:active,
43 | &:focus
44 | background(#9c9ea0)
45 |
46 |
47 | body.mootools #global-bar
48 | padding-bottom 2em
49 | padding-top 2em
50 | position relative
51 | h1
52 | padding 0
53 |
54 | #logo
55 | float left
56 | h1 img
57 | height 70px !important
58 | p img
59 | width 150px
60 | padding 0.5em
61 | img:focus, img:active
62 | background-color #ffffff
63 |
64 | #search
65 | float left
66 | margin-left 0.5em
67 | label
68 | display block
69 | position relative
70 |
71 | input
72 | background transparent
73 | border-color #dedfdf
74 | display block
75 | font-size 0.85em
76 | font-weight 400
77 | padding 0.4em 0.5em
78 | width 12em
79 | &:focus
80 | border-color #acaaa7
81 | #search-field
82 | color #777571
83 |
84 | #header
85 | border-color #7d8aa5
86 | nav ul li.selected a
87 | color #7d8aa5
88 | &:after
89 | border-color #7d8aa5 #7d8aa5 transparent transparent
90 | div.wrapper div.right
91 | bottom 0px
92 |
93 | h1 img
94 | height 60px
95 | width auto
96 | margin-top 1em
97 |
98 | a
99 | color #b1b9c8
100 | font-size 1.125em
101 | &:active,
102 | &:focus
103 | background transparent
104 | span
105 | background #777571
106 | border-radius 3px
107 |
108 | .core, .more
109 | > #header
110 | border-bottom solid #7d8aa5 1px
111 | margin-top 3em
112 |
--------------------------------------------------------------------------------
/views/css/mootools.styl:
--------------------------------------------------------------------------------
1 | .mootools #header
2 | border-bottom 1px solid #ffffff
3 |
4 | .previous-version
5 | margin-top 1.0em
6 |
7 | label.select
8 | position relative
9 |
10 | @media screen and (-webkit-min-device-pixel-ratio: 0) /* Chrome and Safari only */
11 | label.select:after
12 | content '<>'
13 | font 11px "Consolas", monospace
14 | padding 3px
15 | -webkit-transform rotate(90deg)
16 | -moz-transform rotate(90deg)
17 | -ms-transform rotate(90deg)
18 | transform rotate(90deg)
19 | right 8px
20 | top 3px
21 | position absolute
22 | pointer-events none
23 |
24 | #googleLink
25 | margin-left 2em
26 | opacity 0
27 | transition opacity .4s
28 |
29 | #googleLink.visible
30 | opacity 1
31 |
--------------------------------------------------------------------------------
/views/css/style.styl:
--------------------------------------------------------------------------------
1 | @import reset
2 | @import entypo
3 | @import entypo-social
4 | @import global
5 | @import docs
6 | @import guides
7 | @import header
8 | @import footer
9 | @import media
10 | @import colorscheme
11 | @import mootools
12 | @import builder
13 | @import developers
14 |
15 |
16 | // temp until guides are up
17 | .features
18 | text-align left
19 |
20 | section
21 | width 50%
22 |
--------------------------------------------------------------------------------
/views/developers/index.jade:
--------------------------------------------------------------------------------
1 | extends ../layouts/home
2 |
3 | mixin linkExist(result, type)
4 | if result[type] !== undefined
5 | | , follow on #{type}: #{result[type].split("https://")[1]}
6 |
7 | mixin content(result)
8 | section
9 | h3 !{result.Name}
10 | p.inline #{result.Nick}
11 |
12 | img(src=result.img)
13 |
14 | p.small Location: #{result.Location}
15 |
16 | p.small
17 | if result.Web !== undefined
18 | | Web:
19 | for webResult in result.Web
20 | a(href=webResult,target='_blank') #{webResult.replace(/^https?:\/\//, '')}
21 | else
22 | | No website defined
23 |
24 | mixin linkExist(result, 'Twitter')
25 | mixin linkExist(result, 'GitHub')
26 |
27 |
28 | block main
29 |
30 | .overview.clearfix.wrapper
31 |
32 | for section, key in developersData
33 | div.developers
34 |
35 | section
36 | h1 #{key}
37 |
38 | for person in section
39 | +content(person)
40 |
--------------------------------------------------------------------------------
/views/errors/404.jade:
--------------------------------------------------------------------------------
1 | extends ../layouts/main
2 |
3 | block main
4 |
5 | .overview.wrapper.clearfix.blog
6 | h1 Oops, this is not the page you're looking for...
7 |
8 | space = ""
9 |
10 | p
11 | | Try going back to the #{space}
12 | a(href='/') homepage
13 | | .
14 |
--------------------------------------------------------------------------------
/views/errors/500.jade:
--------------------------------------------------------------------------------
1 | extends ../layouts/main
2 |
3 | block main
4 |
5 | .overview.wrapper.clearfix.blog
6 | h1 Yikes! Mea culpa. Try, try, try again.
7 |
8 | space = ""
9 |
10 | p
11 | a(href='javascript:location.reload()') Try again
12 | |.
13 |
--------------------------------------------------------------------------------
/views/layouts/home.jade:
--------------------------------------------------------------------------------
1 | extends main
2 |
3 | block main
4 |
5 | .overview.clearfix.wrapper
6 | block summary
7 |
8 | hr
9 |
10 | .modules.clearfix.wrapper
11 | section
12 | block overview
13 | hr
14 |
15 | .features.clearfix.wrapper
16 | block features
17 |
18 |
--------------------------------------------------------------------------------
/views/more/docs.jade:
--------------------------------------------------------------------------------
1 | extends page
2 |
3 | block main
4 | include ../partials/docs
5 | mixin docs(content, versions, "/more/docs/")
6 |
--------------------------------------------------------------------------------
/views/more/guide.jade:
--------------------------------------------------------------------------------
1 | extends page
2 |
3 | block main
4 | include ../partials/guide
5 |
--------------------------------------------------------------------------------
/views/more/guides.jade:
--------------------------------------------------------------------------------
1 | extends page
2 |
3 | block main
4 | .guides.overview.clearfix.wrapper
5 | each guide in guides
6 | .guide
7 | h3
8 | a(href="/more/guides/" + guide.slug)= guide.title
9 | | !{guide.author}
10 |
--------------------------------------------------------------------------------
/views/more/index.jade:
--------------------------------------------------------------------------------
1 | extends ../layouts/home
2 |
3 | block header-logo
4 | include ../partials/header/header-logo
5 |
6 | block header-menu
7 | include ../partials/header/header-menu
8 |
9 | block summary
10 | include partials/summary
11 |
12 | block overview
13 | include partials/overview
14 |
15 | block features
16 | include partials/features
17 |
--------------------------------------------------------------------------------
/views/more/page.jade:
--------------------------------------------------------------------------------
1 | extends ../layouts/main
2 |
3 | block header-logo
4 | include ../partials/header/header-logo
5 |
6 | block header-menu
7 | include ../partials/header/header-menu
8 |
--------------------------------------------------------------------------------
/views/more/partials/big-icon.jade:
--------------------------------------------------------------------------------
1 | .big-icon
2 | img(src='/images/icon/more.png', alt='')
--------------------------------------------------------------------------------
/views/more/partials/features.jade:
--------------------------------------------------------------------------------
1 | section
2 | a(href='/more/docs')
3 | h2 Learn
4 | p.darker Check out the complete documentation and start using More today.
5 | p.color
6 | | Documentation
7 | span.arrow(aria-hidden='true')
8 |
9 | //
10 | section
11 | a(href='/more/guides')
12 | h2 Try
13 | p.darker Want to know how to use it? See more in action and discover how powerful it is.
14 | p.color
15 | | Tutorials
16 | span.arrow(aria-hidden='true')
17 |
18 | section
19 | a(href='https://github.com/mootools/mootools-more')
20 | h2 Contribute
21 | p.darker Report bugs issues or help us to extend our documentation.
22 | p.color
23 | | GitHub Repository
24 | span.arrow(aria-hidden='true')
25 |
26 |
--------------------------------------------------------------------------------
/views/more/partials/overview.jade:
--------------------------------------------------------------------------------
1 | h2 Modules Overview
2 |
3 | div
4 | h3
5 | span.command Request.JSONP
6 | p
7 | | Creates a JSON request using script tag injection and handles the callbacks.
8 | :highlight(lang=js)
9 | var myJSONP = new Request.JSONP({
10 | url: 'http://goo.gl/cCLshl?format=json',
11 | callbackKey: 'jsoncallback',
12 | data: {
13 | viewType: 'json',
14 | },
15 | onRequest: function (url) {
16 | // a script tag is created with a
17 | // src attribute equal to url
18 | },
19 | onComplete: function (data) {
20 | // the request was completed
21 | // and data received the server answer.
22 | console.log(data); // answer object with data
23 | }
24 | }).send();
25 |
26 | div
27 | h3
28 | span.command HTML table constructor
29 | p
30 | | Builds table elements with methods to add rows quickly.
31 | :highlight(lang=js)
32 | var myTable = new HtmlTable({
33 | properties: {
34 | border: 5,
35 | cellpadding: 5
36 | },
37 | headers: ['fruits', 'colors'],
38 | rows: [
39 | ['apple', 'red'],
40 | ['lemon', 'yellow']
41 | ]
42 | });
43 |
44 | myTable.inject($(document.body));
45 |
46 | // and to push more data into it:
47 | myTable.push(['lime', 'green']);
48 |
49 | p.docs
50 | a(href='/more/docs')
51 | span.arrow Full Documentation
52 |
--------------------------------------------------------------------------------
/views/more/partials/summary.jade:
--------------------------------------------------------------------------------
1 | p.summary
2 | | Welcome to MooTools More,
3 | br
4 | | the official plugin repository for the MooTools JavaScript Framework.
5 | br
6 | | More includes extra features to Core classes and UI.
7 |
8 | p.description.lighter MooTools More makes MooTools even More awesome.
9 |
10 | .use
11 |
12 | ul.clearfix
13 | li
14 | a.button.highlighted(href='/more/builder')
15 | span
16 | | Build
17 | span.version Ver. #{version}
18 | span.icon.download(aria-hidden='true')
19 | li
20 | a.button.git(href='http://github.com/mootools/mootools-more')
21 | span
22 | | GitHub
23 | br
24 | | Repository
25 | span.icon.github(aria-hidden='true')
26 | p.license
27 |
28 | include big-icon
29 |
30 |
--------------------------------------------------------------------------------
/views/partials/GitHubEvents.jade:
--------------------------------------------------------------------------------
1 | mixin GitHubEvents(events, max)
2 |
3 | space = ""
4 |
5 | mixin PushEvent(event)
6 | a(href="https://github.com/#{event.actor.login}") #{event.actor.login}:
7 | | pushed #{space}
8 | if event.payload.size == 1
9 | a(href="https://github.com/#{event.repo.name}/commit/#{event.payload.head}")
10 | | #{event.payload.size} commit
11 | else
12 | a(href="https://github.com/#{event.repo.name}/compare/#{event.payload.before}...#{event.payload.head}")
13 | | #{event.payload.size} commits
14 | | to #{space}
15 | a(href="https://github.com/#{event.repo.name}") #{event.repo_name}
16 |
17 | mixin CommitCommentEvent(event)
18 | a(href="https://github.com/#{event.actor.login}") #{event.actor.login}:
19 | | commented on #{space}
20 | a(href="#{event.payload.comment.html_url}") #{event.repo_name}@#{event.payload.comment.commit_id.slice(0, 6)}
21 |
22 | mixin IssuesEvent(event)
23 | a(href="https://github.com/#{event.actor.login}") #{event.actor.login}:
24 | | #{event.payload.action} issue #{space}
25 | a(href="#{event.payload.issue.html_url}") #{event.repo_name}##{event.payload.issue.number}
26 |
27 | mixin PullRequestEvent(event)
28 | a(href="https://github.com/#{event.actor.login}") #{event.actor.login}:
29 | | #{event.payload.action} pull request #{space}
30 | a(href="#{event.payload.pull_request.html_url}") #{event.repo_name}##{event.payload.pull_request.number}
31 |
32 | if !events || events.length == 0
33 | p No recent activity
34 |
35 | else
36 |
37 | count = 0
38 |
39 | each event in events
40 |
41 | #{event.repo_name = event.repo.name.split('/')[1]}
42 |
43 | if event.type == 'PushEvent' && count++ < max
44 | p: mixin PushEvent(event)
45 | else if event.type == 'CommitCommentEvent' && count++ < max
46 | p: mixin CommitCommentEvent(event)
47 | else if event.type == 'IssuesEvent' && count++ < max
48 | p: mixin IssuesEvent(event)
49 | else if event.type == 'PullRequestEvent' && count++ < max
50 | p: mixin PullRequestEvent(event)
51 |
--------------------------------------------------------------------------------
/views/partials/disqus_count.jade:
--------------------------------------------------------------------------------
1 | script.
2 | var disqus_shortname = 'mootools-net';
3 | (function (){
4 | var s = document.createElement('script'); s.async = true;
5 | s.type = 'text/javascript';
6 | s.src = '//' + disqus_shortname + '.disqus.com/count.js';
7 | (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
8 | }());
9 |
--------------------------------------------------------------------------------
/views/partials/disqus_thread.jade:
--------------------------------------------------------------------------------
1 | #disqus_thread
2 | script.
3 | var disqus_shortname = 'mootools-net';
4 | var disqus_url = '/blog/#{post.permalink}/';
5 |
6 | (function(){
7 | var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
8 | dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js';
9 | if (dsq.setAttribute) dsq.setAttribute('data-timestamp', +new Date());
10 | (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
11 | })();
12 |
13 | noscript
14 | | Please enable JavaScript to view the
15 | a(href="https://disqus.com/?ref_noscript") comments powered by Disqus.
16 |
17 | a.dsq-brlink(href="https://disqus.com")
18 | | comments powered by
19 | span.logo-disqus Disqus
20 |
--------------------------------------------------------------------------------
/views/partials/docs.jade:
--------------------------------------------------------------------------------
1 | mixin doc-versions(versions, path)
2 | div.versions.clearfix
3 | h3
4 | | Versions
5 | ul
6 | each ver in versions
7 | li
8 | if version == ver
9 | a(href="#{path}#{ver}#{file ? '/' + file : ''}", class='selected')
10 | | #{ver}
11 | else
12 | a(href="#{path}#{ver}#{file ? '/' + file : ''}")
13 | | #{ver}
14 |
15 | mixin docs(content, versions, path)
16 | .docs.overview.clearfix.wrapper
17 |
18 | mixin doc-versions(versions, path)
19 |
20 | .toc
21 | include ./docs/toc
22 |
23 | .content
24 | | !{content}
25 |
26 |
--------------------------------------------------------------------------------
/views/partials/docs/blockcode.jade:
--------------------------------------------------------------------------------
1 | pre
2 | code(class=lang) !{code}
3 |
--------------------------------------------------------------------------------
/views/partials/docs/heading.jade:
--------------------------------------------------------------------------------
1 | mixin anchor(link, text)
2 | if link
3 | a(href="#" + link, name=link) !{text}
4 | else
5 | !{text}
6 |
7 | div.heading.clearfix
8 | htag = "h" + level
9 | #{htag}: +anchor(link, text)
10 |
11 | if level < 3
12 | a(href="#top").back-to-top
13 | | Back to Top
14 |
--------------------------------------------------------------------------------
/views/partials/docs/link.jade:
--------------------------------------------------------------------------------
1 | a(href=link, alt=text) !{text}
2 |
--------------------------------------------------------------------------------
/views/partials/docs/toc.jade:
--------------------------------------------------------------------------------
1 | each section in toc
2 | if section.optional == false
3 |
4 | visibility = section.path == file ? '' : 'small';
5 |
6 | ul.section
7 | li(class="#{visibility}")
8 | if section.link
9 | a.top(href= section.link) #{section.text}
10 |
11 | if section.links && section.links.length
12 | ul
13 | each link in section.links
14 | li
15 | if link.subTitle
16 | h3
17 | a(href=link.link) #{link.text}
18 | else
19 | a(href=link.link) #{link.text}
20 |
--------------------------------------------------------------------------------
/views/partials/footer-navigation.jade:
--------------------------------------------------------------------------------
1 | div
2 | h3
3 | | About
4 | span.slider(aria-hidden='true')
5 | ul
6 | li
7 | a(href='/blog') Blog
8 | li
9 | a(href='/books') Books
10 | li
11 | a(href='/developers') Developers
12 | li
13 | a(href='http://mad4milk.spreadshirt.net/', target='_blank') Merchandising
14 | div
15 | h3
16 | | Support
17 | span.slider(aria-hidden='true')
18 | ul
19 | li
20 | a(href='http://groups.google.com/group/mootools-users', target='_blank') User Group
21 | li
22 | a(href='http://mootorial.com', target='_blank') The MooTorial
23 | li
24 | a(href='http://stackoverflow.com/questions/tagged/mootools', target='_blank') Stack Overflow
25 |
26 | div
27 | h3
28 | | Connect with us
29 | span.slider(aria-hidden='true')
30 | ul
31 | li
32 | a(href='http://github.com/mootools', target='_blank')
33 | span.icon.github(aria-hidden='true')
34 | | GitHub
35 | li
36 | a(href='http://twitter.com/mootools', target='_blank')
37 | span.icon.twitter(aria-hidden='true')
38 | | Twitter
39 | li
40 | a(href='https://www.facebook.com/mootools', target='_blank')
41 | span.icon.facebook(aria-hidden='true')
42 | | Facebook
43 | li
44 | a(href='https://plus.google.com/u/0/117731876964599459921/posts', target='_blank')
45 | span.icon.googleplus(aria-hidden='true')
46 | | Google+
47 |
48 | div
49 | h3
50 | | Documentation
51 | span.slider(aria-hidden='true')
52 |
53 | ul
54 | li
55 | a(href='/core/docs') MooTools Core
56 | li
57 | a(href='/more/docs') MooTools More
58 |
59 | script.
60 | // analytics
61 | if (document.domain && typeof document.domain == 'string' && document.domain.indexOf('mootools.net') > -1){
62 | ga('create', 'UA-112611-7', 'auto');
63 | ga('send', 'pageview');
64 | }
65 |
--------------------------------------------------------------------------------
/views/partials/guide.jade:
--------------------------------------------------------------------------------
1 | block main
2 | .guides.overview.clearfix.wrapper
3 | .content
4 | h1= guide.title
5 | p
6 | space = " "
7 | strong= "Author: "
8 | | #{guide.author} #{space}
9 | strong= "Date: "
10 | | #{dateable(new Date(guide.date), "D MMMM YYYY")}
11 | hr
12 |
13 | .content
14 | !{guide.content}
15 |
--------------------------------------------------------------------------------
/views/partials/header.jade:
--------------------------------------------------------------------------------
1 | #global-bar.clearfix
2 | div.clearfix.wrapper
3 | #logo
4 | if site == 'mootools'
5 | h1
6 | a(href='/')
7 | img(src='/images/logo/mootools-payoff.png', alt='MooTools')
8 |
9 | p.visually-hidden
10 | | Your resources for every-day JavaScripting
11 | else
12 | p
13 | a(href='/')
14 | img(src='/images/logo/mootools.png', alt='MooTools Home')
15 |
16 | #main-header.right.clearfix
17 |
18 | mixin menu-item(link, text, selected, reallySelected)
19 | if reallySelected == undefined
20 | reallySelected = selected
21 |
22 | mixin link
23 | a(href=link) #{text}
24 | if selected
25 | if reallySelected
26 | li.selected: mixin link
27 | else
28 | li.selected.not-really: mixin link
29 | else
30 | li: mixin link
31 |
32 | ul
33 | li(class=(site == 'core' ? 'selected' : ''))
34 | a(href='/core/') Core
35 |
36 | li(class=(site == 'more' ? 'selected' : ''))
37 | a(href='/more/') More
38 |
39 | mixin menu-item('/blog', 'Blog', site == 'blog')
40 | mixin menu-item('/forge', 'Forge', site == 'forge')
41 | mixin menu-item("http://github.com/mootools/mootools-core#contribute", 'Contribute')
42 |
43 | form#search(role='search', method='get', action='/search')
44 | label(for='search-field')
45 | span.icon.search(aria-hidden='true')
46 | input#search-field(name='q', type='search', placeholder='Search in the site')
47 |
--------------------------------------------------------------------------------
/views/partials/header/header-logo.jade:
--------------------------------------------------------------------------------
1 | a(href='/core')
2 | include header
3 |
--------------------------------------------------------------------------------
/views/partials/header/header-menu.jade:
--------------------------------------------------------------------------------
1 | menu_core = {text: "Overview", subpage: site, url: "/" + site}
2 | menu_docs = {text: "Documentation", subpage: 'docs', url: "/" + site + "/docs"}
3 | menu_download = {text: "Builder", subpage: 'builder', url: "/" + site + "/builder"}
4 |
5 | mixin menu([menu_core, menu_docs, menu_download], navigation)
6 |
7 | //
8 | menu_guides = {text: "Guides", subpage: 'builder', url: "/" + site + "/guides"}
9 | mixin menu([menu_core, menu_docs, menu_guides, menu_download], navigation)
10 |
--------------------------------------------------------------------------------
/views/partials/header/header.jade:
--------------------------------------------------------------------------------
1 | img(src='/images/logo/' + site + '.png', alt='Core')
2 |
--------------------------------------------------------------------------------
/views/partials/older-version-select.jade:
--------------------------------------------------------------------------------
1 |
2 | mixin older-version-select(versions)
3 | p.previous-version
4 | label.select: select(onchange='selectVersion(this)')
5 | option(disabled='disabled', selected='selected') Choose a previous version
6 | for set in versions
7 | optgroup(label=set.version)
8 | for file in set.files
9 | option(value=file.link)= file.label
10 | span#googleLink
11 |
--------------------------------------------------------------------------------
/views/partials/projects.jade:
--------------------------------------------------------------------------------
1 | h2.visually-hidden Projects
2 |
3 | mixin project-link(project, alt)
4 | li(class=project)
5 | if project == site
6 | a.selected(href="/#{project}")
7 | img(src="/images/logo/#{project}-negative.png", alt=alt)
8 | else
9 | a(href="/#{project}")
10 | img(src="/images/logo/#{project}.png", alt=alt)
11 |
12 | ul
13 | mixin project-link('core', 'Core')
14 | mixin project-link('more', 'More')
15 |
--------------------------------------------------------------------------------
/views/search.jade:
--------------------------------------------------------------------------------
1 |
2 | extends layouts/main
3 |
4 | block main
5 | .clearfix.wrapper.blog
6 |
7 | script(type='text/javascript')
8 | (function() {
9 | var cx = '010060716948516680719:r5u1rkeinvk';
10 | var gcse = document.createElement('script');
11 | gcse.type = 'text/javascript';
12 | gcse.async = true;
13 | gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
14 | '//www.google.com/cse/cse.js?cx=' + cx;
15 | var s = document.getElementsByTagName('script')[0];
16 | s.parentNode.insertBefore(gcse, s);
17 | })();
18 |
19 | gcse:searchresults-only(refinementStyle='link')
20 |
--------------------------------------------------------------------------------