Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorent BENOIT2016-05-12 13:52:30 +0000
committerFlorent BENOIT2016-05-12 13:52:30 +0000
commit2bfb609b8d7b3c1f0adb17fe93490624fca7e9eb (patch)
tree210b08029c00f99fe37b06107f984888bb025a86
parentd51a04c7db75482ec0fb9df44ffd39bdbee3cdc0 (diff)
downloadche-beta-florent.tar.gz
che-beta-florent.tar.xz
che-beta-florent.zip
update designbeta-florent
-rw-r--r--getting-started/css/factory.css123
-rw-r--r--getting-started/index.html316
-rw-r--r--getting-started/scripts/factories-widget.html47
-rw-r--r--getting-started/scripts/factories.js151
-rw-r--r--getting-started/scripts/factories.json367
-rw-r--r--getting-started/scripts/factory-widget.html17
6 files changed, 710 insertions, 311 deletions
diff --git a/getting-started/css/factory.css b/getting-started/css/factory.css
new file mode 100644
index 000000000..a71cd0da8
--- /dev/null
+++ b/getting-started/css/factory.css
@@ -0,0 +1,123 @@
+.ribbon-box {
+ position: relative;
+}
+
+.factory-desc {
+ height: 75px;
+}
+
+.factory-category-example {
+ color: #ccc;
+}
+
+.factory-category-framework {
+ color: #87CEEB;
+}
+
+.factory-info {
+ text-align: center;
+ width: 100%;
+ margin-top: 20px;
+}
+
+.ribbon {
+ position: absolute;
+ right: -5px; top: -5px;
+ z-index: 1;
+ overflow: hidden;
+ width: 75px; height: 75px;
+ text-align: right;
+}
+.ribbon span {
+ font-size: 10px;
+ font-weight: bold;
+ color: #FFF;
+ text-transform: uppercase;
+ text-align: center;
+ line-height: 20px;
+ transform: rotate(45deg);
+ -webkit-transform: rotate(45deg);
+ width: 100px;
+ display: block;
+ background: #79A70A;
+ background: linear-gradient(#F79E05 0%, #8F5408 100%);
+ box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
+ position: absolute;
+ top: 19px; right: -21px;
+}
+.ribbon span::before {
+ content: "";
+ position: absolute; left: 0px; top: 100%;
+ z-index: -1;
+ border-left: 3px solid #8F5408;
+ border-right: 3px solid transparent;
+ border-bottom: 3px solid transparent;
+ border-top: 3px solid #8F5408;
+}
+.ribbon span::after {
+ content: "";
+ position: absolute; right: 0px; top: 100%;
+ z-index: -1;
+ border-left: 3px solid transparent;
+ border-right: 3px solid #8F5408;
+ border-bottom: 3px solid transparent;
+ border-top: 3px solid #8F5408;
+}
+
+.ribbon span a {
+ outline: none;
+ border: none;
+ color: white;
+}
+
+.factories-choice {
+ border: 1px solid #e3e3e3;
+ border-radius: 5px;
+}
+
+.factories-choice a {
+ border: none;
+ cursor: pointer;
+}
+
+.factories-choice .btn:hover, .btn:focus, .btn.focus {
+ color: inherit;
+}
+
+.factories-choice .dropdown-menu .divider {
+ margin: 0;
+}
+
+.factories-choice button {
+ outline: none;
+ line-height: 24px;
+
+}
+
+.factories-choice .btn {
+ outline: none;
+ background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
+ background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
+}
+
+.factories-filter-group {
+ text-align: right;
+}
+
+.factories-search-input {
+ height: 50px;
+ padding-left: 40px;
+}
+
+.factories-innerform {
+ float: left;
+ margin-left: 10px;
+ margin-top: -40px;
+ position: relative;
+ z-index: 2;
+ color: #e3e3e3;
+ font-size: 25px;
+} \ No newline at end of file
diff --git a/getting-started/index.html b/getting-started/index.html
index d175429cf..dc4d24a21 100644
--- a/getting-started/index.html
+++ b/getting-started/index.html
@@ -1,6 +1,6 @@
<!doctype html>
-<html>
+<html ng-app="gettingStarted">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -41,7 +41,10 @@
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300' rel='stylesheet' type='text/css'>
<link href="../stylesheets/all.css" rel="stylesheet" />
+ <link href="css/factory.css" rel="stylesheet" />
+ <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+ <script src="scripts/factories.js"></script>
<script src="../javascripts/bootstrap.min.js"></script>
<!-- Equal Height for Content Script -->
@@ -172,317 +175,8 @@
</div> <!-- /.row -->
<!-- END_CUSTOM_WORKSPACE -->
+ <getting-started-factories></getting-started-factories>
-
-
- <!-- START_CONTRIBUTION_REPOSITORIES -->
- <div class="block">
- <h2>Contribute to a Project</h2>
- </div>
-
- <div class="row">
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/7pabc2kl40gb6yep.png" alt="Logo for Elasticsearch">
- </div>
- <div class="media-body">
- <h4>Elasticsearch</h4>
- <p class="small" style="height: 50px;">Open source, distributed, RESTful search engine.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=7pabc2kl40gb6yep" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/zia672875qiibfzv.png" alt="Logo for Generator Alfresco">
- </div>
- <div class="media-body">
- <h4>Alfresco</h4>
- <p class="small" style="height: 50px;">Open-source content management.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=zia672875qiibfzv" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/rp0k4m6gh6rzifmi.png" alt="Logo for Javaslang">
- </div>
- <div class="media-body">
- <h4>Javaslang</h4>
- <p class="small" style="height: 50px;">A functional library for Java 8+.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=rp0k4m6gh6rzifmi" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/lse9alc1que84k1y.png" alt="Logo for Sourcegraph">
- </div>
- <div class="media-body">
- <h4>Sourcegraph</h4>
- <p class="small" style="height: 50px;">Code intelligence for development teams.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=lse9alc1que84k1y" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/suloomuf7cvcfghn.png" alt="Logo for TomEE">
- </div>
- <div class="media-body">
- <h4>TomEE</h4>
- <p class="small" style="height: 50px;">Tomcat-based Java EE application server.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=suloomuf7cvcfghn" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/tdwv5klhq3zcuowr.png" alt="Logo for cfpio">
- </div>
- <div class="media-body">
- <h4>cfp.io</h4>
- <p class="small" style="height: 50px;">Simplify requesting papers for conferences.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=tdwv5klhq3zcuowr" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- </div><!-- /.row -->
- <!-- END_CONTRIBUTION_REPOS -->
-
-
- <!-- START_RUN_SAMPLES -->
- <div class="block">
- <h2>Run a Tutorial / Sample</h2>
- </div>
-
- <div class="row">
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/omriatu352kkthua.png" alt="Logo for Java + Maven">
- </div>
- <div class="media-body">
- <h4>Java + Maven</h4>
- <p class="small" style="height: 50px;">Hello world console app with auto-build and run.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=omriatu352kkthua" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/5use7stej9bi9mxd.png" alt="Logo for Java + Gradle">
- </div>
- <div class="media-body">
- <h4>Java + Gradle</h4>
- <p class="small" style="height: 50px;">Hello world console app with auto-build and run.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=5use7stej9bi9mxd" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/af9r928owfulum17.png" alt="Logo for Node.js">
- </div>
- <div class="media-body">
- <h4>Node.js</h4>
- <p class="small" style="height: 50px;">Hello world web app with auto-build and run.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=af9r928owfulum17" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/21w2nx87yto2xi1z.png" alt="Logo for C++">
- </div>
- <div class="media-body">
- <h4>C++</h4>
- <p class="small" style="height: 50px;">Hello world console app with auto-build and run.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=21w2nx87yto2xi1z" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/5ayat0naxlljn3p2.png" alt="Logo for PHP">
- </div>
- <div class="media-body">
- <h4>PHP</h4>
- <p class="small" style="height: 50px;">Hello world web app with auto-build and run.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=5ayat0naxlljn3p2" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/mo97t9pkaijr7q1c.png" alt="Logo for .NET">
- </div>
- <div class="media-body">
- <h4>.NET</h4>
- <p class="small" style="height: 50px;">Hello world console app on Linux with Mono.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=mo97t9pkaijr7q1c" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/m9ylnmjtmzvmq99i.png" alt="Logo for ASP.NET">
- </div>
- <div class="media-body">
- <h4>ASP.NET</h4>
- <p class="small" style="height: 50px;">Hello world web app on Linux with Mono.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=m9ylnmjtmzvmq99i" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/2i2ikikl4kif87l9.png" alt="Logo for Angular 2">
- </div>
- <div class="media-body">
- <h4>Angular 2</h4>
- <p class="small" style="height: 50px;">Official quick start tutorial.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=2i2ikikl4kif87l9" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/r6p0l1sfnwm99k94.png" alt="Logo for Spring">
- </div>
- <div class="media-body">
- <h4>Spring</h4>
- <p class="small" style="height: 50px;">Java Spring PetClinic web app example.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=r6p0l1sfnwm99k94" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/sz7uzyofb8olekkn.png" alt="Logo for Spring Boot">
- </div>
- <div class="media-body">
- <h4>Spring Boot</h4>
- <p class="small" style="height: 50px;">Java web app example for rapid development.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=sz7uzyofb8olekkn" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/07xzbw8pq5wn02y5.png" alt="Logo for TomEE">
- </div>
- <div class="media-body">
- <h4>TomEE</h4>
- <p class="small" style="height: 50px;">JAX-RS and Angular web app sample.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=07xzbw8pq5wn02y5" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/lemf30nh52rvsx42.png" alt="Logo for TomEE">
- </div>
- <div class="media-body">
- <h4>TomEE</h4>
- <p class="small" style="height: 50px;">Stateless Java bean sample app.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=lemf30nh52rvsx42" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/9skz1321dxbqpj5j.png" alt="Logo for Vert.x verticle">
- </div>
- <div class="media-body">
- <h4>Vert.x Verticle</h4>
- <p class="small" style="height: 50px;">Example web app for reactive applications.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=9skz1321dxbqpj5j" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/9fq0busbm3tz7i8c.png" alt="Logo for Spring Rest Guide">
- </div>
- <div class="media-body">
- <h4>Spring Rest</h4>
- <p class="small" style="height: 50px;">Tutorial to create a RESTful web service.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=9fq0busbm3tz7i8c" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/ej6koycnt4maubns.png" alt="Logo for Vaadin">
- </div>
- <div class="media-body">
- <h4>Vaadin</h4>
- <p class="small" style="height: 50px;">Official address book UI demo.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=ej6koycnt4maubns" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/xc7ga4dx6qrgb8ii.png" alt="Logo for ISTEX">
- </div>
- <div class="media-body">
- <h4>ISTEX</h4>
- <p class="small" style="height: 50px;">API demo for the French digital scientific library.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=xc7ga4dx6qrgb8ii" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/ir9mnlkdt6hxm0z9.png" alt="Logo for ISTEX">
- </div>
- <div class="media-body">
- <h4>ISTEX</h4>
- <p class="small" style="height: 50px;">API mock for the French digital scientific library.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=ir9mnlkdt6hxm0z9" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- <div class="col-md-4 col-sm-6">
- <div class="border media">
- <div class="media-left">
- <img src="images/gbfcsdb76f2iy1f2.png" alt="Logo for Wildfly">
- </div>
- <div class="media-body">
- <h4>Wildfly</h4>
- <p class="small" style="height: 50px;">Java hello world web app example.</p>
- </div>
- <a href="http://beta.codenvy.com/f?id=gbfcsdb76f2iy1f2" class="btn-gray80">Launch Workspace</a>
- </div>
- </div> <!-- /.col -->
- </div><!-- /.row -->
-<!-- END_RUN_SAMPLES -->
-
-
</div> <!-- /#tab1 -->
<!-- DIVIDER FOR TABS -->
diff --git a/getting-started/scripts/factories-widget.html b/getting-started/scripts/factories-widget.html
new file mode 100644
index 000000000..0aa18b166
--- /dev/null
+++ b/getting-started/scripts/factories-widget.html
@@ -0,0 +1,47 @@
+<div class="row">
+ <div class="col-md-6">
+ <form>
+ <div class="form-group">
+ <input ng-model="search" class="factories-search-input form-control" placeholder="Search factory">
+ <span class="fa fa-search factories-innerform"></span>
+ </div>
+ </form>
+ </div>
+
+ <div class="col-md-3 factories-filter-group">
+ <div class="factories-choice btn-group" data-ng-class="{open: factoriesController.languageOpen}">
+ <button class="btn">Filter by Language</button>
+ <button class="btn dropdown-toggle" data-ng-click="factoriesController.languageOpen=!factoriesController.languageOpen"><span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu" aria-labelledby="dropdownMenu">
+ <li><a ng-click="factoriesController.checkAllLanguages()"><i class="fa fa-check-circle" aria-hidden="true"></i>&nbsp;Check All</a></li>
+ <li><a ng-click="factoriesController.enabledLanguages=[]"><i class="fa fa-times-circle" aria-hidden="true"></i>&nbsp;Uncheck All</a></li>
+ <li class="divider"></li>
+ <li data-ng-repeat="language in factoriesController.availableLanguages"> <a ng-click="factoriesController.toggleSelectedLanguage(language)">{{language}}&nbsp;<i ng-if="factoriesController.isCheckedLanguage(language)" class="fa fa-check" aria-hidden="true"></i></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ <div class="col-md-3 factories-filter-group">
+
+ <div class="factories-choice btn-group" data-ng-class="{open: factoriesController.categoryOpen}">
+ <button class="btn">Filter by Category</button>
+ <button class="btn dropdown-toggle" data-ng-click="factoriesController.categoryOpen=!factoriesController.categoryOpen"><span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu" aria-labelledby="dropdownMenu">
+ <li><a ng-click="factoriesController.checkAllCategories()"><i class="fa fa-check-circle" aria-hidden="true"></i>&nbsp;Check All</a></li>
+ <li><a ng-click="factoriesController.enabledCategories=[]"><i class="fa fa-times-circle" aria-hidden="true"></i>&nbsp;Uncheck All</a></li>
+ <li class="divider"></li>
+ <li data-ng-repeat="category in factoriesController.availableCategories"> <a ng-click="factoriesController.toggleSelectedCategory(category)">{{category}}&nbsp;<i ng-if="factoriesController.isCheckedCategory(category)" class="fa fa-check" aria-hidden="true"></i></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+
+</div>
+
+<div class="row">
+ <span ng-repeat="factory in factoriesController.factories | orderBy:['-badgedRepository','name'] | factoryCategoryFilter:factoriesController.enabledCategories | factoryLanguageFilter:factoriesController.enabledLanguages | filter:search">
+ <getting-started-factory factory="factory"></getting-started-factory>
+ </span>
+</div> \ No newline at end of file
diff --git a/getting-started/scripts/factories.js b/getting-started/scripts/factories.js
new file mode 100644
index 000000000..dcad9d05c
--- /dev/null
+++ b/getting-started/scripts/factories.js
@@ -0,0 +1,151 @@
+angular.module('gettingStarted', [])
+ .directive('gettingStartedFactory', function() {
+ return {
+ bindToController : true,
+ controller: 'FactoryController',
+ controllerAs: 'factoryController',
+ templateUrl: 'scripts/factory-widget.html',
+ scope: {
+ factory: '=factory',
+ }
+ };
+ })
+ .filter('factoryCategoryFilter', function () {
+ return function (factories, enabledCategories) {
+ if (enabledCategories.length > 0) {
+ var filtered = [];
+ for (var i = 0; i < factories.length; i++) {
+ var factory = factories[i];
+ if (enabledCategories.indexOf(factory.category) >= 0) {
+ filtered.push(factory);
+ }
+ }
+ return filtered;
+ }
+
+ return factories;
+ }
+ })
+ .filter('factoryLanguageFilter', function () {
+ return function (factories, enabledLanguages) {
+ if (enabledLanguages.length > 0) {
+ var filtered = [];
+ for (var i = 0; i < factories.length; i++) {
+ var factory = factories[i];
+ var languages = factory.languages;
+ if (languages) {
+ languages.forEach(function (language) {
+ if (enabledLanguages.indexOf(language) >= 0) {
+ filtered.push(factory);
+ }
+ });
+ }
+
+ }
+ return filtered;
+ }
+
+ return factories;
+ }
+ })
+ .controller('FactoryController', function () {
+
+
+
+ })
+ .directive('gettingStartedFactories', function() {
+ return {
+ bindToController : true,
+ controller: 'FactoriesController',
+ controllerAs: 'factoriesController',
+ templateUrl: 'scripts/factories-widget.html'
+ };
+ })
+ .controller('FactoriesController', ['$http', function ($http) {
+ this.availableCategories = [];
+ this.availableLanguages = [];
+ this.enabledCategories = [];
+ this.enabledLanguages = [];
+ this.factories = [];
+ var self = this;
+ var promise = $http.get('scripts/factories.json');
+
+ this.toggleSelected = function (item, enabledArray) {
+ var index = enabledArray.indexOf(item);
+ if (index < 0) {
+ enabledArray.push(item);
+ } else {
+ enabledArray.splice(index, 1);
+ }
+ };
+
+ this.isChecked = function (item, enabledArray) {
+ return enabledArray.indexOf(item) >= 0;
+ };
+
+ this.checkAll = function (availableArray) {
+ return availableArray.slice(0);
+ };
+
+
+ this.toggleSelectedLanguage = function (language) {
+ return self.toggleSelected(language, self.enabledLanguages);
+ };
+
+ this.toggleSelectedCategory = function (category) {
+ return self.toggleSelected(category, self.enabledCategories);
+ };
+
+
+ this.isCheckedCategory = function (category) {
+ return self.isChecked(category, self.enabledCategories);
+ };
+
+ this.isCheckedLanguage = function (language) {
+ return self.isChecked(language, self.enabledLanguages);
+ };
+
+ this.checkAllLanguages = function () {
+ self.enabledLanguages = self.checkAll(self.availableLanguages);
+ };
+
+ this.checkAllCategories = function () {
+ self.enabledCategories = self.checkAll(self.availableCategories);
+ };
+
+ promise.then(function (response) {
+ self.factories = response.data.factories;
+
+ // now, populate the different categories
+ self.factories.forEach(function(factory) {
+ if (self.availableCategories.indexOf(factory.category) < 0) {
+ self.availableCategories.push(factory.category);
+ }
+
+ var languages = factory.languages;
+ if (languages) {
+ languages.forEach(function (language) {
+ if (self.availableLanguages.indexOf(language) < 0) {
+ self.availableLanguages.push(language);
+ }
+ });
+ }
+ });
+
+ // sort arrays
+ self.availableCategories.sort();
+ self.availableLanguages.sort();
+
+ });
+
+ this.toggleCategory = function (category) {
+ var index = self.enabledCategories.indexOf(category);
+ if (index >= 0) {
+ self.enabledCategories.splice(index, 1);
+ } else {
+ self.enabledCategories.push(category);
+ }
+ }
+
+
+ }]);
diff --git a/getting-started/scripts/factories.json b/getting-started/scripts/factories.json
new file mode 100644
index 000000000..3fb81b052
--- /dev/null
+++ b/getting-started/scripts/factories.json
@@ -0,0 +1,367 @@
+{
+ "disclaimer":"DO NOT CHANGE ANYTHING IN THIS FILE, IT IS AUTOMATICALLY GENERATED",
+ "factories":
+ [
+ {
+ "name": ".NET",
+ "desc": "Hello world console app on Linux with Mono",
+ "logo": "images/mo97t9pkaijr7q1c.png",
+ "project": "https://github.com/che-samples/console-dotnet-simple",
+ "website": "",
+ "category": "che samples",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=mo97t9pkaijr7q1c",
+ "languages": [
+ ".net"
+
+ ]
+ },
+ {
+ "name": "Angular 2",
+ "desc": "Official Angular2 quick start tutorial",
+ "logo": "images/2i2ikikl4kif87l9.png",
+ "project": "https://github.com/angular/quickstart",
+ "website": "https://angular.io/docs/ts/latest/quickstart.html",
+ "category": "tutorial",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=2i2ikikl4kif87l9",
+ "languages": [
+ "javascript"
+
+ ]
+ },
+ {
+ "name": "ASP.NET",
+ "desc": "Hello world web app on Linux with Mono",
+ "logo": "images/m9ylnmjtmzvmq99i.png",
+ "project": "https://github.com/che-samples/web-aspnet-simple",
+ "website": "",
+ "category": "che samples",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=m9ylnmjtmzvmq99i",
+ "languages": [
+ "asp.net"
+
+ ]
+ },
+ {
+ "name": "C++",
+ "desc": "Hello world console app with auto-build and run",
+ "logo": "images/21w2nx87yto2xi1z.png",
+ "project": "https://github.com/che-samples/console-cpp-simple.git",
+ "website": "",
+ "category": "che samples",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=21w2nx87yto2xi1z",
+ "languages": [
+ "c++"
+
+ ]
+ },
+ {
+ "name": "cfp.io",
+ "desc": "Simplify requesting papers for conferences",
+ "logo": "images/tdwv5klhq3zcuowr.png",
+ "project": "https://github.com/cfpio/callForPaper",
+ "website": "http://www.cfp.io",
+ "category": "framework",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=tdwv5klhq3zcuowr",
+ "languages": [
+ "java",
+ "javascript"
+
+ ]
+ },
+ {
+ "name": "Elasticsearch",
+ "desc": "Open Source, Distributed, RESTful Search Engine",
+ "logo": "images/7pabc2kl40gb6yep.png",
+ "project": "https://github.com/elastic/elasticsearch",
+ "website": "https://www.elastic.co/products/elasticsearch",
+ "category": "framework",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=7pabc2kl40gb6yep",
+ "languages": [
+ "java"
+
+ ]
+ },
+ {
+ "name": "Generator Alfresco",
+ "desc": "A Yeoman generator for Open-source content management",
+ "logo": "images/zia672875qiibfzv.png",
+ "project": "https://github.com/binduwavell/generator-alfresco",
+ "website": "http://www.alfresco.com/",
+ "category": "framework",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=zia672875qiibfzv",
+ "languages": [
+ "javascript"
+
+ ]
+ },
+ {
+ "name": "ISTEX",
+ "desc": "API demo for the French digital scientific library",
+ "logo": "images/xc7ga4dx6qrgb8ii.png",
+ "project": "https://github.com/istex/istex-api-demo",
+ "website": "http://www.istex.fr",
+ "category": "framework",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=xc7ga4dx6qrgb8ii",
+ "languages": [
+ "javascript"
+
+ ]
+ },
+ {
+ "name": "ISTEX",
+ "desc": "API mock for the French digital scientific library",
+ "logo": "images/ir9mnlkdt6hxm0z9.png",
+ "project": "https://github.com/istex/istex-api-faker",
+ "website": "http://www.istex.fr",
+ "category": "framework",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=ir9mnlkdt6hxm0z9",
+ "languages": [
+ "javascript"
+
+ ]
+ },
+ {
+ "name": "Java + Gradle",
+ "desc": "Hello world console app with auto-build and run",
+ "logo": "images/5use7stej9bi9mxd.png",
+ "project": "https://github.com/che-samples/console-java-gradle.git",
+ "website": "",
+ "category": "che samples",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=5use7stej9bi9mxd",
+ "languages": [
+ "java"
+
+ ]
+ },
+ {
+ "name": "Java + Maven",
+ "desc": "Hello world console app with auto-build and run",
+ "logo": "images/omriatu352kkthua.png",
+ "project": "https://github.com/che-samples/console-java-simple.git",
+ "website": "",
+ "category": "che samples",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=omriatu352kkthua",
+ "languages": [
+ "java"
+
+ ]
+ },
+ {
+ "name": "Javaslang",
+ "desc": "A functional library for Java 8+",
+ "logo": "images/rp0k4m6gh6rzifmi.png",
+ "project": "https://github.com/javaslang/javaslang",
+ "website": "http://www.javaslang.io/",
+ "category": "framework",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=rp0k4m6gh6rzifmi",
+ "languages": [
+ "java"
+
+ ]
+ },
+ {
+ "name": "Node.js",
+ "desc": "Hello world web app with auto-build and run",
+ "logo": "images/af9r928owfulum17.png",
+ "project": "https://github.com/che-samples/web-nodejs-simple.git",
+ "website": "",
+ "category": "che samples",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=af9r928owfulum17",
+ "languages": [
+ "javascript"
+
+ ]
+ },
+ {
+ "name": "PHP",
+ "desc": "Hello world web app with auto-build and run",
+ "logo": "images/5ayat0naxlljn3p2.png",
+ "project": "https://github.com/che-samples/web-php-simple.git",
+ "website": "",
+ "category": "che samples",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=5ayat0naxlljn3p2",
+ "languages": [
+ "php"
+
+ ]
+ },
+ {
+ "name": "Sourcegraph",
+ "desc": "Code Intelligence for Teams.",
+ "logo": "images/lse9alc1que84k1y.png",
+ "project": "https://src.sourcegraph.com/sourcegraph",
+ "website": "https://sourcegraph.com/",
+ "category": "framework",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=lse9alc1que84k1y",
+ "languages": [
+ "java"
+
+ ]
+ },
+ {
+ "name": "Spring",
+ "desc": "Java Spring PetClinic web app example",
+ "logo": "images/r6p0l1sfnwm99k94.png",
+ "project": "https://github.com/che-samples/web-java-spring-petclinic.git",
+ "website": "",
+ "category": "che samples",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=r6p0l1sfnwm99k94",
+ "languages": [
+ "java"
+
+ ]
+ },
+ {
+ "name": "Spring Boot",
+ "desc": "Java web app example for rapid development",
+ "logo": "images/sz7uzyofb8olekkn.png",
+ "project": "https://github.com/che-samples/web-java-spring-boot.git",
+ "website": "",
+ "category": "che samples",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=sz7uzyofb8olekkn",
+ "languages": [
+ "java"
+
+ ]
+ },
+ {
+ "name": "Spring Rest Guide",
+ "desc": "Learn how to create a RESTful web service with Spring",
+ "logo": "images/9fq0busbm3tz7i8c.png",
+ "project": "https://github.com/spring-guides/gs-rest-service",
+ "website": "http://spring.io/guides/gs/rest-service/",
+ "category": "tutorial",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=9fq0busbm3tz7i8c",
+ "languages": [
+ "java"
+
+ ]
+ },
+ {
+ "name": "TomEE",
+ "desc": "JAX-RS and Angular web app sample",
+ "logo": "images/07xzbw8pq5wn02y5.png",
+ "project": "https://github.com/tomitribe/tomee-jaxrs-angular-starter-project.git",
+ "website": "http://www.tomitribe.com/",
+ "category": "samples",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=07xzbw8pq5wn02y5",
+ "languages": [
+ "java"
+
+ ]
+ },
+ {
+ "name": "TomEE",
+ "desc": "Moviefun Java sample app",
+ "logo": "images/suloomuf7cvcfghn.png",
+ "project": "https://github.com/apache/tomee",
+ "website": "http://tomee.apache.org",
+ "category": "samples",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=suloomuf7cvcfghn",
+ "languages": [
+ "java"
+
+ ]
+ },
+ {
+ "name": "TomEE",
+ "desc": "Stateless Java bean sample app",
+ "logo": "images/lemf30nh52rvsx42.png",
+ "project": "https://github.com/apache/tomee",
+ "website": "http://tomee.apache.org",
+ "category": "samples",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=lemf30nh52rvsx42",
+ "languages": [
+ "java"
+
+ ]
+ },
+ {
+ "name": "Vaadin",
+ "desc": "Official address book UI demo",
+ "logo": "images/ej6koycnt4maubns.png",
+ "project": "https://github.com/vaadin/addressbook",
+ "website": "https://vaadin.com/home",
+ "category": "samples",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=ej6koycnt4maubns",
+ "languages": [
+ "java"
+
+ ]
+ },
+ {
+ "name": "Vert.x verticle",
+ "desc": "Example web app for reactive applications on the JVM",
+ "logo": "images/9skz1321dxbqpj5j.png",
+ "project": "https://github.com/vert-x3/vertx-examples",
+ "website": "http://vertx.io/",
+ "category": "samples",
+ "badgedRepository": true,
+ "badgeLink": "https://github.com/vert-x3/vertx-examples",
+ "factory": "http://beta.codenvy.com/f?id=9skz1321dxbqpj5j",
+ "languages": [
+ "java"
+
+ ]
+ },
+ {
+ "name": "Wildfly",
+ "desc": "Java hello world web app example",
+ "logo": "images/gbfcsdb76f2iy1f2.png",
+ "project": "https://github.com/che-samples/web-java-wildfly.git",
+ "website": "",
+ "category": "che samples",
+ "badgedRepository": false,
+ "badgeLink": "",
+ "factory": "http://beta.codenvy.com/f?id=gbfcsdb76f2iy1f2",
+ "languages": [
+ "java"
+
+ ]
+ }
+ ]
+}
diff --git a/getting-started/scripts/factory-widget.html b/getting-started/scripts/factory-widget.html
new file mode 100644
index 000000000..564320aae
--- /dev/null
+++ b/getting-started/scripts/factory-widget.html
@@ -0,0 +1,17 @@
+<div class="col-md-4 col-sm-6">
+ <div class="border media ribbon-box">
+ <div ng-if="factoryController.factory.badgedRepository" class="ribbon"><span><a href="{{factoryController.factory.badgeLink}}">BADGED</a></span></div>
+ <div class="media-left">
+ <img src="{{factoryController.factory.logo}}" alt="Logo for {{factoryController.factory.name}}">
+ <!--<i class="factory-category-{{factoryController.factory.category}} factory-info fa fa-info-circle" aria-hidden="true"></i>-->
+ </div>
+ <div class="media-body">
+ <h4>
+ <a ng-if="factoryController.factory.website" href="{{factoryController.factory.website}}">{{factoryController.factory.name}}</a>
+ <span ng-hide="factoryController.factory.website">{{factoryController.factory.name}}</span>
+ </h4>
+ <p class="small factory-desc">{{factoryController.factory.desc}}.</p>
+ </div>
+ <a href="{{factoryController.factory.factory}}" class="btn-gray80">Launch Workspace</a>
+ </div>
+</div> <!-- /.col -->

Back to the top