diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..1e4aec5f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,144 @@ +--- +--- + +# Change log + +## Pre-release 1.1.0 (upcoming) + +- [Web] New support of Angular 2 +- [Mobile] New support of Ionic 2 +- [Web & Mobile] New navigation and address bar in the Preview panel +- [Web & Mobile] Better overall user experience +- [Studio] Open project folder in Terminal +- [Studio] New web and mobile template catalog for project creation +- [Studio] New preferences: auto-shutdown server on solution close and auto-reload modified files +- [Studio] Better support of Retina displays +- [Code Editor] Comments toggling with `CMD-/` and `CTRL-/` +- [Code Editor] Better support of `.ts` `.less`, `.scss`, `.sass` and `.md` files +- [Git] Remote settings edition +- [Git & Deploy] Better overall user experience +- [Add-ons] Improved updatability of Studio components and dependencies mechanism +- [Extensions API] New option for `targets` argument in Extension manifest to handle files based on their extension +- Fix: Wakanda Studio deployment UX issue [#15](https://github.com/Wakanda/wakanda-issues/issues/15) +- Fix: TAB key shows completion list instead of indenting code +- Fix: Prototyper css files not updated automatically +- Fix: Prototyper unreachable Google fonts API + +## 1.0.3 (Feb. 25) + +- Fix: Live reload on Run Page in Windows Studio +- Fix: Model Designer combobox style [#35](https://github.com/Wakanda/wakanda-issues/issues/35) +- Fix: Autocompletion suggestions on multiple DataClasses +- Fix: Code Editor indentation visual hint for spaces +- Fix: Override via API of inherited attributes +- Fix: Console link to nodejs installation page + +## 1.0.2 (Feb. 19) + +- Fix: Loading large projects freezes the studio +- Fix: Directory panel can't be resized on small screens +- Fix: `bower update` fails inside `web` & `mobile` folders +- Fix: RPC modules renaming keeps both old and new paths exposed as RPC +- Fix: Git visual bug [#16](https://github.com/Wakanda/wakanda-issues/issues/16) +- Fix: `Untabify Selection` not working for JS Files +- Fix: Git and Troubleshooting interfaces slow load when offline +- Fix: renaming a folder in the explorer makes it disappear from the list +- Fix: black lines appear inside resized web zones +- Fix: Integrate latest Angular-Wakanda fixes ([1.0.3](https://github.com/Wakanda/angular-wakanda/releases/tag/v1.0.3)) +- Fix: Concurrent Ionic Run or Build sometimes causes file corruption +- Fix: Prototyper's image widget does not render image in runtime +- Fix: Prototyper's RichText widget resize loop +- Fix: Prototyper's Combobox widget debugger statement from [27](https://github.com/Wakanda/wakanda-issues/issues/27) + +--- + +## 1.0.1 (Dec. 17) + +- Fix: Prototyper bug [#19](https://github.com/Wakanda/wakanda-issues/issues/19) +- Project creation with [Angular-Wakanda 1.0.2](http://wakanda.github.io/angular-wakanda) + +--- + +## 1.0.0 (Dec. 7) + +- [Angular-Wakanda 1.0.0 release](http://wakanda.github.io/angular-wakanda) and support in the Studio +- Angular-Wakanda project scaffolding on solution creation + +--- + +## Beta + +### Week 48 (Nov. 4 - Nov. 24) + +- [Mobile] New Preview mobile apps in the studio +- [Mobile] New Run on mobile devices +- [Mobile] New troubleshooting application to setup and check your environment +- [Studio] Better Git support +- [Studio] New Deploy on cloud and git server +- [Studio] New "Getting Started" Start Page +- [Studio] Improvement on file creation: + - New menu item to create CSS files + - HTML files now created empty + - No more magic destination and folder creation, except for Page and Component Prototypes +- [Web] New Run Page with live-reload support +- [Model] Improvement: model files scaffolding for MySQL connector +- [Add-ons] 10 new core Studio components updatable directly from Add-ons + +### Week 45 (Oct. 19 - Nov. 3) + +- [Mobile] New Run on mobile simulators +- [Mobile] New Build mobile apps from the studio +- [Studio] New Project directory structure +- [Studio] Improvement: a single Start / Stop server in the Studio that automatically loads the solution +- [Studio] New Studio panels: + - One new left panel for Home and Solution Explorer + - One new bottom panel for consoles and editors + +### Week 42 (Sept. 28 - Oct. 18) + +- [Extensions] New onToolbarButtonMenuOpen trigger +- [Studio] Code editors themes support + - Menu "Wakanda Studio" > "Preferences" then "Code Editor” tab + - Try one of our 30+ default themes, light and dark + - Or create your own theme +- [Studio] New Preferences panel + - Menu "Wakanda Studio" > "Preferences" + - All the Studio and Editor settings are now in one place + +### Week 39 (Sept 10 - Sept. 27) + +- [Extensions] New onSolutionBeforeClosing trigger +- [Code Editor] Smarter auto-completion on Wakanda Model + - [Try this gist code example](https://gist.github.com/cedricss/e41f60fdcf6ca5c31ea0) + +### Week 36 (August 17 - Sept. 9) + +- [Extensions] New API to open a page with URL parameters +- [Extensions] New API to get selected projects in the studio +- [Code Editor] Find in Files results now highlighted in the web editor +- [Mobile] New console extension to perform startup requirement checks + +### Week 33 (July 27 - August 16) + +- [Code Editor] Smarter auto-completion on JS code + - [Try this gist code example](https://gist.github.com/cedricss/e41f60fdcf6ca5c31ea0) + +### Week 30 (July 6 - July 26) + +- [Code Editor] Quote selected text typing a single character +- [Studio] The new "Find in files” now supports replacement + +### Week 27 (June 15 - July 5) + +- [Code Editor] Better closing blocks behaviours (JS files) + - Customize them via your Studio preferences +- [Code Editor] New Wakanda Web Editor + - Open any .html or .css file + - Try [Emmet abbreviations](http://emmet.io/) + - [Fork this new extension](https://github.com/Wakanda/wakanda-extension-web-editor) and create your own Studio Editor +- [Studio] New "Find in files" + - Menu "Find" > "Find in Files…" + +### Week 24 (May 25 - June 14) + +- [Extensions] New API to develop editor extensions in Wakanda Studio diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..768ffca5 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,89 @@ +--- +--- + +# Getting Started website + +## How to contribute? + +### Table of contents + +- [Your first contribution, without leaving your browser](#your-first-contribution) +- [Further contributions](#further-contributions) +- [Pictures submission](#pictures-submission) + +### Your first contribution + +[Sign in](https://github.com/login){:target="_blank"} to your Github account. + +[On the Wakanda Studio repository](https://github.com/Wakanda/wakanda-studio){:target="_blank"}, make sure you are on the [gh-pages](https://github.com/Wakanda/wakanda-studio/tree/gh-pages){:target="_blank"} branch: + + + +Open the page you want to contribue to: + + + +Click on the file edition button. It will automatically fork the project in your Github account: + + + +Edit the file content and propose a file change: + + + +_**Note**: you can [edit more files](#further-contributions) before submitting a pull request._ + +Create a pull request: + + + +Add a short comment to explain the update you propose and confirm. + +Thanks for your first contribution. We'll now review your submission! + +### Further contributions + +Open the Wakand Studio repository now forked on your Github account: `https://github.com/YOUR-USERNAME/wakanda-studio` + +Choose the branch you want to work on. For example, switch to `gh-pages` (we'll create a branch later) or continue on your `patch-x` branch to edit more files: + + + +Open the file to edit and start a pull request and check the _create a new branch_ option. +Alternatively, you can check the _commit directly_ option to submit more commits before creating a pull request or to improve an existing one. + + + +### Pictures submission + +You can't submit a picture via the Github web interface. So, let's use the command line: + +Clone your wakanda-studio fork: + + $ git clone https://github.com/YOUR-USERNAME/wakanda-studio.git + $ cd wakanda-studio + +Switch to the `gh-pages` branch: + + $ git checkout origin/gh-pages -t + +Add your image in the `img` folder of wakanda-studio. And commit your update: + + $ git add img/readme-propose-file-change.png + $ git commit -m "Add propose file change screenshot for README" + +Push your local changes on `gh-pages` to a new remote branch. For example, `readme-screenshot-propose`: + + $ git push origin gh-pages:readme-screenshot-propose + +Open the Wakand Studio repository forked on your Github account: `https://github.com/YOUR-USERNAME/wakanda-studio` + +Your new branch is ready for a pull request! Click on _Compare & pull request_: + +  + +Make sure the _base branch_ is `gh-pages`: + +  + +Add a short comment to explain the update you propose and confirm. Thank you again! \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 00000000..66099f1c --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# Wakanda Studio Getting Started + +- [Getting Started](http://wakanda.github.io/wakanda-studio) +- [Documentation](http://doc.wakanda.org/) +- [Wakanda.io](http://www.wakanda.io/) + +Read [CONTRIBUTING.md](CONTRIBUTING.md) if you want to help with the Getting Started website. diff --git a/_config.yml b/_config.yml new file mode 100644 index 00000000..67cb9334 --- /dev/null +++ b/_config.yml @@ -0,0 +1,23 @@ +full_rebuild: true +name: Wakanda Studio +author: Wakanda SAS +url: http://wakanda.io +version: 0.1 +repository: https://github.com/Wakanda/wakanda-studio +branch: gh-pages +encoding: utf-8 +themes: + general: wakanda + code: github +version: 1.3 +encoding: utf-8 +defaults: + - + values: + layout: "index" +exclude: [ +.git, +.gitignore, +README.md, +LICENSE +] diff --git a/_data/toc.yml b/_data/toc.yml new file mode 100644 index 00000000..7bbc54ba --- /dev/null +++ b/_data/toc.yml @@ -0,0 +1,87 @@ +entries: + +- title: Getting Started + pages: + + - title: 0 - Installation + url: installation.html + + - title: 1 - Design your data model + url: design-data-model.html + + - title: 2 - Create a web app + url: create-web-app.html + + - title: 3 - Create a mobile app + url: create-mobile-app.html + +- title: Code management + pages: + + - title: Version control your code + url: version-control.html + + - title: Deploy your app + url: deploy-your-app.html + +- title: Build management + pages: + + - title: Build process introduction + url: build-process-introduction.html + + - title: SASS precompilation + url: sass-precompilation.html + +- title: Other resources + pages: + + - title: Wakanda Studio Change log + url: CHANGELOG.html + + - title: Wakanda Documentation + url: http://doc.wakanda.org/ + target: _blank + + - title: Angular-Wakanda connector + url: http://wakanda.github.io/angular-wakanda + target: _blank + + - title: Frequently Asked Questions + url: http://www.wakanda.io/frequently-asked-questions + target: _blank + + - title: Issue submission + url: https://github.com/Wakanda/wakanda-issues/issues + target: _blank + + - title: How to contribute to this page + url: CONTRIBUTING.html + +- title:
Copyright © 2016 {{ site.author }}
+Site made with Photon Book Creator and minimal theme.
diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 00000000..8031eeae --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,8 @@ + +
+
+
+*web folder*
+
+
+
+These are the entry points of the build process of your application.
+
+Wakanda Studio is able to run the build tasks defined in the `gulpfile.js` files.
+
+[How to install Gulp »](installation.html#increase-your-productivity){:class="btn"}
+
+## Customize the build process
+
+Gulp logic can be summarized by the concept of *tasks*. A `gulpfile.js` can include multiple tasks. When Gulp is launched, it collects all the tasks defined by the user and runs the specified ones.
+
+Gulp is optional. When installed, the Studio is able to run several additional functionalities like the live-reload defined on `web/gulpfile.js`.
+
+On *Run Page* the `serve` task is triggered:
+
+```javascript
+gulp.task('serve', ['watch', 'connect']);
+```
+
+The first parameter is the task name, 'serve', and the second parameter can be a function or an actions list. By default we run different tasks:
+
+- `connect`: launch a server ready to live-reload when a file change message is received.
+
+```javascript
+ gulp.task('connect', function() {
+ connect.server({
+ root: ['.'],
+ port: options.connectPort,
+ livereload: {
+ port: options.livereloadPort
+ },
+ middleware: function(conn, opt) {
+ return [
+ proxy('!/app/**', {
+ target: options.serverUrl,
+ changeOrigin: false,
+ ws: true
+ })
+ ];
+ }
+ });
+ });
+```
+
+- `watch` and `reload`: watch file changements in the specified folders and inform the live-reload server.
+
+```javascript
+ var baseFolder = options.app;
+ gulp.task('watch', function() {
+ gulp.watch([
+ baseFolder + 'scripts/**/*.js',
+ baseFolder + 'styles/**/*.css',
+ baseFolder + 'views/**/*.html',
+ baseFolder + 'index.html'
+ ], ['reload']);
+ });
+ gulp.task('reload', function() {
+ gulp.src(options.app + '**')
+ .pipe(connect.reload());
+ });
+```
+
+This is the code necessary for the live-reload to work. These tasks are normally different for each project:
+
+- An appropriate folders and/or files list should be provided in the `watch` task.
+- Root location, live-reload and proxy settings could be customized when necessary.
+
+## Add more modules
+
+Many additional Gulp modules are available. Here's a list of the most popular packages:
+
+- [Sass](https://www.npmjs.com/package/gulp-sass){:target="blank_"}
+- [Less](https://www.npmjs.com/package/gulp-less){:target="blank_"}
+- [Babel](https://www.npmjs.com/package/gulp-babel){:target="blank_"}
+- [TypeScript](https://www.npmjs.com/package/gulp-typescript){:target="blank_"}
+- [CoffeScript](https://www.npmjs.com/package/gulp-coffee){:target="blank_"}
+- [Handlebars templates](https://www.npmjs.com/package/gulp-handlebars){:target="blank_"}
+- [Mustache templates](https://www.npmjs.com/package/gulp-mustache){:target="blank_"}
+- [JS Uglify](https://www.npmjs.com/package/gulp-uglify){:target="blank_"}
+- [Imagemin](https://www.npmjs.com/package/gulp-imagemin){:target="blank_"}
+
+
+---
+
+Let’s see an example:
+
+[Compile SASS files automatically »](sass-precompilation.html){:class="btn"}
+
diff --git a/create-mobile-app.md b/create-mobile-app.md
new file mode 100644
index 00000000..779ffbcf
--- /dev/null
+++ b/create-mobile-app.md
@@ -0,0 +1,55 @@
+---
+---
+
+# Create a mobile app
+
+## Table of contents
+
+- [Preview in the Studio](#preview-in-the-studio)
+- [Run on a simulator](#run-on-a-simulator)
+- [Run on your devices](#run-on-devices)
+- [Build your app](#build-your-app)
+
+## Preview in the Studio
+
+
+
+The mobile preview reloads automatically after any file changes occur:
+
+
+
+## Run on a simulator
+
+
+
+Click on Run and track the progress on the Studio console:
+
+
+
+The simulator starts automatically and loads your app:
+
+
+
+## Run on devices
+
+- **iOS devices**: sign up for an Apple Developer account and set up XCode with your certificates to enable device testing. You can [build your iOS app](#build-your-app) and open the XCode project generated in `platforms/ios/` to test the configuration.
+- **Android devices**: make sure you have [USB debugging enabled](http://developer.android.com/tools/device.html).
+
+Wakanda Studio automatically detects supported device connected to the USB port.
+Open the _Run_ dropdown and select the device to run on:
+
+
+
+## Build your app
+
+Choose the platforms to build for:
+
+
+
+Click on _Build_ to generate a binary based on your [config.xml](http://cordova.apache.org/docs/en/latest/config_ref/index.html){:target="_blank"}:
+
+
+
+Then, click on the link to open the generated files:
+
+
diff --git a/create-web-app.md b/create-web-app.md
new file mode 100644
index 00000000..21757a86
--- /dev/null
+++ b/create-web-app.md
@@ -0,0 +1,48 @@
+---
+---
+
+# Create a web app
+
+## Table of contents
+
+- [Run your web application](#run-your-web-application)
+- [Customize the panels](#customize-the-panels)
+- [Enable live reload](#enable-live-reload)
+- [Code your Angular application](#code-your-angular-application)
+
+## 1 - Run your web application
+
+Click on the _Run Page_ toolbar button:
+
+
+
+[Activate live reload](installation.html#increase-your-productivity) to reload automatically the page after any file changes occur.
+
+## 2 - Customize the panels
+
+Open the right panel from the toolbar toggles:
+
+
+
+You can move the web preview on the right panel:
+
+
+
+To open your application in your default browser, set this preference via _Run Page_ dropdown:
+
+
+
+## 4 - Code your Angular application
+
+
+
+Wakanda integrates the Angular framework.
+
+[Learn more »](http://wakanda.github.io/angular-wakanda/){:target="_blank"}{:class="btn"}
+
+---
+
+You can also create a mobile version of your application, based on the same backend.
+
+[Create the mobile version »](create-mobile-app.html){:class="btn"}
+
diff --git a/css/code/github.css b/css/code/github.css
new file mode 100644
index 00000000..883e767f
--- /dev/null
+++ b/css/code/github.css
@@ -0,0 +1,63 @@
+pre code { color: black; }
+pre.highlight { background-color: #F9F9F9; border: 0; }
+.highlight .hll { background-color: #ffffcc; }
+.highlight .c { color: #999988; font-style: italic } /* Comment */
+.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
+.highlight .k { color: #000000; font-weight: bold } /* Keyword */
+.highlight .o { color: #000000; font-weight: bold } /* Operator */
+.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #999999; font-weight: bold; font-style: italic } /* Comment.Preproc */
+.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
+.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
+.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #aa0000 } /* Generic.Error */
+.highlight .gh { color: #999999 } /* Generic.Heading */
+.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #555555 } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
+.highlight .gt { color: #aa0000 } /* Generic.Traceback */
+.highlight .kc { color: #000000; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #000000; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #000000; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #000000; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #000000; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #009999 } /* Literal.Number */
+.highlight .s { color: #d01040 } /* Literal.String */
+.highlight .na { color: #008080 } /* Name.Attribute */
+.highlight .nb { color: #0086B3 } /* Name.Builtin */
+.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
+.highlight .no { color: #008080 } /* Name.Constant */
+.highlight .nd { color: #3c5d5d; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #800080 } /* Name.Entity */
+.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #990000; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #555555 } /* Name.Namespace */
+.highlight .nt { color: #000080 } /* Name.Tag */
+.highlight .nv { color: #008080 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mf { color: #009999 } /* Literal.Number.Float */
+.highlight .mh { color: #009999 } /* Literal.Number.Hex */
+.highlight .mi { color: #009999 } /* Literal.Number.Integer */
+.highlight .mo { color: #009999 } /* Literal.Number.Oct */
+.highlight .sb { color: #d01040 } /* Literal.String.Backtick */
+.highlight .sc { color: #d01040 } /* Literal.String.Char */
+.highlight .sd { color: #d01040 } /* Literal.String.Doc */
+.highlight .s2 { color: #d01040 } /* Literal.String.Double */
+.highlight .se { color: #d01040 } /* Literal.String.Escape */
+.highlight .sh { color: #d01040 } /* Literal.String.Heredoc */
+.highlight .si { color: #d01040 } /* Literal.String.Interpol */
+.highlight .sx { color: #d01040 } /* Literal.String.Other */
+.highlight .sr { color: #009926 } /* Literal.String.Regex */
+.highlight .s1 { color: #d01040 } /* Literal.String.Single */
+.highlight .ss { color: #990073 } /* Literal.String.Symbol */
+.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
+.highlight .vc { color: #008080 } /* Name.Variable.Class */
+.highlight .vg { color: #008080 } /* Name.Variable.Global */
+.highlight .vi { color: #008080 } /* Name.Variable.Instance */
+.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
\ No newline at end of file
diff --git a/css/code/monokai.css b/css/code/monokai.css
new file mode 100644
index 00000000..2fbae13c
--- /dev/null
+++ b/css/code/monokai.css
@@ -0,0 +1,64 @@
+pre code { color: white; }
+pre.highlight { background-color: #272822; border: 0; }
+.highlight .hll { background-color: #272822; }
+.highlight .c { color: #75715e } /* Comment */
+.highlight .err { color: #960050; background-color: #1e0010 } /* Error */
+.highlight .k { color: #66d9ef } /* Keyword */
+.highlight .l { color: #ae81ff } /* Literal */
+.highlight .n { color: #f8f8f2 } /* Name */
+.highlight .o { color: #f92672 } /* Operator */
+.highlight .p { color: #f8f8f2 } /* Punctuation */
+.highlight .cm { color: #75715e } /* Comment.Multiline */
+.highlight .cp { color: #75715e } /* Comment.Preproc */
+.highlight .c1 { color: #75715e } /* Comment.Single */
+.highlight .cs { color: #75715e } /* Comment.Special */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .kc { color: #66d9ef } /* Keyword.Constant */
+.highlight .kd { color: #66d9ef } /* Keyword.Declaration */
+.highlight .kn { color: #f92672 } /* Keyword.Namespace */
+.highlight .kp { color: #66d9ef } /* Keyword.Pseudo */
+.highlight .kr { color: #66d9ef } /* Keyword.Reserved */
+.highlight .kt { color: #66d9ef } /* Keyword.Type */
+.highlight .ld { color: #e6db74 } /* Literal.Date */
+.highlight .m { color: #ae81ff } /* Literal.Number */
+.highlight .s { color: #e6db74 } /* Literal.String */
+.highlight .na { color: #a6e22e } /* Name.Attribute */
+.highlight .nb { color: #f8f8f2 } /* Name.Builtin */
+.highlight .nc { color: #a6e22e } /* Name.Class */
+.highlight .no { color: #66d9ef } /* Name.Constant */
+.highlight .nd { color: #a6e22e } /* Name.Decorator */
+.highlight .ni { color: #f8f8f2 } /* Name.Entity */
+.highlight .ne { color: #a6e22e } /* Name.Exception */
+.highlight .nf { color: #a6e22e } /* Name.Function */
+.highlight .nl { color: #f8f8f2 } /* Name.Label */
+.highlight .nn { color: #f8f8f2 } /* Name.Namespace */
+.highlight .nx { color: #a6e22e } /* Name.Other */
+.highlight .py { color: #f8f8f2 } /* Name.Property */
+.highlight .nt { color: #f92672 } /* Name.Tag */
+.highlight .nv { color: #f8f8f2 } /* Name.Variable */
+.highlight .ow { color: #f92672 } /* Operator.Word */
+.highlight .w { color: #f8f8f2 } /* Text.Whitespace */
+.highlight .mf { color: #ae81ff } /* Literal.Number.Float */
+.highlight .mh { color: #ae81ff } /* Literal.Number.Hex */
+.highlight .mi { color: #ae81ff } /* Literal.Number.Integer */
+.highlight .mo { color: #ae81ff } /* Literal.Number.Oct */
+.highlight .sb { color: #e6db74 } /* Literal.String.Backtick */
+.highlight .sc { color: #e6db74 } /* Literal.String.Char */
+.highlight .sd { color: #e6db74 } /* Literal.String.Doc */
+.highlight .s2 { color: #e6db74 } /* Literal.String.Double */
+.highlight .se { color: #ae81ff } /* Literal.String.Escape */
+.highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */
+.highlight .si { color: #e6db74 } /* Literal.String.Interpol */
+.highlight .sx { color: #e6db74 } /* Literal.String.Other */
+.highlight .sr { color: #e6db74 } /* Literal.String.Regex */
+.highlight .s1 { color: #e6db74 } /* Literal.String.Single */
+.highlight .ss { color: #e6db74 } /* Literal.String.Symbol */
+.highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
+.highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */
+.highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */
+.highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */
+.highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */
+.highlight .gu { color: #75715e; } /* Generic.Subheading & Diff Unified/Comment? */
+.highlight .gd { color: #f92672; } /* Generic.Deleted & Diff Deleted */
+.highlight .gi { color: #a6e22e; } /* Generic.Inserted & Diff Inserted */
\ No newline at end of file
diff --git a/css/code/vs.css b/css/code/vs.css
new file mode 100644
index 00000000..55d4f9e8
--- /dev/null
+++ b/css/code/vs.css
@@ -0,0 +1,35 @@
+pre code { color: black; }
+pre.highlight { background-color: #F9F9F9; border: 0; }
+.highlight .hll { background-color: #ffffcc }
+.highlight .c { color: #008000 } /* Comment */
+.highlight .err { border: 1px solid #FF0000 } /* Error */
+.highlight .k { color: #0000ff } /* Keyword */
+.highlight .cm { color: #008000 } /* Comment.Multiline */
+.highlight .cp { color: #0000ff } /* Comment.Preproc */
+.highlight .c1 { color: #008000 } /* Comment.Single */
+.highlight .cs { color: #008000 } /* Comment.Special */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gh { font-weight: bold } /* Generic.Heading */
+.highlight .gp { font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { font-weight: bold } /* Generic.Subheading */
+.highlight .kc { color: #0000ff } /* Keyword.Constant */
+.highlight .kd { color: #0000ff } /* Keyword.Declaration */
+.highlight .kn { color: #0000ff } /* Keyword.Namespace */
+.highlight .kp { color: #0000ff } /* Keyword.Pseudo */
+.highlight .kr { color: #0000ff } /* Keyword.Reserved */
+.highlight .kt { color: #2b91af } /* Keyword.Type */
+.highlight .s { color: #a31515 } /* Literal.String */
+.highlight .nc { color: #2b91af } /* Name.Class */
+.highlight .ow { color: #0000ff } /* Operator.Word */
+.highlight .sb { color: #a31515 } /* Literal.String.Backtick */
+.highlight .sc { color: #a31515 } /* Literal.String.Char */
+.highlight .sd { color: #a31515 } /* Literal.String.Doc */
+.highlight .s2 { color: #a31515 } /* Literal.String.Double */
+.highlight .se { color: #a31515 } /* Literal.String.Escape */
+.highlight .sh { color: #a31515 } /* Literal.String.Heredoc */
+.highlight .si { color: #a31515 } /* Literal.String.Interpol */
+.highlight .sx { color: #a31515 } /* Literal.String.Other */
+.highlight .sr { color: #a31515 } /* Literal.String.Regex */
+.highlight .s1 { color: #a31515 } /* Literal.String.Single */
+.highlight .ss { color: #a31515 } /* Literal.String.Symbol */
\ No newline at end of file
diff --git a/css/layout.scss b/css/layout.scss
new file mode 100644
index 00000000..ad855ee8
--- /dev/null
+++ b/css/layout.scss
@@ -0,0 +1,126 @@
+---
+---
+
+$nav-width: 250px;
+
+html {
+ padding: 0;
+ margin: 0;
+}
+body {
+ padding: 0;
+ margin: 0;
+}
+
+nav {
+ width: $nav-width;
+ position: fixed;
+ left: 0;
+ top: 0;
+ bottom: 0;
+ min-height: 100%;
+
+ h1, h2, ul, ol {
+ padding-left: 28px;
+ width: 100%;
+ display: block;
+ clear: both;
+ }
+
+ h2 {
+ hr {
+ margin-bottom: 0;
+ margin-top: 32px;
+ }
+ }
+
+ ul.inline li, ol.inline li {
+ display: inline;
+ }
+
+ .fa {
+ padding: 0 8px 0 8px;
+ margin-left: -8px;
+ margin-bottom: 20px;
+ }
+}
+
+.scroll {
+ position: relative;
+ overflow-x: hidden;
+ overflow-y: auto;
+ height: 100%;
+}
+
+section {
+ margin-left: $nav-width + 1;
+ width:auto;
+ float: none;
+ min-height: 100%;
+ text-align: justify;
+
+ h1, h2, h3, ul, ol, & > p, blockquote, pre, hr {
+ max-width: 800px;
+ margin-left: 40px;
+ margin-right: 40px;
+ }
+
+ #contribute {
+ padding: 40px 40px 0px 40px;
+ text-align: right;
+ a {
+ max-width: 800px;
+ display: block;
+ }
+ }
+}
+
+footer {
+ margin: 40px 0 0 $nav-width;
+ padding: 40px 0 40px 40px;
+ p {
+ margin: 0;
+ }
+}
+
+@media print, screen and(max-width: 650px) {
+
+ nav {
+ float: none;
+ position: static;
+ width: auto;
+ margin-left: 0;
+ width: 100%;
+
+ h1 {
+ padding-top: 15px;
+ }
+
+ hr {
+ max-width: none !important;
+ }
+ }
+
+ section {
+ float: none;
+ position: static;
+ width: auto;
+ margin-left: 0;
+ border-width: 1px 0;
+ margin: 0 0 20px;
+ padding: 0;
+ }
+
+ footer {
+ float: none;
+ position: static;
+ width: auto;
+ margin-left: 0;
+ padding: 0 0 15px 15px;
+ }
+
+ div.wrapper {
+ width: auto;
+ margin: 0;
+ }
+}
\ No newline at end of file
diff --git a/css/main.scss b/css/main.scss
new file mode 100644
index 00000000..b3c80e1a
--- /dev/null
+++ b/css/main.scss
@@ -0,0 +1,52 @@
+---
+---
+
+@import url(themes/{{ site.themes.general }}/theme.css);
+@import url(layout.css);
+@import url(themes/{{ site.themes.general }}/overrides.css);
+@import url(code/{{ site.themes.code }}.css);
+
+html {
+ min-height: 100%;
+}
+
+.clear-all {
+ clear: both;
+}
+
+img.inline {
+ margin-bottom: -8px;
+}
+
+nav {
+ background: #fff;
+ border-right: 1px solid #dddddd;
+
+ .fa {
+ font-size: 14px;
+ color: #2B404A;
+ }
+
+ h1 {
+ color:#323232;
+ }
+
+ h2 {
+ color:#555;
+ }
+
+ li a {
+ color:#14a1c8;
+ line-height:28px;
+ }
+}
+
+@media print, screen and(max-width: 650px) {
+ section {
+ border: none;
+ }
+
+ nav {
+ border: none;
+ }
+}
\ No newline at end of file
diff --git a/css/themes/minimal/overrides.scss b/css/themes/minimal/overrides.scss
new file mode 100644
index 00000000..cdea1d6b
--- /dev/null
+++ b/css/themes/minimal/overrides.scss
@@ -0,0 +1,63 @@
+---
+---
+
+nav {
+ hr {
+ display: none;
+ }
+
+ h1 {
+ margin-top: 40px;
+ font-size: 18px;
+ a, a:visited {
+ color: black;
+ }
+ }
+
+ h2 {
+ font-size: 16px;
+ margin-bottom: 5px;
+ hr {
+ display: block;
+ color: #EBF4F9;
+ background-color: #EBF4F9;
+ }
+ }
+
+ ul {
+ list-style: none;
+
+ li {
+ margin-left: 0;
+ padding-left: 0;
+
+ a {
+ font-size: 13px;
+ }
+ }
+ }
+}
+
+section {
+ padding-bottom: 10px;
+
+ #contribute {
+ a {
+ font-size: 12px;
+ }
+ }
+
+ h3 {
+ margin-bottom: 8px;
+ }
+
+ header {
+ float: none;
+ position: inherit;
+ width: 100%;
+
+ h1 {
+ margin-top: 20px;
+ }
+ }
+}
diff --git a/css/themes/minimal/theme.css b/css/themes/minimal/theme.css
new file mode 100644
index 00000000..cabce711
--- /dev/null
+++ b/css/themes/minimal/theme.css
@@ -0,0 +1,274 @@
+/*
+Original theme by Orderlist
+https://github.com/orderedlist/minimal
+
+Creative Commons Attribution-ShareAlike 3.0 Unported License.
+http://creativecommons.org/licenses/by-sa/3.0/
+
+Modified:
+- larger layout
+- footer on the section part
+- no subpixel treatment
+
+*/
+
+@import url(https://fonts.googleapis.com/css?family=Noto+Sans:400,400italic,700italic,700);
+
+body {
+ background-color: #fff;
+ padding:50px;
+ font: 14px/1.5 "Noto Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ color:#727272;
+ font-weight:400;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color:#222;
+ margin:0 0 20px;
+}
+
+p, ul, ol, table, pre, dl {
+ margin:0 0 20px;
+}
+
+h1, h2, h3 {
+ line-height:1.1;
+}
+
+h1 {
+ font-size:28px;
+}
+
+h2 {
+ color:#393939;
+}
+
+h3, h4, h5, h6 {
+ color:#494949;
+}
+
+a {
+ color:#39c;
+ text-decoration:none;
+}
+
+a:hover {
+ color:#069;
+}
+
+a small {
+ font-size:11px;
+ color:#777;
+ margin-top:-0.3em;
+ display:block;
+}
+
+a:hover small {
+ color:#777;
+}
+
+.wrapper {
+ margin:0 auto;
+}
+
+blockquote {
+ border-left:1px solid #e5e5e5;
+ margin:0;
+ padding:0 0 0 20px;
+ font-style:italic;
+}
+
+code, pre {
+ font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, Consolas, Liberation Mono, DejaVu Sans Mono, Courier New, monospace;
+ color:#333;
+ font-size:12px;
+}
+
+pre {
+ padding:8px 15px;
+ background: #f8f8f8;
+ border-radius:5px;
+ border:1px solid #e5e5e5;
+ overflow-x: auto;
+}
+
+table {
+ width:100%;
+ border-collapse:collapse;
+}
+
+th, td {
+ text-align:left;
+ padding:5px 10px;
+ border-bottom:1px solid #e5e5e5;
+}
+
+dt {
+ color:#444;
+ font-weight:700;
+}
+
+th {
+ color:#444;
+}
+
+img {
+ max-width:100%;
+}
+
+header {
+ width:270px;
+ float:left;
+ position:fixed;
+}
+
+header ul {
+ list-style:none;
+ height:40px;
+ padding:0;
+ background: #f4f4f4;
+ border-radius:5px;
+ border:1px solid #e0e0e0;
+ width:270px;
+}
+
+header li {
+ width:89px;
+ float:left;
+ border-right:1px solid #e0e0e0;
+ height:40px;
+}
+
+header li:first-child a {
+ border-radius:5px 0 0 5px;
+}
+
+header li:last-child a {
+ border-radius:0 5px 5px 0;
+}
+
+header ul a {
+ line-height:1;
+ font-size:11px;
+ color:#999;
+ display:block;
+ text-align:center;
+ padding-top:6px;
+ height:34px;
+}
+
+header ul a:hover {
+ color:#999;
+}
+
+header ul a:active {
+ background-color:#f0f0f0;
+}
+
+strong {
+ color:#222;
+ font-weight:700;
+}
+
+header ul li + li + li {
+ border-right:none;
+ width:89px;
+}
+
+header ul a strong {
+ font-size:14px;
+ display:block;
+ color:#222;
+}
+
+section {
+ width:500px;
+ float:right;
+ padding-bottom:50px;
+}
+
+small {
+ font-size:11px;
+}
+
+hr {
+ border:0;
+ background:#e5e5e5;
+ height:1px;
+ margin:0 0 20px;
+}
+
+@media print, screen and (max-width: 650px) {
+
+ div.wrapper {
+ width:auto;
+ margin:0;
+ }
+
+ header, section, footer {
+ float:none;
+ position:static;
+ width:auto;
+ }
+
+ header {
+ padding-right:320px;
+ }
+
+ section {
+ border:1px solid #e5e5e5;
+ border-width:1px 0;
+ padding:20px 0;
+ margin:0 0 20px;
+ }
+
+ header a small {
+ display:inline;
+ }
+
+ header ul {
+ position:absolute;
+ right:50px;
+ top:52px;
+ }
+}
+
+@media print, screen and (max-width: 720px) {
+ body {
+ word-wrap:break-word;
+ }
+
+ header {
+ padding:0;
+ }
+
+ header ul, header p.view {
+ position:static;
+ }
+
+ pre, code {
+ word-wrap:normal;
+ }
+}
+
+@media print, screen and (max-width: 640px) {
+ body {
+ padding:15px;
+ }
+
+ header ul {
+ width:99%;
+ }
+
+ header li, header ul li + li + li {
+ width:33%;
+ }
+}
+
+@media print {
+ body {
+ padding:0.4in;
+ font-size:12pt;
+ color:#444;
+ }
+}
diff --git a/css/themes/wakanda/button.scss b/css/themes/wakanda/button.scss
new file mode 100644
index 00000000..b6a714ad
--- /dev/null
+++ b/css/themes/wakanda/button.scss
@@ -0,0 +1,165 @@
+---
+---
+
+section {
+ .btn {
+ font-size: 12px;
+ box-sizing: border-box;
+ border: none;
+ padding: 8px 15px;
+ background-color: #e3e5e6;
+ color: #555;
+ text-align: center;
+ height: 36px;
+ line-height: 36px;
+ margin: 5px 5px 0 0;
+ transition: all .15s ease-in;
+ font-weight: 400;
+ color: white;
+ background-color: #4ab19d;
+ }
+
+ a.action {
+ display: block;
+ width: 200px;
+ height: 100px;
+ float: left;
+ text-align: center;
+ background-color: transparent;
+ padding: 0;
+ color: black;
+ font-size: 15px;
+
+ &:hover {
+ background-color: transparent;
+ color:gray;
+ }
+
+ img {
+ display: block;
+ margin: auto;
+ }
+ }
+
+ a {
+ background-color: transparent;
+ padding: 0;
+ margin: 0;
+ font-size: 14px;
+ line-height: inherit;
+
+ &:hover {
+ background-color: transparent;
+ }
+ }
+
+ a.transparent {
+ background: transparent;
+ }
+
+ a.blue {
+ color: white;
+ background-color: #44515e;
+ }
+
+ a.green {
+ color: white;
+ background-color: #4ab19d;
+ }
+
+ a.error {
+ color: white;
+ background-color: #c9302c;
+ }
+
+ .button.success {
+ color: white;
+ background-color: #5cb85c;
+ }
+
+ a.btn:hover {
+ text-decoration: none;
+ background-color: #52687e;
+ color:white;
+ cursor: pointer;
+ }
+
+ a.transparent:hover {
+ background: #eee;
+ }
+
+ a.float-left {
+ display: block;
+ width: auto;
+ padding: 5px 25px 5px 20px;
+ line-height: 100%;
+ }
+
+ .home-button {
+ text-align: center;
+ display: block;
+ width: 250px;
+ box-sizing: border-box;
+ cursor: pointer;
+ padding: 10px 10px 20px;
+ border-radius: 10px;
+ margin-bottom: 8px;
+ margin-right: 8px;
+ float:left;
+ }
+
+ .home-button figure {
+ display: block;
+ margin: 0 auto;
+ }
+
+ .home-button span {
+ display: block;
+ color: #e1e1e1;
+ font-size: 15px;
+ line-height: 120%;
+ margin-top: 10px;
+ margin-bottom: 0;
+ }
+
+ .dark.home-button {
+ background: #4e4e4e;
+ }
+
+ .dark.home-button figure {
+ background: url('../images/ios.png');
+ height: 91px;
+ width: 91px;
+ text-indent: -9999px;
+ }
+
+ .dark.home-button:hover figure {
+ background: url('../images/iosHover.png');
+ }
+
+ .green.home-button {
+ background: #45b29d;
+ }
+
+ .green.home-button figure {
+ background: url('../images/android.png');
+ height: 93px;
+ width: 79px;
+ text-indent: -9999px;
+ }
+
+ .green.home-button:hover figure {
+ background: url('../images/androidHover.png');
+ }
+
+ .green.home-button span {
+ color: white;
+ }
+
+ .home-button:hover span {
+ color: white;
+ }
+
+
+}
+
diff --git a/css/themes/wakanda/home.scss b/css/themes/wakanda/home.scss
new file mode 100644
index 00000000..68bccfcd
--- /dev/null
+++ b/css/themes/wakanda/home.scss
@@ -0,0 +1,175 @@
+---
+---
+
+header.home {
+ position: relative;
+ background: url(../../../img/circle.png) no-repeat center center, url(../../../img/background.png) repeat;
+ background-color:#eeeded;
+ width: 100%;
+ height: 257px;
+ text-align: center;
+
+ h1 {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ margin-top: -75px;
+ margin-left: -167px;
+ padding: 5px 19px;
+ font-weight: 100;
+ font-size: 46px;
+ color: #fff;
+ max-width: 100%;
+ background-color: #ffb800;
+ }
+
+ img {
+ position: absolute;
+ top:105px;
+ left:50%;
+ margin-left: -202px;
+ }
+}
+
+.home-container {
+ padding:0;
+ margin: 0 8px 40px 8px;
+ justify-content: center;
+
+ h2 {
+ clear: both;
+ margin: 18px 0 0 10px;
+ color: #A2A2A2;
+ font-weight: 400;
+ font-size: 12px;
+ text-transform: uppercase;
+ }
+
+ hr {
+ clear: both;
+ color: white;
+ background-color: white;
+ }
+}
+
+.home-container > div {
+ width: 25%;
+ float: left;
+ background-color: #fafafa;
+ box-sizing: border-box;
+ padding-bottom: 15px;
+ border-style: solid;
+ border-color: #fff;
+ border-width: 16px 8px 0 8px;
+ height:268px;
+ &:hover {
+ border-bottom:3px solid #ffb800;
+
+ &:hover .head {
+ background-color: #ffb800;
+ color:#fff;
+ }
+ }
+
+ .head {
+ color:#323232;
+ text-align: center;
+ height: 50px;
+ background-color: #f3f3f3;
+ font-size: 18px;
+ line-height: 50px;
+ }
+
+ .head .label {
+ font-size: 10px;
+ background-color: white;
+ border-radius: 5px;
+ color: #545454;
+ padding: 4px 8px 4px 8px;
+ text-transform: uppercase;
+ font-weight: bold;
+ position: relative;
+ top: -3px;
+ letter-spacing: 1px;
+ }
+
+ a.action {
+ .stepPic {
+ height: 96px;
+ width: 96px;
+ background-position: 0 0;
+ margin-left: auto;
+ margin-right: auto;
+ margin-top: 15px;
+ margin-bottom: 20px;
+ background-position: center;
+ background-repeat: no-repeat;
+
+ &.model {
+ background-image: url(../../../img/pic_model.png);
+ }
+ &.prototype {
+ background-image: url(../../../img/pic_prototype.png);
+ }
+ &.webApp {
+ background-image: url(../../../img/pic_webApp.png);
+ }
+ &.mobileApp {
+ background-image: url(../../../img/pic_mobileApp.png);
+ }
+ &.circle {
+ background-color: white;
+ border-radius: 50%;
+ box-sizing: border-box;
+ border: 4px solid white;
+ }
+ &.deploy {
+ background-image: url(../../../img/icon-deploy.png);
+ }
+ &.connect {
+ background-image: url(../../../img/icon-connect.png);
+ }
+ }
+
+ display: block;
+ width: 100%;
+ color: #555555;
+ font-weight: 700;
+ line-height: 1.5;
+ text-align:center;
+ &:hover {
+ color: #555;
+ }
+ }
+}
+
+section .blocks {
+ float: left;
+ width: 420px;
+}
+
+#home {
+ #contribute, #chapter {
+ display: none;
+ }
+}
+
+@media print, screen and(max-width: 1060px) {
+ section {
+ .getting-started {
+ margin-top:5px;
+ width: 360px;
+ }
+ .step {
+ width: 160px;
+ }
+ }
+
+ .home {
+ display: none;
+ }
+
+ .home-container > div {
+ width: 50%;
+ }
+}
diff --git a/css/themes/wakanda/mailing.scss b/css/themes/wakanda/mailing.scss
new file mode 100644
index 00000000..c5493fac
--- /dev/null
+++ b/css/themes/wakanda/mailing.scss
@@ -0,0 +1,31 @@
+---
+---
+
+#mc_embed_signup{
+ padding: 0 0 22px 22px;
+ color:#555;
+
+ h2 {
+ padding: 0 0 4px 0;
+ font-size: 15px;
+ }
+ .mc-field-group {
+ font-size:11px;
+ margin-bottom:8px;
+ }
+ .mce_inline_error {
+ color: #df5a49 !important;
+ background-color: white !important;
+ }
+ .email, .mc-inline-error {
+ padding: 5px 3px;
+ width: 123px;
+ }
+ .button {
+ background-color:#fbb500;
+ padding:7px 8px;
+ border:none;
+ color:#fff;
+ cursor: pointer;
+ }
+}
diff --git a/css/themes/wakanda/overrides.scss b/css/themes/wakanda/overrides.scss
new file mode 100644
index 00000000..274d07b3
--- /dev/null
+++ b/css/themes/wakanda/overrides.scss
@@ -0,0 +1,114 @@
+---
+---
+
+@import url(button.css);
+@import url(home.css);
+@import url(mailing.css);
+@import url(search.css);
+
+nav {
+ hr {
+ display: none;
+ }
+
+ h1 {
+ margin: 0 0 10px 0;
+ font-size: 18px;
+ padding: 20px 10px 10px 26px;
+ a, a:visited {
+ color: black;
+ }
+ }
+
+ h2 {
+ font-size: 16px;
+ margin-bottom: 5px;
+ hr {
+ display: block;
+ color: #EBF4F9;
+ background-color: #EBF4F9;
+ }
+ }
+
+ ul {
+ list-style: none;
+
+ li {
+ margin-left: 0;
+ padding-left: 0;
+
+ &.active {
+ font-weight: bold;
+ }
+
+ a {
+ font-size: 13px;
+ }
+ }
+ }
+}
+
+section {
+ padding-bottom: 10px;
+
+ h1 {
+ border-bottom: solid 1px #e5e5e5;
+ margin: -27px 0px 40px 0;
+ padding: 0 200px 13px 40px;
+ max-width: 600px;
+ }
+
+ h3 {
+ margin-bottom: 8px;
+ }
+
+ #contribute {
+ padding: 7px 15px 0px 40px;
+ font-size: 13px;
+
+ a:after {
+ content: "Contribute to this page";
+ }
+ }
+
+ #chapter {
+ padding: 10px 0 0 40px;
+ color: #A2A2A2;
+ font-weight: 400;
+ font-size: 12px;
+ text-transform: uppercase;
+ height: 33px;
+ }
+
+ header {
+ float: none;
+ position: inherit;
+ width: 100%;
+
+ h1 {
+ margin-top: -20px;
+ }
+ }
+}
+
+@media print, screen and(max-width: 830px) {
+
+ section {
+
+ h1 {
+ padding-right: 40px;
+ }
+
+ #contribute a:after {
+ content: "";
+ }
+ }
+}
+
+ul, ol {
+ li {
+ pre.highlight {
+ margin-left: 0;
+ }
+ }
+}
diff --git a/css/themes/wakanda/search.scss b/css/themes/wakanda/search.scss
new file mode 100644
index 00000000..cb026b33
--- /dev/null
+++ b/css/themes/wakanda/search.scss
@@ -0,0 +1,267 @@
+---
+---
+
+$color-border: #EEE;
+$color-border-light: lighten($color-border, 15%);
+$color-category-header-background: #FAFAFA;
+$color-category-header: #797979;
+$color-highlight-header-background: lighten($color-category-header-background, 15%);
+$color-highlight-text: #14A1C8;
+$color-selected-background: #FAFAFA;
+$color-selected-text: black;
+$color-left-column-bg: white;
+$color-left-column: #5C5C5C;;
+
+$breakpoint-medium: 468px;
+$breakpoint-large: 650px;
+
+$dropdown-min-width-medium: 400px;
+$dropdown-min-width-large: 650px;
+
+.scroll {
+ margin-top: 36px
+}
+
+.search-input-wrapper {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 250px;
+ font-size: 16px;
+ display: table;
+ background-color: #FAFAFA;
+ border-bottom: 1px #DEDEDE solid;
+
+ .fa-search {
+ display: table-cell;
+ vertical-align: middle;
+ text-align: center;
+ width: 20px;
+ font-size: 12px;
+ padding-left: 4px;
+ }
+
+ input {
+ width: 90%;
+ font-weight: normal;
+ box-shadow: none;
+ border-color: transparent;
+ background-color: transparent;
+ display: block;
+ height: 30px;
+ font-size: 13px;
+ color: #555;
+ background-image: none;
+
+ &:focus {
+ outline: 0;
+ }
+ }
+}
+
+
+
+// The dropdown adapts to screen size, to provide three different displays.
+// - A simple list of matching results
+// - Same list, but with text snippetting added if size is large enough
+// - Adding a second colum to let the content breath if enough room available
+
+// Main autocomplete wrapper
+.aa-dropdown-menu {
+ background-color: #FFF;
+ border: 1px solid #DCDCDC;
+ font-size: 13px;
+ margin: 0 0 0 -25px;
+ text-align: left;
+}
+
+// Each suggestion
+.algolia-docsearch-suggestion {
+ cursor: pointer;
+ overflow: hidden;
+}
+
+// Each sub-suggestion
+.algolia-docsearch-suggestion__secondary {
+ border-top: 1px solid $color-left-column-bg;
+}
+
+.algolia-docsearch-suggestion__main {
+ border-top: 0;
+}
+
+// Main category headers
+.algolia-docsearch-suggestion--category-header {
+ display: none;
+ background: $color-category-header-background;
+ color: $color-category-header;
+
+
+ font-size: 12px;
+ text-transform: uppercase;
+
+ font-weight: 400;
+ padding: 5px 10px;
+ text-align: left;
+ // Only show it when flaggued as "__main"
+ .algolia-docsearch-suggestion__main & {
+ display: block;
+ }
+}
+
+// Highlight
+.algolia-docsearch-suggestion--highlight {
+ padding: 0;
+ color: $color-highlight-text;
+ background: none;
+ font-weight: 400;
+ // Highlight the background in header
+ .algolia-docsearch-suggestion--category-header & {
+ color: inherit;
+ background: $color-highlight-header-background;
+ }
+}
+
+// Selected suggestion
+.aa-cursor .algolia-docsearch-suggestion--content {
+ color: $color-selected-text;
+}
+.aa-cursor .algolia-docsearch-suggestion {
+ background: $color-selected-background;
+}
+
+// The secondary column is hidden on small screens
+.algolia-docsearch-suggestion--subcategory-column {
+ display: none;
+ cursor: default;
+ font-weight: 600;
+ font-size: 15px;
+}
+// The text snippet is hidden on small screens
+.algolia-docsearch-suggestion--text {
+ display: none;
+ color: #989898;
+}
+
+.algolia-docsearch-suggestion--content {
+ padding: 3px 5px;
+ width: 100%;
+ border-top: 1px solid lighten($color-border, 60%);
+}
+
+.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--content,
+.algolia-docsearch-suggestion__secondary .algolia-docsearch-suggestion--content {
+ border-top: 0;
+}
+
+.algolia-docsearch-suggestion--subcategory-inline {
+ display: inline-block;
+ font-weight: bold;
+ &:after {
+ content: " › ";
+ }
+}
+.algolia-docsearch-suggestion--title {
+ display: inline;
+}
+
+// Footer
+
+.algolia-docsearch-footer {
+ border-top: 1px solid $color-left-column-bg;
+ text-align: right;
+ font-size: 12px;
+ padding: 4px 2px 0 0;
+ color: #333;
+
+ .algolia-docsearch-footer--logo {
+ display: inline-block !important;
+ width: 45px;
+ height: 16px;
+ text-indent: 101%;
+ overflow: hidden;
+ white-space: nowrap;
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAAAoCAYAAAA2cfJIAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAZYUlEQVR42uWceZxU1bXvv2ufc6qqa+iJHpihoRlkEFFAJQ5oBI04xTnxxvsEfZqYmMTc3JjEFzO/l7wkN/EakxuTe02ucQjGIWhExQAOKBEVFJC5GbqBBnquoWs4e70/quiuBoyA4PB5v8+nPt119j5rr73W2tNaa5fwvqMfg06qp6OxpT/IuaDHASeArM4kO75ZOmh89961i95/to4hKupOIpvsGAoyq6e/yuJsousH0z87zy76yRkfGG/u+9/kcdjcKpDqiQI/UqUaMECzqlUTKPnAhHGsIMYBkVOBH6OUA4KwQt0MWa/zgPqlg8djs90RkHECjlp9+5RPze1YeOc3jjpv5v0Xh4uSBRVHlVAvDwqqoPb9Z+n9gQOEACn0FoNg3GBRlYFUjRmLzXZXiJgfAU8qPCGO+dUrD/1ucM1xZx51pg55BqgYPpVssq0eYRZ5pRmETeJnnonW1GV3rl5y6K2qHAsBfzShRf+PWkQ2MQskMFPhOiAMoMoVIC8bp+Tfj3bzh2QANcfPoqNxlesFIjehfDnPtQiwXp3AJ7sTXW9/0HI82vjPudrn+5zfvQ9Gu2EMDDgONNcfNNRboC4wcNeqBUJfk3nPOCQDyHa14AXCxwGXgBZN2YwSkcuTzQ3fH37qNbrl5T8eeyG9D7jlLmXOKV9n1tq5RsrcSVidcu6Fm5xCsQBdqv7z8Uj/bS/9LMaVc2DelUfHQJxQBD/RvhKRZtAB+RalXeDvlcOnaOuW5Ue1r+9qAHUzbqRx+SMmGC2/HNW6/YqNwhVeab8/tu9YvhkGA41HlcH3HaqMengTM1fPwVS4J4s491hyYxCKNCy+iLsgnNx5wyev2r579+Cao9Z8qGII3R17Xjaedysin0bxUB5TdIEEAke9u++6CWzbvIxguKwO5dKi+r3TkDIW5ILhZzZz2hdOJ28EH11c+0f4/HUjSQwV1PfPUeuPFZEUSieqHSImDoiInGEcb5wbjSGJzvfc7j7seP1RkHDG5oIP2Zxeo75e5Se777FpP9WyfulR7+8/nAHOuPVl2pofo2Hhn2cDYwqP08BzIKeCVoB6iFy5fkG/hwKRN5ohctSZPKaYut/3p4A4VPy1VLKndr6GtbdiTAMiHSgWiIIOxjijjWpn6gRDZPHRPU0nW96G/CDrOtbd/wec9+etR/+ZdMKvdYy5QlU9AEQasPYORL4NzC5UnmxEzjYSewBePdY898HQM/8XzSv+yzFuOGhEjEVV1beaS2TTHZpzgoKf3tX3Jc1PYOcv+jO5vWNKcMT1NRt/7vIT9A83wx/uA6jRj9237q+2O06wbEDQM8EgiFibyaWCsVSgq1XcYLmOq9/Az0bNKOjrgzvduJEouUScYMVg1zHhoBjfRazBilrrZnN+OiXi2Ez75r7vvTPJXWDDGHHOVJhcVDA/vnv3a9Ha/g8j8nFUQ6iGQa7q7tzzREXdtK62hr8f087GakehNhtC3LGtax+Y5oVCE0CrRTQo4INJ40Y7vRCNwCYYuVEt262vHanWzenqT9/FlOvm4qdOPNGEzC2IVIufvffkh1Y+4rVM8s0vX5VgbVm5KR10kkbtqeK6Y0WcKlDXIdzlZrPbKSl9TTW3dOX9VQ3nP7ot+9enbwEuhl8//p76VjpoPH4mGTTGPUOhMv9UkwqLA5GKrrbNvQNsyGlXsf3Fh4jW1teAnEhUxwH1IlqjmBhqPFxyjmq743mbQZZ6tSOX0tW2N5Fs/ccGUDXqY6Tad0TF4UpUC/O67ET1kcoRNZqJ+wsRZzVwUuGV04zjTkVzf+OoH1byKKkcSi7dbVR1qjjejarMBGpBPdB9A7sYCpICusRIo2O4NxSr//XQyyflbKJpKMb5hVr/NDHOdhSiW3dZb0w0ilTNBpmjaqeJSKnmcgb8whjXwiFY0iJmmxuNPOLb3L2XzLpjXaBzsv7pV/LeJgK1gEQQvilwsoKisg30QnHcPkvCphceJCAPAcxF+AYqJaCOFguir0y6RMwrxCp/HAmE/jZ4yqX2HTaBc7C5JoxxJwOn9zwWllibe9MrH0e8dWcTML+3Ce2HyKWZrr1ezdgZR1n13yI2qAZxI8FgtOwGRB5U1etAB+eV/44Q0HDBSE4CTjROwOnvjAPHPU5EJiE0qfVvefqT9fOc+hHDEOenqtxj/dws9f1y1cKxV8SKiN8jV98Pqu+PQvWr4pgHu53yyzpia70L3mpn6qj/c+T6V0VEQHE1P7uWgAaQwvMiBEQoHTgWoAslDOq8C/UYqjMRuceEoue1t7168BmgamIjnY1ZNxD0LkG1cMaRBMqjwYiTbN8xjsphb2omzhOI3IDqoIK0z8UN1PuZ1FF0DF1I/4m/pmvXYMdx4jeo8n3QsiIdJ4ANCBtR7QIRhBKgFtVRwEB6x6QiQCyNdukW43mr8HP3Lbiy7rFZj64fLZi71PrnqLWCCGKchBizSq1drmo3i5i0Qo1x3ImqOg21A9X6RtVOEmN+JV6oX2rdjt9VPDU3N+POiSy+c/bhdraX04POovs/qMMLQ7pLtiM0oLITaADdDXQAPlAFMgk4GQozuepwFe6Ib29Zf1AD8ONtBLyS4SifKHq8Guu/4AZjpLfcSWzMVGxu6xrjBZ4HPpWny3CQ86dNP/ftzR+7nnV/uOE9q1/1L1SNPAlx4meCfr2P8kWWg/4MX5+31rarZrKiIiqeI0Y845gLQX4FGi2W7yVnf4//fvCmjbFA9fUEQ1s/MW9LlVX7v9X6M7EKIirGvAryC5tJP5dOJlsGjZ+c27n+dbC+MV5JqQmU1Dli5iL8k6otU9+vEs/5bjBWsSf4dPsjY7aW0KXKa3KY68FhLZ1dlNeNZNeKLUvFyKVqbaP1bTKXbk0bE1DHi4HvGwl65WK4CuTbPQNamSQil+23BAwAyvEG14IwE9GRvWzpU90t23Z9Z+0KIMXedc8TjLkplL+AJAvVXIQLlzzzx6rdL93znpUPUDX6dFLxjlLQL6jqwCLlv4Ll+rIRuQes7zQlWxoSqdamTLKtMZ1qbUgGwqUdIHvJj4JeCDTt+TXPXz3Jz8X3rOlu6+jGyI3AhagixlhjnIdtLvtPT1980/3ZbK55yWcG5e7/13amXH4iTklsgBsM32HEDPf9zO3AF8U4OwBsLlujNnd7d13J6PU3D2G5AJ536J09bOxl07MLSezZuCfevOHNxJ5NranWhu5sokPTXXtItm4m2bHVgtPqZ4K/Ae4GyRV0FUQ4Zz8DqKRyRBWJdevKEbkYJVAQdjOwoGzEUP2czNinGpAAqvoiwtoeEqonGmS6+hmOG3PBe+6izXVjxEwFekNhIntA7jABb+XMf2kg2br+gPecYI8/4oAh6CpUn/UNSgcNwy3xxqn1r1M/5yGCiFmovv+VcDCyAX2aRVePB2r40mk/Z+XCNI4TOEHEXA/83vFC31PrLxBjviWO24UqNpOZpL7/mVRLyrn58dcpm3g6HzQSu5sIlTo+1j4K7CwqGtvHAAaxGuiHiE5FdVpR0SvW2lUqA4B9Ub+9DDhlLqn43h3A00V1Y8Al2c6W4F7teE+M3/iI0tawXEDPQrWip0B5VnP+CyUxuPfSusOmmwP27BxKZ8M9guolau0IAHHcHVb5fjBStf3xBzYz/t9eBhGumAcP1K4g/tjdgjJdrY2qn4up9T9rgqHvKMwXkXliDGqtUet/MhgKDl3tD6CsuvQYq/dQYLC5LKrahLC9V45aVWQA45FTq0m07vZALgT2CTwNPBmN1cZbN7zUh+yaBx6jfEClRfWp/KgsQGQGXnBULpd+T2z/+WsfI1I1PCIiE4oeZ0D/5oa8VPPba4Ath003lYGZt52NLbmwTIx7pqqKiEFUF3R3tfx97GnlDK5czupbpwOw/eUWzpz5faLnzC4Tx5mm+3IWFB+oEzEl6tvf55ccBagzxp0SC2SpTFcdO73uh3CsikgoSEllfTBcXV8WqRlRGakZ0S9S3a88nUgFRcgJFPutvSIDWE1i11DcgAwDnVlUaauqXWK9g+0XX0ScANbqSrTIBagMEeTcqSefxdg5DxxxhzKpTtSYEs3v5PchAWwqqQwAg46IrgnmaSPOAOtnx6CKOCalsLCielj6xxGhcXHvHsaOfJLcrgmI54xUayeIiBXHXYHwlVy6+7qn7aptvs2uwphViIDasFo76YkLhrFicVshcn7sMPik04lUjYiYkvJTpWzIrY4ndxtHHhTj/EXEmS+OO88NuL9FzFf3k+W+Y+AoYD3BwHSyKXM2yoieGiLPWatbUu07D9p4+94EpaFoZ9bP/QXkHNBAPn4tF7y08E/3BmOLW460YyIGgVCvIwqADKqdqv2BN4+IbrwFTEUN4vq1ohpR30etTaCyeVeykc89qdw9O6+0KarMkWt5+I+X4cacaWKcVpvL/lKtvT/WnGlI9XO1fl0YOyQedxxvMzBDVRHHHTTroeXBdU2j0113zzwiPt8Nn16izLugv7Q17jpZHOdLoGcB/UCdPqeJ4tCd9nWXufueV44eTUerLXWMuTCvRAByKOWOyM2AidbWH5SRrJ+1wFAgA/s2jkwW40wVIwu8YJhsOnnYHRRVjB6YQKSgao/c1ZhSKNOhdMuWIIhRfNSqr6rJcP8sTQt66w6YP5/77/sDIW+la3ORTeLop2yW1dbDf/im47j6wUVs+OpZ1D38uq/WT+QZFwQJ+b6YsrKuYxLROeuRHPefKUT7jzof+LeCz6NYelmENIpfCGV7qAbZLwJcMIBa8HfiGHM8cHLfcr0KuPoQeOobDVEtQ2R2vLXxuX7jZ2Z3vX74PnJxPTRNWpCU9ppxQERKHW8P+dlsx2HTLfGhK7gV12o3hQVdjLggkYQOo676jZ668y+6iEu2Kevv9v3SsfGFmhO77PoT8vwBs6NJTvjN97GVV7uOY6JqbUEYmhIcv2Xv+sPm71Cw4tZpxPqPGqvwgz7KF2lE9WnQV0F2A0lUXNAyhTEC/4P8YAUKBjBfX+SicMRESgedB1q9X1uHmjh6kIVOP+56oaHZeMumI+mkCYaxibZuIzT36F8kguqIZGt2yZEoHyASBF934+YqmjHSBVSIMRFU62vD5pUXbpnM5AnKG6vyXXpsqFCYOvNczNWedT2Ubaei+kpEbVTErVcsIoJaf3v605MyTUyisv5oZjoH+Gbnw/yg9CKitfWXA8f3akBWoHw5l9WlXjia6Wpc2VMUra1H0JiImaqqPQZgoB/XjhxHONq/P8K5RS2lEVkuIi+IyIuH8kFkKUhrkU2MEDjTPcJMlvrz/5VMsiOB0utaVg2AfDyX7C7pP/EE3jkB5Z2XiEwQwh0RfHI7xXHWIoL6fkjEzEqvbQ2ZZc8z4/L9XhLp+wGu+NPvGZh8iYAZjnGcyWrthLwzyUmIyMrSZ3cwetJQDhal6qV7uFIZyG+mXkOkalQMkak9FESSKD8xmMVuONhH+RChpLwc1B7QmikbfhPYbsSY6YVLC/s6/Kqqvcpa/2L1D+lzkVp7MTCvSFlBRGZ37twcrayf/u59y/vfe76+9YebKa0d4YMuQaR4KZ0ljpmRbIlTNrD6QDoOaC5HQfIHSL/Uh78yn2cvu6RDrV0kYmxhgJ9rosHTRrXUM+CmLgb+5CX+EcIddawpOxnYHhUx16G2AhEU3ahql+/V3WRCwXd8X9Wqf9h7ox10d/UHYz10X7gYUI2r6mo3FibeuH9aXuIdY2amJHY/6S4niMhstCedR4FnEs2bNocqh7TF2ze3xve82yfW5gbYC/wV+ijrFMd1x6nfSD5ynAU8DhwW4rqBEuM4SQrZ0CRbtoNxsNZfCrxSJLpqhO9Zn1M6WtZISb8hPSUhIDJsMslkcwgYUWisD9wIjLw3zZmPP4KIPC5iNgCo79egens23T3ylQ1pdvzLdJhxkBhzVNGosnn4YMJWXMHMVdVLCpE8K2L+nNy7rrF+5gm0tfSMxD6EBDxfQ6ZsrM/hZlEZxwW1ivRxczsCIcEhvxffj+d3opVJ1WJcRgBF95NkN8rCiroptKxdktfZu2I7TiAI1r4KfVzD/UFmtTVs4xN3zQZW4qdHA9oN9N4CEYY6XjDS2bQd6B0VrRuXEY5VtAB39VleVE8Cfh8tH3Kb4wSmRWpGDIrUjBzk1Iw8XhJdV7vi/QbkO4Vw8AFob2vFDeyGYGQdRn4rjptRVVTtGQi/iO9umzD9209yzk1rChdWFFpb4eMfR77wDc67bzMlcY1mNftZRb+p1g8jgjHucrLZ+6IjZtj/Bjo2bkTEgNJNcVxCZHgwHAu/eNsXYeDhuIvDhPtZbI5utM8mqAwjM7p2xU2kZkjfVzzQbO6gy41rog50cTZK8VvLrfVX62EtUK1MuvF1Ft8+sTlSWfs3erPtDMKsSPWo/1j2s4f3QIBsOouq3SliOtjncVQ9EeRmVfufJf1GtFiyKcFod0s1TqQd2ykLHFd+pvD1Ir/AaOC7iHxZkBbyhl4OlBXi4+/Ibcuqlew67+eMu3OVjQ+L/k6MTMKYawqh4PON6w6OTR73a+tnnzr7T2/sSia2pqPRoZjP/l8nZ72oqp1kHHeOWnuZWj8KYFxvhzHOt8tKyhvuPyvC+DXFLWoTSgrIRyaV0wXm5Aj+KdK9vl1Lq7rFCR3C2bYdcWZSMbwj1bmzYSkqVxTuDbjA5wORXELRx8P9RrX4NpkVzamIkVTnXmNcJ8Z+M6KbbGwuN458omeREMmh+kzpqPrOXUufOQwDgEVfG07lyGk2k2h9FuV/Fin3eBGmILGnDGtw3XFk/dYmcZ1lig7vMW30NhG50vHMk8byXSdQEu9mOc1vQdmQ8RmbTf9ckJSKfAnVfQbrAtWFTx+JAykovn7WF+PnQe2gCTTp6raUH7odI2ExzsVqfcdaf5KI+blxvM8Zp/yNUi+6BZFukFov4ByH2snq+1WqPbkDTah+HVefWbZ8Oz86p4yvjc8PILU51OY2iOOtRPWcAnvlID80Rq4j4DxspfQnkep0d/chhE92vLaMypHlCDIf4RpVPaUg50HAjwVzo3isM1rSRn6WdRAJAtWqPRlc+dFpHKaA9ubGKk2qLErvbDss5ecxCuPEUcsbIrKiqKAM4ROJ5l3e0FP7ke0MU1I9KKEi/yFithTVCwHjBEaozWogUt5T0LF9NYKb8DPpO1G9CuSXIKsQaUMkBZIp/G0H1iDcDXyv735E8X1fTTlAmnlXCs9tXcwbr+4hFqnZqpr7vBjzCzFOe15xflB9f6Ja/1oR+ZaI/BD0i5rPFqpWVRFjfGOcvwvckGtpu1/eiPkDL9jO14rcv2Pvfo6qygltKL+CopgJGkZ1EqrDfD/tByrHFbN6kOl336MorZuGESrztiLmNsQUb/lDoONRvRSYC9wAzEH1GlRn5TO5ewkahPPyixStIB0If1Ob2yjOkaQ6t7N3/RrizRtaVXmC/LTcCrSDTHFK3IGde0bSsft5asddiJ9OL1HVmxBZCLSRD9Shqg3Jjt3J6T96sQ/1zl1rSbZuy6nlZfW5VVXPV9XLUL0euAnlBtArFD0/nTRfFGQ5fdeBnNKhZQEF8s6et79yFgM/9wZN436LJCI7/XTmdtDPiHEeFcfdLcb4PfvVon2rOG5SHPMWxnxXrX91eFviqV2l6s8eUM4LE8/vw/fS88ro0g6yme75wOdBXgLpAPELOl0fqqjJNi19Nh9KQEGIF+TWBtKJSpHvcw0wnwnX/5msa5agem0+8UU2F3IzDraUaN47KInCXmoLIsskWls/RfMjTxEE1e21g8dsbckZOlY+cQRGAOXDTiDXHa9CGK3aM/36qv6agdMu7dj4xE97zTU2SJxQoEKMczwwlrx7b6EX9p5vazjSzLIYZUOG4mcyn0b4bT6vDoAfxps33n5QARUp9/KHttNlUjEC+dQvEcaJ6/UTEVd9P2793FYxzuvq+6+6aRq9TM5//NqxBct4531TSfVwrPXFcwI1iEwCRoHUgP7FCUVf69i6gkhtPWp9zxhnnOZD6wBpX/xV4erhqda3DvzthEj/kaj1g0bcOoGJqoxA6A8EyW88k+QHeCvQhrJbVXcitvVDdU23LADiQ7YcTBq64kdCpZ5hUzz2ru92pcT9KegtBcVkUL3J8dz/GnTaEtY8WPuulK5Y1ES0PERzQ7uX8buDOEawbs5JZNO4xj59zdj31N99c6zP0UuiDpK/h54ORYwTiInNpsH1rSrqxw+8wfShMoCjgXDVaAIlSi4r0wW9T3vuM0qToheVVPD63rUCbHh3Yge4KuTgzz7C+AB+IeTwUVk3jXSiZaiInI7om2pp9HPZRLefyxjjYNu2U1JZh6rvIH5pLiOnAd9S+lxmXWz93FpxRgHPHlrDB1PuR1zh++MjYQCqOURkqoj8uyoJMbLB9QKbol6gEbSV2npfoURwhiAyEeXE/DGrAJFNwC9LyiW5Z/UhKv//E3zoDWCtKv/8zV+w+nd3TdB8XmAFqoOBs/I1xJJPGTCAHBh4kY0ot6U1uay0/+mwseGD7tKHCh96Azhj8vl0bHsz4HnhEvJHyghocYTlYE6eLLAHWKToXelU97JcZ6Pu2H1sMnM+yvjQL2jRoZNIte+QUDBWJfmElROB40VkOFCjSiT/qyWSRmhFdRvwGrDEz2XfCJfVxVs2L/6gu/Ghxf8DwvKOSmwdryMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTUtMDktMjFUMTc6NTE6MTIrMDI6MDAaMs3qAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE1LTA5LTIxVDE3OjUxOjEyKzAyOjAwa291VgAAAABJRU5ErkJggg==');
+ background-repeat: no-repeat;
+ background-size: contain;
+ vertical-align: middle;
+ }
+}
+
+// BREAKPOINT 1:
+// Screen is big enough to display the text snippets
+@media (min-width: $breakpoint-medium) {
+ .aa-dropdown-menu {
+ min-width: $dropdown-min-width-medium;
+ }
+ .algolia-docsearch-suggestion--text {
+ display: block;
+ font-size: .9em;
+ padding: 2px 0;
+ }
+}
+
+// BREAKPOINT 2:
+// Screen is big enough to display results in two columns
+@media (min-width: $breakpoint-large) {
+ .aa-dropdown-menu {
+ min-width: $dropdown-min-width-large;
+ }
+ .algolia-docsearch-suggestion {
+ display: table;
+ width: 100%;
+ }
+
+ .algolia-docsearch-suggestion__secondary {
+ border-top: 1px solid $color-left-column-bg;
+ }
+
+ .algolia-docsearch-suggestion__main {
+ border-top: 0;
+ }
+
+ .algolia-docsearch-suggestion--subcategory-column {
+
+ background: $color-left-column-bg;
+ color: $color-left-column;
+ display: table-cell;
+ overflow: hidden;
+ padding: 5px 7px 5px 5px;
+ text-align: right;
+ text-overflow: ellipsis;
+ vertical-align: top;
+
+ width: 135px; // Hardcoded
+ max-width: 135px; // Hardcoded
+ min-width: 135px; // Hardcoded
+ }
+
+ .algolia-docsearch-suggestion--subcategory-column-text {
+ display: none;
+
+ .algolia-docsearch-suggestion__secondary & {
+ display: block;
+ }
+ }
+ .algolia-docsearch-suggestion--content {
+ display: table-cell;
+ padding: 5px 10px;
+ }
+ .algolia-docsearch-suggestion--subcategory-inline {
+ display: none;
+ }
+ .algolia-docsearch-suggestion--title {
+ font-weight: 400;
+ }
+ .algolia-docsearch-suggestion--text {
+ display: block;
+ font-weight: normal;
+ padding: 2px;
+ }
+}
+
+@media print, screen and(max-width: 650px) {
+ .search-input-wrapper {
+ width: 100%
+ }
+}
\ No newline at end of file
diff --git a/css/themes/wakanda/theme.scss b/css/themes/wakanda/theme.scss
new file mode 100644
index 00000000..415c104f
--- /dev/null
+++ b/css/themes/wakanda/theme.scss
@@ -0,0 +1,281 @@
+---
+---
+
+/*
+
+Original theme by Orderlist
+https://github.com/orderedlist/minimal
+
+Creative Commons Attribution-ShareAlike 3.0 Unported License.
+http://creativecommons.org/licenses/by-sa/3.0/
+
+Forked by Wakanda SAS
+
+Modified:
+- default font
+- larger layout
+- footer on the section part
+- no subpixel treatment
+
+*/
+
+@import url(https://fonts.googleapis.com/css?family=Roboto:400,700,100);
+
+body {
+ background-color: #fff;
+ padding:50px;
+ font: 14px/1.5 'Roboto', sans-serif;
+ color: #535353;
+ font-weight:400;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color:#222;
+ margin:0 0 20px;
+}
+
+p, ul, ol, table, pre, dl {
+ margin:0 0 20px;
+}
+
+h1, h2, h3 {
+ line-height:1.1;
+}
+
+h1 {
+ font-size:28px;
+}
+
+h2 {
+ color:#393939;
+}
+
+h3, h4, h5, h6 {
+ color:#494949;
+}
+
+a {
+ color:#14a1c8;
+ text-decoration:none;
+}
+
+a:hover {
+ color:#069;
+}
+
+a small {
+ font-size:11px;
+ color:#777;
+ margin-top:-0.3em;
+ display:block;
+}
+
+a:hover small {
+ color:#777;
+}
+
+.wrapper {
+ margin:0 auto;
+}
+
+blockquote {
+ border-left:1px solid #e5e5e5;
+ margin:0;
+ padding:0 0 0 20px;
+ font-style:italic;
+}
+
+code, pre {
+ font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, Consolas, Liberation Mono, DejaVu Sans Mono, Courier New, monospace;
+ color:#333;
+ font-size:12px;
+}
+
+pre {
+ padding:8px 15px;
+ background: #f8f8f8;
+ border-radius:5px;
+ border:1px solid #e5e5e5;
+ overflow-x: auto;
+}
+
+table {
+ width:100%;
+ border-collapse:collapse;
+}
+
+th, td {
+ text-align:left;
+ padding:5px 10px;
+ border-bottom:1px solid #e5e5e5;
+}
+
+dt {
+ color:#444;
+ font-weight:700;
+}
+
+th {
+ color:#444;
+}
+
+img {
+ max-width:100%;
+}
+
+header {
+ width:270px;
+ float:left;
+ position:fixed;
+}
+
+header ul {
+ list-style:none;
+ height:40px;
+ padding:0;
+ background: #f4f4f4;
+ border-radius:5px;
+ border:1px solid #e0e0e0;
+ width:270px;
+}
+
+header li {
+ width:89px;
+ float:left;
+ border-right:1px solid #e0e0e0;
+ height:40px;
+}
+
+header li:first-child a {
+ border-radius:5px 0 0 5px;
+}
+
+header li:last-child a {
+ border-radius:0 5px 5px 0;
+}
+
+header ul a {
+ line-height:1;
+ font-size:11px;
+ color:#999;
+ display:block;
+ text-align:center;
+ padding-top:6px;
+ height:34px;
+}
+
+header ul a:hover {
+ color:#999;
+}
+
+header ul a:active {
+ background-color:#f0f0f0;
+}
+
+strong {
+ color:#222;
+ font-weight:700;
+}
+
+header ul li + li + li {
+ border-right:none;
+ width:89px;
+}
+
+header ul a strong {
+ font-size:14px;
+ display:block;
+ color:#222;
+}
+
+section {
+ width:500px;
+ float:right;
+ padding-bottom:50px;
+}
+
+small {
+ font-size:11px;
+}
+
+hr {
+ border:0;
+ background:#e5e5e5;
+ height:1px;
+ margin:0 0 20px;
+}
+
+@media print, screen and (max-width: 650px) {
+
+ div.wrapper {
+ width:auto;
+ margin:0;
+ }
+
+ header, section, footer {
+ float:none;
+ position:static;
+ width:auto;
+ }
+
+ header {
+ padding-right:320px;
+ }
+
+ section {
+ border:1px solid #e5e5e5;
+ border-width:1px 0;
+ padding:20px 0;
+ margin:0 0 20px;
+ }
+
+ header a small {
+ display:inline;
+ }
+
+ header ul {
+ position:absolute;
+ right:50px;
+ top:52px;
+ }
+}
+
+@media print, screen and (max-width: 720px) {
+ body {
+ word-wrap:break-word;
+ }
+
+ header {
+ padding:0;
+ }
+
+ header ul, header p.view {
+ position:static;
+ }
+
+ pre, code {
+ word-wrap:normal;
+ }
+}
+
+@media print, screen and (max-width: 640px) {
+ body {
+ padding:15px;
+ }
+
+ header ul {
+ width:99%;
+ }
+
+ header li, header ul li + li + li {
+ width:33%;
+ }
+}
+
+@media print {
+ body {
+ padding:0.4in;
+ font-size:12pt;
+ color:#444;
+ }
+}
diff --git a/deploy-your-app.md b/deploy-your-app.md
new file mode 100644
index 00000000..4777bd8b
--- /dev/null
+++ b/deploy-your-app.md
@@ -0,0 +1,25 @@
+---
+---
+
+# Deploy your app
+
+## Initial setup
+
+- [Create a new cloud server instance](http://docs.wakcloud.com/en/latest/getting_started.html){:class="no-style"}{:target="_blank"}
+- [Setup a remote repository](version-control.html)
+
+## Deploy
+
+Click on Deploy from the Studio toolbar:
+
+
+
+You can now push, for example, on your `production` branch:
+
+
+
+---
+
+Now, manage your app with Wakanda Cloud:
+
+[Manage your app »](http://docs.wakcloud.com/en/latest/application_dashboard.html){:target="blank_"}{:class="btn"}
\ No newline at end of file
diff --git a/design-data-model.md b/design-data-model.md
new file mode 100644
index 00000000..905cdf43
--- /dev/null
+++ b/design-data-model.md
@@ -0,0 +1,29 @@
+---
+---
+
+# Design your data model
+
+## 1 - Open your model
+
+
+`database/model.waModel`
+
+> **TIPS**:
+> - click on
to change the view options (the `.waModel` extension is hidden by default)
+> - click on
to quickly access your model
+
+## 2 - Design your data model
+
+
+
+[Learn more »](http://doc.wakanda.org/home2.en.html#/Datastore-Model-Designer/Datastore-Model-Designer.100-1051416.en.html){:target="_blank"}{:class="btn"}
+
+>
+>
+> If you need to reload your model in an already started server, a badge will appear in the Studio toolbar. Click on the squared reload button to reload the model. The second one performs a full solution reload.
+
+---
+
+Now, create a web application with Wakanda and Angular:
+
+[Create a web app »](create-web-app.html){:class="btn"}
\ No newline at end of file
diff --git a/img/background.png b/img/background.png
new file mode 100644
index 00000000..812f5eda
Binary files /dev/null and b/img/background.png differ
diff --git a/img/bullet.png b/img/bullet.png
new file mode 100644
index 00000000..c53eca87
Binary files /dev/null and b/img/bullet.png differ
diff --git a/img/circle.png b/img/circle.png
new file mode 100644
index 00000000..96ebeba6
Binary files /dev/null and b/img/circle.png differ
diff --git a/img/console-gulp.png b/img/console-gulp.png
new file mode 100644
index 00000000..0004b81f
Binary files /dev/null and b/img/console-gulp.png differ
diff --git a/img/console-livereload-info.png b/img/console-livereload-info.png
new file mode 100644
index 00000000..99312aba
Binary files /dev/null and b/img/console-livereload-info.png differ
diff --git a/img/console-livereload-requirements.png b/img/console-livereload-requirements.png
new file mode 100644
index 00000000..65775b13
Binary files /dev/null and b/img/console-livereload-requirements.png differ
diff --git a/img/create-page-prototype.png b/img/create-page-prototype.png
new file mode 100644
index 00000000..bfbb12ee
Binary files /dev/null and b/img/create-page-prototype.png differ
diff --git a/img/deploy-your-project.png b/img/deploy-your-project.png
new file mode 100644
index 00000000..dd10748d
Binary files /dev/null and b/img/deploy-your-project.png differ
diff --git a/img/explorer-settings-shortcut.png b/img/explorer-settings-shortcut.png
new file mode 100644
index 00000000..41c61738
Binary files /dev/null and b/img/explorer-settings-shortcut.png differ
diff --git a/img/git-add-remote.png b/img/git-add-remote.png
new file mode 100644
index 00000000..d68b2833
Binary files /dev/null and b/img/git-add-remote.png differ
diff --git a/img/git-commit.png b/img/git-commit.png
new file mode 100644
index 00000000..e052a7c6
Binary files /dev/null and b/img/git-commit.png differ
diff --git a/img/git-github.png b/img/git-github.png
new file mode 100644
index 00000000..7fb47520
Binary files /dev/null and b/img/git-github.png differ
diff --git a/img/git-remote-repositories.png b/img/git-remote-repositories.png
new file mode 100644
index 00000000..81c42825
Binary files /dev/null and b/img/git-remote-repositories.png differ
diff --git a/img/git-shortcut.png b/img/git-shortcut.png
new file mode 100644
index 00000000..d07b78c2
Binary files /dev/null and b/img/git-shortcut.png differ
diff --git a/img/git-wakanda-cloud.png b/img/git-wakanda-cloud.png
new file mode 100644
index 00000000..58ca4b4e
Binary files /dev/null and b/img/git-wakanda-cloud.png differ
diff --git a/img/home-header.png b/img/home-header.png
new file mode 100644
index 00000000..8b9c88fd
Binary files /dev/null and b/img/home-header.png differ
diff --git a/img/icon-connect.png b/img/icon-connect.png
new file mode 100644
index 00000000..1da509f0
Binary files /dev/null and b/img/icon-connect.png differ
diff --git a/img/icon-deploy.png b/img/icon-deploy.png
new file mode 100755
index 00000000..4364adbb
Binary files /dev/null and b/img/icon-deploy.png differ
diff --git a/img/icon-mobile.png b/img/icon-mobile.png
new file mode 100644
index 00000000..0e14aadc
Binary files /dev/null and b/img/icon-mobile.png differ
diff --git a/img/icon-model.png b/img/icon-model.png
new file mode 100644
index 00000000..83f4d812
Binary files /dev/null and b/img/icon-model.png differ
diff --git a/img/icon-prototyper.png b/img/icon-prototyper.png
new file mode 100644
index 00000000..6588d91a
Binary files /dev/null and b/img/icon-prototyper.png differ
diff --git a/img/icon-web.png b/img/icon-web.png
new file mode 100644
index 00000000..e86953b2
Binary files /dev/null and b/img/icon-web.png differ
diff --git a/img/install-console-overview.png b/img/install-console-overview.png
new file mode 100644
index 00000000..572c1d26
Binary files /dev/null and b/img/install-console-overview.png differ
diff --git a/img/install-extensions.png b/img/install-extensions.png
new file mode 100644
index 00000000..2d48fa6e
Binary files /dev/null and b/img/install-extensions.png differ
diff --git a/img/install-help.png b/img/install-help.png
new file mode 100644
index 00000000..d835ff5f
Binary files /dev/null and b/img/install-help.png differ
diff --git a/img/install-requirements.gif b/img/install-requirements.gif
new file mode 100644
index 00000000..4c0bdc2c
Binary files /dev/null and b/img/install-requirements.gif differ
diff --git a/img/install-wakanda.png b/img/install-wakanda.png
new file mode 100644
index 00000000..d641563e
Binary files /dev/null and b/img/install-wakanda.png differ
diff --git a/img/mobile-build-dropdown.png b/img/mobile-build-dropdown.png
new file mode 100644
index 00000000..7989712c
Binary files /dev/null and b/img/mobile-build-dropdown.png differ
diff --git a/img/mobile-build-progress.png b/img/mobile-build-progress.png
new file mode 100644
index 00000000..d7063b4a
Binary files /dev/null and b/img/mobile-build-progress.png differ
diff --git a/img/mobile-build.png b/img/mobile-build.png
new file mode 100644
index 00000000..fe96f7d0
Binary files /dev/null and b/img/mobile-build.png differ
diff --git a/img/mobile-live-reload.gif b/img/mobile-live-reload.gif
new file mode 100644
index 00000000..0400f9f0
Binary files /dev/null and b/img/mobile-live-reload.gif differ
diff --git a/img/mobile-preview.png b/img/mobile-preview.png
new file mode 100644
index 00000000..9f690fac
Binary files /dev/null and b/img/mobile-preview.png differ
diff --git a/img/mobile-run-devices.png b/img/mobile-run-devices.png
new file mode 100644
index 00000000..84b0ad1b
Binary files /dev/null and b/img/mobile-run-devices.png differ
diff --git a/img/mobile-scss-folder.png b/img/mobile-scss-folder.png
new file mode 100644
index 00000000..aaf4f2e6
Binary files /dev/null and b/img/mobile-scss-folder.png differ
diff --git a/img/mobile-scss-json-sourcemaps.png b/img/mobile-scss-json-sourcemaps.png
new file mode 100644
index 00000000..42e97f4a
Binary files /dev/null and b/img/mobile-scss-json-sourcemaps.png differ
diff --git a/img/mobile-scss-reload.png b/img/mobile-scss-reload.png
new file mode 100644
index 00000000..3720933e
Binary files /dev/null and b/img/mobile-scss-reload.png differ
diff --git a/img/mobile-scss-working.png b/img/mobile-scss-working.png
new file mode 100644
index 00000000..cded0c9c
Binary files /dev/null and b/img/mobile-scss-working.png differ
diff --git a/img/mobile-simulator-launching.png b/img/mobile-simulator-launching.png
new file mode 100644
index 00000000..c8aee4a4
Binary files /dev/null and b/img/mobile-simulator-launching.png differ
diff --git a/img/mobile-simulator.png b/img/mobile-simulator.png
new file mode 100644
index 00000000..5ef97fc9
Binary files /dev/null and b/img/mobile-simulator.png differ
diff --git a/img/mobile-tree-gulpfile.png b/img/mobile-tree-gulpfile.png
new file mode 100644
index 00000000..6b41c04d
Binary files /dev/null and b/img/mobile-tree-gulpfile.png differ
diff --git a/img/mobile-workflow.png b/img/mobile-workflow.png
new file mode 100644
index 00000000..70762c5b
Binary files /dev/null and b/img/mobile-workflow.png differ
diff --git a/img/model-designer-explorer.png b/img/model-designer-explorer.png
new file mode 100644
index 00000000..eba9f150
Binary files /dev/null and b/img/model-designer-explorer.png differ
diff --git a/img/model-designer-shortcut.png b/img/model-designer-shortcut.png
new file mode 100644
index 00000000..2693c973
Binary files /dev/null and b/img/model-designer-shortcut.png differ
diff --git a/img/model-designer.png b/img/model-designer.png
new file mode 100644
index 00000000..05443174
Binary files /dev/null and b/img/model-designer.png differ
diff --git a/img/panel-toggles.png b/img/panel-toggles.png
new file mode 100644
index 00000000..0ecd4f63
Binary files /dev/null and b/img/panel-toggles.png differ
diff --git a/img/pic_mobileApp.png b/img/pic_mobileApp.png
new file mode 100644
index 00000000..329d1f08
Binary files /dev/null and b/img/pic_mobileApp.png differ
diff --git a/img/pic_model.png b/img/pic_model.png
new file mode 100644
index 00000000..66df0a3a
Binary files /dev/null and b/img/pic_model.png differ
diff --git a/img/pic_prototype.png b/img/pic_prototype.png
new file mode 100644
index 00000000..e5d16ba1
Binary files /dev/null and b/img/pic_prototype.png differ
diff --git a/img/pic_webApp.png b/img/pic_webApp.png
new file mode 100644
index 00000000..775b5238
Binary files /dev/null and b/img/pic_webApp.png differ
diff --git a/img/prototyper-explorer.png b/img/prototyper-explorer.png
new file mode 100644
index 00000000..018aee22
Binary files /dev/null and b/img/prototyper-explorer.png differ
diff --git a/img/prototyper-run.png b/img/prototyper-run.png
new file mode 100644
index 00000000..21deefcb
Binary files /dev/null and b/img/prototyper-run.png differ
diff --git a/img/prototyper-shortcut.png b/img/prototyper-shortcut.png
new file mode 100644
index 00000000..27daeb86
Binary files /dev/null and b/img/prototyper-shortcut.png differ
diff --git a/img/prototyper.png b/img/prototyper.png
new file mode 100644
index 00000000..8ec53df0
Binary files /dev/null and b/img/prototyper.png differ
diff --git a/img/readme-create-pr.png b/img/readme-create-pr.png
new file mode 100644
index 00000000..b90580d7
Binary files /dev/null and b/img/readme-create-pr.png differ
diff --git a/img/readme-fork-edit-file.png b/img/readme-fork-edit-file.png
new file mode 100644
index 00000000..6cd7e39d
Binary files /dev/null and b/img/readme-fork-edit-file.png differ
diff --git a/img/readme-gh-pages.png b/img/readme-gh-pages.png
new file mode 100644
index 00000000..d81354e9
Binary files /dev/null and b/img/readme-gh-pages.png differ
diff --git a/img/readme-new-branch-pr.png b/img/readme-new-branch-pr.png
new file mode 100644
index 00000000..9bda6ddf
Binary files /dev/null and b/img/readme-new-branch-pr.png differ
diff --git a/img/readme-open-md-file.png b/img/readme-open-md-file.png
new file mode 100644
index 00000000..bc40ed7c
Binary files /dev/null and b/img/readme-open-md-file.png differ
diff --git a/img/readme-open-pull-request.png b/img/readme-open-pull-request.png
new file mode 100644
index 00000000..5b9d75da
Binary files /dev/null and b/img/readme-open-pull-request.png differ
diff --git a/img/readme-propose-file-change.png b/img/readme-propose-file-change.png
new file mode 100644
index 00000000..bfc0e9df
Binary files /dev/null and b/img/readme-propose-file-change.png differ
diff --git a/img/readme-pushed-branch-pr.png b/img/readme-pushed-branch-pr.png
new file mode 100644
index 00000000..65ecbd31
Binary files /dev/null and b/img/readme-pushed-branch-pr.png differ
diff --git a/img/toolbar-deploy.png b/img/toolbar-deploy.png
new file mode 100644
index 00000000..167daae7
Binary files /dev/null and b/img/toolbar-deploy.png differ
diff --git a/img/toolbar-mobile-build.png b/img/toolbar-mobile-build.png
new file mode 100644
index 00000000..ff9ceb8c
Binary files /dev/null and b/img/toolbar-mobile-build.png differ
diff --git a/img/toolbar-mobile-preview.png b/img/toolbar-mobile-preview.png
new file mode 100644
index 00000000..5e6abc16
Binary files /dev/null and b/img/toolbar-mobile-preview.png differ
diff --git a/img/toolbar-mobile-run.png b/img/toolbar-mobile-run.png
new file mode 100644
index 00000000..4a0a784e
Binary files /dev/null and b/img/toolbar-mobile-run.png differ
diff --git a/img/toolbar-reload-buttons.png b/img/toolbar-reload-buttons.png
new file mode 100644
index 00000000..d555fe0f
Binary files /dev/null and b/img/toolbar-reload-buttons.png differ
diff --git a/img/web-app-creation.png b/img/web-app-creation.png
new file mode 100644
index 00000000..d5ea064c
Binary files /dev/null and b/img/web-app-creation.png differ
diff --git a/img/web-run-dropdown.png b/img/web-run-dropdown.png
new file mode 100644
index 00000000..1ef102e8
Binary files /dev/null and b/img/web-run-dropdown.png differ
diff --git a/img/web-run-page.png b/img/web-run-page.png
new file mode 100644
index 00000000..f82e597b
Binary files /dev/null and b/img/web-run-page.png differ
diff --git a/img/web-tree-gulpfile.png b/img/web-tree-gulpfile.png
new file mode 100644
index 00000000..12d70a23
Binary files /dev/null and b/img/web-tree-gulpfile.png differ
diff --git a/img/withWakAppFac.png b/img/withWakAppFac.png
new file mode 100644
index 00000000..c108b12c
Binary files /dev/null and b/img/withWakAppFac.png differ
diff --git a/index-enterprise.md b/index-enterprise.md
new file mode 100644
index 00000000..28ff72d8
--- /dev/null
+++ b/index-enterprise.md
@@ -0,0 +1,5 @@
+---
+id: home
+---
+
+{% include index.html %}
\ No newline at end of file
diff --git a/index.md b/index.md
new file mode 100644
index 00000000..28ff72d8
--- /dev/null
+++ b/index.md
@@ -0,0 +1,5 @@
+---
+id: home
+---
+
+{% include index.html %}
\ No newline at end of file
diff --git a/installation.md b/installation.md
new file mode 100644
index 00000000..487273e7
--- /dev/null
+++ b/installation.md
@@ -0,0 +1,64 @@
+---
+---
+
+# Installation
+
+## Table of contents
+
+- [Install Wakanda](#install-wakanda)
+- [Setup the mobile stack](#setup-the-mobile-stack)
+- [Increase your productivity](#increase-your-productivity)
+- [Add extensions](#add-extensions)
+
+## Install Wakanda
+
+Download the latest Wakanda **Community Edition** on [wakanda.github.io](https://wakanda.github.io/){:target="blank_"}.
+Find the **Enterprise Edition** on [wakanda.io](http://wakanda.io/){:target="blank_"}.
+
+- On Windows, double-click on the `wakanda-digital-app-factory-xxx.msi` file to launch the installation wizard.
+- On Mac OS X, open `wakanda-digital-app-factory-xxx.dmg` file and copy `Wakanda Studio` and `Wakanda Server` in your `Applications` folder:
+
+
+
+## Setup the mobile stack
+
+When you create or open a project, your can check in the console for any missing prerequisites:
+
+
+
+For example, you'll need _Xcode_ to create iOS apps or _Android SDK_ for Android apps.
+
+### Troubleshooting
+
+Do you need help? Open the _Mobile Troubleshooting App_ from the console or the main menu (_Help_ > _Wakanda Mobile Troubleshooting_). Then, detect and fix common issues:
+
+
+
+## Increase your productivity
+
+### Live reload
+
+The following message in the console warns you when live reload is deactivated:
+
+
+
+If you want the page to reload automatically after any file changes occur, please install [node](https://nodejs.org/){:target="blank_"} and gulp:
+
+ npm install -g gulp
+
+Close the web preview panel and click again on [Run Page](create-web-app.html). The Studio will install automatically the live-reload requierements:
+
+
+
+## Add extensions
+
+Improve your development workflow adding and updating Studio extensions.
+To do so, open the _Add-ons_ app from the toolbar. The _Add-ons_ badge notifies you when extension updates are available:
+
+
+
+---
+
+Now, you are ready to build your app!
+
+[Getting Started »](index.html){:class="btn"}
diff --git a/js/polyfill.js b/js/polyfill.js
new file mode 100644
index 00000000..a701eb3e
--- /dev/null
+++ b/js/polyfill.js
@@ -0,0 +1 @@
+"function"!=typeof Function.prototype.bind&&(Function.prototype.bind=function(t){var o=Array.prototype.slice.call(arguments,1),n=this,r=function(){},p=function(){return n.apply(this instanceof r?this:t||{},o.concat(Array.prototype.slice.call(arguments)))};return r.prototype=this.prototype||{},p.prototype=new r,p});
\ No newline at end of file
diff --git a/prototype.md b/prototype.md
new file mode 100644
index 00000000..372d58f1
--- /dev/null
+++ b/prototype.md
@@ -0,0 +1,37 @@
+---
+---
+
+# Prototype your app
+
+## 1 - Open the default page prototype
+
+
+
+`web/prototype/index.waPage`
+
+> **TIPS**:
+> - click on
to change the view options (the `.waPage` extension is hidden by default)
+> - click on
to quickly access the `page prototype` index
+
+## 2 - Prototype your page
+
+
+
+[Learn more »](http://doc.wakanda.org/home2.en.html#/GUI-Designer/GUI-Designer.100-1051423.en.html){:target="_blank"}{:class="btn"}
+
+## 3 - Run your page
+
+
+
+## 4 - Create more pages
+
+
+
+> **TIPS**
+> - Feel free to create your page prototype directly in the `web` folder or any other sub-folders.
+
+---
+
+Now, create a web application with Wakanda and Angular:
+
+[Create a web app »](create-web-app.html){:class="btn"}
diff --git a/sass-precompilation.md b/sass-precompilation.md
new file mode 100644
index 00000000..2481b52a
--- /dev/null
+++ b/sass-precompilation.md
@@ -0,0 +1,289 @@
+---
+---
+
+# SASS precompilation
+
+## Table of contents
+
+- [Add SASS precompilation to your web app](#add-sass-precompilation-to-your-web-app)
+- [Customize settings](#customize-settings)
+- [Activate the same workflow for mobile apps](#activate-the-same-workflow-for-mobile-apps)
+
+## Add SASS precompilation to your web app
+
+We will see how to add SASS files precompilation to the build process.
+You should read the [Build process introduction](build-process-introduction.html) first.
+
+First we need to add to our `package.json` the following dependency:
+
+```json
+{
+ "devDependencies": {
+ "gulp-sass": "*"
+ }
+}
+```
+
+Then add the source and the destination folders to the `paths` variable defined in the `gulpfile.js`, as it follows:
+
+```javascript
+var paths = {
+ // ... html, js and css folders
+ sass: {
+ src: [baseFolder + 'scss/**/*.scss'],
+ dest: baseFolder + 'styles'
+ }
+};
+```
+
+Now import the `gulp-sass` dependency and create a Gulp task named `sass` with the following code:
+
+```javascript
+var sass = require('gulp-sass');
+
+gulp.task('sass', function(done) {
+ gulp.src(paths.sass.src) // define sources location
+ .pipe(sass()) // start sass process
+ .on('error', sass.logError) // halt on errors
+ .pipe(gulp.dest(paths.sass.dest)) // copy css into destination
+ .on('end', done); // quit
+});
+```
+
+Finally, enable the `watch` task to look for any file change under the `app/scss` folder with `sass` and `reload` tasks as second parameter:
+
+```javascript
+gulp.task('watch', function() {
+ gulp.watch(paths.sass.src, ['sass', 'reload']);
+ gulp.watch([
+ // ... html, js and css folders
+ ], ['reload']);
+});
+```
+
+This way the Gulp `watch` task will now also trigger the `sass` sources precompilation and the live-reload event.
+
+**Note:** If a Gulp process was already running you must close and re-open your solution to reload the configuration.
+
+
+## Customize settings
+
+A working `sass` task is now part of the build. We can improve it with additional functionalities:
+
+### SASS options
+
+SASS options can be set passing a parameter object to the `sass()` function:
+
+```javascript
+gulp.task('sass', function(done) {
+ gulp.src(paths.sass.src)
+ .pipe(sass({
+ outputStyle: 'compressed' // produce compressed output
+ }))
+ .on('error', sass.logError)
+ .pipe(gulp.dest(paths.sass.dest))
+ .on('end', done);
+});
+```
+
+SASS compressed output helps to reduce the filesize.
+
+### Minify and rename files
+
+A complete minification can reduce the filesize even further:
+
+```javascript
+var minifyCss = require('gulp-minify-css'),
+ rename = require('gulp-rename');
+
+gulp.task('sass', function(done) {
+ gulp.src(paths.sass.src)
+ .pipe(sass())
+ .on('error', sass.logError)
+ .pipe(minifyCss()) // clean and minify *.css files
+ .pipe(rename({ extname: '.min.css' })) // rename *.css to *.min.css
+ .pipe(gulp.dest(paths.sass.dest))
+ .on('end', done);
+});
+```
+
+**Note:** this functionality requires the following dependencies to be defined in the `package.json` file:
+
+```json
+{
+ "devDependencies": {
+ "gulp-minify-css": "*",
+ "gulp-rename": "*"
+ }
+}
+```
+
+### Both compiled and minified versions
+
+In order to produce both a compiled and a minified version at the same time edit your `sass` task as follows:
+
+```javascript
+var minifyCss = require('gulp-minify-css'),
+ rename = require('gulp-rename');
+
+gulp.task('sass', function(done) {
+ gulp.src(paths.sass.src)
+ .pipe(sass())
+ .on('error', sass.logError)
+ .pipe(gulp.dest(paths.sass.dest)) // copy *.css to destination
+ .pipe(minifyCss())
+ .pipe(rename({ extname: '.min.css' }))
+ .pipe(gulp.dest(paths.sass.dest)) // copy *.min.css to destination
+ .on('end', done);
+});
+```
+
+**Note:** this functionality requires the following dependencies to be defined in the `package.json` file:
+
+```json
+{
+ "devDependencies": {
+ "gulp-minify-css": "*",
+ "gulp-rename": "*"
+ }
+}
+```
+
+### Sourcemaps
+In order to add sourcemaps edit your `sass` task as follows:
+
+```javascript
+var sourcemaps = require('gulp-sourcemaps');
+gulp.task('sass', function(done) {
+ gulp.src(paths.sass.src)
+ .pipe(sourcemaps.init()) // generate sourcemaps
+ .pipe(sass())
+ .on('error', sass.logError)
+ .pipe(sourcemaps.write()) // write sourcemaps into *.css
+ .pipe(gulp.dest(paths.sass.dest))
+ .on('end', done);
+});
+```
+
+**Note:** this functionality requires the following dependencies to be defined in the `package.json` file:
+
+```json
+{
+ "devDependencies": {
+ "gulp-sourcemaps": "*"
+ }
+}
+```
+You can now found your sourcemaps inside the output file as a comment:
+
+```css
+/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjo...
+```
+
+### Minify and rename, original and source maps
+
+The combination of all:
+
+```javascript
+var sourcemaps = require('gulp-sourcemaps'),
+ minifyCss = require('gulp-minify-css'),
+ rename = require('gulp-rename');
+
+gulp.task('sass', function(done) {
+ gulp.src(paths.sass.src) // define sources location
+ .pipe(sourcemaps.init()) // generate sourcemaps
+ .pipe(sass()) // start sass process
+ .on('error', sass.logError) // halt on errors
+ .pipe(sourcemaps.write()) // write sourcemaps into *.css
+ .pipe(gulp.dest(paths.sass.dest)) // copy *.css into destination
+ .pipe(minifyCss()) // clean and minify *.css
+ .pipe(rename({ extname: '.min.css' })) // rename *.css to *.min.css
+ .pipe(sourcemaps.write()) // re-write sourcemaps into *.min.css
+ .pipe(gulp.dest(paths.sass.dest)) // copy *.min.css to destination
+ .on('end', done); // quit
+});
+```
+
+**Note:** this functionality requires the following dependencies to be defined in the `package.json` file:
+
+```json
+{
+ "devDependencies": {
+ "gulp-minify-css": "*",
+ "gulp-rename": "*",
+ "gulp-sourcemaps": "*"
+ }
+}
+```
+
+## Activate the same workflow for mobile apps
+
+We will now evaluate how to integrate the same workflow in our Wakanda Ionic-based mobile application. Inside the `mobile` folder you can find a `gulpfile.js` file. However this build process is slightly different:
+
+- Ionic includes a live-reload mechanism for `www` folder. Thus a Gulp live-reload implementation is not necessary.
+- Ionic already includes a snippet of code to support SASS precompilation.
+- Ionic takes into consideration only the Gulp tasks defined in the `ionic.project` file.
+- Node.js modules are not installed by default in the `mobile` folder.
+
+In order:
+
+1 - Add to the `package.json` inside your `mobile` folder any Gulp dependency you may need. Following the example above we will need to add only `gulp-sourcemaps` to the dependencies already provided:
+
+
+
+
+2 - Run in the terminal `npm install` while inside your `mobile` folder to install all the Gulp and SASS dependencies defined in the `package.json` file.
+
+3 - Create a `scss` folder inside the `mobile` folder and put our sass sources inside:
+
+
+
+Being outside of the `www` folder, SASS sources won't included in the final application package.
+
+4 - Customize the `sass` task inside the `gulpfile.js` to be coherent with your project scaffolding:
+
+```javascript
+// 1 - change sass paths like this
+var paths = {
+ sass: {
+ src: ['./scss/**/*.scss'],
+ dest: './www/css/'
+ }
+};
+
+// 2 - add missing require
+var sourcemaps = require('gulp-sourcemaps');
+
+// 3 - add missing tasks
+gulp.task('sass', function(done) {
+ gulp.src(paths.sass.src)
+ .pipe(sourcemaps.init())
+ .pipe(sass())
+ .on('error', sass.logError)
+ .pipe(sourcemaps.write())
+ .pipe(minifyCss())
+ .pipe(rename({ extname: '.min.css' }))
+ .pipe(gulp.dest(paths.sass.dest))
+ .on('end', done);
+});
+gulp.task('watch', function() {
+ gulp.watch(paths.sass.src, ['sass']); // 'reload' task is not necessary
+});
+```
+
+5 - Finally, tell Ionic which Gulp tasks you want to run. Add this line inside the `ionic.project` file:
+
+```
+ "gulpStartupTasks": ["sass", "watch"],
+```
+
+6 - Now click on any mobile action button (for instance Preview). If the configuration is correct you should see the following output in the console:
+
+
+
+ and when saving your sass sources:
+
+
+
+**Note:** If a Ionic process was already running you must close and re-open your solution to reload the configuration.
+
diff --git a/version-control.md b/version-control.md
new file mode 100644
index 00000000..8858abbe
--- /dev/null
+++ b/version-control.md
@@ -0,0 +1,61 @@
+---
+---
+
+# Version control your code
+
+## Create a repository
+
+From the solution explorer, click on
to open Git.
+Then, click on _Create Git Repository_.
+
+## Commit your changes
+
+Add changes to your stage and commit:
+
+
+
+
+
+### Github
+
+
+
+### Setup
+
+Click on
to open the remote repositories panel.
+
+And setup your remote settings:
+
+
+
+
+**IMPORTANT**: the password will be saved as plain text in the `.git/config` file.
+You can however leave the Username and Password fields empty and cache your password in Git.
+
+### Cache your password in Git
+
+**Mac OS X**
+
+ git config --global credential.helper osxkeychain
+
+[More info »](https://help.github.com/articles/caching-your-github-password-in-git/#platform-mac){:target="_blank"}
+
+**Windows**
+
+ git config --global credential.helper wincred
+
+[More info »](https://help.github.com/articles/caching-your-github-password-in-git/#platform-windows){:target="_blank"}
+
+---
+
+Now, deploy your app:
+
+[Deploy your app »](deploy-your-app.html){:class="btn"}
\ No newline at end of file