├── .gitignore ├── .gitmodules ├── Dockerfile ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── Makefile ├── README.md ├── Rakefile ├── _assets ├── bower.json ├── bower_components │ ├── amcharts │ │ ├── .bower.json │ │ ├── README.md │ │ └── bower.json │ ├── moment │ │ ├── .bower.json │ │ ├── LICENSE │ │ ├── bower.json │ │ ├── lang │ │ │ ├── ar-ma.js │ │ │ ├── ar.js │ │ │ ├── bg.js │ │ │ ├── br.js │ │ │ ├── bs.js │ │ │ ├── ca.js │ │ │ ├── cs.js │ │ │ ├── cv.js │ │ │ ├── cy.js │ │ │ ├── da.js │ │ │ ├── de.js │ │ │ ├── el.js │ │ │ ├── en-au.js │ │ │ ├── en-ca.js │ │ │ ├── en-gb.js │ │ │ ├── eo.js │ │ │ ├── es.js │ │ │ ├── et.js │ │ │ ├── eu.js │ │ │ ├── fa.js │ │ │ ├── fi.js │ │ │ ├── fo.js │ │ │ ├── fr-ca.js │ │ │ ├── fr.js │ │ │ ├── gl.js │ │ │ ├── he.js │ │ │ ├── hi.js │ │ │ ├── hr.js │ │ │ ├── hu.js │ │ │ ├── hy-am.js │ │ │ ├── id.js │ │ │ ├── is.js │ │ │ ├── it.js │ │ │ ├── ja.js │ │ │ ├── ka.js │ │ │ ├── km.js │ │ │ ├── ko.js │ │ │ ├── lb.js │ │ │ ├── lt.js │ │ │ ├── lv.js │ │ │ ├── mk.js │ │ │ ├── ml.js │ │ │ ├── mr.js │ │ │ ├── ms-my.js │ │ │ ├── nb.js │ │ │ ├── ne.js │ │ │ ├── nl.js │ │ │ ├── nn.js │ │ │ ├── pl.js │ │ │ ├── pt-br.js │ │ │ ├── pt.js │ │ │ ├── ro.js │ │ │ ├── ru.js │ │ │ ├── sk.js │ │ │ ├── sl.js │ │ │ ├── sq.js │ │ │ ├── sr-cyr.js │ │ │ ├── sr.js │ │ │ ├── sv.js │ │ │ ├── ta.js │ │ │ ├── th.js │ │ │ ├── tl-ph.js │ │ │ ├── tr.js │ │ │ ├── tzm-la.js │ │ │ ├── tzm.js │ │ │ ├── uk.js │ │ │ ├── uz.js │ │ │ ├── vi.js │ │ │ ├── zh-cn.js │ │ │ └── zh-tw.js │ │ ├── min │ │ │ ├── langs.js │ │ │ ├── langs.min.js │ │ │ ├── moment-with-langs.js │ │ │ ├── moment-with-langs.min.js │ │ │ └── moment.min.js │ │ ├── moment.js │ │ └── readme.md │ ├── normalize-css │ │ ├── .bower.json │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── bower.json │ │ └── normalize.css │ ├── react │ │ ├── .bower.json │ │ ├── JSXTransformer.js │ │ ├── bower.json │ │ ├── react-with-addons.js │ │ ├── react-with-addons.min.js │ │ ├── react.js │ │ └── react.min.js │ └── underscore │ │ ├── .bower.json │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bower.json │ │ ├── component.json │ │ ├── package.json │ │ └── underscore.js ├── css │ ├── _syntax.less │ ├── alerts.less │ ├── buttons.less │ ├── colors.less │ ├── contact.less │ ├── docs.less │ ├── home-gce.less │ ├── job-board.css │ ├── learn.less │ ├── mesosphere.less │ ├── mixins.less │ ├── modal.less │ ├── popover.less │ ├── tables.less │ ├── team.less │ ├── transitions.less │ ├── tutorials.less │ ├── typography.less │ └── video.less ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ └── mesosphere-iconset │ │ ├── mesosphere-iconset.eot │ │ ├── mesosphere-iconset.svg │ │ ├── mesosphere-iconset.ttf │ │ └── mesosphere-iconset.woff ├── img │ ├── ZeroClipboard.swf │ ├── alerts │ │ └── alert-icons-67x16.png │ ├── chronos-docker.png │ ├── contact │ │ └── stamen-toner-map-2554x1410.jpg │ ├── fault-tolerant-symbols-lg.png │ ├── gce-topology.png │ ├── google-project-id.png │ ├── h1-mesosphere │ │ └── components │ │ │ └── icons │ │ │ ├── favicon-apple-114x114.png │ │ │ ├── favicon-apple-120x120.png │ │ │ ├── favicon-apple-144x144.png │ │ │ ├── favicon-apple-152x152.png │ │ │ ├── favicon-apple-57x57.png │ │ │ ├── favicon-apple-60x60.png │ │ │ ├── favicon-apple-72x72.png │ │ │ ├── favicon-apple-76x76.png │ │ │ └── favicon.ico │ ├── hn.gif │ ├── learn │ │ ├── README │ │ ├── debugging │ │ │ ├── consoles.png │ │ │ ├── mesos-console-frameworks.png │ │ │ ├── mesos-console-sandbox.png │ │ │ ├── mesos-console-slave.png │ │ │ ├── mesos-console-stderr.png │ │ │ ├── mesos-console-task.png │ │ │ ├── mesos-console-tasks.png │ │ │ ├── mesos-console.png │ │ │ └── ssh-ps.png │ │ ├── get-started-1544x442.jpg │ │ ├── mesos-console.png │ │ ├── periodic-table-721x411.png │ │ ├── rails_create.jpg │ │ ├── rails_out.jpg │ │ ├── rails_running.jpg │ │ ├── service-icons-551x45.png │ │ └── service-icons-857x77.png │ ├── marathon-docker-kill.png │ ├── marathon-docker-scaling.png │ ├── marathon-docker.png │ ├── marathon-tomcat-config.png │ ├── marathon-tomcat-running.png │ ├── marathon-tomcat-scaling.png │ ├── marathon.png │ ├── mesos-active-tasks.png │ ├── press │ │ ├── readwrite.svg │ │ ├── sdncentral.svg │ │ ├── techcrunch.svg │ │ └── thenewstack.jpeg │ ├── service-discovery │ │ ├── 1.png │ │ ├── 2.png │ │ └── 3.png │ ├── team │ │ ├── perk-icons-150x1224.png │ │ ├── perks-work-1030x600.jpg │ │ ├── stamen-map-1170x420.jpg │ │ ├── team-tile-backend-1170x468.jpg │ │ ├── team-tile-frontend-1170x468.jpg │ │ ├── team-tile-marketing-1170x468.jpg │ │ ├── team-tile-operations-1170x468.jpg │ │ ├── team-tile-ovaloffice-1170x468.jpg │ │ ├── team-tile-people-1170x468.jpg │ │ └── team-tile-ux-1170x468.jpg │ ├── tutorial-logos.png │ ├── tutorial-logos@2x.png │ ├── unify-workloads-icons-lg.png │ └── vpn-selection.png └── js │ ├── application.js │ ├── libraries │ ├── backstretch │ │ └── jquery.backstretch.min.js │ ├── bootstrap │ │ └── bootstrap.min.js │ ├── carousel │ │ └── jquery.carousel.js │ ├── embedded-smart-player.min.js │ ├── jquery.js │ ├── perfect-scrollbar-master │ │ ├── .csslintrc │ │ ├── .gitignore │ │ ├── .jshintrc │ │ ├── .travis.yml │ │ ├── perfect-scrollbar.min.js │ │ └── perfect-scrollbar.with-mousewheel.min.js │ └── retina-1.3.0 │ │ ├── retina.js │ │ └── retina.min.js │ ├── mesosphere.js │ ├── progress.js │ ├── templates │ └── job-opening.jst.ejs │ └── tutorials.js ├── _config.dev.yml ├── _config.staging.yml ├── _config.yml ├── _data ├── docs_sidebar.yml ├── download_rc_versions.yml ├── download_versions.yml └── tutorials.yml ├── _includes ├── downloads │ └── repository-setup.md ├── footer.html ├── instruction-link.html ├── mesos │ └── deep-dive │ │ └── menu.md ├── navbar.html ├── sidebar.html ├── tutorial_modal_default.html ├── tutorial_modal_install.html └── tutorials │ ├── header.html │ ├── overview.html │ ├── signup.html │ ├── step.html │ └── success.html ├── _layouts ├── base.html ├── default.html ├── doc.html ├── h1-mesosphere.html ├── post.html ├── tutorial.html └── unwrapped.html ├── _plugins ├── asset-preprocessor.rb ├── bundler.rb ├── less.rb ├── mesos-video.rb └── render.rb ├── advanced-course ├── advanced-cluster-building.md ├── advanced-usage-of-chronos.md ├── advanced-usage-of-marathon.md ├── building-and-running-mesos-dns.md ├── creating-a-slave-node.md ├── deploying-a-web-app-using-docker.md ├── distributing-docker-to-multiple-nodes.md ├── index.md ├── installing-and-using-dcos-cli.md ├── installing-chronos.md ├── installing-mesos.md ├── installing-software.md ├── installing-zookeeper.md ├── introduction.md ├── marathon-rest-api.md ├── recreating-the-cluster-using-ansible.md ├── scaling-to-two-nodes.md ├── starting-four-nodes.md ├── starting-marathon.md ├── style.css ├── troubleshooting.md ├── using-apache-mesos.md └── using-the-marathon-gui.md ├── downloads ├── mesos-nightly.md ├── mesos-rc.md └── mesos.md ├── error ├── 404.html └── error.html ├── favicon.ico ├── frameworks ├── _development.md ├── chronos.html ├── index.md └── marathon.html ├── generateYaml ├── getting-started ├── cloud │ ├── amazon │ │ └── index.md │ ├── google │ │ └── index.md │ └── index.md ├── index.md ├── install.md ├── privacy.md ├── resources.md ├── terms.md └── tools.md ├── google6dc7450c38e56aed.html ├── index.md ├── reference ├── generate-ssh-key.md ├── glossary.md ├── index.md ├── mesos-master.md ├── mesos-slave.md └── packages.md ├── rm-old-files.sh ├── robots.txt └── tutorials ├── debugging-a-mesosphere-cluster.md ├── go-mesos-framework.md ├── index.md ├── launch-docker-container-on-mesosphere.md ├── run-ruby-on-rails-on-mesos.html └── service-discovery.md /.gitignore: -------------------------------------------------------------------------------- 1 | _build 2 | _site 3 | bin 4 | .ssh 5 | .jekyll-assets-cache 6 | vendor 7 | .bundle/ 8 | .DS_Store 9 | .*.sw* 10 | .divshot-cache/ 11 | .idea 12 | services/kubernetes_revert.md 13 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "slides/oscon-mesos-2014"] 2 | path = slides/oscon-mesos-2014 3 | url = git@github.com:mesosphere/oscon-mesos-2014.git 4 | [submodule "slides/gdg-sv-2014"] 5 | path = slides/gdg-sv-2014 6 | url = git@github.com:mesosphere/oscon-mesos-2014.git 7 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu 2 | 3 | RUN apt-get -y update && \ 4 | apt-get -y install python ruby \ 5 | openjdk-8-jdk \ 6 | git build-essential ruby-dev \ 7 | zlib1g-dev libxml2-dev && \ 8 | gem install bundler 9 | 10 | WORKDIR /website 11 | 12 | ENTRYPOINT [ "make" ] 13 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | # Exploded version of the "pages-gem"[1] from GitHub minus "jekyll-mentions" and 4 | # "jemoji" to prevent requiring Nokogiri. Nokogiri installation was causing 5 | # issues for people trying to run the site like complaints about iconv[2]. 6 | # 7 | # Since the site doesn't use mentions or emoji, just scrap them. 8 | # 9 | # [1] https://github.com/github/pages-gem 10 | # [2] https://stackoverflow.com/questions/5528839/why-does-installing-nokogiri-on-mac-os-fail-with-libiconv-is-missing 11 | gem 'RedCloth', '~> 4.2.9' 12 | gem 'jekyll', '~> 2.5.3' 13 | gem 'jekyll-redirect-from', '~> 0.6.2' 14 | gem 'jekyll-sitemap', '~> 0.8.0' 15 | gem 'kramdown', '~> 1.5.0' 16 | gem 'maruku', '~> 0.7.2' 17 | gem 'rdiscount', '~> 2.1.8' 18 | gem 'redcarpet', '~> 3.2.2' 19 | 20 | # -- Add "charset=utf-8" to Content-Type header in development. Headers are set 21 | # in S3 when the site is deployed, and they need to be served locally as 22 | # well to make browsers interpret HTML as UTF-8. 23 | gem 'jekyll-utf8', '~> 0.0.1' 24 | 25 | gem 'rake', '~> 10.4.2' 26 | gem 'libxml-ruby', '~> 2.8.0' 27 | 28 | # --- LESS 29 | gem 'therubyracer', '~> 0.12.1' 30 | gem 'less', '~> 2.6.0' 31 | 32 | # --- Build 33 | gem 'yui-compressor', '~> 0.12.0' 34 | gem 'sprockets-less', '~> 0.6.1' 35 | gem 'jekyll-assets', '~>0.9.0' 36 | gem 'ejs', '~> 1.1.1' 37 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | 2 | STAGING = s3://open-staging.mesosphere.com/ 3 | PROD = s3://open.mesosphere.com/ 4 | PUBLIC_DIR= _build/ 5 | 6 | DOCKER_IMAGE=thomasr/build-jekyll 7 | DOCKER_TAG=0.5 8 | 9 | docker: docker.build docker.push 10 | 11 | docker.build: 12 | docker build -t $(DOCKER_IMAGE):$(DOCKER_TAG) . 13 | 14 | docker.push: 15 | docker push $(DOCKER_IMAGE):$(DOCKER_TAG) 16 | 17 | site.build: 18 | docker run --rm=true -e "BRANCH=$(BRANCH)" -v $(CHECKOUT):/website \ 19 | $(DOCKER_IMAGE):$(DOCKER_TAG) build 20 | 21 | deploy_bucket=$(STAGING) 22 | ifeq ($(BRANCH),prod) 23 | deploy_bucket=$(PROD) 24 | endif 25 | 26 | publish.assets: 27 | aws s3 sync \ 28 | --region us-east-1 \ 29 | --acl public-read \ 30 | --cache-control "public,max-age=600" \ 31 | --content-type "text/html; charset=utf-8" \ 32 | --exclude "*" \ 33 | --include "*.html" \ 34 | --delete \ 35 | $(PUBLIC_DIR) $(deploy_bucket) 36 | 37 | aws s3 sync \ 38 | --region us-east-1 \ 39 | --acl public-read \ 40 | --cache-control "public,max-age=600" \ 41 | --exclude "*" \ 42 | --include "*.xml" \ 43 | $(PUBLIC_DIR) $(deploy_bucket) 44 | 45 | aws s3 sync \ 46 | --region us-east-1 \ 47 | --acl public-read \ 48 | --cache-control "public,max-age=31536000" \ 49 | --exclude "*.html" \ 50 | --exclude "*.xml" \ 51 | $(PUBLIC_DIR) $(deploy_bucket) 52 | 53 | build_config=-c _config.yml 54 | ifeq ($(BRANCH),prod) 55 | else 56 | build_config := $(build_config),_config.staging.yml 57 | endif 58 | 59 | build: 60 | bundle install 61 | LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" bundle exec jekyll build -d _build $(build_config) 62 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [DEPRECATED] 2 | **This is currently used only for publishing [Mesos deb/rpm binaries](open.mesosphere.com/downloads/mesos) and is owned by the Mesos Core Team.** 3 | 4 | Build is here: https://jenkins.mesosphere.com/service/jenkins/job/open-docs/ 5 | 6 | **THE REST OF THE CONTENT IS DEPRECATED. FOR THE LATEST INFORMATION, SEE dcos.io.** 7 | 8 | This repository contains the Markdown files that comprise the [Mesosphere open documentation site](http://open.mesosphere.com). 9 | 10 | ## View on staging environment 11 | 12 | After a few minutes, an automated build will deploy changes to master to [the staging site](http://open-staging.mesosphere.com.s3-website-us-east-1.amazonaws.com/). 13 | 14 | Periodically these changes will be pushed to the production site. 15 | 16 | ## Running this site locally 17 | 18 | If you are developing against this site and wish to see a rendered version of your documentation locally. 19 | 20 | 1. Install [RubyGems](https://rubygems.org/pages/download) 21 | 2. Install Bundler 22 | 23 | sudo gem install bundler 24 | 3. Update bundler 25 | 26 | bundle update 27 | 4. Add the default gems from the root of the project (you may need libxml2 - see [here](http://nokogiri.org/tutorials/installing_nokogiri.html) for instructions) 28 | 29 | bundle install --path vendor/bundle 30 | 5. Run Jekyll from the root of the project 31 | 32 | # Run Jekyll and watch for changes 33 | bundle exec rake dev 34 | 6. View the site in your browser: [http://localhost:4000](http://localhost:4000) 35 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require 'rake/clean' 2 | 3 | # Use a trailing slash for AWS CLI to recursively upload the contents rather 4 | # than upload the directory as "_build" in S3. 5 | BUILD_DIRECTORY = "_build/" 6 | 7 | CLEAN.add(BUILD_DIRECTORY) 8 | 9 | task :build => [:clean] do 10 | # Build the site with default (production) configuration. 11 | build_success = 12 | system "bundle exec jekyll build -d #{BUILD_DIRECTORY} -c _config.yml" 13 | 14 | unless build_success 15 | puts "Jekyll failed to build" 16 | exit 1 17 | end 18 | end 19 | 20 | task :dev, :mode do |t, args| 21 | cmd = %w(bundle exec jekyll serve --watch) 22 | cmd << %w(--config _config.yml,_config.dev.yml) 23 | case args.mode 24 | when 'drafts' then cmd << '--drafts' 25 | end 26 | cmd_string = cmd.join(' ') 27 | puts "Running: #{cmd_string}" 28 | exec cmd_string 29 | end 30 | -------------------------------------------------------------------------------- /_assets/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "magic-mesos", 3 | "version": "0.0.0", 4 | "authors": [], 5 | "license": "MIT", 6 | "homepage": "http://mesosphere.com/", 7 | "private": true, 8 | "ignore": [ 9 | "**/.*", 10 | "node_modules", 11 | "bower_components", 12 | "test", 13 | "tests" 14 | ], 15 | "dependencies": { 16 | "amcharts": "~3.4.6", 17 | "moment": "~2.6.0", 18 | "normalize-css": "~3.0.1", 19 | "react": "~0.10.0", 20 | "underscore": "~1.6.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /_assets/bower_components/amcharts/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "amcharts", 3 | "version": "3.4.6", 4 | "main": "./dist/amcharts/amcharts.js", 5 | "dependencies": {}, 6 | "homepage": "https://github.com/arturgspb/bower-amcharts", 7 | "_release": "3.4.6", 8 | "_resolution": { 9 | "type": "version", 10 | "tag": "v3.4.6", 11 | "commit": "cffbff2f8913536efedc22e42dd674580d9961e1" 12 | }, 13 | "_source": "git://github.com/arturgspb/bower-amcharts.git", 14 | "_target": "~3.4.6", 15 | "_originalSource": "amcharts" 16 | } -------------------------------------------------------------------------------- /_assets/bower_components/amcharts/README.md: -------------------------------------------------------------------------------- 1 | # bower-amchats 2 | 3 | This repo is for distribution on `bower`. The source for this module is in the 4 | [AmCharts](http://www.amcharts.com). 5 | Please file issues and pull requests against that project. 6 | 7 | ## Install 8 | 9 | Install with `bower`: 10 | 11 | ```shell 12 | bower install amcharts 13 | ``` 14 | 15 | Add a ` 19 | ``` 20 | 21 | ## Documentation and Demos 22 | 23 | Documentation is available on the 24 | [AmCharts docs site](http://docs.amcharts.com/3/). 25 | [AmCharts demo site](http://www.amcharts.com/demos/). 26 | 27 | ## License 28 | 29 | This AmCharts software is free under a linkware license. 30 | 31 | This means you may not remove or hide in any other way link to amcharts 32 | web site - www.amcharts.com. 33 | 34 | If you wish to remove the link, you should purchase commercial license. 35 | 36 | You may not redistribute, sublicense or sell this program without written 37 | permission of Antanas Marcelionis, the author of amcharts software. 38 | 39 | This software is provided without warranty. 40 | ********************************************************************************* 41 | A commercial version (without link) is available at amCharts's website: 42 | http://shop.amcharts.com/ 43 | ********************************************************************************* 44 | -------------------------------------------------------------------------------- /_assets/bower_components/amcharts/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "amcharts", 3 | "version": "3.4.6", 4 | "main": "./dist/amcharts/amcharts.js", 5 | "dependencies": { 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "moment", 3 | "version": "2.6.0", 4 | "main": "moment.js", 5 | "ignore": [ 6 | "**/.*", 7 | "node_modules", 8 | "bower_components", 9 | "test", 10 | "tests", 11 | "tasks", 12 | "component.json", 13 | "composer.json", 14 | "CONTRIBUTING.md", 15 | "ender.js", 16 | "Gruntfile.js", 17 | "package.js", 18 | "package.json" 19 | ], 20 | "homepage": "https://github.com/moment/moment", 21 | "_release": "2.6.0", 22 | "_resolution": { 23 | "type": "version", 24 | "tag": "2.6.0", 25 | "commit": "249223c7ffe5b48caeee6cabb5d27f78cc47bbad" 26 | }, 27 | "_source": "git://github.com/moment/moment.git", 28 | "_target": "~2.6.0", 29 | "_originalSource": "moment" 30 | } -------------------------------------------------------------------------------- /_assets/bower_components/moment/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2014 Tim Wood, Iskren Chernev, Moment.js contributors 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "moment", 3 | "version": "2.6.0", 4 | "main": "moment.js", 5 | "ignore": [ 6 | "**/.*", 7 | "node_modules", 8 | "bower_components", 9 | "test", 10 | "tests", 11 | "tasks", 12 | "component.json", 13 | "composer.json", 14 | "CONTRIBUTING.md", 15 | "ender.js", 16 | "Gruntfile.js", 17 | "package.js", 18 | "package.json" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/ar-ma.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : Moroccan Arabic (ar-ma) 3 | // author : ElFadili Yassine : https://github.com/ElFadiliY 4 | // author : Abdel Said : https://github.com/abdelsaid 5 | 6 | (function (factory) { 7 | if (typeof define === 'function' && define.amd) { 8 | define(['moment'], factory); // AMD 9 | } else if (typeof exports === 'object') { 10 | module.exports = factory(require('../moment')); // Node 11 | } else { 12 | factory(window.moment); // Browser global 13 | } 14 | }(function (moment) { 15 | return moment.lang('ar-ma', { 16 | months : "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"), 17 | monthsShort : "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"), 18 | weekdays : "الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"), 19 | weekdaysShort : "احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"), 20 | weekdaysMin : "ح_ن_ث_ر_خ_ج_س".split("_"), 21 | longDateFormat : { 22 | LT : "HH:mm", 23 | L : "DD/MM/YYYY", 24 | LL : "D MMMM YYYY", 25 | LLL : "D MMMM YYYY LT", 26 | LLLL : "dddd D MMMM YYYY LT" 27 | }, 28 | calendar : { 29 | sameDay: "[اليوم على الساعة] LT", 30 | nextDay: '[غدا على الساعة] LT', 31 | nextWeek: 'dddd [على الساعة] LT', 32 | lastDay: '[أمس على الساعة] LT', 33 | lastWeek: 'dddd [على الساعة] LT', 34 | sameElse: 'L' 35 | }, 36 | relativeTime : { 37 | future : "في %s", 38 | past : "منذ %s", 39 | s : "ثوان", 40 | m : "دقيقة", 41 | mm : "%d دقائق", 42 | h : "ساعة", 43 | hh : "%d ساعات", 44 | d : "يوم", 45 | dd : "%d أيام", 46 | M : "شهر", 47 | MM : "%d أشهر", 48 | y : "سنة", 49 | yy : "%d سنوات" 50 | }, 51 | week : { 52 | dow : 6, // Saturday is the first day of the week. 53 | doy : 12 // The week that contains Jan 1st is the first week of the year. 54 | } 55 | }); 56 | })); 57 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/ar.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : Arabic (ar) 3 | // author : Abdel Said : https://github.com/abdelsaid 4 | // changes in months, weekdays : Ahmed Elkhatib 5 | 6 | (function (factory) { 7 | if (typeof define === 'function' && define.amd) { 8 | define(['moment'], factory); // AMD 9 | } else if (typeof exports === 'object') { 10 | module.exports = factory(require('../moment')); // Node 11 | } else { 12 | factory(window.moment); // Browser global 13 | } 14 | }(function (moment) { 15 | return moment.lang('ar', { 16 | months : "يناير/ كانون الثاني_فبراير/ شباط_مارس/ آذار_أبريل/ نيسان_مايو/ أيار_يونيو/ حزيران_يوليو/ تموز_أغسطس/ آب_سبتمبر/ أيلول_أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول".split("_"), 17 | monthsShort : "يناير/ كانون الثاني_فبراير/ شباط_مارس/ آذار_أبريل/ نيسان_مايو/ أيار_يونيو/ حزيران_يوليو/ تموز_أغسطس/ آب_سبتمبر/ أيلول_أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول".split("_"), 18 | weekdays : "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"), 19 | weekdaysShort : "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"), 20 | weekdaysMin : "ح_ن_ث_ر_خ_ج_س".split("_"), 21 | longDateFormat : { 22 | LT : "HH:mm", 23 | L : "DD/MM/YYYY", 24 | LL : "D MMMM YYYY", 25 | LLL : "D MMMM YYYY LT", 26 | LLLL : "dddd D MMMM YYYY LT" 27 | }, 28 | calendar : { 29 | sameDay: "[اليوم على الساعة] LT", 30 | nextDay: '[غدا على الساعة] LT', 31 | nextWeek: 'dddd [على الساعة] LT', 32 | lastDay: '[أمس على الساعة] LT', 33 | lastWeek: 'dddd [على الساعة] LT', 34 | sameElse: 'L' 35 | }, 36 | relativeTime : { 37 | future : "في %s", 38 | past : "منذ %s", 39 | s : "ثوان", 40 | m : "دقيقة", 41 | mm : "%d دقائق", 42 | h : "ساعة", 43 | hh : "%d ساعات", 44 | d : "يوم", 45 | dd : "%d أيام", 46 | M : "شهر", 47 | MM : "%d أشهر", 48 | y : "سنة", 49 | yy : "%d سنوات" 50 | }, 51 | week : { 52 | dow : 6, // Saturday is the first day of the week. 53 | doy : 12 // The week that contains Jan 1st is the first week of the year. 54 | } 55 | }); 56 | })); 57 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/ca.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : catalan (ca) 3 | // author : Juan G. Hurtado : https://github.com/juanghurtado 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('ca', { 15 | months : "gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"), 16 | monthsShort : "gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.".split("_"), 17 | weekdays : "diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"), 18 | weekdaysShort : "dg._dl._dt._dc._dj._dv._ds.".split("_"), 19 | weekdaysMin : "Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"), 20 | longDateFormat : { 21 | LT : "H:mm", 22 | L : "DD/MM/YYYY", 23 | LL : "D MMMM YYYY", 24 | LLL : "D MMMM YYYY LT", 25 | LLLL : "dddd D MMMM YYYY LT" 26 | }, 27 | calendar : { 28 | sameDay : function () { 29 | return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 30 | }, 31 | nextDay : function () { 32 | return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 33 | }, 34 | nextWeek : function () { 35 | return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 36 | }, 37 | lastDay : function () { 38 | return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 39 | }, 40 | lastWeek : function () { 41 | return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 42 | }, 43 | sameElse : 'L' 44 | }, 45 | relativeTime : { 46 | future : "en %s", 47 | past : "fa %s", 48 | s : "uns segons", 49 | m : "un minut", 50 | mm : "%d minuts", 51 | h : "una hora", 52 | hh : "%d hores", 53 | d : "un dia", 54 | dd : "%d dies", 55 | M : "un mes", 56 | MM : "%d mesos", 57 | y : "un any", 58 | yy : "%d anys" 59 | }, 60 | ordinal : '%dº', 61 | week : { 62 | dow : 1, // Monday is the first day of the week. 63 | doy : 4 // The week that contains Jan 4th is the first week of the year. 64 | } 65 | }); 66 | })); 67 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/cv.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : chuvash (cv) 3 | // author : Anatoly Mironov : https://github.com/mirontoli 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('cv', { 15 | months : "кăрлач_нарăс_пуш_ака_май_çĕртме_утă_çурла_авăн_юпа_чӳк_раштав".split("_"), 16 | monthsShort : "кăр_нар_пуш_ака_май_çĕр_утă_çур_ав_юпа_чӳк_раш".split("_"), 17 | weekdays : "вырсарникун_тунтикун_ытларикун_юнкун_кĕçнерникун_эрнекун_шăматкун".split("_"), 18 | weekdaysShort : "выр_тун_ытл_юн_кĕç_эрн_шăм".split("_"), 19 | weekdaysMin : "вр_тн_ыт_юн_кç_эр_шм".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "DD-MM-YYYY", 23 | LL : "YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ]", 24 | LLL : "YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT", 25 | LLLL : "dddd, YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT" 26 | }, 27 | calendar : { 28 | sameDay: '[Паян] LT [сехетре]', 29 | nextDay: '[Ыран] LT [сехетре]', 30 | lastDay: '[Ĕнер] LT [сехетре]', 31 | nextWeek: '[Çитес] dddd LT [сехетре]', 32 | lastWeek: '[Иртнĕ] dddd LT [сехетре]', 33 | sameElse: 'L' 34 | }, 35 | relativeTime : { 36 | future : function (output) { 37 | var affix = /сехет$/i.exec(output) ? "рен" : /çул$/i.exec(output) ? "тан" : "ран"; 38 | return output + affix; 39 | }, 40 | past : "%s каялла", 41 | s : "пĕр-ик çеккунт", 42 | m : "пĕр минут", 43 | mm : "%d минут", 44 | h : "пĕр сехет", 45 | hh : "%d сехет", 46 | d : "пĕр кун", 47 | dd : "%d кун", 48 | M : "пĕр уйăх", 49 | MM : "%d уйăх", 50 | y : "пĕр çул", 51 | yy : "%d çул" 52 | }, 53 | ordinal : '%d-мĕш', 54 | week : { 55 | dow : 1, // Monday is the first day of the week. 56 | doy : 7 // The week that contains Jan 1st is the first week of the year. 57 | } 58 | }); 59 | })); 60 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/da.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : danish (da) 3 | // author : Ulrik Nielsen : https://github.com/mrbase 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('da', { 15 | months : "januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"), 16 | monthsShort : "jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"), 17 | weekdays : "søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"), 18 | weekdaysShort : "søn_man_tir_ons_tor_fre_lør".split("_"), 19 | weekdaysMin : "sø_ma_ti_on_to_fr_lø".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "DD/MM/YYYY", 23 | LL : "D MMMM YYYY", 24 | LLL : "D MMMM YYYY LT", 25 | LLLL : "dddd D. MMMM, YYYY LT" 26 | }, 27 | calendar : { 28 | sameDay : '[I dag kl.] LT', 29 | nextDay : '[I morgen kl.] LT', 30 | nextWeek : 'dddd [kl.] LT', 31 | lastDay : '[I går kl.] LT', 32 | lastWeek : '[sidste] dddd [kl] LT', 33 | sameElse : 'L' 34 | }, 35 | relativeTime : { 36 | future : "om %s", 37 | past : "%s siden", 38 | s : "få sekunder", 39 | m : "et minut", 40 | mm : "%d minutter", 41 | h : "en time", 42 | hh : "%d timer", 43 | d : "en dag", 44 | dd : "%d dage", 45 | M : "en måned", 46 | MM : "%d måneder", 47 | y : "et år", 48 | yy : "%d år" 49 | }, 50 | ordinal : '%d.', 51 | week : { 52 | dow : 1, // Monday is the first day of the week. 53 | doy : 4 // The week that contains Jan 4th is the first week of the year. 54 | } 55 | }); 56 | })); 57 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/en-au.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : australian english (en-au) 3 | 4 | (function (factory) { 5 | if (typeof define === 'function' && define.amd) { 6 | define(['moment'], factory); // AMD 7 | } else if (typeof exports === 'object') { 8 | module.exports = factory(require('../moment')); // Node 9 | } else { 10 | factory(window.moment); // Browser global 11 | } 12 | }(function (moment) { 13 | return moment.lang('en-au', { 14 | months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), 15 | monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), 16 | weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), 17 | weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), 18 | weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), 19 | longDateFormat : { 20 | LT : "h:mm A", 21 | L : "DD/MM/YYYY", 22 | LL : "D MMMM YYYY", 23 | LLL : "D MMMM YYYY LT", 24 | LLLL : "dddd, D MMMM YYYY LT" 25 | }, 26 | calendar : { 27 | sameDay : '[Today at] LT', 28 | nextDay : '[Tomorrow at] LT', 29 | nextWeek : 'dddd [at] LT', 30 | lastDay : '[Yesterday at] LT', 31 | lastWeek : '[Last] dddd [at] LT', 32 | sameElse : 'L' 33 | }, 34 | relativeTime : { 35 | future : "in %s", 36 | past : "%s ago", 37 | s : "a few seconds", 38 | m : "a minute", 39 | mm : "%d minutes", 40 | h : "an hour", 41 | hh : "%d hours", 42 | d : "a day", 43 | dd : "%d days", 44 | M : "a month", 45 | MM : "%d months", 46 | y : "a year", 47 | yy : "%d years" 48 | }, 49 | ordinal : function (number) { 50 | var b = number % 10, 51 | output = (~~ (number % 100 / 10) === 1) ? 'th' : 52 | (b === 1) ? 'st' : 53 | (b === 2) ? 'nd' : 54 | (b === 3) ? 'rd' : 'th'; 55 | return number + output; 56 | }, 57 | week : { 58 | dow : 1, // Monday is the first day of the week. 59 | doy : 4 // The week that contains Jan 4th is the first week of the year. 60 | } 61 | }); 62 | })); 63 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/en-ca.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : canadian english (en-ca) 3 | // author : Jonathan Abourbih : https://github.com/jonbca 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('en-ca', { 15 | months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), 16 | monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), 17 | weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), 18 | weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), 19 | weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), 20 | longDateFormat : { 21 | LT : "h:mm A", 22 | L : "YYYY-MM-DD", 23 | LL : "D MMMM, YYYY", 24 | LLL : "D MMMM, YYYY LT", 25 | LLLL : "dddd, D MMMM, YYYY LT" 26 | }, 27 | calendar : { 28 | sameDay : '[Today at] LT', 29 | nextDay : '[Tomorrow at] LT', 30 | nextWeek : 'dddd [at] LT', 31 | lastDay : '[Yesterday at] LT', 32 | lastWeek : '[Last] dddd [at] LT', 33 | sameElse : 'L' 34 | }, 35 | relativeTime : { 36 | future : "in %s", 37 | past : "%s ago", 38 | s : "a few seconds", 39 | m : "a minute", 40 | mm : "%d minutes", 41 | h : "an hour", 42 | hh : "%d hours", 43 | d : "a day", 44 | dd : "%d days", 45 | M : "a month", 46 | MM : "%d months", 47 | y : "a year", 48 | yy : "%d years" 49 | }, 50 | ordinal : function (number) { 51 | var b = number % 10, 52 | output = (~~ (number % 100 / 10) === 1) ? 'th' : 53 | (b === 1) ? 'st' : 54 | (b === 2) ? 'nd' : 55 | (b === 3) ? 'rd' : 'th'; 56 | return number + output; 57 | } 58 | }); 59 | })); 60 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/en-gb.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : great britain english (en-gb) 3 | // author : Chris Gedrim : https://github.com/chrisgedrim 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('en-gb', { 15 | months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), 16 | monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), 17 | weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), 18 | weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), 19 | weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "DD/MM/YYYY", 23 | LL : "D MMMM YYYY", 24 | LLL : "D MMMM YYYY LT", 25 | LLLL : "dddd, D MMMM YYYY LT" 26 | }, 27 | calendar : { 28 | sameDay : '[Today at] LT', 29 | nextDay : '[Tomorrow at] LT', 30 | nextWeek : 'dddd [at] LT', 31 | lastDay : '[Yesterday at] LT', 32 | lastWeek : '[Last] dddd [at] LT', 33 | sameElse : 'L' 34 | }, 35 | relativeTime : { 36 | future : "in %s", 37 | past : "%s ago", 38 | s : "a few seconds", 39 | m : "a minute", 40 | mm : "%d minutes", 41 | h : "an hour", 42 | hh : "%d hours", 43 | d : "a day", 44 | dd : "%d days", 45 | M : "a month", 46 | MM : "%d months", 47 | y : "a year", 48 | yy : "%d years" 49 | }, 50 | ordinal : function (number) { 51 | var b = number % 10, 52 | output = (~~ (number % 100 / 10) === 1) ? 'th' : 53 | (b === 1) ? 'st' : 54 | (b === 2) ? 'nd' : 55 | (b === 3) ? 'rd' : 'th'; 56 | return number + output; 57 | }, 58 | week : { 59 | dow : 1, // Monday is the first day of the week. 60 | doy : 4 // The week that contains Jan 4th is the first week of the year. 61 | } 62 | }); 63 | })); 64 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/eo.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : esperanto (eo) 3 | // author : Colin Dean : https://github.com/colindean 4 | // komento: Mi estas malcerta se mi korekte traktis akuzativojn en tiu traduko. 5 | // Se ne, bonvolu korekti kaj avizi min por ke mi povas lerni! 6 | 7 | (function (factory) { 8 | if (typeof define === 'function' && define.amd) { 9 | define(['moment'], factory); // AMD 10 | } else if (typeof exports === 'object') { 11 | module.exports = factory(require('../moment')); // Node 12 | } else { 13 | factory(window.moment); // Browser global 14 | } 15 | }(function (moment) { 16 | return moment.lang('eo', { 17 | months : "januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"), 18 | monthsShort : "jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"), 19 | weekdays : "Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato".split("_"), 20 | weekdaysShort : "Dim_Lun_Mard_Merk_Ĵaŭ_Ven_Sab".split("_"), 21 | weekdaysMin : "Di_Lu_Ma_Me_Ĵa_Ve_Sa".split("_"), 22 | longDateFormat : { 23 | LT : "HH:mm", 24 | L : "YYYY-MM-DD", 25 | LL : "D[-an de] MMMM, YYYY", 26 | LLL : "D[-an de] MMMM, YYYY LT", 27 | LLLL : "dddd, [la] D[-an de] MMMM, YYYY LT" 28 | }, 29 | meridiem : function (hours, minutes, isLower) { 30 | if (hours > 11) { 31 | return isLower ? 'p.t.m.' : 'P.T.M.'; 32 | } else { 33 | return isLower ? 'a.t.m.' : 'A.T.M.'; 34 | } 35 | }, 36 | calendar : { 37 | sameDay : '[Hodiaŭ je] LT', 38 | nextDay : '[Morgaŭ je] LT', 39 | nextWeek : 'dddd [je] LT', 40 | lastDay : '[Hieraŭ je] LT', 41 | lastWeek : '[pasinta] dddd [je] LT', 42 | sameElse : 'L' 43 | }, 44 | relativeTime : { 45 | future : "je %s", 46 | past : "antaŭ %s", 47 | s : "sekundoj", 48 | m : "minuto", 49 | mm : "%d minutoj", 50 | h : "horo", 51 | hh : "%d horoj", 52 | d : "tago",//ne 'diurno', ĉar estas uzita por proksimumo 53 | dd : "%d tagoj", 54 | M : "monato", 55 | MM : "%d monatoj", 56 | y : "jaro", 57 | yy : "%d jaroj" 58 | }, 59 | ordinal : "%da", 60 | week : { 61 | dow : 1, // Monday is the first day of the week. 62 | doy : 7 // The week that contains Jan 1st is the first week of the year. 63 | } 64 | }); 65 | })); 66 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/eu.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : euskara (eu) 3 | // author : Eneko Illarramendi : https://github.com/eillarra 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('eu', { 15 | months : "urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"), 16 | monthsShort : "urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"), 17 | weekdays : "igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"), 18 | weekdaysShort : "ig._al._ar._az._og._ol._lr.".split("_"), 19 | weekdaysMin : "ig_al_ar_az_og_ol_lr".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "YYYY-MM-DD", 23 | LL : "YYYY[ko] MMMM[ren] D[a]", 24 | LLL : "YYYY[ko] MMMM[ren] D[a] LT", 25 | LLLL : "dddd, YYYY[ko] MMMM[ren] D[a] LT", 26 | l : "YYYY-M-D", 27 | ll : "YYYY[ko] MMM D[a]", 28 | lll : "YYYY[ko] MMM D[a] LT", 29 | llll : "ddd, YYYY[ko] MMM D[a] LT" 30 | }, 31 | calendar : { 32 | sameDay : '[gaur] LT[etan]', 33 | nextDay : '[bihar] LT[etan]', 34 | nextWeek : 'dddd LT[etan]', 35 | lastDay : '[atzo] LT[etan]', 36 | lastWeek : '[aurreko] dddd LT[etan]', 37 | sameElse : 'L' 38 | }, 39 | relativeTime : { 40 | future : "%s barru", 41 | past : "duela %s", 42 | s : "segundo batzuk", 43 | m : "minutu bat", 44 | mm : "%d minutu", 45 | h : "ordu bat", 46 | hh : "%d ordu", 47 | d : "egun bat", 48 | dd : "%d egun", 49 | M : "hilabete bat", 50 | MM : "%d hilabete", 51 | y : "urte bat", 52 | yy : "%d urte" 53 | }, 54 | ordinal : '%d.', 55 | week : { 56 | dow : 1, // Monday is the first day of the week. 57 | doy : 7 // The week that contains Jan 1st is the first week of the year. 58 | } 59 | }); 60 | })); 61 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/fo.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : faroese (fo) 3 | // author : Ragnar Johannesen : https://github.com/ragnar123 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('fo', { 15 | months : "januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"), 16 | monthsShort : "jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"), 17 | weekdays : "sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"), 18 | weekdaysShort : "sun_mán_týs_mik_hós_frí_ley".split("_"), 19 | weekdaysMin : "su_má_tý_mi_hó_fr_le".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "DD/MM/YYYY", 23 | LL : "D MMMM YYYY", 24 | LLL : "D MMMM YYYY LT", 25 | LLLL : "dddd D. MMMM, YYYY LT" 26 | }, 27 | calendar : { 28 | sameDay : '[Í dag kl.] LT', 29 | nextDay : '[Í morgin kl.] LT', 30 | nextWeek : 'dddd [kl.] LT', 31 | lastDay : '[Í gjár kl.] LT', 32 | lastWeek : '[síðstu] dddd [kl] LT', 33 | sameElse : 'L' 34 | }, 35 | relativeTime : { 36 | future : "um %s", 37 | past : "%s síðani", 38 | s : "fá sekund", 39 | m : "ein minutt", 40 | mm : "%d minuttir", 41 | h : "ein tími", 42 | hh : "%d tímar", 43 | d : "ein dagur", 44 | dd : "%d dagar", 45 | M : "ein mánaði", 46 | MM : "%d mánaðir", 47 | y : "eitt ár", 48 | yy : "%d ár" 49 | }, 50 | ordinal : '%d.', 51 | week : { 52 | dow : 1, // Monday is the first day of the week. 53 | doy : 4 // The week that contains Jan 4th is the first week of the year. 54 | } 55 | }); 56 | })); 57 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/fr-ca.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : canadian french (fr-ca) 3 | // author : Jonathan Abourbih : https://github.com/jonbca 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('fr-ca', { 15 | months : "janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"), 16 | monthsShort : "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"), 17 | weekdays : "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"), 18 | weekdaysShort : "dim._lun._mar._mer._jeu._ven._sam.".split("_"), 19 | weekdaysMin : "Di_Lu_Ma_Me_Je_Ve_Sa".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "YYYY-MM-DD", 23 | LL : "D MMMM YYYY", 24 | LLL : "D MMMM YYYY LT", 25 | LLLL : "dddd D MMMM YYYY LT" 26 | }, 27 | calendar : { 28 | sameDay: "[Aujourd'hui à] LT", 29 | nextDay: '[Demain à] LT', 30 | nextWeek: 'dddd [à] LT', 31 | lastDay: '[Hier à] LT', 32 | lastWeek: 'dddd [dernier à] LT', 33 | sameElse: 'L' 34 | }, 35 | relativeTime : { 36 | future : "dans %s", 37 | past : "il y a %s", 38 | s : "quelques secondes", 39 | m : "une minute", 40 | mm : "%d minutes", 41 | h : "une heure", 42 | hh : "%d heures", 43 | d : "un jour", 44 | dd : "%d jours", 45 | M : "un mois", 46 | MM : "%d mois", 47 | y : "un an", 48 | yy : "%d ans" 49 | }, 50 | ordinal : function (number) { 51 | return number + (number === 1 ? 'er' : ''); 52 | } 53 | }); 54 | })); 55 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/fr.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : french (fr) 3 | // author : John Fischer : https://github.com/jfroffice 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('fr', { 15 | months : "janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"), 16 | monthsShort : "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"), 17 | weekdays : "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"), 18 | weekdaysShort : "dim._lun._mar._mer._jeu._ven._sam.".split("_"), 19 | weekdaysMin : "Di_Lu_Ma_Me_Je_Ve_Sa".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "DD/MM/YYYY", 23 | LL : "D MMMM YYYY", 24 | LLL : "D MMMM YYYY LT", 25 | LLLL : "dddd D MMMM YYYY LT" 26 | }, 27 | calendar : { 28 | sameDay: "[Aujourd'hui à] LT", 29 | nextDay: '[Demain à] LT', 30 | nextWeek: 'dddd [à] LT', 31 | lastDay: '[Hier à] LT', 32 | lastWeek: 'dddd [dernier à] LT', 33 | sameElse: 'L' 34 | }, 35 | relativeTime : { 36 | future : "dans %s", 37 | past : "il y a %s", 38 | s : "quelques secondes", 39 | m : "une minute", 40 | mm : "%d minutes", 41 | h : "une heure", 42 | hh : "%d heures", 43 | d : "un jour", 44 | dd : "%d jours", 45 | M : "un mois", 46 | MM : "%d mois", 47 | y : "un an", 48 | yy : "%d ans" 49 | }, 50 | ordinal : function (number) { 51 | return number + (number === 1 ? 'er' : ''); 52 | }, 53 | week : { 54 | dow : 1, // Monday is the first day of the week. 55 | doy : 4 // The week that contains Jan 4th is the first week of the year. 56 | } 57 | }); 58 | })); 59 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/id.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : Bahasa Indonesia (id) 3 | // author : Mohammad Satrio Utomo : https://github.com/tyok 4 | // reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan 5 | 6 | (function (factory) { 7 | if (typeof define === 'function' && define.amd) { 8 | define(['moment'], factory); // AMD 9 | } else if (typeof exports === 'object') { 10 | module.exports = factory(require('../moment')); // Node 11 | } else { 12 | factory(window.moment); // Browser global 13 | } 14 | }(function (moment) { 15 | return moment.lang('id', { 16 | months : "Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"), 17 | monthsShort : "Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"), 18 | weekdays : "Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"), 19 | weekdaysShort : "Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"), 20 | weekdaysMin : "Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"), 21 | longDateFormat : { 22 | LT : "HH.mm", 23 | L : "DD/MM/YYYY", 24 | LL : "D MMMM YYYY", 25 | LLL : "D MMMM YYYY [pukul] LT", 26 | LLLL : "dddd, D MMMM YYYY [pukul] LT" 27 | }, 28 | meridiem : function (hours, minutes, isLower) { 29 | if (hours < 11) { 30 | return 'pagi'; 31 | } else if (hours < 15) { 32 | return 'siang'; 33 | } else if (hours < 19) { 34 | return 'sore'; 35 | } else { 36 | return 'malam'; 37 | } 38 | }, 39 | calendar : { 40 | sameDay : '[Hari ini pukul] LT', 41 | nextDay : '[Besok pukul] LT', 42 | nextWeek : 'dddd [pukul] LT', 43 | lastDay : '[Kemarin pukul] LT', 44 | lastWeek : 'dddd [lalu pukul] LT', 45 | sameElse : 'L' 46 | }, 47 | relativeTime : { 48 | future : "dalam %s", 49 | past : "%s yang lalu", 50 | s : "beberapa detik", 51 | m : "semenit", 52 | mm : "%d menit", 53 | h : "sejam", 54 | hh : "%d jam", 55 | d : "sehari", 56 | dd : "%d hari", 57 | M : "sebulan", 58 | MM : "%d bulan", 59 | y : "setahun", 60 | yy : "%d tahun" 61 | }, 62 | week : { 63 | dow : 1, // Monday is the first day of the week. 64 | doy : 7 // The week that contains Jan 1st is the first week of the year. 65 | } 66 | }); 67 | })); 68 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/it.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : italian (it) 3 | // author : Lorenzo : https://github.com/aliem 4 | // author: Mattia Larentis: https://github.com/nostalgiaz 5 | 6 | (function (factory) { 7 | if (typeof define === 'function' && define.amd) { 8 | define(['moment'], factory); // AMD 9 | } else if (typeof exports === 'object') { 10 | module.exports = factory(require('../moment')); // Node 11 | } else { 12 | factory(window.moment); // Browser global 13 | } 14 | }(function (moment) { 15 | return moment.lang('it', { 16 | months : "Gennaio_Febbraio_Marzo_Aprile_Maggio_Giugno_Luglio_Agosto_Settembre_Ottobre_Novembre_Dicembre".split("_"), 17 | monthsShort : "Gen_Feb_Mar_Apr_Mag_Giu_Lug_Ago_Set_Ott_Nov_Dic".split("_"), 18 | weekdays : "Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"), 19 | weekdaysShort : "Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"), 20 | weekdaysMin : "D_L_Ma_Me_G_V_S".split("_"), 21 | longDateFormat : { 22 | LT : "HH:mm", 23 | L : "DD/MM/YYYY", 24 | LL : "D MMMM YYYY", 25 | LLL : "D MMMM YYYY LT", 26 | LLLL : "dddd, D MMMM YYYY LT" 27 | }, 28 | calendar : { 29 | sameDay: '[Oggi alle] LT', 30 | nextDay: '[Domani alle] LT', 31 | nextWeek: 'dddd [alle] LT', 32 | lastDay: '[Ieri alle] LT', 33 | lastWeek: '[lo scorso] dddd [alle] LT', 34 | sameElse: 'L' 35 | }, 36 | relativeTime : { 37 | future : function (s) { 38 | return ((/^[0-9].+$/).test(s) ? "tra" : "in") + " " + s; 39 | }, 40 | past : "%s fa", 41 | s : "alcuni secondi", 42 | m : "un minuto", 43 | mm : "%d minuti", 44 | h : "un'ora", 45 | hh : "%d ore", 46 | d : "un giorno", 47 | dd : "%d giorni", 48 | M : "un mese", 49 | MM : "%d mesi", 50 | y : "un anno", 51 | yy : "%d anni" 52 | }, 53 | ordinal: '%dº', 54 | week : { 55 | dow : 1, // Monday is the first day of the week. 56 | doy : 4 // The week that contains Jan 4th is the first week of the year. 57 | } 58 | }); 59 | })); 60 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/ja.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : japanese (ja) 3 | // author : LI Long : https://github.com/baryon 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('ja', { 15 | months : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"), 16 | monthsShort : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"), 17 | weekdays : "日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"), 18 | weekdaysShort : "日_月_火_水_木_金_土".split("_"), 19 | weekdaysMin : "日_月_火_水_木_金_土".split("_"), 20 | longDateFormat : { 21 | LT : "Ah時m分", 22 | L : "YYYY/MM/DD", 23 | LL : "YYYY年M月D日", 24 | LLL : "YYYY年M月D日LT", 25 | LLLL : "YYYY年M月D日LT dddd" 26 | }, 27 | meridiem : function (hour, minute, isLower) { 28 | if (hour < 12) { 29 | return "午前"; 30 | } else { 31 | return "午後"; 32 | } 33 | }, 34 | calendar : { 35 | sameDay : '[今日] LT', 36 | nextDay : '[明日] LT', 37 | nextWeek : '[来週]dddd LT', 38 | lastDay : '[昨日] LT', 39 | lastWeek : '[前週]dddd LT', 40 | sameElse : 'L' 41 | }, 42 | relativeTime : { 43 | future : "%s後", 44 | past : "%s前", 45 | s : "数秒", 46 | m : "1分", 47 | mm : "%d分", 48 | h : "1時間", 49 | hh : "%d時間", 50 | d : "1日", 51 | dd : "%d日", 52 | M : "1ヶ月", 53 | MM : "%dヶ月", 54 | y : "1年", 55 | yy : "%d年" 56 | } 57 | }); 58 | })); 59 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/km.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : khmer (km) 3 | // author : Kruy Vanna : https://github.com/kruyvanna 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('km', { 15 | months: "មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"), 16 | monthsShort: "មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"), 17 | weekdays: "អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"), 18 | weekdaysShort: "អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"), 19 | weekdaysMin: "អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"), 20 | longDateFormat: { 21 | LT: "HH:mm", 22 | L: "DD/MM/YYYY", 23 | LL: "D MMMM YYYY", 24 | LLL: "D MMMM YYYY LT", 25 | LLLL: "dddd, D MMMM YYYY LT" 26 | }, 27 | calendar: { 28 | sameDay: '[ថ្ងៃនៈ ម៉ោង] LT', 29 | nextDay: '[ស្អែក ម៉ោង] LT', 30 | nextWeek: 'dddd [ម៉ោង] LT', 31 | lastDay: '[ម្សិលមិញ ម៉ោង] LT', 32 | lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT', 33 | sameElse: 'L' 34 | }, 35 | relativeTime: { 36 | future: "%sទៀត", 37 | past: "%sមុន", 38 | s: "ប៉ុន្មានវិនាទី", 39 | m: "មួយនាទី", 40 | mm: "%d នាទី", 41 | h: "មួយម៉ោង", 42 | hh: "%d ម៉ោង", 43 | d: "មួយថ្ងៃ", 44 | dd: "%d ថ្ងៃ", 45 | M: "មួយខែ", 46 | MM: "%d ខែ", 47 | y: "មួយឆ្នាំ", 48 | yy: "%d ឆ្នាំ" 49 | }, 50 | week: { 51 | dow: 1, // Monday is the first day of the week. 52 | doy: 4 // The week that contains Jan 4th is the first week of the year. 53 | } 54 | }); 55 | })); 56 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/ko.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : korean (ko) 3 | // 4 | // authors 5 | // 6 | // - Kyungwook, Park : https://github.com/kyungw00k 7 | // - Jeeeyul Lee 8 | (function (factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | define(['moment'], factory); // AMD 11 | } else if (typeof exports === 'object') { 12 | module.exports = factory(require('../moment')); // Node 13 | } else { 14 | factory(window.moment); // Browser global 15 | } 16 | }(function (moment) { 17 | return moment.lang('ko', { 18 | months : "1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"), 19 | monthsShort : "1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"), 20 | weekdays : "일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"), 21 | weekdaysShort : "일_월_화_수_목_금_토".split("_"), 22 | weekdaysMin : "일_월_화_수_목_금_토".split("_"), 23 | longDateFormat : { 24 | LT : "A h시 mm분", 25 | L : "YYYY.MM.DD", 26 | LL : "YYYY년 MMMM D일", 27 | LLL : "YYYY년 MMMM D일 LT", 28 | LLLL : "YYYY년 MMMM D일 dddd LT" 29 | }, 30 | meridiem : function (hour, minute, isUpper) { 31 | return hour < 12 ? '오전' : '오후'; 32 | }, 33 | calendar : { 34 | sameDay : '오늘 LT', 35 | nextDay : '내일 LT', 36 | nextWeek : 'dddd LT', 37 | lastDay : '어제 LT', 38 | lastWeek : '지난주 dddd LT', 39 | sameElse : 'L' 40 | }, 41 | relativeTime : { 42 | future : "%s 후", 43 | past : "%s 전", 44 | s : "몇초", 45 | ss : "%d초", 46 | m : "일분", 47 | mm : "%d분", 48 | h : "한시간", 49 | hh : "%d시간", 50 | d : "하루", 51 | dd : "%d일", 52 | M : "한달", 53 | MM : "%d달", 54 | y : "일년", 55 | yy : "%d년" 56 | }, 57 | ordinal : '%d일', 58 | meridiemParse : /(오전|오후)/, 59 | isPM : function (token) { 60 | return token === "오후"; 61 | } 62 | }); 63 | })); 64 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/ml.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : malayalam (ml) 3 | // author : Floyd Pink : https://github.com/floydpink 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('ml', { 15 | months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split("_"), 16 | monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split("_"), 17 | weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split("_"), 18 | weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split("_"), 19 | weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split("_"), 20 | longDateFormat : { 21 | LT : "A h:mm -നു", 22 | L : "DD/MM/YYYY", 23 | LL : "D MMMM YYYY", 24 | LLL : "D MMMM YYYY, LT", 25 | LLLL : "dddd, D MMMM YYYY, LT" 26 | }, 27 | calendar : { 28 | sameDay : '[ഇന്ന്] LT', 29 | nextDay : '[നാളെ] LT', 30 | nextWeek : 'dddd, LT', 31 | lastDay : '[ഇന്നലെ] LT', 32 | lastWeek : '[കഴിഞ്ഞ] dddd, LT', 33 | sameElse : 'L' 34 | }, 35 | relativeTime : { 36 | future : "%s കഴിഞ്ഞ്", 37 | past : "%s മുൻപ്", 38 | s : "അൽപ നിമിഷങ്ങൾ", 39 | m : "ഒരു മിനിറ്റ്", 40 | mm : "%d മിനിറ്റ്", 41 | h : "ഒരു മണിക്കൂർ", 42 | hh : "%d മണിക്കൂർ", 43 | d : "ഒരു ദിവസം", 44 | dd : "%d ദിവസം", 45 | M : "ഒരു മാസം", 46 | MM : "%d മാസം", 47 | y : "ഒരു വർഷം", 48 | yy : "%d വർഷം" 49 | }, 50 | meridiem : function (hour, minute, isLower) { 51 | if (hour < 4) { 52 | return "രാത്രി"; 53 | } else if (hour < 12) { 54 | return "രാവിലെ"; 55 | } else if (hour < 17) { 56 | return "ഉച്ച കഴിഞ്ഞ്"; 57 | } else if (hour < 20) { 58 | return "വൈകുന്നേരം"; 59 | } else { 60 | return "രാത്രി"; 61 | } 62 | } 63 | }); 64 | })); 65 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/ms-my.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : Bahasa Malaysia (ms-MY) 3 | // author : Weldan Jamili : https://github.com/weldan 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('ms-my', { 15 | months : "Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"), 16 | monthsShort : "Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"), 17 | weekdays : "Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"), 18 | weekdaysShort : "Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"), 19 | weekdaysMin : "Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"), 20 | longDateFormat : { 21 | LT : "HH.mm", 22 | L : "DD/MM/YYYY", 23 | LL : "D MMMM YYYY", 24 | LLL : "D MMMM YYYY [pukul] LT", 25 | LLLL : "dddd, D MMMM YYYY [pukul] LT" 26 | }, 27 | meridiem : function (hours, minutes, isLower) { 28 | if (hours < 11) { 29 | return 'pagi'; 30 | } else if (hours < 15) { 31 | return 'tengahari'; 32 | } else if (hours < 19) { 33 | return 'petang'; 34 | } else { 35 | return 'malam'; 36 | } 37 | }, 38 | calendar : { 39 | sameDay : '[Hari ini pukul] LT', 40 | nextDay : '[Esok pukul] LT', 41 | nextWeek : 'dddd [pukul] LT', 42 | lastDay : '[Kelmarin pukul] LT', 43 | lastWeek : 'dddd [lepas pukul] LT', 44 | sameElse : 'L' 45 | }, 46 | relativeTime : { 47 | future : "dalam %s", 48 | past : "%s yang lepas", 49 | s : "beberapa saat", 50 | m : "seminit", 51 | mm : "%d minit", 52 | h : "sejam", 53 | hh : "%d jam", 54 | d : "sehari", 55 | dd : "%d hari", 56 | M : "sebulan", 57 | MM : "%d bulan", 58 | y : "setahun", 59 | yy : "%d tahun" 60 | }, 61 | week : { 62 | dow : 1, // Monday is the first day of the week. 63 | doy : 7 // The week that contains Jan 1st is the first week of the year. 64 | } 65 | }); 66 | })); 67 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/nb.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : norwegian bokmål (nb) 3 | // authors : Espen Hovlandsdal : https://github.com/rexxars 4 | // Sigurd Gartmann : https://github.com/sigurdga 5 | 6 | (function (factory) { 7 | if (typeof define === 'function' && define.amd) { 8 | define(['moment'], factory); // AMD 9 | } else if (typeof exports === 'object') { 10 | module.exports = factory(require('../moment')); // Node 11 | } else { 12 | factory(window.moment); // Browser global 13 | } 14 | }(function (moment) { 15 | return moment.lang('nb', { 16 | months : "januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"), 17 | monthsShort : "jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"), 18 | weekdays : "søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"), 19 | weekdaysShort : "sø._ma._ti._on._to._fr._lø.".split("_"), 20 | weekdaysMin : "sø_ma_ti_on_to_fr_lø".split("_"), 21 | longDateFormat : { 22 | LT : "H.mm", 23 | L : "DD.MM.YYYY", 24 | LL : "D. MMMM YYYY", 25 | LLL : "D. MMMM YYYY [kl.] LT", 26 | LLLL : "dddd D. MMMM YYYY [kl.] LT" 27 | }, 28 | calendar : { 29 | sameDay: '[i dag kl.] LT', 30 | nextDay: '[i morgen kl.] LT', 31 | nextWeek: 'dddd [kl.] LT', 32 | lastDay: '[i går kl.] LT', 33 | lastWeek: '[forrige] dddd [kl.] LT', 34 | sameElse: 'L' 35 | }, 36 | relativeTime : { 37 | future : "om %s", 38 | past : "for %s siden", 39 | s : "noen sekunder", 40 | m : "ett minutt", 41 | mm : "%d minutter", 42 | h : "en time", 43 | hh : "%d timer", 44 | d : "en dag", 45 | dd : "%d dager", 46 | M : "en måned", 47 | MM : "%d måneder", 48 | y : "ett år", 49 | yy : "%d år" 50 | }, 51 | ordinal : '%d.', 52 | week : { 53 | dow : 1, // Monday is the first day of the week. 54 | doy : 4 // The week that contains Jan 4th is the first week of the year. 55 | } 56 | }); 57 | })); 58 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/nl.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : dutch (nl) 3 | // author : Joris Röling : https://github.com/jjupiter 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | var monthsShortWithDots = "jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"), 15 | monthsShortWithoutDots = "jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"); 16 | 17 | return moment.lang('nl', { 18 | months : "januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"), 19 | monthsShort : function (m, format) { 20 | if (/-MMM-/.test(format)) { 21 | return monthsShortWithoutDots[m.month()]; 22 | } else { 23 | return monthsShortWithDots[m.month()]; 24 | } 25 | }, 26 | weekdays : "zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"), 27 | weekdaysShort : "zo._ma._di._wo._do._vr._za.".split("_"), 28 | weekdaysMin : "Zo_Ma_Di_Wo_Do_Vr_Za".split("_"), 29 | longDateFormat : { 30 | LT : "HH:mm", 31 | L : "DD-MM-YYYY", 32 | LL : "D MMMM YYYY", 33 | LLL : "D MMMM YYYY LT", 34 | LLLL : "dddd D MMMM YYYY LT" 35 | }, 36 | calendar : { 37 | sameDay: '[vandaag om] LT', 38 | nextDay: '[morgen om] LT', 39 | nextWeek: 'dddd [om] LT', 40 | lastDay: '[gisteren om] LT', 41 | lastWeek: '[afgelopen] dddd [om] LT', 42 | sameElse: 'L' 43 | }, 44 | relativeTime : { 45 | future : "over %s", 46 | past : "%s geleden", 47 | s : "een paar seconden", 48 | m : "één minuut", 49 | mm : "%d minuten", 50 | h : "één uur", 51 | hh : "%d uur", 52 | d : "één dag", 53 | dd : "%d dagen", 54 | M : "één maand", 55 | MM : "%d maanden", 56 | y : "één jaar", 57 | yy : "%d jaar" 58 | }, 59 | ordinal : function (number) { 60 | return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); 61 | }, 62 | week : { 63 | dow : 1, // Monday is the first day of the week. 64 | doy : 4 // The week that contains Jan 4th is the first week of the year. 65 | } 66 | }); 67 | })); 68 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/nn.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : norwegian nynorsk (nn) 3 | // author : https://github.com/mechuwind 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('nn', { 15 | months : "januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"), 16 | monthsShort : "jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"), 17 | weekdays : "sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"), 18 | weekdaysShort : "sun_mån_tys_ons_tor_fre_lau".split("_"), 19 | weekdaysMin : "su_må_ty_on_to_fr_lø".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "DD.MM.YYYY", 23 | LL : "D MMMM YYYY", 24 | LLL : "D MMMM YYYY LT", 25 | LLLL : "dddd D MMMM YYYY LT" 26 | }, 27 | calendar : { 28 | sameDay: '[I dag klokka] LT', 29 | nextDay: '[I morgon klokka] LT', 30 | nextWeek: 'dddd [klokka] LT', 31 | lastDay: '[I går klokka] LT', 32 | lastWeek: '[Føregåande] dddd [klokka] LT', 33 | sameElse: 'L' 34 | }, 35 | relativeTime : { 36 | future : "om %s", 37 | past : "for %s sidan", 38 | s : "nokre sekund", 39 | m : "eit minutt", 40 | mm : "%d minutt", 41 | h : "ein time", 42 | hh : "%d timar", 43 | d : "ein dag", 44 | dd : "%d dagar", 45 | M : "ein månad", 46 | MM : "%d månader", 47 | y : "eit år", 48 | yy : "%d år" 49 | }, 50 | ordinal : '%d.', 51 | week : { 52 | dow : 1, // Monday is the first day of the week. 53 | doy : 4 // The week that contains Jan 4th is the first week of the year. 54 | } 55 | }); 56 | })); 57 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/pt-br.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : brazilian portuguese (pt-br) 3 | // author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('pt-br', { 15 | months : "janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"), 16 | monthsShort : "jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"), 17 | weekdays : "domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"), 18 | weekdaysShort : "dom_seg_ter_qua_qui_sex_sáb".split("_"), 19 | weekdaysMin : "dom_2ª_3ª_4ª_5ª_6ª_sáb".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "DD/MM/YYYY", 23 | LL : "D [de] MMMM [de] YYYY", 24 | LLL : "D [de] MMMM [de] YYYY [às] LT", 25 | LLLL : "dddd, D [de] MMMM [de] YYYY [às] LT" 26 | }, 27 | calendar : { 28 | sameDay: '[Hoje às] LT', 29 | nextDay: '[Amanhã às] LT', 30 | nextWeek: 'dddd [às] LT', 31 | lastDay: '[Ontem às] LT', 32 | lastWeek: function () { 33 | return (this.day() === 0 || this.day() === 6) ? 34 | '[Último] dddd [às] LT' : // Saturday + Sunday 35 | '[Última] dddd [às] LT'; // Monday - Friday 36 | }, 37 | sameElse: 'L' 38 | }, 39 | relativeTime : { 40 | future : "em %s", 41 | past : "%s atrás", 42 | s : "segundos", 43 | m : "um minuto", 44 | mm : "%d minutos", 45 | h : "uma hora", 46 | hh : "%d horas", 47 | d : "um dia", 48 | dd : "%d dias", 49 | M : "um mês", 50 | MM : "%d meses", 51 | y : "um ano", 52 | yy : "%d anos" 53 | }, 54 | ordinal : '%dº' 55 | }); 56 | })); 57 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/pt.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : portuguese (pt) 3 | // author : Jefferson : https://github.com/jalex79 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('pt', { 15 | months : "janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"), 16 | monthsShort : "jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"), 17 | weekdays : "domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"), 18 | weekdaysShort : "dom_seg_ter_qua_qui_sex_sáb".split("_"), 19 | weekdaysMin : "dom_2ª_3ª_4ª_5ª_6ª_sáb".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "DD/MM/YYYY", 23 | LL : "D [de] MMMM [de] YYYY", 24 | LLL : "D [de] MMMM [de] YYYY LT", 25 | LLLL : "dddd, D [de] MMMM [de] YYYY LT" 26 | }, 27 | calendar : { 28 | sameDay: '[Hoje às] LT', 29 | nextDay: '[Amanhã às] LT', 30 | nextWeek: 'dddd [às] LT', 31 | lastDay: '[Ontem às] LT', 32 | lastWeek: function () { 33 | return (this.day() === 0 || this.day() === 6) ? 34 | '[Último] dddd [às] LT' : // Saturday + Sunday 35 | '[Última] dddd [às] LT'; // Monday - Friday 36 | }, 37 | sameElse: 'L' 38 | }, 39 | relativeTime : { 40 | future : "em %s", 41 | past : "%s atrás", 42 | s : "segundos", 43 | m : "um minuto", 44 | mm : "%d minutos", 45 | h : "uma hora", 46 | hh : "%d horas", 47 | d : "um dia", 48 | dd : "%d dias", 49 | M : "um mês", 50 | MM : "%d meses", 51 | y : "um ano", 52 | yy : "%d anos" 53 | }, 54 | ordinal : '%dº', 55 | week : { 56 | dow : 1, // Monday is the first day of the week. 57 | doy : 4 // The week that contains Jan 4th is the first week of the year. 58 | } 59 | }); 60 | })); 61 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/ro.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : romanian (ro) 3 | // author : Vlad Gurdiga : https://github.com/gurdiga 4 | // author : Valentin Agachi : https://github.com/avaly 5 | 6 | (function (factory) { 7 | if (typeof define === 'function' && define.amd) { 8 | define(['moment'], factory); // AMD 9 | } else if (typeof exports === 'object') { 10 | module.exports = factory(require('../moment')); // Node 11 | } else { 12 | factory(window.moment); // Browser global 13 | } 14 | }(function (moment) { 15 | function relativeTimeWithPlural(number, withoutSuffix, key) { 16 | var format = { 17 | 'mm': 'minute', 18 | 'hh': 'ore', 19 | 'dd': 'zile', 20 | 'MM': 'luni', 21 | 'yy': 'ani' 22 | }, 23 | separator = ' '; 24 | if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) { 25 | separator = ' de '; 26 | } 27 | 28 | return number + separator + format[key]; 29 | } 30 | 31 | return moment.lang('ro', { 32 | months : "ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"), 33 | monthsShort : "ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"), 34 | weekdays : "duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"), 35 | weekdaysShort : "Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"), 36 | weekdaysMin : "Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"), 37 | longDateFormat : { 38 | LT : "H:mm", 39 | L : "DD.MM.YYYY", 40 | LL : "D MMMM YYYY", 41 | LLL : "D MMMM YYYY H:mm", 42 | LLLL : "dddd, D MMMM YYYY H:mm" 43 | }, 44 | calendar : { 45 | sameDay: "[azi la] LT", 46 | nextDay: '[mâine la] LT', 47 | nextWeek: 'dddd [la] LT', 48 | lastDay: '[ieri la] LT', 49 | lastWeek: '[fosta] dddd [la] LT', 50 | sameElse: 'L' 51 | }, 52 | relativeTime : { 53 | future : "peste %s", 54 | past : "%s în urmă", 55 | s : "câteva secunde", 56 | m : "un minut", 57 | mm : relativeTimeWithPlural, 58 | h : "o oră", 59 | hh : relativeTimeWithPlural, 60 | d : "o zi", 61 | dd : relativeTimeWithPlural, 62 | M : "o lună", 63 | MM : relativeTimeWithPlural, 64 | y : "un an", 65 | yy : relativeTimeWithPlural 66 | }, 67 | week : { 68 | dow : 1, // Monday is the first day of the week. 69 | doy : 7 // The week that contains Jan 1st is the first week of the year. 70 | } 71 | }); 72 | })); 73 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/sq.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : Albanian (sq) 3 | // author : Flakërim Ismani : https://github.com/flakerimi 4 | // author: Menelion Elensúle: https://github.com/Oire (tests) 5 | // author : Oerd Cukalla : https://github.com/oerd (fixes) 6 | 7 | (function (factory) { 8 | if (typeof define === 'function' && define.amd) { 9 | define(['moment'], factory); // AMD 10 | } else if (typeof exports === 'object') { 11 | module.exports = factory(require('../moment')); // Node 12 | } else { 13 | factory(window.moment); // Browser global 14 | } 15 | }(function (moment) { 16 | return moment.lang('sq', { 17 | months : "Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"), 18 | monthsShort : "Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"), 19 | weekdays : "E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"), 20 | weekdaysShort : "Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"), 21 | weekdaysMin : "D_H_Ma_Më_E_P_Sh".split("_"), 22 | meridiem : function (hours, minutes, isLower) { 23 | return hours < 12 ? 'PD' : 'MD'; 24 | }, 25 | longDateFormat : { 26 | LT : "HH:mm", 27 | L : "DD/MM/YYYY", 28 | LL : "D MMMM YYYY", 29 | LLL : "D MMMM YYYY LT", 30 | LLLL : "dddd, D MMMM YYYY LT" 31 | }, 32 | calendar : { 33 | sameDay : '[Sot në] LT', 34 | nextDay : '[Nesër në] LT', 35 | nextWeek : 'dddd [në] LT', 36 | lastDay : '[Dje në] LT', 37 | lastWeek : 'dddd [e kaluar në] LT', 38 | sameElse : 'L' 39 | }, 40 | relativeTime : { 41 | future : "në %s", 42 | past : "%s më parë", 43 | s : "disa sekonda", 44 | m : "një minutë", 45 | mm : "%d minuta", 46 | h : "një orë", 47 | hh : "%d orë", 48 | d : "një ditë", 49 | dd : "%d ditë", 50 | M : "një muaj", 51 | MM : "%d muaj", 52 | y : "një vit", 53 | yy : "%d vite" 54 | }, 55 | ordinal : '%d.', 56 | week : { 57 | dow : 1, // Monday is the first day of the week. 58 | doy : 4 // The week that contains Jan 4th is the first week of the year. 59 | } 60 | }); 61 | })); 62 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/sv.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : swedish (sv) 3 | // author : Jens Alm : https://github.com/ulmus 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('sv', { 15 | months : "januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"), 16 | monthsShort : "jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"), 17 | weekdays : "söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"), 18 | weekdaysShort : "sön_mån_tis_ons_tor_fre_lör".split("_"), 19 | weekdaysMin : "sö_må_ti_on_to_fr_lö".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "YYYY-MM-DD", 23 | LL : "D MMMM YYYY", 24 | LLL : "D MMMM YYYY LT", 25 | LLLL : "dddd D MMMM YYYY LT" 26 | }, 27 | calendar : { 28 | sameDay: '[Idag] LT', 29 | nextDay: '[Imorgon] LT', 30 | lastDay: '[Igår] LT', 31 | nextWeek: 'dddd LT', 32 | lastWeek: '[Förra] dddd[en] LT', 33 | sameElse: 'L' 34 | }, 35 | relativeTime : { 36 | future : "om %s", 37 | past : "för %s sedan", 38 | s : "några sekunder", 39 | m : "en minut", 40 | mm : "%d minuter", 41 | h : "en timme", 42 | hh : "%d timmar", 43 | d : "en dag", 44 | dd : "%d dagar", 45 | M : "en månad", 46 | MM : "%d månader", 47 | y : "ett år", 48 | yy : "%d år" 49 | }, 50 | ordinal : function (number) { 51 | var b = number % 10, 52 | output = (~~ (number % 100 / 10) === 1) ? 'e' : 53 | (b === 1) ? 'a' : 54 | (b === 2) ? 'a' : 55 | (b === 3) ? 'e' : 'e'; 56 | return number + output; 57 | }, 58 | week : { 59 | dow : 1, // Monday is the first day of the week. 60 | doy : 4 // The week that contains Jan 4th is the first week of the year. 61 | } 62 | }); 63 | })); 64 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/th.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : thai (th) 3 | // author : Kridsada Thanabulpong : https://github.com/sirn 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('th', { 15 | months : "มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"), 16 | monthsShort : "มกรา_กุมภา_มีนา_เมษา_พฤษภา_มิถุนา_กรกฎา_สิงหา_กันยา_ตุลา_พฤศจิกา_ธันวา".split("_"), 17 | weekdays : "อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"), 18 | weekdaysShort : "อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"), // yes, three characters difference 19 | weekdaysMin : "อา._จ._อ._พ._พฤ._ศ._ส.".split("_"), 20 | longDateFormat : { 21 | LT : "H นาฬิกา m นาที", 22 | L : "YYYY/MM/DD", 23 | LL : "D MMMM YYYY", 24 | LLL : "D MMMM YYYY เวลา LT", 25 | LLLL : "วันddddที่ D MMMM YYYY เวลา LT" 26 | }, 27 | meridiem : function (hour, minute, isLower) { 28 | if (hour < 12) { 29 | return "ก่อนเที่ยง"; 30 | } else { 31 | return "หลังเที่ยง"; 32 | } 33 | }, 34 | calendar : { 35 | sameDay : '[วันนี้ เวลา] LT', 36 | nextDay : '[พรุ่งนี้ เวลา] LT', 37 | nextWeek : 'dddd[หน้า เวลา] LT', 38 | lastDay : '[เมื่อวานนี้ เวลา] LT', 39 | lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT', 40 | sameElse : 'L' 41 | }, 42 | relativeTime : { 43 | future : "อีก %s", 44 | past : "%sที่แล้ว", 45 | s : "ไม่กี่วินาที", 46 | m : "1 นาที", 47 | mm : "%d นาที", 48 | h : "1 ชั่วโมง", 49 | hh : "%d ชั่วโมง", 50 | d : "1 วัน", 51 | dd : "%d วัน", 52 | M : "1 เดือน", 53 | MM : "%d เดือน", 54 | y : "1 ปี", 55 | yy : "%d ปี" 56 | } 57 | }); 58 | })); 59 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/tl-ph.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : Tagalog/Filipino (tl-ph) 3 | // author : Dan Hagman 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('tl-ph', { 15 | months : "Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"), 16 | monthsShort : "Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"), 17 | weekdays : "Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"), 18 | weekdaysShort : "Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"), 19 | weekdaysMin : "Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "MM/D/YYYY", 23 | LL : "MMMM D, YYYY", 24 | LLL : "MMMM D, YYYY LT", 25 | LLLL : "dddd, MMMM DD, YYYY LT" 26 | }, 27 | calendar : { 28 | sameDay: "[Ngayon sa] LT", 29 | nextDay: '[Bukas sa] LT', 30 | nextWeek: 'dddd [sa] LT', 31 | lastDay: '[Kahapon sa] LT', 32 | lastWeek: 'dddd [huling linggo] LT', 33 | sameElse: 'L' 34 | }, 35 | relativeTime : { 36 | future : "sa loob ng %s", 37 | past : "%s ang nakalipas", 38 | s : "ilang segundo", 39 | m : "isang minuto", 40 | mm : "%d minuto", 41 | h : "isang oras", 42 | hh : "%d oras", 43 | d : "isang araw", 44 | dd : "%d araw", 45 | M : "isang buwan", 46 | MM : "%d buwan", 47 | y : "isang taon", 48 | yy : "%d taon" 49 | }, 50 | ordinal : function (number) { 51 | return number; 52 | }, 53 | week : { 54 | dow : 1, // Monday is the first day of the week. 55 | doy : 4 // The week that contains Jan 4th is the first week of the year. 56 | } 57 | }); 58 | })); 59 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/tzm-la.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : Morocco Central Atlas Tamaziɣt in Latin (tzm-la) 3 | // author : Abdel Said : https://github.com/abdelsaid 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('tzm-la', { 15 | months : "innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"), 16 | monthsShort : "innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"), 17 | weekdays : "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"), 18 | weekdaysShort : "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"), 19 | weekdaysMin : "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "DD/MM/YYYY", 23 | LL : "D MMMM YYYY", 24 | LLL : "D MMMM YYYY LT", 25 | LLLL : "dddd D MMMM YYYY LT" 26 | }, 27 | calendar : { 28 | sameDay: "[asdkh g] LT", 29 | nextDay: '[aska g] LT', 30 | nextWeek: 'dddd [g] LT', 31 | lastDay: '[assant g] LT', 32 | lastWeek: 'dddd [g] LT', 33 | sameElse: 'L' 34 | }, 35 | relativeTime : { 36 | future : "dadkh s yan %s", 37 | past : "yan %s", 38 | s : "imik", 39 | m : "minuḍ", 40 | mm : "%d minuḍ", 41 | h : "saɛa", 42 | hh : "%d tassaɛin", 43 | d : "ass", 44 | dd : "%d ossan", 45 | M : "ayowr", 46 | MM : "%d iyyirn", 47 | y : "asgas", 48 | yy : "%d isgasn" 49 | }, 50 | week : { 51 | dow : 6, // Saturday is the first day of the week. 52 | doy : 12 // The week that contains Jan 1st is the first week of the year. 53 | } 54 | }); 55 | })); 56 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/tzm.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : Morocco Central Atlas Tamaziɣt (tzm) 3 | // author : Abdel Said : https://github.com/abdelsaid 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('tzm', { 15 | months : "ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"), 16 | monthsShort : "ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"), 17 | weekdays : "ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"), 18 | weekdaysShort : "ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"), 19 | weekdaysMin : "ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "DD/MM/YYYY", 23 | LL : "D MMMM YYYY", 24 | LLL : "D MMMM YYYY LT", 25 | LLLL : "dddd D MMMM YYYY LT" 26 | }, 27 | calendar : { 28 | sameDay: "[ⴰⵙⴷⵅ ⴴ] LT", 29 | nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', 30 | nextWeek: 'dddd [ⴴ] LT', 31 | lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', 32 | lastWeek: 'dddd [ⴴ] LT', 33 | sameElse: 'L' 34 | }, 35 | relativeTime : { 36 | future : "ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s", 37 | past : "ⵢⴰⵏ %s", 38 | s : "ⵉⵎⵉⴽ", 39 | m : "ⵎⵉⵏⵓⴺ", 40 | mm : "%d ⵎⵉⵏⵓⴺ", 41 | h : "ⵙⴰⵄⴰ", 42 | hh : "%d ⵜⴰⵙⵙⴰⵄⵉⵏ", 43 | d : "ⴰⵙⵙ", 44 | dd : "%d oⵙⵙⴰⵏ", 45 | M : "ⴰⵢoⵓⵔ", 46 | MM : "%d ⵉⵢⵢⵉⵔⵏ", 47 | y : "ⴰⵙⴳⴰⵙ", 48 | yy : "%d ⵉⵙⴳⴰⵙⵏ" 49 | }, 50 | week : { 51 | dow : 6, // Saturday is the first day of the week. 52 | doy : 12 // The week that contains Jan 1st is the first week of the year. 53 | } 54 | }); 55 | })); 56 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/uz.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : uzbek 3 | // author : Sardor Muminov : https://github.com/muminoff 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('uz', { 15 | months : "январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"), 16 | monthsShort : "янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"), 17 | weekdays : "Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"), 18 | weekdaysShort : "Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"), 19 | weekdaysMin : "Як_Ду_Се_Чо_Па_Жу_Ша".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "DD/MM/YYYY", 23 | LL : "D MMMM YYYY", 24 | LLL : "D MMMM YYYY LT", 25 | LLLL : "D MMMM YYYY, dddd LT" 26 | }, 27 | calendar : { 28 | sameDay : '[Бугун соат] LT [да]', 29 | nextDay : '[Эртага] LT [да]', 30 | nextWeek : 'dddd [куни соат] LT [да]', 31 | lastDay : '[Кеча соат] LT [да]', 32 | lastWeek : '[Утган] dddd [куни соат] LT [да]', 33 | sameElse : 'L' 34 | }, 35 | relativeTime : { 36 | future : "Якин %s ичида", 37 | past : "Бир неча %s олдин", 38 | s : "фурсат", 39 | m : "бир дакика", 40 | mm : "%d дакика", 41 | h : "бир соат", 42 | hh : "%d соат", 43 | d : "бир кун", 44 | dd : "%d кун", 45 | M : "бир ой", 46 | MM : "%d ой", 47 | y : "бир йил", 48 | yy : "%d йил" 49 | }, 50 | week : { 51 | dow : 1, // Monday is the first day of the week. 52 | doy : 7 // The week that contains Jan 4th is the first week of the year. 53 | } 54 | }); 55 | })); 56 | -------------------------------------------------------------------------------- /_assets/bower_components/moment/lang/vi.js: -------------------------------------------------------------------------------- 1 | // moment.js language configuration 2 | // language : vietnamese (vi) 3 | // author : Bang Nguyen : https://github.com/bangnk 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory(window.moment); // Browser global 12 | } 13 | }(function (moment) { 14 | return moment.lang('vi', { 15 | months : "tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"), 16 | monthsShort : "Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"), 17 | weekdays : "chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"), 18 | weekdaysShort : "CN_T2_T3_T4_T5_T6_T7".split("_"), 19 | weekdaysMin : "CN_T2_T3_T4_T5_T6_T7".split("_"), 20 | longDateFormat : { 21 | LT : "HH:mm", 22 | L : "DD/MM/YYYY", 23 | LL : "D MMMM [năm] YYYY", 24 | LLL : "D MMMM [năm] YYYY LT", 25 | LLLL : "dddd, D MMMM [năm] YYYY LT", 26 | l : "DD/M/YYYY", 27 | ll : "D MMM YYYY", 28 | lll : "D MMM YYYY LT", 29 | llll : "ddd, D MMM YYYY LT" 30 | }, 31 | calendar : { 32 | sameDay: "[Hôm nay lúc] LT", 33 | nextDay: '[Ngày mai lúc] LT', 34 | nextWeek: 'dddd [tuần tới lúc] LT', 35 | lastDay: '[Hôm qua lúc] LT', 36 | lastWeek: 'dddd [tuần rồi lúc] LT', 37 | sameElse: 'L' 38 | }, 39 | relativeTime : { 40 | future : "%s tới", 41 | past : "%s trước", 42 | s : "vài giây", 43 | m : "một phút", 44 | mm : "%d phút", 45 | h : "một giờ", 46 | hh : "%d giờ", 47 | d : "một ngày", 48 | dd : "%d ngày", 49 | M : "một tháng", 50 | MM : "%d tháng", 51 | y : "một năm", 52 | yy : "%d năm" 53 | }, 54 | ordinal : function (number) { 55 | return number; 56 | }, 57 | week : { 58 | dow : 1, // Monday is the first day of the week. 59 | doy : 4 // The week that contains Jan 4th is the first week of the year. 60 | } 61 | }); 62 | })); 63 | -------------------------------------------------------------------------------- /_assets/bower_components/normalize-css/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "normalize-css", 3 | "version": "3.0.1", 4 | "main": "normalize.css", 5 | "author": "Nicolas Gallagher", 6 | "ignore": [ 7 | "CHANGELOG.md", 8 | "CONTRIBUTING.md", 9 | "component.json", 10 | "package.json", 11 | "test.html" 12 | ], 13 | "homepage": "https://github.com/necolas/normalize.css", 14 | "_release": "3.0.1", 15 | "_resolution": { 16 | "type": "version", 17 | "tag": "3.0.1", 18 | "commit": "e3c71c911b0c0ebc0ee14d2421543ce1476fd761" 19 | }, 20 | "_source": "git://github.com/necolas/normalize.css.git", 21 | "_target": "~3.0.1", 22 | "_originalSource": "normalize-css" 23 | } -------------------------------------------------------------------------------- /_assets/bower_components/normalize-css/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) Nicolas Gallagher and Jonathan Neal 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 7 | of the Software, and to permit persons to whom the Software is furnished to do 8 | so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /_assets/bower_components/normalize-css/README.md: -------------------------------------------------------------------------------- 1 | # normalize.css v3 2 | 3 | Normalize.css is a customisable CSS file that makes browsers render all 4 | elements more consistently and in line with modern standards. 5 | 6 | The project relies on researching the differences between default browser 7 | styles in order to precisely target only the styles that need or benefit from 8 | normalizing. 9 | 10 | [View the test file](http://necolas.github.io/normalize.css/latest/test.html) 11 | 12 | ## Install 13 | 14 | Download from the [project page](http://necolas.github.io/normalize.css/). 15 | 16 | Install with [Component(1)](https://github.com/component/component/): `component install necolas/normalize.css` 17 | 18 | Install with [npm](http://npmjs.org/): `npm install --save normalize.css` 19 | 20 | Install with [Bower](http://bower.io/): `bower install --save normalize.css` 21 | 22 | ## What does it do? 23 | 24 | * Preserves useful defaults, unlike many CSS resets. 25 | * Normalizes styles for a wide range of elements. 26 | * Corrects bugs and common browser inconsistencies. 27 | * Improves usability with subtle improvements. 28 | * Explains what code does using detailed comments. 29 | 30 | ## How to use it 31 | 32 | No other styles should come before Normalize.css. 33 | 34 | It is recommended that you include the `normalize.css` file as untouched 35 | library code. 36 | 37 | ## Browser support 38 | 39 | * Google Chrome (latest) 40 | * Mozilla Firefox (latest) 41 | * Mozilla Firefox 4 42 | * Opera (latest) 43 | * Apple Safari 6+ 44 | * Internet Explorer 8+ 45 | 46 | [Normalize.css v1 provides legacy browser 47 | support](https://github.com/necolas/normalize.css/tree/v1) (IE 6+, Safari 4+), 48 | but is no longer actively developed. 49 | 50 | ## Contributing 51 | 52 | Please read the CONTRIBUTING.md 53 | 54 | ## Acknowledgements 55 | 56 | Normalize.css is a project by [Nicolas Gallagher](https://github.com/necolas), 57 | co-created with [Jonathan Neal](https://github.com/jonathantneal). 58 | -------------------------------------------------------------------------------- /_assets/bower_components/normalize-css/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "normalize-css", 3 | "version": "3.0.1", 4 | "main": "normalize.css", 5 | "author": "Nicolas Gallagher", 6 | "ignore": [ 7 | "CHANGELOG.md", 8 | "CONTRIBUTING.md", 9 | "component.json", 10 | "package.json", 11 | "test.html" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /_assets/bower_components/react/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react", 3 | "version": "0.10.0", 4 | "main": "react.js", 5 | "homepage": "https://github.com/facebook/react-bower", 6 | "_release": "0.10.0", 7 | "_resolution": { 8 | "type": "version", 9 | "tag": "v0.10.0", 10 | "commit": "4862309b39ceef32a65c160cd9987eccdfb29c38" 11 | }, 12 | "_source": "git://github.com/facebook/react-bower.git", 13 | "_target": "~0.10.0", 14 | "_originalSource": "react" 15 | } -------------------------------------------------------------------------------- /_assets/bower_components/react/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react", 3 | "version": "0.10.0", 4 | "main": "react.js" 5 | } -------------------------------------------------------------------------------- /_assets/bower_components/underscore/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "underscore", 3 | "version": "1.6.0", 4 | "main": "underscore.js", 5 | "keywords": [ 6 | "util", 7 | "functional", 8 | "server", 9 | "client", 10 | "browser" 11 | ], 12 | "ignore": [ 13 | "underscore-min.js", 14 | "docs", 15 | "test", 16 | "*.yml", 17 | "*.map", 18 | "CNAME", 19 | "index.html", 20 | "favicon.ico", 21 | "CONTRIBUTING.md" 22 | ], 23 | "homepage": "https://github.com/jashkenas/underscore", 24 | "_release": "1.6.0", 25 | "_resolution": { 26 | "type": "version", 27 | "tag": "1.6.0", 28 | "commit": "1f4bf626f23a99f7a676f5076dc1b1475554c8f7" 29 | }, 30 | "_source": "git://github.com/jashkenas/underscore.git", 31 | "_target": "~1.6.0", 32 | "_originalSource": "underscore" 33 | } -------------------------------------------------------------------------------- /_assets/bower_components/underscore/.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs 2 | # editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [**.{js,json,html}] 13 | indent_style = space 14 | indent_size = 2 15 | -------------------------------------------------------------------------------- /_assets/bower_components/underscore/.gitignore: -------------------------------------------------------------------------------- 1 | raw 2 | node_modules 3 | -------------------------------------------------------------------------------- /_assets/bower_components/underscore/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative 2 | Reporters & Editors 3 | 4 | Permission is hereby granted, free of charge, to any person 5 | obtaining a copy of this software and associated documentation 6 | files (the "Software"), to deal in the Software without 7 | restriction, including without limitation the rights to use, 8 | copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the 10 | Software is furnished to do so, subject to the following 11 | conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 18 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 23 | OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /_assets/bower_components/underscore/README.md: -------------------------------------------------------------------------------- 1 | __ 2 | /\ \ __ 3 | __ __ ___ \_\ \ __ _ __ ____ ___ ___ _ __ __ /\_\ ____ 4 | /\ \/\ \ /' _ `\ /'_ \ /'__`\/\ __\/ ,__\ / ___\ / __`\/\ __\/'__`\ \/\ \ /',__\ 5 | \ \ \_\ \/\ \/\ \/\ \ \ \/\ __/\ \ \//\__, `\/\ \__//\ \ \ \ \ \//\ __/ __ \ \ \/\__, `\ 6 | \ \____/\ \_\ \_\ \___,_\ \____\\ \_\\/\____/\ \____\ \____/\ \_\\ \____\/\_\ _\ \ \/\____/ 7 | \/___/ \/_/\/_/\/__,_ /\/____/ \/_/ \/___/ \/____/\/___/ \/_/ \/____/\/_//\ \_\ \/___/ 8 | \ \____/ 9 | \/___/ 10 | 11 | Underscore.js is a utility-belt library for JavaScript that provides 12 | support for the usual functional suspects (each, map, reduce, filter...) 13 | without extending any core JavaScript objects. 14 | 15 | For Docs, License, Tests, and pre-packed downloads, see: 16 | http://underscorejs.org 17 | 18 | Underscore is an open-sourced component of DocumentCloud: 19 | https://github.com/documentcloud 20 | 21 | Many thanks to our contributors: 22 | https://github.com/jashkenas/underscore/contributors 23 | -------------------------------------------------------------------------------- /_assets/bower_components/underscore/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "underscore", 3 | "version": "1.6.0", 4 | "main": "underscore.js", 5 | "keywords": ["util", "functional", "server", "client", "browser"], 6 | "ignore" : ["underscore-min.js", "docs", "test", "*.yml", "*.map", 7 | "CNAME", "index.html", "favicon.ico", "CONTRIBUTING.md"] 8 | } 9 | -------------------------------------------------------------------------------- /_assets/bower_components/underscore/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "underscore", 3 | "description" : "JavaScript's functional programming helper library.", 4 | "keywords" : ["util", "functional", "server", "client", "browser"], 5 | "repo" : "jashkenas/underscore", 6 | "main" : "underscore.js", 7 | "scripts" : ["underscore.js"], 8 | "version" : "1.6.0", 9 | "license" : "MIT" 10 | } 11 | -------------------------------------------------------------------------------- /_assets/bower_components/underscore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "underscore", 3 | "description" : "JavaScript's functional programming helper library.", 4 | "homepage" : "http://underscorejs.org", 5 | "keywords" : ["util", "functional", "server", "client", "browser"], 6 | "author" : "Jeremy Ashkenas ", 7 | "repository" : {"type": "git", "url": "git://github.com/jashkenas/underscore.git"}, 8 | "main" : "underscore.js", 9 | "version" : "1.6.0", 10 | "devDependencies": { 11 | "docco": "0.6.x", 12 | "phantomjs": "1.9.0-1", 13 | "uglify-js": "2.4.x" 14 | }, 15 | "scripts": { 16 | "test": "phantomjs test/vendor/runner.js test/index.html?noglobals=true", 17 | "build": "uglifyjs underscore.js -c \"evaluate=false\" --comments \"/ .*/\" -m --source-map underscore-min.map -o underscore-min.js", 18 | "doc": "docco underscore.js" 19 | }, 20 | "licenses": [ 21 | { 22 | "type": "MIT", 23 | "url": "https://raw.github.com/jashkenas/underscore/master/LICENSE" 24 | } 25 | ], 26 | "files" : ["underscore.js", "underscore-min.js", "LICENSE"] 27 | } 28 | -------------------------------------------------------------------------------- /_assets/css/alerts.less: -------------------------------------------------------------------------------- 1 | @import "colors"; 2 | 3 | .alert { 4 | background: lighten(@gray-medium, 35%); 5 | border-left: 50px solid; 6 | border-top: 0; 7 | border-right: 0; 8 | border-bottom: 0; 9 | 10 | &:before { 11 | content: ""; 12 | width: 16px; 13 | height: 16px; 14 | position: absolute; 15 | margin-left: -48px; 16 | margin-top: 2px; 17 | background-image: asset-url("alerts/alert-icons-67x16.png"); 18 | background-repeat: no-repeat; 19 | } 20 | } 21 | 22 | .alert-success { 23 | border-left-color: @green; 24 | color: darken(@green, 15%); 25 | 26 | &:before { 27 | background-position: 0 0; 28 | } 29 | } 30 | 31 | .alert-info { 32 | border-left-color: @bluepop; 33 | color: darken(@bluepop, 15%); 34 | 35 | &:before { 36 | background-position: -17px 0px; 37 | } 38 | } 39 | 40 | .alert-warning { 41 | border-left-color: @yellow; 42 | color: darken(@yellow, 10%); 43 | 44 | &:before { 45 | background-position: -34px 0; 46 | } 47 | } 48 | 49 | .alert-danger { 50 | border-left-color: @red; 51 | color: darken(@red, 15%); 52 | 53 | &:before { 54 | background-position: -51px 0; 55 | } 56 | } 57 | 58 | -------------------------------------------------------------------------------- /_assets/css/buttons.less: -------------------------------------------------------------------------------- 1 | @import "colors"; 2 | @import "mixins"; 3 | @import "typography"; 4 | 5 | // Links 6 | 7 | .white-link { 8 | color: #fff; 9 | text-decoration: underline; 10 | 11 | &:hover, 12 | &:focus { 13 | color: rgba(255, 255, 255, 0.5); 14 | } 15 | } 16 | 17 | a, 18 | .btn-link { 19 | color: #428bca; 20 | 21 | &:hover, &:focus { 22 | color: darken(#428bca, 15%); 23 | text-decoration: none; 24 | } 25 | } 26 | 27 | .gray-link { 28 | color: lighten(@base-gray, 10%); 29 | 30 | &:hover, &:focus { 31 | color: darken(@base-gray, 15%); 32 | text-decoration: none; 33 | } 34 | } 35 | 36 | // Solid Buttons 37 | 38 | .btn(@color) { 39 | color: @white; 40 | background-color: @color; 41 | .transition(background .3s); 42 | .border-radius(); 43 | border: 1px solid darken(@color, 8%); 44 | margin: 1px; 45 | .heavy-text(); 46 | 47 | &:hover, &:focus { 48 | color: @white; 49 | background: darken(@color, 8%); 50 | } 51 | 52 | &:active { 53 | background: darken(@color, 15%); 54 | } 55 | } 56 | 57 | .btn-bluepop { 58 | .btn(@bluepop); 59 | } 60 | 61 | .btn-magenta { 62 | .btn(@magenta); 63 | } 64 | 65 | .btn-primary { 66 | .btn(@violet); 67 | } 68 | 69 | .open .dropdown-toggle.btn-primary { 70 | background: darken(@violet, 15%); 71 | } 72 | 73 | // Outline Buttons 74 | 75 | .btn-outline(@text, @border, @text-hover, @border-hover, @background-hover) { 76 | color: @text; 77 | border: 2px solid @border; 78 | background: transparent; 79 | .transition(all .3s); 80 | .border-radius(); 81 | .heavy-text(); 82 | 83 | &:hover, &:focus { 84 | border: 2px solid @border-hover; 85 | color: @text-hover; 86 | background: @background-hover; 87 | } 88 | } 89 | 90 | .btn-primary-outline { 91 | .btn-outline(lighten(@violet, 10%), lighten(@violet, 10%), lighten(@violet, 20%), lighten(@violet, 20%), @translucent-violet); 92 | } 93 | 94 | .btn-white-outline { 95 | .btn-outline(@white, @white, darken(@white, 3%), darken(@white, 3%), @translucent-white); 96 | } 97 | 98 | .btn-gray-outline { 99 | .btn-outline(lighten(@base-gray, 50%), lighten(@base-gray, 60%), lighten(@base-gray, 30%), lighten(@base-gray, 40%), none); 100 | } 101 | 102 | @media (max-width: 320px) { 103 | .btn-block-xs { 104 | display: block; 105 | width: 100%; 106 | padding-left: 0; 107 | padding-right: 0; 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /_assets/css/contact.less: -------------------------------------------------------------------------------- 1 | @import "mixins"; 2 | 3 | .contact-content { 4 | position: relative; 5 | margin-top: 150px; 6 | margin-bottom: 75px; 7 | color: @white; 8 | } 9 | 10 | .contact-toner-map { 11 | background: asset-url('contact/stamen-toner-map-2554x1410.jpg') center center no-repeat; 12 | display: block; 13 | height: 100%; 14 | width: 100%; 15 | position: absolute; 16 | background-size: cover; 17 | } 18 | -------------------------------------------------------------------------------- /_assets/css/docs.less: -------------------------------------------------------------------------------- 1 | .docs-header { 2 | margin-bottom: 25px; 3 | margin-top: 0; 4 | } 5 | 6 | .docs-sidenav li > a { 7 | display: block; 8 | padding: 4px 20px; 9 | font-size: 13px; 10 | font-weight: 500; 11 | color: #6D6D6D; 12 | .transition(none); 13 | } 14 | 15 | .docs-sidenav li > a:hover, 16 | .docs-sidenav li > a:focus { 17 | padding-left: 19px; 18 | color: #428BCA; 19 | text-decoration: none; 20 | background-color: transparent; 21 | border-left: 1px solid #3A77AB; 22 | } 23 | 24 | .docs-sidenav .active > a, 25 | .docs-sidenav .active:hover > a, 26 | .docs-sidenav .active:focus > a { 27 | padding-left: 18px; 28 | font-weight: bold; 29 | color: #428BCA; 30 | background-color: transparent; 31 | border-left: 2px solid #3A77AB; 32 | } 33 | 34 | .docs-sidenav .nav { 35 | display: none; /* Hide by default, but at >768px, show it */ 36 | padding-bottom: 10px; 37 | } 38 | 39 | .docs-sidenav .nav > li > a { 40 | padding-top: 1px; 41 | padding-bottom: 1px; 42 | padding-left: 30px; 43 | font-weight: normal; 44 | } 45 | 46 | .docs-sidenav .nav > li > a:hover, 47 | .docs-sidenav .nav > li > a:focus { 48 | padding-left: 29px; 49 | } 50 | 51 | .docs-sidenav .nav > .active > a, 52 | .docs-sidenav .nav > .active:hover > a, 53 | .docs-sidenav .nav > .active:focus > a { 54 | padding-left: 28px; 55 | font-weight: 500; 56 | } 57 | 58 | @media (min-width: 992px) { 59 | .docs-sidenav > .active > ul { 60 | display: block; 61 | } 62 | } 63 | 64 | .gsc-clear-button { 65 | display: none; 66 | } 67 | -------------------------------------------------------------------------------- /_assets/css/job-board.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Montserrat'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: local('Montserrat-Regular'), url(http://themes.googleusercontent.com/static/fonts/montserrat/v4/zhcz-_WihjSQC0oHJ9TCYL3hpw3pgy2gAi-Ip7WPMi0.woff) format('woff'); 6 | } 7 | 8 | h1, h2, h3, h4, 9 | #application .heading { 10 | font-family: "Montserrat",Helvetica,Arial,sans-serif; 11 | font-weight: 400; 12 | line-height: 1.1; 13 | } 14 | 15 | a { 16 | color: #428BCA; 17 | } 18 | 19 | body { 20 | color: #555; 21 | line-height: 1.428571429; 22 | } 23 | 24 | body, 25 | #main_fields div.field label, 26 | #custom_fields div.field label, 27 | #eeoc_fields div.field label { 28 | font-size: 14px; 29 | } 30 | 31 | h1 { fons-size: 36px; } 32 | h2 { font-size: 30px; } 33 | h3 { fons-size: 24px; } 34 | h4 { font-size: 18px; } 35 | 36 | h2, h3 { 37 | margin-bottom: 10px; 38 | margin-top: 20px; 39 | } 40 | 41 | h4, h5, h6 { 42 | margin-bottom: 10px; 43 | margin-top: 10px; 44 | } 45 | 46 | body > div:first-child { 47 | /* Remove "padding: 20px;" from default wrapper */ 48 | padding: 0 !important; 49 | } 50 | 51 | #app_body { 52 | width: auto; 53 | } 54 | 55 | /* Mimic .page-header from Bootstrap */ 56 | h1, 57 | #app_body h1 { 58 | border-bottom: 1px solid #E4E6EB; 59 | margin-bottom: 20px; 60 | margin-top: 10px; 61 | padding-bottom: 9px; 62 | } 63 | 64 | #header { 65 | padding-right: 0; 66 | } 67 | 68 | #logo, 69 | .company-name { 70 | display: none; 71 | } 72 | 73 | /* Copied from Bootstrap's .btn and .btn-primary 74 | * * "background-image:none;" added to override Greenhouse style on .button 75 | */ 76 | #submit_app {display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:center;vertical-align:middle;cursor:pointer;border:1px solid transparent;border-radius:4px;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} 77 | #submit_app {color:#ffffff;background-color:#428bca;border-color:#357ebd;background-image:none;} 78 | #submit_app:hover, #submit_app:focus, #submit_app:active {color:#ffffff;background-color:#3276b1;border-color:#285e8e;} 79 | -------------------------------------------------------------------------------- /_assets/css/modal.less: -------------------------------------------------------------------------------- 1 | .modal-header { 2 | background-color: @base-gray; 3 | color: @white; 4 | border-top-left-radius: 4px; 5 | border-top-right-radius: 4px; 6 | 7 | .close { 8 | color: @white; 9 | .opacity(0.5); 10 | text-shadow: none; 11 | .transition(all 0.3s); 12 | 13 | &:hover { 14 | color: @white; 15 | .opacity(0.9); 16 | } 17 | } 18 | } 19 | 20 | .modal-footer { 21 | margin-top: 0; 22 | padding: 0 20px 20px 20px; 23 | border-top: none; 24 | text-align: left; 25 | 26 | .btn-link { 27 | float: right; 28 | } 29 | } 30 | 31 | .clear-all { 32 | .heavy-text(); 33 | } 34 | -------------------------------------------------------------------------------- /_assets/css/popover.less: -------------------------------------------------------------------------------- 1 | .popover { 2 | .box-shadow(none); 3 | border: 5px solid @base-gray; 4 | padding: 10px; 5 | max-width: 360px; 6 | 7 | &.bottom .arrow:after { 8 | border-bottom-color: @base-gray; 9 | } 10 | } 11 | 12 | .popover-title { 13 | background-color: @white; 14 | color: @base-gray; 15 | padding: 16px 14px; 16 | border-bottom: none; 17 | font-family: @helvetica; 18 | .heavy-text(); 19 | font-size: 16px; 20 | } 21 | 22 | .popover-content { 23 | padding-top: 0; 24 | } 25 | 26 | .popover-buttons { 27 | padding-top: 10px; 28 | } -------------------------------------------------------------------------------- /_assets/css/tables.less: -------------------------------------------------------------------------------- 1 | @import "colors"; 2 | 3 | @table-bg-accent: lighten(@gray-medium, 35%); 4 | @table-bg-hover: @gray-light; 5 | @table-bg-active: @table-bg-hover; 6 | @table-border-color: lighten(@gray-medium, 30%); 7 | 8 | .table { 9 | // Table Head 10 | > thead { 11 | background: lighten(@gray-dark, 10%); 12 | color: @white; 13 | text-transform: capitalize; 14 | font-size: 14px; 15 | font-weight: 400; 16 | font-family: @montserrat; 17 | } 18 | // Cells 19 | > thead, 20 | > tbody, 21 | > tfoot { 22 | > tr { 23 | > th, 24 | > td { 25 | border-top: 1px solid @table-border-color; 26 | padding: 15px; 27 | } 28 | } 29 | } 30 | // Bottom align for column headings 31 | > thead > tr > th { 32 | border-bottom: 2px solid @table-border-color; 33 | } 34 | // Account for multiple tbody instances 35 | > tbody + tbody { 36 | border-top: 2px solid @table-border-color; 37 | } 38 | // Account for tables with elements inside 39 | code { 40 | white-space: pre-wrap; 41 | } 42 | } 43 | 44 | // Bordered version 45 | .table-bordered { 46 | border: 1px solid @table-border-color; 47 | > thead, 48 | > tbody, 49 | > tfoot { 50 | > tr { 51 | > th, 52 | > td { 53 | border: 1px solid @table-border-color; 54 | } 55 | } 56 | } 57 | } 58 | 59 | // Zebra-striping 60 | .table-striped > tbody > tr:nth-child(odd) { 61 | > td, 62 | > th { 63 | background-color: @table-bg-accent; 64 | } 65 | } 66 | 67 | // Hover effect 68 | .table-hover > tbody > tr:hover { 69 | > td, 70 | > th { 71 | background-color: @table-bg-hover; 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /_assets/css/transitions.less: -------------------------------------------------------------------------------- 1 | @import "mixins"; 2 | 3 | // override the default slide behavior to subtle fade instead 4 | .carousel-inner-fade { 5 | .item { 6 | opacity: 0; 7 | .transition-property(opacity); 8 | } 9 | 10 | .active { 11 | opacity: 1; 12 | } 13 | 14 | .active.left, 15 | .active.right { 16 | left: 0; 17 | opacity: 0; 18 | z-index: 1; 19 | } 20 | 21 | .next.left, 22 | .prev.right { 23 | opacity: 1; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /_assets/css/typography.less: -------------------------------------------------------------------------------- 1 | @import "colors"; 2 | 3 | @montserrat: 'Montserrat', Helvetica, Arial, sans-serif; 4 | @helvetica: 'Helvetica Neue', Helvetica, Arial, sans-serif; 5 | 6 | .font-smoothing() { 7 | -webkit-font-smoothing: antialiased; 8 | } 9 | 10 | body { 11 | font-size: 16px; 12 | line-height: 1.6; 13 | color: @base-gray; 14 | } 15 | 16 | @font-face { 17 | font-family: 'Montserrat'; 18 | font-style: normal; 19 | font-weight: 400; 20 | src: local('Montserrat-Regular'), url(https://themes.googleusercontent.com/static/fonts/montserrat/v4/zhcz-_WihjSQC0oHJ9TCYL3hpw3pgy2gAi-Ip7WPMi0.woff) format('woff'); 21 | } 22 | 23 | 24 | h1, h2, h3, h4, 25 | .h1, .h2, .h3 { 26 | font-family: @montserrat; 27 | font-weight: 400; 28 | line-height: 1.4; 29 | .font-smoothing(); 30 | margin: 1em 0 .5em; 31 | } 32 | 33 | h2, .h2 { 34 | font-size: 28px; 35 | } 36 | 37 | h3, .h3 { 38 | font-size: 24px; 39 | } 40 | 41 | h4, .h4 { 42 | font-size: 18px; 43 | } 44 | 45 | .header-jumbo { 46 | font-size: 60px; 47 | margin-bottom: 50px; 48 | } 49 | 50 | @media (max-width: 768px) { 51 | .header-jumbo { 52 | font-size: 50px; 53 | } 54 | } 55 | 56 | .lead { 57 | font-size: 18px; 58 | line-height: 1.8; 59 | font-weight: 400; /* bootstrap's default .lead font-weight is causing legibility issues */ 60 | } 61 | 62 | .lead-subtle, 63 | .text-muted { 64 | color: #7f8690; 65 | } 66 | 67 | .text-alternating { 68 | padding-left: 0.5em; 69 | padding-right: 0.5em; 70 | .gradient(rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.8) 50%); 71 | background-repeat: repeat-x; 72 | background-size: 2px 2px; 73 | background-position: 0 90%; 74 | } 75 | 76 | .heavy-text { 77 | font-weight: 600; 78 | .font-smoothing(); 79 | } 80 | 81 | .header-strike-back { 82 | margin-top: 60px; 83 | position: relative; 84 | overflow: hidden; 85 | } 86 | 87 | .header-strike-back-body { 88 | display: inline-block; 89 | vertical-align: baseline; 90 | position: relative; 91 | padding: 0 20px; 92 | 93 | &:before, 94 | &:after { 95 | content: ''; 96 | display: block; 97 | width: 1000px; 98 | position: absolute; 99 | top: 50%; 100 | border-top: 1px solid rgba(0, 0, 0, 0.3); 101 | } 102 | 103 | &:before { right: 100%; } 104 | &:after { left: 100%; } 105 | } 106 | 107 | .header-strike-back-inverted .header-strike-back-body { 108 | &:before, 109 | &:after { 110 | border-top-color: rgba(255, 255, 255, 0.3); 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /_assets/css/video.less: -------------------------------------------------------------------------------- 1 | .video-lecture-container { 2 | position: relative; 3 | width: 100%; 4 | height: 0px; 5 | padding-bottom: 56%; 6 | padding-top: 50px; 7 | } 8 | 9 | .video-lecture-container .smart-player-embed-container-iframe { 10 | position: absolute; 11 | width: 100%; 12 | height: 100%; 13 | top: 0; 14 | } 15 | -------------------------------------------------------------------------------- /_assets/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /_assets/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /_assets/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /_assets/fonts/mesosphere-iconset/mesosphere-iconset.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/fonts/mesosphere-iconset/mesosphere-iconset.eot -------------------------------------------------------------------------------- /_assets/fonts/mesosphere-iconset/mesosphere-iconset.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by Fontastic.me 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /_assets/fonts/mesosphere-iconset/mesosphere-iconset.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/fonts/mesosphere-iconset/mesosphere-iconset.ttf -------------------------------------------------------------------------------- /_assets/fonts/mesosphere-iconset/mesosphere-iconset.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/fonts/mesosphere-iconset/mesosphere-iconset.woff -------------------------------------------------------------------------------- /_assets/img/ZeroClipboard.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/ZeroClipboard.swf -------------------------------------------------------------------------------- /_assets/img/alerts/alert-icons-67x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/alerts/alert-icons-67x16.png -------------------------------------------------------------------------------- /_assets/img/chronos-docker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/chronos-docker.png -------------------------------------------------------------------------------- /_assets/img/contact/stamen-toner-map-2554x1410.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/contact/stamen-toner-map-2554x1410.jpg -------------------------------------------------------------------------------- /_assets/img/fault-tolerant-symbols-lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/fault-tolerant-symbols-lg.png -------------------------------------------------------------------------------- /_assets/img/gce-topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/gce-topology.png -------------------------------------------------------------------------------- /_assets/img/google-project-id.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/google-project-id.png -------------------------------------------------------------------------------- /_assets/img/h1-mesosphere/components/icons/favicon-apple-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/h1-mesosphere/components/icons/favicon-apple-114x114.png -------------------------------------------------------------------------------- /_assets/img/h1-mesosphere/components/icons/favicon-apple-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/h1-mesosphere/components/icons/favicon-apple-120x120.png -------------------------------------------------------------------------------- /_assets/img/h1-mesosphere/components/icons/favicon-apple-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/h1-mesosphere/components/icons/favicon-apple-144x144.png -------------------------------------------------------------------------------- /_assets/img/h1-mesosphere/components/icons/favicon-apple-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/h1-mesosphere/components/icons/favicon-apple-152x152.png -------------------------------------------------------------------------------- /_assets/img/h1-mesosphere/components/icons/favicon-apple-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/h1-mesosphere/components/icons/favicon-apple-57x57.png -------------------------------------------------------------------------------- /_assets/img/h1-mesosphere/components/icons/favicon-apple-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/h1-mesosphere/components/icons/favicon-apple-60x60.png -------------------------------------------------------------------------------- /_assets/img/h1-mesosphere/components/icons/favicon-apple-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/h1-mesosphere/components/icons/favicon-apple-72x72.png -------------------------------------------------------------------------------- /_assets/img/h1-mesosphere/components/icons/favicon-apple-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/h1-mesosphere/components/icons/favicon-apple-76x76.png -------------------------------------------------------------------------------- /_assets/img/h1-mesosphere/components/icons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/h1-mesosphere/components/icons/favicon.ico -------------------------------------------------------------------------------- /_assets/img/hn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/hn.gif -------------------------------------------------------------------------------- /_assets/img/learn/README: -------------------------------------------------------------------------------- 1 | Convert screenshots to JPG for web: 2 | for png in `ls *.png`; do jpg=`echo $png | sed 's/png/jpg/'`; gm convert +profile "*" "$png" "$jpg" ; done 3 | -------------------------------------------------------------------------------- /_assets/img/learn/debugging/consoles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/debugging/consoles.png -------------------------------------------------------------------------------- /_assets/img/learn/debugging/mesos-console-frameworks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/debugging/mesos-console-frameworks.png -------------------------------------------------------------------------------- /_assets/img/learn/debugging/mesos-console-sandbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/debugging/mesos-console-sandbox.png -------------------------------------------------------------------------------- /_assets/img/learn/debugging/mesos-console-slave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/debugging/mesos-console-slave.png -------------------------------------------------------------------------------- /_assets/img/learn/debugging/mesos-console-stderr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/debugging/mesos-console-stderr.png -------------------------------------------------------------------------------- /_assets/img/learn/debugging/mesos-console-task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/debugging/mesos-console-task.png -------------------------------------------------------------------------------- /_assets/img/learn/debugging/mesos-console-tasks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/debugging/mesos-console-tasks.png -------------------------------------------------------------------------------- /_assets/img/learn/debugging/mesos-console.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/debugging/mesos-console.png -------------------------------------------------------------------------------- /_assets/img/learn/debugging/ssh-ps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/debugging/ssh-ps.png -------------------------------------------------------------------------------- /_assets/img/learn/get-started-1544x442.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/get-started-1544x442.jpg -------------------------------------------------------------------------------- /_assets/img/learn/mesos-console.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/mesos-console.png -------------------------------------------------------------------------------- /_assets/img/learn/periodic-table-721x411.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/periodic-table-721x411.png -------------------------------------------------------------------------------- /_assets/img/learn/rails_create.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/rails_create.jpg -------------------------------------------------------------------------------- /_assets/img/learn/rails_out.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/rails_out.jpg -------------------------------------------------------------------------------- /_assets/img/learn/rails_running.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/rails_running.jpg -------------------------------------------------------------------------------- /_assets/img/learn/service-icons-551x45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/service-icons-551x45.png -------------------------------------------------------------------------------- /_assets/img/learn/service-icons-857x77.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/learn/service-icons-857x77.png -------------------------------------------------------------------------------- /_assets/img/marathon-docker-kill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/marathon-docker-kill.png -------------------------------------------------------------------------------- /_assets/img/marathon-docker-scaling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/marathon-docker-scaling.png -------------------------------------------------------------------------------- /_assets/img/marathon-docker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/marathon-docker.png -------------------------------------------------------------------------------- /_assets/img/marathon-tomcat-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/marathon-tomcat-config.png -------------------------------------------------------------------------------- /_assets/img/marathon-tomcat-running.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/marathon-tomcat-running.png -------------------------------------------------------------------------------- /_assets/img/marathon-tomcat-scaling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/marathon-tomcat-scaling.png -------------------------------------------------------------------------------- /_assets/img/marathon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/marathon.png -------------------------------------------------------------------------------- /_assets/img/mesos-active-tasks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/mesos-active-tasks.png -------------------------------------------------------------------------------- /_assets/img/press/readwrite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_assets/img/press/techcrunch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /_assets/img/press/thenewstack.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/press/thenewstack.jpeg -------------------------------------------------------------------------------- /_assets/img/service-discovery/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/service-discovery/1.png -------------------------------------------------------------------------------- /_assets/img/service-discovery/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/service-discovery/2.png -------------------------------------------------------------------------------- /_assets/img/service-discovery/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/service-discovery/3.png -------------------------------------------------------------------------------- /_assets/img/team/perk-icons-150x1224.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/team/perk-icons-150x1224.png -------------------------------------------------------------------------------- /_assets/img/team/perks-work-1030x600.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/team/perks-work-1030x600.jpg -------------------------------------------------------------------------------- /_assets/img/team/stamen-map-1170x420.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/team/stamen-map-1170x420.jpg -------------------------------------------------------------------------------- /_assets/img/team/team-tile-backend-1170x468.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/team/team-tile-backend-1170x468.jpg -------------------------------------------------------------------------------- /_assets/img/team/team-tile-frontend-1170x468.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/team/team-tile-frontend-1170x468.jpg -------------------------------------------------------------------------------- /_assets/img/team/team-tile-marketing-1170x468.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/team/team-tile-marketing-1170x468.jpg -------------------------------------------------------------------------------- /_assets/img/team/team-tile-operations-1170x468.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/team/team-tile-operations-1170x468.jpg -------------------------------------------------------------------------------- /_assets/img/team/team-tile-ovaloffice-1170x468.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/team/team-tile-ovaloffice-1170x468.jpg -------------------------------------------------------------------------------- /_assets/img/team/team-tile-people-1170x468.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/team/team-tile-people-1170x468.jpg -------------------------------------------------------------------------------- /_assets/img/team/team-tile-ux-1170x468.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/team/team-tile-ux-1170x468.jpg -------------------------------------------------------------------------------- /_assets/img/tutorial-logos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/tutorial-logos.png -------------------------------------------------------------------------------- /_assets/img/tutorial-logos@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/tutorial-logos@2x.png -------------------------------------------------------------------------------- /_assets/img/unify-workloads-icons-lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/unify-workloads-icons-lg.png -------------------------------------------------------------------------------- /_assets/img/vpn-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/_assets/img/vpn-selection.png -------------------------------------------------------------------------------- /_assets/js/application.js: -------------------------------------------------------------------------------- 1 | // The big kahuna. Add all site JavaScript includes here. Put JavaScript content 2 | // into separate files, not in this file. 3 | // 4 | //= require mesosphere 5 | //= require tutorials 6 | //= require progress 7 | //= require libraries/embedded-smart-player.min.js 8 | -------------------------------------------------------------------------------- /_assets/js/libraries/perfect-scrollbar-master/.csslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "adjoining-classes": false 3 | } 4 | -------------------------------------------------------------------------------- /_assets/js/libraries/perfect-scrollbar-master/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | bower_components 4 | -------------------------------------------------------------------------------- /_assets/js/libraries/perfect-scrollbar-master/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "passfail" : false, 3 | "maxerr" : 100, 4 | 5 | "browser" : true, 6 | 7 | "node" : true, 8 | "rhino" : false, 9 | "couch" : false, 10 | "wsh" : false, 11 | 12 | "jquery" : true, 13 | "prototypejs" : false, 14 | "mootools" : false, 15 | "dojo" : false, 16 | 17 | "predef" : [ 18 | "require", 19 | "define" 20 | ], 21 | 22 | "debug" : false, 23 | "devel" : true, 24 | 25 | "strict" : true, 26 | "globalstrict" : false, 27 | 28 | "asi" : false, 29 | "laxbreak" : false, 30 | "bitwise" : true, 31 | "boss" : false, 32 | "curly" : true, 33 | "eqeqeq" : true, 34 | "eqnull" : false, 35 | "evil" : false, 36 | "expr" : false, 37 | "forin" : false, 38 | "immed" : true, 39 | "latedef" : true, 40 | "loopfunc" : false, 41 | "noarg" : true, 42 | "regexp" : true, 43 | "regexdash" : false, 44 | "scripturl" : true, 45 | "shadow" : false, 46 | "supernew" : false, 47 | "undef" : true, 48 | 49 | "newcap" : true, 50 | "noempty" : false, 51 | "nonew" : true, 52 | "nomen" : false, 53 | "onevar" : false, 54 | "plusplus" : false, 55 | "sub" : false, 56 | "trailing" : true, 57 | "white" : true, 58 | "indent" : 2, 59 | "laxcomma" : true, 60 | "camelcase" : true 61 | } 62 | -------------------------------------------------------------------------------- /_assets/js/libraries/perfect-scrollbar-master/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | before_script: 5 | - npm install -g grunt-cli 6 | -------------------------------------------------------------------------------- /_assets/js/libraries/retina-1.3.0/retina.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Retina.js v1.3.0 3 | * 4 | * Copyright 2014 Imulus, LLC 5 | * Released under the MIT license 6 | * 7 | * Retina.js is an open source script that makes it easy to serve 8 | * high-resolution images to devices with retina displays. 9 | */ 10 | !function(){function a(){}function b(a){return f.retinaImageSuffix+a}function c(a,c){if(this.path=a||"","undefined"!=typeof c&&null!==c)this.at_2x_path=c,this.perform_check=!1;else{if(void 0!==document.createElement){var d=document.createElement("a");d.href=this.path,d.pathname=d.pathname.replace(g,b),this.at_2x_path=d.href}else{var e=this.path.split("?");e[0]=e[0].replace(g,b),this.at_2x_path=e.join("?")}this.perform_check=!0}}function d(a){this.el=a,this.path=new c(this.el.getAttribute("src"),this.el.getAttribute("data-at2x"));var b=this;this.path.check_2x_variant(function(a){a&&b.swap()})}var e="undefined"==typeof exports?window:exports,f={retinaImageSuffix:"@2x",check_mime_type:!0,force_original_dimensions:!0};e.Retina=a,a.configure=function(a){null===a&&(a={});for(var b in a)a.hasOwnProperty(b)&&(f[b]=a[b])},a.init=function(a){null===a&&(a=e);var b=a.onload||function(){};a.onload=function(){var a,c,e=document.getElementsByTagName("img"),f=[];for(a=0;a1?!0:e.matchMedia&&e.matchMedia(a).matches?!0:!1};var g=/\.\w+$/;e.RetinaImagePath=c,c.confirmed_paths=[],c.prototype.is_external=function(){return!(!this.path.match(/^https?\:/i)||this.path.match("//"+document.domain))},c.prototype.check_2x_variant=function(a){var b,d=this;return this.is_external()?a(!1):this.perform_check||"undefined"==typeof this.at_2x_path||null===this.at_2x_path?this.at_2x_path in c.confirmed_paths?a(!0):(b=new XMLHttpRequest,b.open("HEAD",this.at_2x_path),b.onreadystatechange=function(){if(4!==b.readyState)return a(!1);if(b.status>=200&&b.status<=399){if(f.check_mime_type){var e=b.getResponseHeader("Content-Type");if(null===e||!e.match(/^image/i))return a(!1)}return c.confirmed_paths.push(d.at_2x_path),a(!0)}return a(!1)},b.send(),void 0):a(!0)},e.RetinaImage=d,d.prototype.swap=function(a){function b(){c.el.complete?(f.force_original_dimensions&&(c.el.setAttribute("width",c.el.offsetWidth),c.el.setAttribute("height",c.el.offsetHeight)),c.el.setAttribute("src",a)):setTimeout(b,5)}"undefined"==typeof a&&(a=this.path.at_2x_path);var c=this;b()},a.isRetina()&&a.init(e)}(); -------------------------------------------------------------------------------- /_assets/js/progress.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 3 | if (window.location.pathname != "/tutorials/") { return; } 4 | 5 | var diameter = 80; 6 | var radius = diameter / 2; 7 | 8 | var arc = d3.svg.arc() 9 | .outerRadius(radius) 10 | .innerRadius(radius - 5); 11 | 12 | var pie = d3.layout.pie() 13 | .sort(null) 14 | .value(function(d) { return d; }); 15 | 16 | var tutorialProgress = JSON.parse( 17 | localStorage.getItem("tutorialProgress")) || {}; 18 | 19 | d3.selectAll(".learn-progress-dial").each(function() { 20 | var step = tutorialProgress[this.getAttribute("data-key")]; 21 | if (step === "s") { 22 | step = parseInt(this.getAttribute("data-steps"), 10); 23 | } else { 24 | step = parseInt(step, 10) || 0; 25 | } 26 | 27 | var progress = (step / parseInt(this.getAttribute("data-steps"), 10)) * 100; 28 | var data = [ progress, 100 - progress ]; 29 | 30 | var svg = d3.select(this).select(".dial") 31 | .append("svg") 32 | .attr({ "width": diameter, "height": diameter }) 33 | .append("g") 34 | .attr("transform", "translate(" + radius + "," + radius + ")"); 35 | 36 | var g = svg.selectAll() 37 | .data(pie(data)) 38 | .enter().append("g") 39 | .classed("progress-state", function(d, i) { return i === 0; }) 40 | .classed("progress-fill", function(d, i) { return i === 1; }) 41 | .append("path") 42 | .attr("d", arc); 43 | 44 | d3.select(this) 45 | .classed("progress-none", progress === 0 ) 46 | .classed("progress-active", progress > 0 && progress < 100 ) 47 | .classed("progress-complete", progress === 100 ) 48 | .select(".dial") 49 | .append("div") 50 | .classed("dial-text", true) 51 | .text(Math.floor(progress) + "%"); 52 | }); 53 | 54 | })(); 55 | 56 | -------------------------------------------------------------------------------- /_assets/js/templates/job-opening.jst.ejs: -------------------------------------------------------------------------------- 1 |
  • 2 | 3 |
    4 |

    <%=title%>

    5 | 6 |
    7 |
    8 |
  • 9 | -------------------------------------------------------------------------------- /_config.dev.yml: -------------------------------------------------------------------------------- 1 | env: development 2 | url: http://0.0.0.0:4000 3 | 4 | assets: 5 | baseurl: '/assets/' 6 | -------------------------------------------------------------------------------- /_config.staging.yml: -------------------------------------------------------------------------------- 1 | url: http://open-staging.mesosphere.com.s3-website-us-east-1.amazonaws.com 2 | env: staging 3 | 4 | assets: 5 | baseurl: '/assets/' 6 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | lsi: false 2 | markdown: rdiscount 3 | permalink: pretty 4 | highlighter: pygments 5 | encoding: utf-8 6 | url: https://open.mesosphere.com 7 | 8 | env: production 9 | gems: 10 | - jekyll-assets 11 | - jekyll-redirect-from 12 | 13 | assets: 14 | baseurl: '/assets/' 15 | cache: true 16 | css_compressor: yui 17 | js_compressor: yui 18 | sources: 19 | - _assets/css 20 | - _assets/fonts 21 | - _assets/img 22 | - _assets/js 23 | - _assets/bower_components 24 | 25 | exclude: ['bin', '*.bash', 'README.md', 'Gemfile', 'Gemfile.lock', 26 | 'Rakefile', 'CNAME', 'apache-aws.profile', 'vendor', 'Makefile', 'Dockerfile', 'utils'] 27 | -------------------------------------------------------------------------------- /_data/docs_sidebar.yml: -------------------------------------------------------------------------------- 1 | 2 | 3 | - title: "Advanced Mesos Course" 4 | href: "/advanced-course/" 5 | sub: 6 | 7 | - title: "Introduction" 8 | href: "/advanced-course/introduction/" 9 | 10 | - title: "1: Installing Software" 11 | href: "/advanced-course/installing-software/" 12 | 13 | - title: "2: Installing ZooKeeper" 14 | href: "/advanced-course/installing-zookeeper/" 15 | 16 | - title: "3: Using Apache Mesos" 17 | href: "/advanced-course/using-apache-mesos/" 18 | 19 | - title: "4: Starting Marathon" 20 | href: "/advanced-course/starting-marathon/" 21 | 22 | - title: "5: Using the Marathon GUI" 23 | href: "/advanced-course/using-the-marathon-gui/" 24 | 25 | - title: "6: Marathon REST API" 26 | href: "/advanced-course/marathon-rest-api/" 27 | 28 | - title: "7: Building and Running Mesos DNS" 29 | href: "/advanced-course/building-and-running-mesos-dns/" 30 | 31 | - title: "8: Installing Chronos" 32 | href: "/advanced-course/installing-chronos/" 33 | 34 | - title: "9: Creating A Slave Node" 35 | href: "/advanced-course/creating-a-slave-node/" 36 | 37 | - title: "10: Installing Mesos" 38 | href: "/advanced-course/installing-mesos/" 39 | 40 | - title: "11: Scaling To Two Nodes" 41 | href: "/advanced-course/scaling-to-two-nodes/" 42 | 43 | - title: "12: Deploying A Web App Using Docker" 44 | href: "/advanced-course/deploying-a-web-app-using-docker/" 45 | 46 | - title: "13: Distributing Docker To Multiple Nodes" 47 | href: "/advanced-course/distributing-docker-to-multiple-nodes/" 48 | 49 | - title: "14: Installing and Using DCOS CLI" 50 | href: "/advanced-course/installing-and-using-dcos-cli/" 51 | 52 | - title: "15: Starting Four Nodes" 53 | href: "/advanced-course/starting-four-nodes/" 54 | 55 | - title: "16: Recreating the Cluster Using Ansible" 56 | href: "/advanced-course/recreating-the-cluster-using-ansible/" 57 | 58 | - title: "17: Advanced Usage of Marathon" 59 | href: "/advanced-course/advanced-usage-of-marathon/" 60 | 61 | - title: "18: Advanced Usage of Chronos" 62 | href: "/advanced-course/advanced-usage-of-chronos/" 63 | 64 | - title: "19: Troubleshooting" 65 | href: "/advanced-course/troubleshooting/" 66 | 67 | - title: "20: Advanced Cluster Building" 68 | href: "/advanced-course/advanced-cluster-building/" 69 | 70 | 71 | 72 | - title: "Downloads" 73 | href: "/downloads/mesos/" 74 | -------------------------------------------------------------------------------- /_includes/downloads/repository-setup.md: -------------------------------------------------------------------------------- 1 | Mesosphere has official package repositories which connect directly to the native package management tools of your favorite Linux distribution — namely apt-get and yum — to install Mesos on top of the most common Linux distributions (RedHat, CentOS, Ubuntu and Debian). 2 | 3 | ##### Supported Distributions 4 | 5 | + Ubuntu 16.04 (xenial) 6 | + Ubuntu 15.10 (wily) 7 | + Ubuntu 14.04 (trusty) 8 | + Ubuntu 12.04 (precise) 9 | + Debian 8 (jessie) 10 | + Enterprise Linux 7 (RedHat/CentOS) 11 | + Enterprise Linux 6 (RedHat/CentOS) 12 | 13 | ##### Debian / Ubuntu 14 | 15 | ```sh 16 | # Setup 17 | sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E56151BF 18 | DISTRO=$(lsb_release -is | tr '[:upper:]' '[:lower:]') 19 | CODENAME=$(lsb_release -cs) 20 | 21 | # Add the repository 22 | echo "deb http://repos.mesosphere.com/${DISTRO} ${CODENAME} main" | \ 23 | sudo tee /etc/apt/sources.list.d/mesosphere.list 24 | sudo apt-get -y update 25 | ``` 26 | 27 | ##### RedHat 6 / CentOS 6 28 | 29 | ```sh 30 | # Add the repository 31 | sudo rpm -Uvh http://repos.mesosphere.com/el/6/noarch/RPMS/mesosphere-el-repo-6-2.noarch.rpm 32 | ``` 33 | 34 | ##### RedHat 7 / CentOS 7 35 | 36 | ```sh 37 | # Add the repository 38 | sudo rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm 39 | ``` 40 | -------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | {% javascript application %} 15 | -------------------------------------------------------------------------------- /_includes/instruction-link.html: -------------------------------------------------------------------------------- 1 | {% capture pkg_url %}https://downloads.mesosphere.io/master/{{ pkg.path }}{% endcapture %} 2 | {% capture egg_url %}https://downloads.mesosphere.io/master/{{ pkg.egg_path }}{% endcapture %} 3 | {% capture tutorial_params %}master-ip=1.1.1.1&mesos-pkg={{ pkg_url | cgi_escape }}&mesos-egg={{ egg_url | cgi_escape }}{% endcapture %} 4 | /{{ pkg.instructions }}/?{{ tutorial_params }} 5 | -------------------------------------------------------------------------------- /_includes/mesos/deep-dive/menu.md: -------------------------------------------------------------------------------- 1 | * [Mesos Master Configuration](/mesos/deep-dive/mesos-master) 2 | * [Mesos Slave Configuration](/mesos/deep-dive/mesos-slave) 3 | -------------------------------------------------------------------------------- /_includes/navbar.html: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /_includes/sidebar.html: -------------------------------------------------------------------------------- 1 | 13 | 14 |
    15 | 16 | 67 |
    68 | -------------------------------------------------------------------------------- /_includes/tutorial_modal_install.html: -------------------------------------------------------------------------------- 1 | 34 | -------------------------------------------------------------------------------- /_includes/tutorials/header.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |

    4 | {{ page.title }} 5 | 8 |

    9 |
    10 | {% assign total_steps = page.steps.size | plus: 1 %} 11 |
    12 | {% unless include.hide_progress == "true" %} 13 | {% assign stepNumber = forloop.index %} 14 |
    15 | {% for a in page.steps %} 16 | 19 | {% endfor %} 20 | 22 |
    23 | {% endunless %} 24 |
    25 |
    26 | -------------------------------------------------------------------------------- /_includes/tutorials/overview.html: -------------------------------------------------------------------------------- 1 |
    2 | {% include tutorials/header.html %} 3 | 4 |
    5 |
    6 | 8 | Start Tutorial 9 | 10 |

    {{ tutorial.blurb }}

    11 |
    12 |

    You'll need:

    13 | {% for resource in tutorial.resources %} 14 | {{ resource.name }} 15 | {% unless forloop.last %},{% endunless %} 16 | {% endfor %} 17 |
    18 |
      19 |
    • {{ tutorial.duration }}
    • 20 |
    • {{ page.steps | size }} Steps
    • 21 |
    22 |
    23 |
    24 |
    25 | 26 | 27 | 28 |
    29 |

    30 | Overview: {{ page.title }} 31 |

    32 |

    {{ page.overview }}

    33 |
    34 |
    35 | {% for step in page.steps %} 36 |
    37 | 38 | 39 | 40 | 48 |
    49 | {% endfor %} 50 |
    51 |
    52 | 53 |
    54 | -------------------------------------------------------------------------------- /_includes/tutorials/signup.html: -------------------------------------------------------------------------------- 1 |
    5 |

    Join the Mesosphere Email List!

    6 |

    Join the Mesosphere email list and stay updated on the latest news for everything Mesos!

    7 |
    8 | 9 |
    10 | 11 | 13 |
    14 | 15 |
    16 | -------------------------------------------------------------------------------- /_includes/tutorials/step.html: -------------------------------------------------------------------------------- 1 |
    2 | {% include tutorials/header.html %} 3 | 4 |
    5 |
    6 |

    7 | {% unless forloop.last %} 8 | 11 | Next step 12 | 13 | {% endunless %} 14 | {% if forloop.last %} 15 | 18 | Next step 19 | 20 | {% endif %} 21 | {% unless forloop.first %} 22 | 25 | Previous 26 | 27 | {% endunless %} 28 | {% if forloop.first %} 29 | 32 | Overview 33 | 34 | {% endif %} 35 |

    36 |
    37 | {{ step.instruction }} 38 |
    39 |
    40 |
    41 | {% if step.blackboard %} 42 | {{ step.blackboard | render }} 43 | {% elsif step.codeboard %} 44 |
    {{ step.codeboard | escape }}
    45 | {% endif %} 46 |
    47 |
    48 |
    49 | -------------------------------------------------------------------------------- /_includes/tutorials/success.html: -------------------------------------------------------------------------------- 1 |
    2 | {% include tutorials/header.html %} 3 | 4 |
    5 |
    6 | 9 | Previous 10 | 11 |

    You did it!

    12 |
    13 | {{ page.success.text }} 14 |
    15 |
    16 |
    17 |
    18 |
    19 | {% if framework.paperkraft.img %} 20 | 21 | {% endif %} 22 |
    23 |
    24 |

    {{ framework.paperkraft.title }}

    25 |

    {{ framework.paperkraft.blurb }}

    26 |
    27 |
    28 | {% include tutorials/signup.html %} 29 |
    30 |
    31 |
    32 | -------------------------------------------------------------------------------- /_layouts/base.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{ page.title }} · Mesosphere 5 | 6 | {% if page.description %} 7 | 8 | {% else %} 9 | 10 | {% endif %} 11 | 12 | 13 | 14 | 16 | 18 | {% stylesheet mesosphere %} 19 | 20 | {% if site.env == 'production' %} 21 | 22 | 27 | {% endif %} 28 | 29 | {{ content }} 30 | 31 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: base 3 | --- 4 | 5 | 6 | {% comment %} Google Tag Manager {% endcomment %} 7 | 9 | 14 | {% comment %} End Google Tag Manager {% endcomment %} 15 |
    16 |
    17 |
    18 | {% include navbar.html %} 19 |
    20 | {{ content }} 21 |
    22 | {% include footer.html %} 23 |
    24 |
    25 |
    26 | 27 | -------------------------------------------------------------------------------- /_layouts/doc.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 |
    6 |
    7 | {% include sidebar.html %} 8 |
    9 |
    10 |

    11 | {{page.title}} 12 |

    13 | {{ content }} 14 |
    15 |
    16 | -------------------------------------------------------------------------------- /_layouts/post.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 |
    6 |
    7 |
    8 | 56 |
    57 | {{ content }} 58 |
    59 | 60 | {% include blog/_footer.html url=page.url %} 61 |
    62 |
    63 |
    64 | -------------------------------------------------------------------------------- /_layouts/tutorial.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: unwrapped 3 | --- 4 | 5 | {% assign framework = site.data.tutorials[page.framework] %} 6 | {% assign tutorial = framework.tutorials[page.tutorial_name] %} 7 | 8 |
    9 |
    10 | 14 | {% unless page.hide_configure == true %} 15 | 23 | {% endunless %} 24 |
    25 |
    26 | 35 |
    36 |
    37 | 38 | {% if page.tutorial_modal %} 39 | {% include {{page.tutorial_modal}} %} 40 | {% else %} 41 | {% include tutorial_modal_default.html %} 42 | {% endif %} 43 | 57 | 58 |
    59 |

    Personalize your experience

    60 |
    61 |

    Make this tutorial more relevant to you by setting your unique IPs, paths and ports.

    62 |
    63 | 64 | 67 |
    68 |
    69 |
    70 | -------------------------------------------------------------------------------- /_layouts/unwrapped.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: base 3 | --- 4 | 5 | 7 | {% comment %} Google Tag Manager {% endcomment %} 8 | 10 | 15 | {% comment %} End Google Tag Manager {% endcomment %} 16 | 17 | {% include navbar.html %} 18 | {{ content }} 19 | {% include footer.html dark=true %} 20 | 21 | -------------------------------------------------------------------------------- /_plugins/asset-preprocessor.rb: -------------------------------------------------------------------------------- 1 | require "sprockets" 2 | require "tilt" 3 | 4 | class LiquidProcessor < Tilt::LiquidTemplate 5 | def evaluate context, locals, &block 6 | @engine.render locals, { 7 | :filters => [Jekyll::Filters], 8 | :registers => { 9 | :site => context.site 10 | } 11 | } 12 | end 13 | end 14 | 15 | Sprockets.register_preprocessor "application/javascript", LiquidProcessor 16 | -------------------------------------------------------------------------------- /_plugins/bundler.rb: -------------------------------------------------------------------------------- 1 | require "rubygems" 2 | require "bundler/setup" 3 | Bundler.require(:default) 4 | -------------------------------------------------------------------------------- /_plugins/less.rb: -------------------------------------------------------------------------------- 1 | require "sprockets" 2 | require "sprockets-less" 3 | require "sprockets/less/functions" 4 | require "tilt" 5 | 6 | module Sprockets 7 | module Less 8 | module Functions 9 | def asset_url(asset) 10 | "url(#{sprockets_context.asset_path(asset)})" 11 | end 12 | end 13 | end 14 | end 15 | 16 | class LiquidProcessor < Tilt::LiquidTemplate 17 | def evaluate context, locals, &block 18 | @engine.render locals, { 19 | :filters => [Jekyll::Filters], 20 | :registers => { 21 | :site => context.site 22 | } 23 | } 24 | end 25 | end 26 | 27 | Sprockets.register_preprocessor "text/css", LiquidProcessor 28 | Sprockets.register_preprocessor "application/javascript", LiquidProcessor 29 | -------------------------------------------------------------------------------- /_plugins/mesos-video.rb: -------------------------------------------------------------------------------- 1 | module Jekyll 2 | class RenderMesosVideo < Liquid::Tag 3 | 4 | def initialize(tag_name, videoFile, tokens) 5 | super 6 | @videoFile = videoFile.strip! 7 | end 8 | 9 | def render(context) 10 | "
    " 11 | end 12 | end 13 | end 14 | 15 | Liquid::Template.register_tag 'mesos_video', Jekyll::RenderMesosVideo 16 | -------------------------------------------------------------------------------- /_plugins/render.rb: -------------------------------------------------------------------------------- 1 | require "liquid" 2 | 3 | module Jekyll 4 | module Filters 5 | def render(input) 6 | Liquid::Template.parse(input).render({}, { 7 | :filters => [Jekyll::Filters], 8 | :registers => { 9 | :site => @context.registers[:site] 10 | } 11 | }) 12 | end 13 | end 14 | end 15 | 16 | -------------------------------------------------------------------------------- /advanced-course/creating-a-slave-node.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Exercise 9 – Creating A Slave Node 4 | 5 | redirect_from: 6 | - /intro-course/ex9.html 7 | --- 8 | 9 | Using a single node is boring. You'll now create a second node to learn how the Mesosphere stack 10 | works with multiple machines, which is the entire point. Most of this exercise is a repeat of 11 | the first 8 exercises but compressed and simplified for the requirements of a slave node. 12 | 13 | In this exercise you will: 14 | 15 | 1. Make sure all the ``node1`` services will restart on reboot with ``chkconfig``. 16 | 2. Halt the Vagrant for ``node1`` and make a copy of it. 17 | 3. Use that copy to create a new master node with a new two node ``Vagrantfile``. 18 | 19 | 20 | Video Lecture 21 | ------------- 22 | 23 | {% mesos_video Mesos-Intro-Lecture-9 %} 24 | 25 | 26 | Quick Reference 27 | --------------- 28 | 29 | You need to do some cleanup before you can shut down and pacakge ``node1``. Make sure that all of the services are 30 | properly set to start on boot with ``chkconfig``: 31 | 32 | ``` 33 | [node1]$ sudo chkconfig zookeeper-server on 34 | [node1]$ sudo chkconfig mesos-master on 35 | [node1]$ sudo chkconfig mesos-slave on 36 | [node1]$ sudo chkconfig marathon on 37 | # if you are running chronos with marathon then do not do this 38 | [node1]$ sudo chkconfig chronos on 39 | ``` 40 | 41 | Once you do that we need to make a Vagrant box out of it so we can copy it over to our new setup: 42 | 43 | ``` 44 | $ vagrant halt 45 | $ vagrant package default 46 | $ vagrant destroy default 47 | $ vagrant box add mesos-master package.box 48 | ``` 49 | 50 | 51 | Next you need to add a two node configuration to your ``Vagrantfile``. The line that has your network config now needs this: 52 | 53 | ``` 54 | # -*- mode: ruby -*- 55 | # vi: set ft=ruby : 56 | 57 | Vagrant.configure(2) do |config| 58 | config.vm.box = "bento/centos-7.1" 59 | config.vm.define "node1" do |node1| 60 | node1.vm.network "private_network", ip: "192.168.33.10" 61 | node1.vm.hostname = "node1" 62 | node1.vm.box = "mesos-master" 63 | end 64 | 65 | config.vm.define "node2" do |node2| 66 | node2.vm.network "private_network", ip: "192.168.33.11" 67 | node2.vm.hostname = "node2" 68 | end 69 | end 70 | ``` 71 | 72 | 73 | Once you have that in your ``Vagrantfile`` you can then do ``vagrant up`` and it will recreate your original Vagrant master from the ``package.box`` file you created naming it ``node1``, and start a new VM named ``node2`` with no configuration in it. 74 | 75 | Further Study 76 | ------------- 77 | 78 | * Read more about Vagrant multi-machine configurations at http://docs.vagrantup.com/v2/multi-machine/ 79 | 80 | 81 | -------------------------------------------------------------------------------- /advanced-course/distributing-docker-to-multiple-nodes.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Exercise 13 – Distributing Docker To Multiple Nodes 4 | 5 | redirect_from: 6 | - /intro-course/ex13.html 7 | --- 8 | 9 | After building the Docker image in Exercise 12, you can easily deploy the Outyet web application to your ``node2`` server. 10 | You simply save the Docker and load it on ``node2`` and then tell Marathon to scale it. This simple procedure lets you automate the deployment 11 | of nearly any application that you can "dockerize". 12 | 13 | In this exercise: 14 | 15 | 1. Save the Docker image to a file named ``outyet.tar.gz``. 16 | 2. Copy the Docker image to the ``/vagrant/`` directory in ``node1``. 17 | 3. Load the ``outyet.tar.gz`` docker container into ``node2``. 18 | 4. Use Marathon to scale Outyet to two nodes. 19 | 20 | 21 | Video Lecture 22 | ------------- 23 | 24 | {% mesos_video Mesos-Intro-Lecture-13 %} 25 | 26 | 27 | Quick Reference 28 | --------------- 29 | 30 | Save the Docker image: 31 | 32 | ``` 33 | [node1]$ sudo docker save --output=outyet.tar.gz outyet 34 | ``` 35 | 36 | Send the tar.gz file to ``node2``: 37 | 38 | ``` 39 | [node1]$ cp outyet.tar.gz /vagrant/ 40 | ``` 41 | 42 | Install Docker on ``node2``: 43 | 44 | ``` 45 | $ vagrant ssh node2 46 | [node2]$ sudo yum install -y device-mapper-event-libs docker 47 | [node2]$ sudo chkconfig docker on 48 | [node2]$ sudo service docker start 49 | [node2]$ echo 'docker,mesos' | sudo tee /etc/mesos-slave/containerizers 50 | [node2]$ sudo service mesos-slave restart 51 | ``` 52 | 53 | Import the ``outyet.tar.gz`` file that you made: 54 | 55 | ``` 56 | [node2]$ sudo docker load --input=/vagrant/outyet.tar.gz 57 | ``` 58 | 59 | Test that Docker is now installed on the ``node2`` VM: 60 | 61 | ``` 62 | [node2]$ sudo docker run --publish 6060:8080 --name test --rm outyet 63 | ``` 64 | 65 | Test that Docker is running on http://192.168.33.11:6060/. 66 | 67 | Enter CTRL-C and go to Marathon and expand this to 2 nodes. Watch the video to 68 | see me doing it. At this point, hopefully you know how to go into Marathon and 69 | instruct it to run more than one node. 70 | 71 | Further Study 72 | ------------- 73 | 74 | * On your *local host* computer, use ``tar -tzvf outyet.tar.gz`` to see what is inside it. 75 | 76 | -------------------------------------------------------------------------------- /advanced-course/installing-and-using-dcos-cli.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Exercise 14 – Installing and Using DCOS CLI 4 | 5 | redirect_from: 6 | - /intro-course/ex14.html 7 | --- 8 | 9 | This exercise gives you access to various files on the Apache Mesos cluster, among other features. 10 | The best tool for doing this is the [DCOS CLI](https://github.com/mesosphere/dcos-cli) project which leverages 11 | the latest APIs to give you a full suite of tools. 12 | 13 | In this exercise: 14 | 15 | 1. Follow the installation instructions as described in the DCOS CLI project's [Setup instructions](https://github.com/mesosphere/dcos-cli#setup) 16 | 2. Use the new ``dcos`` command to work with the cluster in various scenarios. 17 | 18 | For more information on what is possible with DCOS CLI, see the [list of commands](https://docs.mesosphere.com/using/cli/). 19 | 20 | Further Study 21 | ------------- 22 | 23 | * Visit the [dcos-cli github project](https://github.com/mesosphere/dcos-cli#setup) and read the rest of the README file to learn more. 24 | 25 | Video Lecture 26 | ------------- 27 | 28 | _Please note: this video lecture covers installing DCOS CLI's predecessor, the Mesos CLI and might not be accurate_ 29 | 30 | {% mesos_video Mesos-Intro-Lecture-14 %} 31 | -------------------------------------------------------------------------------- /advanced-course/installing-chronos.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Exercise 8 – Installing Chronos 4 | 5 | redirect_from: 6 | - /intro-course/ex8.html 7 | - /tutorials/run-chronos-on-mesos/ 8 | --- 9 | 10 | Chronos is the cron of the Mesos ecosystem. Chronos is used to schedule jobs 11 | across the Mesos cluster and also manages dependencies between them in an 12 | intelligent way. This exercise shows you how to install Chronos and use it 13 | to schedule simple tasks and a sample task dependency chain. 14 | 15 | In this exercise: 16 | 17 | 1. Install Chronos. 18 | 2. Get Chronos running. 19 | 3. Create a simple periodic task by using the web UI. 20 | 4. Create a simple command with the REST API. 21 | 22 | 23 | 24 | Video Lecture 25 | ------------- 26 | 27 | {% mesos_video Mesos-Intro-Lecture-8 %} 28 | 29 | Quick Reference 30 | --------------- 31 | 32 | Install Chronos using ``yum`` and then start it with ``service``: 33 | 34 | ``` 35 | [node1]$ sudo yum -y install chronos 36 | [node1]$ sudo service chronos start 37 | ``` 38 | 39 | Now you can go to the web UI for Chronos at http://192.168.33.10:4400/ and start a job. Create one called "sleeper" that sleeps for 10 seconds and goes off every 10 minutes. 40 | 41 | 42 | Further Study 43 | ------------- 44 | 45 | * Stop Chronos and then install the ``/usr/bin/chronos`` command inside Marathon so that Marathon manages it the same way it manages Mesos DNS, ``SimpleHTTPServer``, and your demo application. 46 | * Create a Chronos job that kills the Mesos DNS process every 5 minutes so that Marathon can restart it. This task can be difficult, and is not recommended as a normal installation step. It is *only intended to teach you about the connection between all of the pieces installed so far*. 47 | 48 | -------------------------------------------------------------------------------- /advanced-course/installing-zookeeper.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Exercise 2 – Installing ZooKeeper 4 | 5 | redirect_from: 6 | - /intro-course/ex2.html 7 | --- 8 | 9 | Apache Mesos uses ZooKeeper to operate. Apache Mesos also works with ``etcd`` but it is currently (as of 10 | Feb 2015) not recommended for production installations. ZooKeeper acts as the master election service in the Mesosphere architecture and 11 | stores state for the Mesos nodes. 12 | 13 | In this exercise: 14 | 15 | 1. Install the necessary ZooKeeper RPMs. 16 | 2. Initialize the ``zookeeper-server`` to use ID 1. 17 | 3. Start Zookeeper. 18 | 4. Test that Zookeeper works. 19 | 5. Shutdown and restart the ``zookeper-server`` down and validate that it works. 20 | 21 | 22 | Video Lecture 23 | ------------- 24 | 25 | {% mesos_video Mesos-Intro-Lecture-2 %} 26 | 27 | 28 | Quick Reference 29 | --------------- 30 | 31 | You can start Zookeeper after completing exercise 1. 32 | 33 | Install Zookeeper and the Zookeeper server package by pointing to the RPM repository for ZooKeeper: 34 | 35 | ``` 36 | [node1]$ sudo rpm -Uvh http://archive.cloudera.com/cdh4/one-click-install/redhat/6/x86_64/cloudera-cdh-4-0.x86_64.rpm 37 | [node1]$ sudo yum -y install zookeeper zookeeper-server 38 | ``` 39 | 40 | Initialize and start Zookeeper: 41 | 42 | ``` 43 | [node1]$ sudo -u zookeeper zookeeper-server-initialize --myid=1 44 | [node1]$ sudo service zookeeper-server start 45 | ``` 46 | 47 | Use the interactive shell to test your installation: 48 | 49 | ``` 50 | [node1]$ /usr/lib/zookeeper/bin/zkCli.sh 51 | # sometimes at this point you get an error that java is missing. This means yum did NOT install java for...reasons. Start over. 52 | help 53 | create /test 1 54 | get /test 55 | set /test 2 56 | get /test 57 | delete /test 58 | quit 59 | ``` 60 | 61 | Validate that you can stop and restart ZooKeeper: 62 | 63 | ``` 64 | [node1]$ sudo service zookeeper-server stop 65 | [node1]$ sudo service zookeeper-server start 66 | ``` 67 | 68 | Further Study 69 | ------------- 70 | 71 | * [Read about ZooKeeper](http://zookeeper.apache.org/doc/r3.3.2/zookeeperAdmin.html) and learn how to work with it by using the shell. 72 | * Try taking ZooKeeper down and then attempt to use the shell again. This will show you some of the common error messages you get. 73 | * Find ZooKeeper in your process list, and find out where it is installed on the system. 74 | 75 | 76 | -------------------------------------------------------------------------------- /advanced-course/introduction.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Introduction 4 | 5 | redirect_from: 6 | - /intro-course/intro.html 7 | --- 8 | 9 | This course is designed to take you from having no knowledge of systems management by using Apache Mesos, to automatically building and deploying a complete cluster running Apache Mesos, Marathon, Mesos DNS, Chronos, Docker and Ansible. This course is designed so that even if you don't know anything about the tools, you'll become familiar by completing the examples and exercises. If you've always wanted to understand modern cloud infrastructure then this course is for you! 10 | 11 | This course assumes that you have basic knowledge of managing a Linux system and are proficient in Unix command line tools. A minimum of 8G of RAM is required on your system. 12 | 13 | How To Complete This Course 14 | =========================== 15 | 16 | The exercises have a consistent format that is designed to teach and act as a reference for further study. The format is: 17 | 18 | 1. An introduction that explains the exercise, its goals, and any prerequisites you may need. 19 | 2. A video lecture that teaches you the lesson, usually with a demonstration for you to watch 20 | and take notes about, or a presentation of information, or both. 21 | 3. A quick reference section that will have links mentioned in the videos, and list the commands 22 | used for you to refer to later. The commands are usually given in "shell friendly" format so you 23 | can copy and paste them when trying to replicate what the video did, although you should type them so 24 | you get used to working with the tools. 25 | 4. Homework for you to do before moving on. The homework should be short and related to the lecture, but 26 | it might involve more work depending on your skills and what's necessary for the exercise. 27 | 28 | To complete the course you simply start at Exercise 1 and do each exercise in 29 | order, watching the lectures and completing the homework. When you're done 30 | you'll have a very solid understanding of everything in Mesos and should be able to 31 | build your own deployments and applications with it. 32 | 33 | The exercises are designed to take between 15-60 minutes, and the entire course should take only a few days to complete. 34 | 35 | Getting Help 36 | ============ 37 | 38 | To keep thing simple, please stick to the 7.1 version of CentOS being used in the exercises. While you may have a more preferred version of Linux, educational goals mean we have to standardize on one and use that to teach. After you complete the course you should be able to extrapolate this information to any version of Linux you prefer. 39 | -------------------------------------------------------------------------------- /advanced-course/marathon-rest-api.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Exercise 6 – Marathon REST API 4 | 5 | redirect_from: 6 | - /intro-course/ex6.html 7 | --- 8 | 9 | The GUI is the primary way to work with Marathon, but it's also good to 10 | understand the underlying REST interface for Marathon. This exercise will show 11 | you advanced tricks you can do right from the command line using the Marathon 12 | REST API. You don't need to know any programming languages to complete this 13 | exercise, just a basic understanding of the ``curl`` command line HTTP tool. 14 | 15 | In this exercise you'll see how these REST calls map to the Marathon GUI and the Marathon 16 | command line tool. 17 | 18 | Video Lecture 19 | ------------- 20 | 21 | {% mesos_video Mesos-Intro-Lecture-6 %} 22 | 23 | 24 | Quick Reference 25 | --------------- 26 | 27 | The Marathon REST API is documented at http://mesosphere.github.io/marathon/docs/rest-api.html and to demonstrate it you do the following: 28 | 29 | ``` 30 | # get metrics on the running apps 31 | [node1]$ curl http://0.0.0.0:8080/metrics | python -m json.tool | less 32 | 33 | # look at the apps you have installed 34 | [node1]$ curl http://0.0.0.0:8080/v2/apps | python -m json.tool 35 | 36 | # look at a specific app, named test from Ex4 and Ex5 37 | [node1]$ curl http://0.0.0.0:8080/v2/apps/test | python -m json.tool 38 | 39 | # delete that app 40 | [node1]$ curl -X DELETE http://0.0.0.0:8080/v2/apps/test | python -m json.tool 41 | 42 | # show that the app is gone 43 | [node1]$ curl http://0.0.0.0:8080/v2/apps/test | python -m json.tool 44 | ``` 45 | 46 | Confirm that these commands cause changes in the Marathon GUI as you run them. After that bring back the ``python`` test application using either the GUI, or for extra point, the API and ``curl``. 47 | 48 | Further Study 49 | ------------- 50 | 51 | * Do the inverse of this video and make changes in the Marathon GUI which are shown in the REST API. 52 | * Use the REST API, ``curl`` and your text editor to ``DELETE`` and redeploy your application from the command line only. 53 | 54 | -------------------------------------------------------------------------------- /advanced-course/scaling-to-two-nodes.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Exercise 11 – Scaling To Two Nodes 4 | 5 | redirect_from: 6 | - /intro-course/ex11.html 7 | --- 8 | 9 | After you have the ``mesos-slave`` running on ``node2``, you can use the Marathon GUI to expand the ``test`` Python web server out to ``node2`` and ``node1``. This exercise is entirely video based. 10 | 11 | In this exercise: 12 | 13 | 1. Use the Marathon GUI to scale up to 4 nodes. 14 | 2. Observe how ``node2`` now has the ``test`` application running in the Mesos GUI. 15 | 16 | Video Lecture 17 | ------------- 18 | 19 | {% mesos_video Mesos-Intro-Lecture-11 %} 20 | 21 | 22 | Quick Reference 23 | --------------- 24 | 25 | 1. View the two Mesos nodes in the Marathon GUI and see how they are displayed. 26 | 2. Use the Marathon GUI to scale down your nodes to 0, then with the newly added ``node2`` active, scale it back up to 4 so you can see them be distributed across the little cluster. 27 | 3. Use mesos-dns to discover where they are and what their ports are. 28 | 29 | 30 | Further Study 31 | ------------- 32 | 33 | * Use mesos-dns to find out where they are located. 34 | * Try launching your own commands to see how they work. 35 | -------------------------------------------------------------------------------- /advanced-course/starting-marathon.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Exercise 4 – Starting Marathon 4 | 5 | redirect_from: 6 | - /intro-course/ex4.html 7 | - /tutorials/run-services-with-marathon/ 8 | --- 9 | 10 | In Linux the init/systemd/upstart program manages all of the 11 | processes running on your system. The Mesosphere stack uses Marathon to manage the processes and services. 12 | Marathon is the technology that plays the role of ``init/systemd/upstart`` in the analogy of an operating system. 13 | Marathon provides both a simple GUI and an extensive REST API that you can work with if you need 14 | more capability. 15 | 16 | In this exercise: 17 | 18 | 1. Start Marathon. 19 | 2. Explore the Marathon GUI. 20 | 3. Install an app and start a simple Python web server by using Marathon. 21 | 4. Test that the Python web server is live. 22 | 23 | Video Lecture 24 | ------------- 25 | 26 | {% mesos_video Mesos-Intro-Lecture-4 %} 27 | 28 | Quick Reference 29 | --------------- 30 | 31 | Start Marathon by using the ``service`` command: 32 | 33 | ``` 34 | [node1]$ sudo service marathon start 35 | ``` 36 | 37 | Go to ``http://192.168.33.10:8080/`` to view the Marathon GUI. 38 | From the GUI, install a new app that Marathon will run. In this example, we start by using the ``python -m SimpleHTTPServer`` app.: 39 | 40 | 41 | ``` 42 | # view the python SimpleHTTPServer web server is running 43 | [node1]$ netstat -nlp | grep 8000 44 | # use curl to play with the server 45 | [node1]$ curl http://192.168.33.10:8000/ 46 | ``` 47 | 48 | Marathon and Mesos give you direct access to the ``stderr`` (standard error) and ``stdout`` (standard out) files for every process. You can use ``curl`` to view these files and see that they are the ``SimpleHTTPServer``'s logs, which you would normally see on your terminal when you start it: 49 | 50 | ``` 51 | [node1]$ curl http://192.168.33.10:8000/stderr 52 | [node1]$ curl http://192.168.33.10:8000/stdout 53 | ``` 54 | 55 | Further Study 56 | ------------- 57 | 58 | * Try some other servers that you want to run. For example, ``Flask``, ``Ruby on Rails``, a database, or a chat server . 59 | 60 | -------------------------------------------------------------------------------- /advanced-course/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: rgb(242, 242, 243); 3 | display: block; 4 | padding-top: 20px; 5 | position: relative; 6 | } 7 | 8 | .navbar-default .navbar-brand { 9 | color: #fff; 10 | font-weight: 200; 11 | letter-spacing: 1px; 12 | } 13 | 14 | .navbar-default .navbar-brand:hover { 15 | color: rgb(205, 205, 205); 16 | } 17 | 18 | .section { 19 | padding-bottom: 0px; 20 | padding-top: 0px; 21 | } 22 | 23 | .video-lecture-container { 24 | position:relative; 25 | width: 100%; 26 | height: 0px; 27 | padding-bottom: 56%; /* proportional scaling */ 28 | padding-top: 50px; /* add constant */ 29 | } 30 | .video-lecture-container .smart-player-embed-container-iframe { 31 | position: absolute; 32 | width: 100%; 33 | height: 100%; 34 | top: 0; 35 | } 36 | 37 | footer { 38 | margin-top: 25px; 39 | } 40 | -------------------------------------------------------------------------------- /advanced-course/using-apache-mesos.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Exercise 3 – Using Apache Mesos 4 | 5 | redirect_from: 6 | - /intro-course/ex3.html 7 | --- 8 | 9 | Apache Mesos is the foundation of the Mesosphere technology stack and powers all of the communications and 10 | system management. Mesos uses a simple architecture to give you 11 | intelligent task distribution across a cluster of machines without worrying about where they are 12 | scheduled. In this module Mesos is used to run and manage services on a four 13 | node cluster. To get started you must set up the ``mesos-master`` on ``node1``. 14 | 15 | **Prerequisite** (see Exercise 1): 16 | Edit your /etc/hosts file to set node1 to the IP address 192.168.33.10. 17 | 18 | In this exercise: 19 | 20 | 1. Start the ``mesos-master`` and ``mesos-slave`` processes. 21 | 2. Test that the ``mesos-master`` and ``mesos-slave`` processes are working as expected. 22 | 3. Execute a sample command from the command line. 23 | 4. Observe the command's progress from both the command line and a web GUI. 24 | 25 | 26 | Video Lecture 27 | ------------- 28 | 29 | {% mesos_video Mesos-Intro-Lecture-3 %} 30 | 31 | 32 | Quick Reference 33 | --------------- 34 | 35 | Start the mesos-master and mesos-slave processes: 36 | 37 | ``` 38 | [node1]$ sudo service mesos-master start 39 | [node1]$ sudo service mesos-slave start 40 | [node1]$ sudo netstat -nlp | grep mesos 41 | ``` 42 | 43 | Access the Mesos user interface with your browser at ``http://192.168.33.10:5050`` and confirm that the IP address shown in the user interface is ``192.168.33.10``. If not, start over by using ``vagrant destroy``. 44 | 45 | 46 | Test out mesos by using the ``mesos-execute`` command: 47 | 48 | ``` 49 | [node1]$ export MASTER=$(mesos-resolve `cat /etc/mesos/zk` 2>/dev/null) 50 | [node1]$ mesos help 51 | [node1]$ mesos-execute --master=$MASTER --name="cluster-test" --command="sleep 40" 52 | ``` 53 | 54 | With the ``mesos-execute`` command running, enter ``ctrl-z`` to suspend the command. You can see how it appears in the web UI and command line: 55 | 56 | ``` 57 | # hit ctrl-z 58 | [node1]$ bg # this sends the process into the background 59 | [node1]$ mesos ps --master=$MASTER 60 | ``` 61 | 62 | Further Study 63 | ------------- 64 | 65 | * Try running a few other commands using ``mesos-execute``. 66 | * Find out what the commands listed in ``mesos help`` do and try to use a few of them. 67 | 68 | -------------------------------------------------------------------------------- /advanced-course/using-the-marathon-gui.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Exercise 5 – Using the Marathon GUI 4 | 5 | redirect_from: 6 | - /intro-course/ex5.html 7 | --- 8 | 9 | You can use the Marathon GUI to configure and deploy your applications. In this exercise you will learn how the GUI works and 10 | how to configure and control a simple Python web service. 11 | 12 | This exercise is entirely video based. In this exercise: 13 | 14 | 1. Use the command line to kill the python web server. 15 | 2. Watch Marathon bring the Python web server back up. 16 | 3. Learn how to scale the app and halt the process. 17 | 4. Learn how to use ``$PORT`` to let Marathon assign random ports to your applications. 18 | 5. Scale the apps further than 1 node using randomly assigned ports. 19 | 20 | 21 | Video Lecture 22 | ------------- 23 | 24 | {% mesos_video Mesos-Intro-Lecture-5 %} 25 | 26 | 27 | Quick Reference 28 | --------------- 29 | 30 | This exercise is entirely video based, and in the video we: 31 | 32 | 1. Kill the Python process from exercise 4. 33 | 2. Watch the Python process recover. 34 | 3. Suspend the Python process which brings it to 0. 35 | 4. Bring the process back up by going from 0 to 1 nodes. 36 | 5. Make a new Python process with different values for CPU and RAM. Make sure you can fit more than one process in the cluster according to the values you choose for CPU and RAM (recommended defaults: 0.1 CPU and 32MB RAM) 37 | 6. Scale the Python process back up by using the ``$PORT`` variable and then add more nodes. 38 | 7. Add 2 more nodes then show the ports working dynamically. 39 | 40 | Further Study 41 | ------------- 42 | 43 | * Try out all of the things shown in the video on your application that was started in exercise 4. 44 | * With the ``$PORT`` variable you can have both the ``SimpleHTTPServer`` and your application live together. Try it out! 45 | 46 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mesosphere-backup/open-docs/9c58460b8aa216746ced5cef1cd8931b70f51c28/favicon.ico -------------------------------------------------------------------------------- /frameworks/_development.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Framework Development 4 | redirect_to: 5 | - https://dcos.io/ 6 | --- 7 | 8 | This document will provide the necessary details to develop a mesos framework. 9 | -------------------------------------------------------------------------------- /frameworks/chronos.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Chronos redirect 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /frameworks/marathon.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Marathon redirect 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /getting-started/cloud/amazon/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Mesosphere on Amazon Web Services 4 | 5 | redirect_to: 6 | - http://mesosphere.com/amazon/ 7 | --- 8 | -------------------------------------------------------------------------------- /getting-started/cloud/google/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Mesosphere on Google Cloud Platform 4 | 5 | redirect_to: 6 | - http://mesosphere.com/google/ 7 | --- 8 | -------------------------------------------------------------------------------- /getting-started/cloud/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Mesosphere in the Cloud 4 | 5 | redirect_to: 6 | - https://dcos.io/ 7 | --- 8 | 9 | This site is now deprecated. Please visit [dcos.io](https://dcos.io/) for the latest DC/OS community projects and documentation! 10 | -------------------------------------------------------------------------------- /getting-started/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Getting Started 4 | 5 | redirect_to: 6 | - https://dcos.io/ 7 | --- 8 | 9 | This site is now deprecated. Please visit [dcos.io](https://dcos.io/) for the latest DC/OS community projects and documentation! 10 | 11 | ## Mesos in the Cloud 12 | 13 | You can easily deploy Mesosphere DCOS into the cloud. Currently [Amazon Web Services](http://mesosphere.com/amazon) is supported but [Azure](https://mesosphere.com/azure/) and [Google](https://mesosphere.com/google/) support are coming soon!! 14 | 15 | ## DIY Mesos 16 | 17 | [Talk to Mesosphere](https://mesosphere.com/product/) about running DCOS Enterprise Edition on-premise! 18 | 19 | Installing an open source Mesos and Marathon cluster by hand is straightforward. The guides below will get you up and running a cluster in no time. 20 | 21 | + [Setting up a Mesos and Marathon Cluster](install) 22 | + [Tools](tools) - a collection of recipes for popular provisioning tools. 23 | + [Resources](resources) - writing your own Mesos framework? Some handy resources. -------------------------------------------------------------------------------- /getting-started/resources.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Developer Resources 4 | redirect_to: 5 | - https://dcos.io/ 6 | --- 7 | 8 | Mesos makes it easy to develop distributed systems by providing 9 | high-level building blocks like resource allocation and process 10 | monitoring. It has APIs for C/C++, Python, Go, Java, and other 11 | JVM languages. Here are some resources to help you get started with 12 | developing on Mesos. 13 | 14 | ### [Mesos Architecture](https://mesos.apache.org/documentation/latest/mesos-architecture) 15 | 16 | Provides an overview of Mesos concepts. 17 | 18 | ### [C++ Framework Development Guide](https://mesos.apache.org/documentation/latest/app-framework-development-guide/) 19 | 20 | Get started with writing Mesos applications in C++. 21 | 22 | ### [Go Bindings and Examples](https://github.com/mesosphere/mesos-go) 23 | 24 | Go language bindings for Apache Mesos, along with an example scheduler and executor. 25 | 26 | ### [Mesos Framework giter8 Template](https://github.com/mesosphere/scala-sbt-mesos-framework.g8) 27 | 28 | This is a giter8 template. The result of applying this template is a bare-bones Apache Mesos framework in Scala using SBT for builds and Vagrant for testing on a singleton cluster. 29 | 30 | ### [Mesos Hello World in Scala](https://gist.github.com/guenter/7471695) 31 | 32 | A simple Mesos "Hello World": downloads and starts a web server on every node in the cluster. 33 | 34 | 35 | -------------------------------------------------------------------------------- /google6dc7450c38e56aed.html: -------------------------------------------------------------------------------- 1 | google-site-verification: google6dc7450c38e56aed.html -------------------------------------------------------------------------------- /index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Overview 4 | 5 | redirect_to: 6 | - https://dcos.io/ 7 | --- 8 | 9 | This site is now deprecated. Please visit [dcos.io](https://dcos.io/) for the latest DC/OS community projects and documentation! 10 | 11 | Welcome to the Mesosphere Community Documentation website! This site contains documentation and tutorials for the community projects supported by Mesosphere, including [Apache Mesos](http://mesos.apache.org/), [Marathon](https://github.com/mesosphere/marathon) and [Chronos](https://github.com/mesos/chronos). 12 | 13 | This site also contains [a listing of Apache Mesos packages by version](/downloads/mesos). These are also available through your distribution's package manager ([setup instructions](https://mesosphere.com/downloads/)). 14 | 15 | For product documentation related to [Mesosphere's DCOS](https://mesosphere.com/learn/), please see the [Mesosphere documentation](http://docs.mesosphere.com). 16 | 17 | ## Getting Started 18 | 19 | The best way to start learning about Mesos and the other open source components that make up the Mesosphere DCOS is to take our extensive [Advanced Mesos Course](/advanced-course/) course which teaches you everything you need to run Mesosphere's software. This course consists of 20 exercises with video, quick reference commands, further study, and online live help comments. The course takes you from nothing to running a four node cluster running Mesos, Marathon, Chronos, all built automatically with Ansible. Take it at your own pace, and if you have any questions simply ask in the comments and we'll help you. 20 | 21 | ## Contributing 22 | 23 | This documentation is open source. Community contributions to the open docs are heartily welcomed! Please see the [repository's README on GitHub](https://github.com/mesosphere/open-docs) for more information. 24 | 25 | ## Support and Feedback 26 | 27 | Problems or questions related to this documentation should be [created as a new GitHub issue](https://github.com/mesosphere/open-docs/issues/new) or [asked on StackOverflow](http://ask.mesosphere.com). If you are able to fix the issue yourself, please consider [submitting a pull request](https://github.com/mesosphere/open-docs#2-submit-a-pull-request). 28 | 29 | Support information specific to the Mesosphere DCOS can be found at the [Support and Feedback page](https://docs.mesosphere.com/support/). 30 | -------------------------------------------------------------------------------- /reference/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Reference 4 | 5 | redirect_to: 6 | - https://dcos.io/ 7 | --- 8 | 9 | This site is now deprecated. Please visit [dcos.io](https://dcos.io/) for the latest DC/OS community projects and documentation! 10 | 11 | 12 | ### Administration 13 | 14 | * [Mesos Master Configuration](mesos-master) 15 | * [Mesos Slave Configuration](mesos-slave) 16 | * [Mesosphere Packages](packages) 17 | 18 | 19 | ### Misc 20 | 21 | * [Generating ssh Keys](generate-ssh-key) 22 | 23 | 24 | 25 | ### Glossary 26 | 27 | * [Glossary](glossary) 28 | -------------------------------------------------------------------------------- /rm-old-files.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | for img in $( find _assets/img -name "*.png" -or -name "*.jpg" -or -name "*.gif" ); do 4 | img_file=`basename $img` 5 | ag --markdown --html --yaml --css --less "/$img_file" . 6 | total=$(expr $?) 7 | ag --markdown --html --yaml --css --less "asset_path $img_file" . 8 | total=$(expr $total + $?) 9 | ag --markdown --html --yaml --css --less "\"$img_file" . 10 | total=$(expr $total + $?) 11 | if [ $total -eq "3" ]; then 12 | echo "Found an image: $img_file" 13 | git rm $img 14 | fi 15 | done 16 | 17 | -------------------------------------------------------------------------------- /robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: /jobs/challenges/ 3 | Disallow: / 4 | Disallow: /advanced-course/ 5 | -------------------------------------------------------------------------------- /tutorials/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: doc 3 | title: Tutorials 4 | 5 | redirect_from: 6 | - /tutorials/etl-pipelines-with-chronos-and-hadoop/ 7 | - /tutorials/mesosphere-on-a-single-coreos-instance/ 8 | - /learn/run-play-on-mesos/ 9 | - /tutorials/run-play-on-mesos/ 10 | - /learn/run-spark-on-mesos/ 11 | - /tutorials/run-spark-on-mesos/ 12 | - /learn/run-storm-on-mesos/ 13 | - /tutorials/run-storm-on-mesos/ 14 | 15 | redirect_to: 16 | - https://dcos.io/ 17 | --- 18 | 19 | This site is now deprecated. Please visit [dcos.io](https://dcos.io/) for the latest DC/OS community projects and documentation! 20 | 21 |
    22 |
    23 | 24 | {% for row in site.data.tutorials %} 25 | {% assign platform=row[1] %} 26 | {% unless platform.hide == true %} 27 |
    28 |
    29 |
    30 | 31 |
    32 |
    33 |

    34 | {{ platform.name }} 35 |

    36 |

    {{ platform.blurb }}

    37 |
    38 |
    39 |
      40 | {% for entry in platform.tutorials %} 41 | {% assign tutorial=entry[1] %} 42 | {% assign tutorial_page=nil %} 43 | {% assign url=tutorial.path %} 44 | {% for p in site.pages %} 45 | {% if tutorial.path == p.path %} 46 | {% assign url=p.url %} 47 | {% endif %} 48 | {% endfor %} 49 | 50 |
    • 51 |
      52 |

      53 | {{ tutorial.title }} 54 |

      55 | 59 |

      {{ tutorial.blurb }}

      60 |
      61 |
    • 62 | {% endfor %} 63 |
    64 |
    65 | {% endunless %} 66 | {% endfor %} 67 |
    68 |
    69 | --------------------------------------------------------------------------------