diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html
index b620ee13..a7d4880b 100644
--- a/docs/_layouts/default.html
+++ b/docs/_layouts/default.html
@@ -28,7 +28,7 @@
Community
- Documentation
+ Documentation
EiffelWeb
diff --git a/docs/workbook/basics/basics.md b/docs/workbook/basics/basics.md
index d1aeb65e..2fc0e40f 100644
--- a/docs/workbook/basics/basics.md
+++ b/docs/workbook/basics/basics.md
@@ -1,9 +1,4 @@
----
-layout: default
-title: basics
-base_url: ../../../
----
-Nav: [Workbook](../../workbook) :: [Handling Requests: Form/Query Parameter](../../handling_request/form)
+Nav: [Workbook](../workbook.md) :: [Handling Requests: Form/Query Parameter](../handling_request/form.md)
## EWF basic service
@@ -97,11 +92,11 @@ The **WSF_RESPONSE** provides features to define the response with information s
**APPLICATION** is the root class of our example, it launches the application, using the corresponding connector, Which connector? this depends how do you want to run it `cgi`, `fcgi`, `standalone`. For development is recommended to use a standalone web server written in Eiffel, and run the execution within the EiffelStudio debugger. For production fcgi (or cgi) using Apache or another popular web server.
-
+
**WS_LAUNCHABLE_SERVICE** inherit from **WS_SERVICE** class, which is a marker interface in EWF. And also provides a way to launch our application using different kind of connectors. The class **WSF_DEFAULT_SERVICE_I**, inherit from **WS_LAUNCHABLE_SERVICE** and has a formal generic that should conform to **WSF_SERVICE_LAUNCHER [WSF_EXECUTION]**. Below a [BON diagram](http://www.bon-method.com/index_normal.htm) showing one of the possible options.
-
+
Other connectors:
**WSF_STANDALONE_SERVICE_LAUNCHER**
@@ -114,7 +109,7 @@ The **APPLICATION_EXECUTION** class inherits from **WSF_EXECUTION** interface,
In the **APPLICATION_EXECUTION** class class you will need to implement the **execute** feature, get data from the request *req* and write the response in *res*.
-
+
The WSF_EXECUTION instance, in this case ```APPLICATION_EXECUTION``` is created per request, with two main attributes request: ```WSF_REQUEST``` and response: ```WSF_RESPONSE```.
@@ -215,5 +210,5 @@ Just double click on the simple_html.ecf file and select the simple_html_standal
```estudio -config simple_html.ecf -target simple_html_standalone```
-Nav: [Workbook](../../workbook) :: [Handling Requests: Form/Query Parameter](../../handling_request/form)
+Nav: [Workbook](../workbook.md) :: [Handling Requests: Form/Query Parameter](../handling_request/form.md)
diff --git a/docs/workbook/basics/simple_html/apache_config/Readme.md b/docs/workbook/basics/simple_html/apache_config/Readme.md
index 9a4a057f..c2fd0777 100644
--- a/docs/workbook/basics/simple_html/apache_config/Readme.md
+++ b/docs/workbook/basics/simple_html/apache_config/Readme.md
@@ -1,9 +1,4 @@
----
-layout: default
-title: Readme
-base_url: ../../../../../
----
-Nav: [Workbook](../../../../workbook) :: [Basic concepts](../../../../basics/basics)
+Nav: [Workbook](../../../workbook.md) :: [Basic concepts](../../../basics/basics.md)
## Run simple_html example on Apache with FCGI on Windows.
@@ -63,4 +58,4 @@ Check the application
> http://localhost:8888/simple
```
-Nav: [Workbook](../../../../workbook) :: [Basic concepts](../../../../basics/basics)
+Nav: [Workbook](../../../workbook.md) :: [Basic concepts](../../../basics/basics.md)
diff --git a/docs/workbook/deployment/readme.md b/docs/workbook/deployment/readme.md
index a0d25825..8e8afd6a 100644
--- a/docs/workbook/deployment/readme.md
+++ b/docs/workbook/deployment/readme.md
@@ -1,9 +1,4 @@
----
-layout: default
-title: readme
-base_url: ../../../
----
-Nav: [Workbook](../../workbook)
+Nav: [Workbook](../workbook.md)
EWF Deployment
==============
@@ -200,4 +195,4 @@ http://perishablepress.com/stupid-htaccess-tricks/
Replace $service with the name of your executable $service, for example app_service.exe
You will need to create an service.ews file, this file will be located at the same place where you copy your app service executable.
-Nav: [Workbook](../../workbook)
+Nav: [Workbook](../workbook.md)
diff --git a/docs/workbook/generating_response/generating_response.md b/docs/workbook/generating_response/generating_response.md
index 5afc0ce1..c6d4fcd4 100644
--- a/docs/workbook/generating_response/generating_response.md
+++ b/docs/workbook/generating_response/generating_response.md
@@ -1,10 +1,5 @@
----
-layout: default
-title: generating response
-base_url: ../../../
----
-Nav: [Workbook](../../workbook) :: [Handling Requests: Header Fields](../../handling_request/headers) :: [Handling Cookies](../../handling_cookies/handling_cookies)
+Nav: [Workbook](../workbook.md) :: [Handling Requests: Header Fields](../handling_request/headers.md) :: [Handling Cookies](../handling_cookies/handling_cookies.md)
## EWF Generating Response
@@ -1009,4 +1004,4 @@ There are four categories for response header fields:
-Nav: [Workbook](../../workbook) :: [Handling Requests: Header Fields](../../handling_request/headers) :: [Handling Cookies](../../handling_cookies/handling_cookies)
+Nav: [Workbook](../workbook.md) :: [Handling Requests: Header Fields](../handling_request/headers.md) :: [Handling Cookies](../handling_cookies/handling_cookies.md)
diff --git a/docs/workbook/handling_cookies/handling_cookies.md b/docs/workbook/handling_cookies/handling_cookies.md
index bf560ff9..d30ee90f 100644
--- a/docs/workbook/handling_cookies/handling_cookies.md
+++ b/docs/workbook/handling_cookies/handling_cookies.md
@@ -1,9 +1,4 @@
----
-layout: default
-title: handling cookies
-base_url: ../../../
----
-Nav: [Workbook](../../workbook) :: [Generating Responses](../../generating_response/generating_response)
+Nav: [Workbook](../workbook.md) :: [Generating Responses](../generating_response/generating_response.md)
# Handling Cookies
@@ -296,4 +291,4 @@ end
```
-Nav: [Workbook](../../workbook) :: [Generating Responses](../../generating_response/generating_response)
+Nav: [Workbook](../workbook.md) :: [Generating Responses](../generating_response/generating_response.md)
diff --git a/docs/workbook/handling_request/form.md b/docs/workbook/handling_request/form.md
index 13e88eb7..6cdf2416 100644
--- a/docs/workbook/handling_request/form.md
+++ b/docs/workbook/handling_request/form.md
@@ -1,9 +1,4 @@
----
-layout: default
-title: form
-base_url: ../../../
----
-Nav: [Workbook](../../workbook) :: [Basic Concepts](../../basics/basics) :: [Handling Requests: Header Fields](../headers)
+Nav: [Workbook](../workbook.md) :: [Basic Concepts](../basics/basics.md) :: [Handling Requests: Header Fields](./headers.md)
# Handling Requests: Form/Query Data
@@ -325,4 +320,4 @@ The GET example is located in the directory $PATH/ewf/doc/workbook/form/get, and
>Note: replace and with the corresponding values.
-Nav: [Workbook](../../workbook) :: [Basic Concepts](../../basics/basics) :: [Handling Requests: Header Fields](../headers)
+Nav: [Workbook](../workbook.md) :: [Basic Concepts](../basics/basics.md) :: [Handling Requests: Header Fields](./headers.md)
diff --git a/docs/workbook/handling_request/headers.md b/docs/workbook/handling_request/headers.md
index 4d65bff1..416fdbfd 100644
--- a/docs/workbook/handling_request/headers.md
+++ b/docs/workbook/handling_request/headers.md
@@ -1,9 +1,4 @@
----
-layout: default
-title: headers
-base_url: ../../../
----
-Nav: [Workbook](../../workbook) :: [Handling Requests: Form/Query parameters](../form) :: [Generating Responses](../../generating_response/generating_response)
+Nav: [Workbook](../workbook.md) :: [Handling Requests: Form/Query parameters](./form.md) :: [Generating Responses](../generating_response/generating_response.md)
# Handling Requests: Headers
@@ -192,7 +187,7 @@ included in the Referer header when the browser requests Web page B.
#### Building a Table of All Request Headers
-The following [EWF service](../headers/header_fields/application.e) code simply uses an ```html_template``` to fill a table (names and values) with all the headers fields it receives.
+The following [EWF service](./headers/header_fields/application.e) code simply uses an ```html_template``` to fill a table (names and values) with all the headers fields it receives.
The service accomplishes this task by calling ```req.meta_variables``` feature to get an ```ITERABLE [WSF_STRING]```, an structure that can be iterated over using ```across...loop...end```, then it checks if the name has the prefix ```HTTP_``` and if it is true, put the header name and value in a row. (the name in the left cell, the value in the right cell).
@@ -307,7 +302,7 @@ To be completed.
#### Detecting Browser Types
-The User-Agent header identifies the specific browser/client that is sending the request. The following code shows an [EWF service](../headers/browser_name/application.e) that sends browser-specific responses.
+The User-Agent header identifies the specific browser/client that is sending the request. The following code shows an [EWF service](./headers/browser_name/application.e) that sends browser-specific responses.
The examples uses the ideas based on the [Browser detection using the user agent](https://developer.mozilla.org/en-US/docs/Browser_detection_using_the_user_agent) article.
Basically the code check if the header `user_agent` exist and then call the ```browser_name (a_user_agent: READABLE_STRING_8): READABLE_STRING_32``` feature to retrieve the current browser name or Unknown in other case.
@@ -451,8 +446,8 @@ As an exercise, try to write a similar service to retrieve the OS family using t
* [SERVER_SOFTWARE](https://tools.ietf.org/html/rfc3875#section-4.1.16)
**Example**
-An [EWF service](../headers/cgi_variables/application.e) that shows the CGI variables, creates a table showing the values of all the CGI variables.
+An [EWF service](./headers/cgi_variables/application.e) that shows the CGI variables, creates a table showing the values of all the CGI variables.
-Nav: [Workbook](../../workbook) :: [Handling Requests: Form/Query parameters](../form) :: [Generating Responses](../../generating_response/generating_response)
+Nav: [Workbook](../workbook.md) :: [Handling Requests: Form/Query parameters](./form.md) :: [Generating Responses](../generating_response/generating_response.md)
diff --git a/docs/workbook/readme.md b/docs/workbook/readme.md
index cea55a7d..7b3183be 100644
--- a/docs/workbook/readme.md
+++ b/docs/workbook/readme.md
@@ -1,8 +1,3 @@
----
-layout: default
-title: readme
-base_url: ../../
----
# EWF Workbook
##### Table of Contents
@@ -28,34 +23,34 @@ Before reading (or walking throught) the workbook, to get a quick overview of EW
## Introduction
-[Basic Concepts](../basics/basics).
+[Basic Concepts](./basics/basics.md).
## Handling Requests: Form/Query Parameter
-[Handling Requests: Form/Query Parameter](../handling_request/form).
+[Handling Requests: Form/Query Parameter](./handling_request/form.md).
## Handling Requests: Header Fields
-[Handling Requests: Header Fields](../handling_request/headers).
+[Handling Requests: Header Fields](./handling_request/headers.md).
## Generating Response
-[Generating Responses](../generating_response/generating_response)
+[Generating Responses](./generating_response/generating_response.md)
## Web User Interface
-[Web User Interface](../wui/readme)
+[Web User Interface](./wui/readme.md)
## Handling Cookies
-[Handling Cookies](../handling_cookies/handling_cookies)
+[Handling Cookies](./handling_cookies/handling_cookies.md)
## EWF Deployment
-[EWF Deployment](../deployment/readme)
+[EWF Deployment](./deployment/readme.md)
diff --git a/docs/workbook/workbook.md b/docs/workbook/workbook.md
index f13d088a..558f2fde 100644
--- a/docs/workbook/workbook.md
+++ b/docs/workbook/workbook.md
@@ -1,7 +1,2 @@
----
-layout: default
-title: workbook
-base_url: ../../
----
-See [README](../readme)
+See [README](./readme.md)
diff --git a/docs/workbook/wui/readme.md b/docs/workbook/wui/readme.md
index 63ac9bd2..c7e24e0b 100644
--- a/docs/workbook/wui/readme.md
+++ b/docs/workbook/wui/readme.md
@@ -1,8 +1,3 @@
----
-layout: default
-title: readme
-base_url: ../../../
----
# Web User Interface (WUI)
When it comes to web user interface, HTML, CSS and Javascript are part of the solution.
@@ -116,7 +111,7 @@ new_login_form: WSF_FORM
## Handling web form data
When a form is submitted, the code can access the request data thanks to the `request: WSF_REQUEST` attribute.
-See [Handling requests section](../../handling_request/form)
+See [Handling requests section](../handling_request/form.md)
The `wsf_html` library, thanks to the `WSF_FORM`, provides a more powerful solution.
Indeed `WSF_HTML.process (request, .., ..)` analyze the request, fill the form fields, and process various validations, and submissions automatically.