You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2019/09/02 17:02:59 UTC

[royale-docs] branch master updated: use permalinks in all "features" pages

This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/royale-docs.git


The following commit(s) were added to refs/heads/master by this push:
     new b97ef29  use permalinks in all "features" pages
b97ef29 is described below

commit b97ef29c8d358ede3a415ce3d03dc1653d84fb5f
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Mon Sep 2 19:02:52 2019 +0200

    use permalinks in all "features" pages
---
 README.md                                                 |  8 +++++---
 component-sets/jewel.md                                   |  4 ++--
 component-sets/jewel/jewel-alert.md                       |  2 +-
 component-sets/jewel/jewel-theme-creation.md              |  4 ++--
 component-sets/jewel/jewel-themes.md                      |  2 +-
 create-an-Application.md                                  |  2 +-
 create-an-application/application-structure.md            |  2 +-
 .../application-tutorial/value-objects.md                 |  2 +-
 create-an-application/application-tutorial/view.md        |  2 +-
 .../migrate-an-existing-app/migrate-from-flex.md          |  2 +-
 features-and-concepts.md                                  | 15 ++++++++-------
 features/actionscript/abstract-classes.md                 |  7 ++++---
 features/actionscript/metadata.md                         |  1 +
 features/actionscript/private-constructors.md             |  7 ++++---
 features/as3.md                                           |  5 +++--
 features/data-binding.md                                  |  2 ++
 features/external-interface.md                            |  3 ++-
 features/externs.md                                       |  3 ++-
 features/loading-external-data.md                         |  8 +++++---
 features/loading-external-data/amf.md                     |  3 +++
 features/loading-external-data/httpservice.md             |  3 ++-
 features/loading-external-data/json.md                    |  3 ++-
 features/modules.md                                       |  1 +
 features/mxml.md                                          |  1 +
 features/payg.md                                          |  3 ++-
 features/strands-and-beads.md                             |  3 ++-
 features/styling.md                                       |  3 ++-
 features/view-states.md                                   |  3 ++-
 index.md                                                  |  2 +-
 user-interface/components.md                              |  4 ++--
 welcome/high-level-view.md                                |  6 +++---
 31 files changed, 70 insertions(+), 46 deletions(-)

diff --git a/README.md b/README.md
index 39ec9f3..a9442a5 100644
--- a/README.md
+++ b/README.md
@@ -17,7 +17,7 @@ We produce four flavors of documentation:
 
 1. *Tutorials* to show how to do a complete thing, with source code a reader can copy and learn from. These generally appear on the website blog at the moment.
 2. *How-to guides* that explain how to achieve something in Royale that is either of a general nature ("How to find the bead you need") or does not merit a full tutorial ("How to disable an input field"). This material should be in the user documentation.
-3. *Explanations* that explain the "why" of Royale features--why we do it this way, or avoid doing it that way. This appears in the [High Level View](welcome/high-level-view.html){:target='_blank'} pages of the user documentation.
+3. *Explanations* that explain the "why" of Royale features--why we do it this way, or avoid doing it that way. This appears in the [High Level View](welcome/high-level-view){:target='_blank'} pages of the user documentation.
 4. *Technical references* are all the gritty details of what each Royale component, bead, and feature requires, produces, and can do. This material would normally be in the [ASDoc reference](https://royale.apache.org/asdoc/){:target='_blank'}, the [framework wiki](https://github.com/apache/royale-asjs/wiki){:target='_blank'}, or the [compiler wiki](https://github.com/apache/royale-compiler/wiki){:target='_blank'}.
 
 No one flavor is better in all circumstances than the others. All contributions strengthen Royale by expanding the number of people who can find the answers they need to create applications.
@@ -59,9 +59,11 @@ Use HTML comments at the top of the document for any explanatory notes for the d
 
 ## Links
 
-In the .md files, links have to be full paths without the leading slash. So to link to the published, HTML, version of features/as3.md, you would use
+In the .md files, links have to be full paths without the leading slash. The link to the published HTML version of features/as3.md, is `[AS3](features/as3.html)`, but we want to use permalinks so the link to use should be:
 
-`[AS3](features/as3.html)` 
+`[AS3](features/as3)`
+
+and the permalink on that page will be, `permalink: /features/as3`
 
 without the leading "/". Links are case-sensitive, and you need to insert `%20` for any space that appears in the target file's name. Check the guidance about file names, above.
 
diff --git a/component-sets/jewel.md b/component-sets/jewel.md
index 87f81c7..9e42f7b 100644
--- a/component-sets/jewel.md
+++ b/component-sets/jewel.md
@@ -22,9 +22,9 @@ title: Jewel
 
 A set of modern UI components
 
-Jewel is a themeable and responsive set of user interface components for Apache Royale to help you quickly build the front end of your applications with [ActionScript](features/as3.html) & [MXML](features/mxml.html).
+Jewel is a themeable and responsive set of user interface components for Apache Royale to help you quickly build the front end of your applications with [ActionScript](features/as3) & [MXML](features/mxml).
 
-It's based by design on [Basic](component-sets/basic.html) components. But while Basic is very strict with concepts like [PAYG](features/payg.html), in Jewel, while PAYG is important, when necessary we prioritize other things like responsiveness, themes and look and feel.
+It's based by design on [Basic](component-sets/basic.html) components. But while Basic is very strict with concepts like [PAYG](features/payg), in Jewel, while PAYG is important, when necessary we prioritize other things like responsiveness, themes and look and feel.
 
 ## Browser Support
 
diff --git a/component-sets/jewel/jewel-alert.md b/component-sets/jewel/jewel-alert.md
index f32be09..46f19d7 100644
--- a/component-sets/jewel/jewel-alert.md
+++ b/component-sets/jewel/jewel-alert.md
@@ -37,7 +37,7 @@ Available since version __0.9.4__
 The `Alert` component displays a message and one or more buttons in a window that pops up over all other controls and views. 
 It uses the `AlertView` bead to display a [modal dialog](https://en.wikipedia.org/wiki/Modal_window){:target='_blank'} with a title and a variety of buttons configured through the flag property of its `show` static function.
 
-> `Alert` uses the HTML dialog element, which currently has very limited cross-browser support. To ensure support across all modern browsers, we use the dialogPolyfill [externs](features/externs.html).
+> `Alert` uses the HTML dialog element, which currently has very limited cross-browser support. To ensure support across all modern browsers, we use the dialogPolyfill [externs](features/externs).
 
 ## Example of use
 
diff --git a/component-sets/jewel/jewel-theme-creation.md b/component-sets/jewel/jewel-theme-creation.md
index 8fdb998..b7a8a12 100644
--- a/component-sets/jewel/jewel-theme-creation.md
+++ b/component-sets/jewel/jewel-theme-creation.md
@@ -40,11 +40,11 @@ The `default.css` file is the resuling CSS file that holds all CSS definitions f
 
 ## Jewel Library
 
-Here you'll find the [ActionScript](features/as3.html) classes that define each component and support class files components need to work properly. You'll find a `sass` folder with a `.sass` file for each component which holds all _structural_ definitions. Those definitions can be normal _CSS rules_ or _royale bead definition rules_.
+Here you'll find the [ActionScript](features/as3) classes that define each component and support class files components need to work properly. You'll find a `sass` folder with a `.sass` file for each component which holds all _structural_ definitions. Those definitions can be normal _CSS rules_ or _royale bead definition rules_.
 
 You'll never find a style rule in the Jewel library that define _colors, lines, fonts, or shapes_ (the theme we locate in the __theme library__ handles these values). We'll find only the CSS rules needed to generate each jewel component visual structure (i.e: display, position, z-index, overflow,...), and the default ActionScript bead classes that ship with a concrete component per platform (i.e: BeadView, BeadModel, BeadController, BeadLayout,...).
 
-> Apache Royale uses CSS through all the framwework to link [beads to the component's strand](features/strands-and-beads.html) so components define the default composition of beads via CSS.
+> Apache Royale uses CSS through all the framwework to link [beads to the component's strand](features/strands-and-beads) so components define the default composition of beads via CSS.
 
 ## Jewel Theme Library
 
diff --git a/component-sets/jewel/jewel-themes.md b/component-sets/jewel/jewel-themes.md
index 0c710d7..e45ff46 100644
--- a/component-sets/jewel/jewel-themes.md
+++ b/component-sets/jewel/jewel-themes.md
@@ -23,7 +23,7 @@ title: Jewel Themes
 The look and feel of the jewel component set
 
 Jewel component set focus on themes. Themes provides the capability of change the appearance of _all_ components at once. 
-A theme is a predefined CSS file (and optionally a other assets like images) that holds the definitions of each Jewel component, its subcomponents and the default [beads](features/strands-and-beads.html) used to configure that components. 
+A theme is a predefined CSS file (and optionally a other assets like images) that holds the definitions of each Jewel component, its subcomponents and the default [beads](features/strands-and-beads) used to configure that components. 
 
 Royale use the theme to add the right css selectors to the final compilation so when the user loads the application the required css and other files are loaded and the application shows a concrete look and feel.
 
diff --git a/create-an-Application.md b/create-an-Application.md
index 0c495d2..f2d2555 100644
--- a/create-an-Application.md
+++ b/create-an-Application.md
@@ -33,7 +33,7 @@ This document is divided into several sections:
 
 [Security](create-an-application/security.html) provides more information about making sure hackers can't use your app to be malicous and about dealing with common security restrictions when your app wants to access external resources.
 
-[Modules](features/modules.html) discusses how to break your application into pieces so it doesn't have to all get downloaded at once.  Or have the whole thing compiled at once.
+[Modules](features/modules) discusses how to break your application into pieces so it doesn't have to all get downloaded at once.  Or have the whole thing compiled at once.
 
 [Royale code conventions](create-an-application/code-conventions.html) explains the typical ways Royale developers name files, classes, function, variables and more.
 
diff --git a/create-an-application/application-structure.md b/create-an-application/application-structure.md
index 144b46b..3a7c1cc 100644
--- a/create-an-application/application-structure.md
+++ b/create-an-application/application-structure.md
@@ -32,7 +32,7 @@ Let's say you are creating a project called MyFirstRoyaleApp. Create a MyFirstRo
 
 If you use <a href="https://maven.apache.org/" target="_blank">Apache Maven</a> to build your app, you can use one of the Maven archetypes, which put the main application source code 3 levels deep in a "src/main/royale" folder structure. Other kinds of files then go in "src/main/resource", "src/main/config" and so on. Maven instructs the compiler to put the output in a "target/javascript/bin" folder.
 
-Most Royale applications use an [MXML](features/mxml.html) file as the main application file. Other files are written in MXML or [ActionScript](features/as3.html) depending on whether you are assembling pieces or writing custom logic. You can write a Royale Application without using MXML at all, but you'll end up writing more code.
+Most Royale applications use an [MXML](features/mxml) file as the main application file. Other files are written in MXML or [ActionScript](features/as3) depending on whether you are assembling pieces or writing custom logic. You can write a Royale Application without using MXML at all, but you'll end up writing more code.
 
 So, if you decide to use MXML as your main application file, then your folder structure might look like this:
 
diff --git a/create-an-application/application-tutorial/value-objects.md b/create-an-application/application-tutorial/value-objects.md
index 61fb413..98444d2 100644
--- a/create-an-application/application-tutorial/value-objects.md
+++ b/create-an-application/application-tutorial/value-objects.md
@@ -48,7 +48,7 @@ public class LogEntry
 ```
 You can download this file from [here](https://github.com/apache/royale-asjs/blob/develop/examples/express/GitHubCommitLogViewer/src/main/royale/LogEntry.as).
 
-Notice the use of [Bindable](features/data-binding.html) metadata. This special syntax indicates to the compiler that there are no DataBinding notifications for the message field.  Once it is set, it will not change. We could also specify "message" as a "const" instead of a "var" and set up a constructor with parameters, but constructor parameters are not allowed for anything that wants to be declared in MXML.
+Notice the use of [Bindable](features/data-binding) metadata. This special syntax indicates to the compiler that there are no DataBinding notifications for the message field.  Once it is set, it will not change. We could also specify "message" as a "const" instead of a "var" and set up a constructor with parameters, but constructor parameters are not allowed for anything that wants to be declared in MXML.
 
 Once we have the LogEntry Value Object, we use LogEntry throughout the app. In the conversion loop, we change it to look like this:
 
diff --git a/create-an-application/application-tutorial/view.md b/create-an-application/application-tutorial/view.md
index e43f2cd..cb7d1ba 100644
--- a/create-an-application/application-tutorial/view.md
+++ b/create-an-application/application-tutorial/view.md
@@ -61,7 +61,7 @@ myLabel.text = projectName;
 
 And we'd also have to write change detection code if the value could change at runtime (which it doesn't in this case). 
 
-See more about what this powerful feature can do for you on this page: [Data binding](features/data-binding.html).
+See more about what this powerful feature can do for you on this page: [Data binding](features/data-binding).
 
 Also, a commit message might be too long to read in a row of a DataGrid so we will add a place to display the longer message of a selected commit.
 
diff --git a/create-an-application/migrate-an-existing-app/migrate-from-flex.md b/create-an-application/migrate-an-existing-app/migrate-from-flex.md
index 7c04fe1..4d24fb4 100644
--- a/create-an-application/migrate-an-existing-app/migrate-from-flex.md
+++ b/create-an-application/migrate-an-existing-app/migrate-from-flex.md
@@ -21,7 +21,7 @@ title: Migrate from Flex
 <!-- This is from material created by Peter Ent and modified by Tom Chiverton: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=34013930 -->
 # Migrate from Flex
 
-If you have developed applications using [Apache Flex SDK](https://flex.apache.org/){:target='_blank'}, or Adobe Flex before it, your applications probably combine [MXML](features/mxml.html) and [ActionScript](features/as3.html) files along with resources like images and audio files; and some of the MXML files have <fx:Script> tags with ActionScript snippets inside them. If that is the case, you will find yourself at home working with Apache Royale. The big difference is not so much the  [...]
+If you have developed applications using [Apache Flex SDK](https://flex.apache.org/){:target='_blank'}, or Adobe Flex before it, your applications probably combine [MXML](features/mxml) and [ActionScript](features/as3) files along with resources like images and audio files; and some of the MXML files have <fx:Script> tags with ActionScript snippets inside them. If that is the case, you will find yourself at home working with Apache Royale. The big difference is not so much the code you u [...]
 
 It is not yet possible to just import an existing Flex application into Apache Royale and then produce output in JavaScript that will run almost anywhere. However, you may need to do less hands-on conversion than you think to get to where you can produce your application, transpiled to JavaScript, through Royale.
 
diff --git a/features-and-concepts.md b/features-and-concepts.md
index e0a69d3..b5b8c94 100644
--- a/features-and-concepts.md
+++ b/features-and-concepts.md
@@ -17,6 +17,7 @@
 layout: docpage
 title: Features and Concepts
 description: Features and Concepts
+permalink: /features-and-concepts
 ---
 
 # Features and Concepts
@@ -27,26 +28,26 @@ Here are some things you may need to know to help you be more productive with Ro
 
 ## AS3 and MXML Languages
 
-Royale uses both a declarative markup language called [MXML](features/mxml.html) and a scripting language called [ActionScript](features/as3.html) that is like JavaScript, but with classes, interfaces and types.  This allows you to more efficiently declare the static portions of your application and write up the dynamic portions in a language where the compiler can catch more errors sooner.
+Royale uses both a declarative markup language called [MXML](features/mxml) and a scripting language called [ActionScript](features/as3) that is like JavaScript, but with classes, interfaces and types.  This allows you to more efficiently declare the static portions of your application and write up the dynamic portions in a language where the compiler can catch more errors sooner.
 
 ## Pay as you go (PAYG)
 
-Royale provides a variety of [component sets](./user-interface/components.html), each tuned towards different applications requirements. Components are designed with a ["Pay as you go"](features/payg.html) philosophy. Only the most common functionality is built into the component, and other options are added as plugins called Beads. Components designed this way use to be small and fast, and don't have lots of built-in customization options that will never use most of the times. You can [ [...]
+Royale provides a variety of [component sets](./user-interface/components.html), each tuned towards different applications requirements. Components are designed with a ["Pay as you go"](features/payg) philosophy. Only the most common functionality is built into the component, and other options are added as plugins called Beads. Components designed this way use to be small and fast, and don't have lots of built-in customization options that will never use most of the times. You can [read  [...]
 
 ## Strands and Beads
 
-The underlying component patterns in most Royale components rely on a plug-in model.  Instead of making large component classes with lots of code baked in, each individual feature of a component is designed as its own class with an interface marking it as a "Bead", and then the component itself is called a "Strand" and Beads are placed on the Strand to compose a Royale component.  You can [read more about Strands and Beads here](features/strands-and-beads.html).
+The underlying component patterns in most Royale components rely on a plug-in model.  Instead of making large component classes with lots of code baked in, each individual feature of a component is designed as its own class with an interface marking it as a "Bead", and then the component itself is called a "Strand" and Beads are placed on the Strand to compose a Royale component.  You can [read more about Strands and Beads here](features/strands-and-beads).
 
 ## ExternalInterface and Externs
 
-Sometimes you may want your Royale application to call an external piece of JavaScript that is also hosted in your web page, or even for some extenal JavaScript from your page to call into the Royale application. In the Flex (and Flash) world, there was the possibility to use the `ExternalInterface` class to achieve this functionality. If you want this in Royale, there are some options available that you can [read about here](features/external-interface.html).
+Sometimes you may want your Royale application to call an external piece of JavaScript that is also hosted in your web page, or even for some extenal JavaScript from your page to call into the Royale application. In the Flex (and Flash) world, there was the possibility to use the `ExternalInterface` class to achieve this functionality. If you want this in Royale, there are some options available that you can [read about here](features/external-interface).
 
-Another option are externs, wich is uses [Google Closure Compiler (GCC)](https://developers.google.com/closure/compiler/){:target='_blank'} to declare that a name for a class, property or function is defined in external code and so should not be renamed when application code is compiled. Apache Royale can use the properties of the external library, and you can even see them as options if you are using an __IDE__, with _code intelligence_ enabled. [read about here](features/externs.html).
+Another option are externs, wich is uses [Google Closure Compiler (GCC)](https://developers.google.com/closure/compiler/){:target='_blank'} to declare that a name for a class, property or function is defined in external code and so should not be renamed when application code is compiled. Apache Royale can use the properties of the external library, and you can even see them as options if you are using an __IDE__, with _code intelligence_ enabled. [read about here](features/externs).
 
 ## Data Binding
 
-[read about here](features/data-binding.html)
+[read about here](features/data-binding)
 
 ## View States
 
-[read about here](features/view-states.html)
\ No newline at end of file
+[read about here](features/view-states)
\ No newline at end of file
diff --git a/features/actionscript/abstract-classes.md b/features/actionscript/abstract-classes.md
index f946593..5aaaa41 100644
--- a/features/actionscript/abstract-classes.md
+++ b/features/actionscript/abstract-classes.md
@@ -17,17 +17,18 @@
 layout: docpage
 title: Abstract classes
 description: Abstract classes in ActionScript
+permalink: /features/as3/abstract-classes
 ---
 
 # Abstract classes in ActionScript
 
 -allow-abstract-classes
 
-[Apache Royale](https://royale.apache.org/){:target='_blank'} adds support for declaring `abstract` classes in [ActionScript](features/as3.html). An abstract class cannot be instantiated using the `new` keyword, meaning that it must be subclassed. Additionally, an abstract class may declare `abstract` methods that do not have a function body. Abstract methods must be implemented by the concrete subclass, similar to how the methods of an interface must also be implemented.
+[Apache Royale](https://royale.apache.org/){:target='_blank'} adds support for declaring `abstract` classes in [ActionScript](features/as3). An abstract class cannot be instantiated using the `new` keyword, meaning that it must be subclassed. Additionally, an abstract class may declare `abstract` methods that do not have a function body. Abstract methods must be implemented by the concrete subclass, similar to how the methods of an interface must also be implemented.
 
 ## Enable abstract classes
 
-Like other [new ActionScript language features](features/as3.html#new-actionscript-language-features-in-royale) that Royale adds, abstract classes are enabled by default. To disable abstract classes in your application, use the `-allow-abstract-classes` compiler option.
+Like other [new ActionScript language features](features/as3#new-actionscript-language-features-in-royale) that Royale adds, abstract classes are enabled by default. To disable abstract classes in your application, use the `-allow-abstract-classes` compiler option.
 
 ```sh
 mxmlc -allow-abstract-classes=false MyApp.mxml
@@ -116,4 +117,4 @@ Checking whether a class is abstract happens at compile-time only. However, by u
 
 If a SWC library contains classes with abstract classes, applications using that library must also enable abstract classes before the compiler will enforce any restrictions.
 
-Other ActionScript compilers, such as the one in the [Apache Flex SDK](https://flex.apache.org/){:target='_blank'}, may not recognize or enforce private constructors. Attemping to pass source code or SWC libraries that contain classes with private constructors to another compiler may result in compile-time errors or unexpected behavior at run-time. In other words, to write 100% portable ActionScript code that works with any compiler, you should avoid using abstract classes and any of Roy [...]
+Other ActionScript compilers, such as the one in the [Apache Flex SDK](https://flex.apache.org/){:target='_blank'}, may not recognize or enforce private constructors. Attemping to pass source code or SWC libraries that contain classes with private constructors to another compiler may result in compile-time errors or unexpected behavior at run-time. In other words, to write 100% portable ActionScript code that works with any compiler, you should avoid using abstract classes and any of Roy [...]
diff --git a/features/actionscript/metadata.md b/features/actionscript/metadata.md
index 65777ce..1476324 100644
--- a/features/actionscript/metadata.md
+++ b/features/actionscript/metadata.md
@@ -17,6 +17,7 @@
 layout: docpage
 title: Metadata
 description: Metadata
+permalink: /features/as3/metadata
 ---
 
 # Metadata
diff --git a/features/actionscript/private-constructors.md b/features/actionscript/private-constructors.md
index 3a02a48..614f097 100644
--- a/features/actionscript/private-constructors.md
+++ b/features/actionscript/private-constructors.md
@@ -17,17 +17,18 @@
 layout: docpage
 title: Private constructors
 description: Private constructors in ActionScript
+permalink: /features/as3/private-constructors
 ---
 
 # Private constructors in ActionScript
 
 -allow-private-constructors
 
-[Apache Royale](https://royale.apache.org/){:target='_blank'} adds support for declaring the constructor of a class `private` instead of `public` in [ActionScript](features/as3.html). When a constructor is private, it cannot be instantiated with the `new` keyword outside of the class where it is defined. Private constructors are commonly used for implementing the *singleton* design pattern, which is when only one instance of a particular class should ever be created.
+[Apache Royale](https://royale.apache.org/){:target='_blank'} adds support for declaring the constructor of a class `private` instead of `public` in [ActionScript](features/as3). When a constructor is private, it cannot be instantiated with the `new` keyword outside of the class where it is defined. Private constructors are commonly used for implementing the *singleton* design pattern, which is when only one instance of a particular class should ever be created.
 
 ## Enable private constructors
 
-Like other [new ActionScript language features](features/as3.html#new-actionscript-language-features-in-royale) that Royale adds, are enabled by default. To disable private constructors in your application, use the `-allow-private-constructors` compiler option.
+Like other [new ActionScript language features](features/as3#new-actionscript-language-features-in-royale) that Royale adds, are enabled by default. To disable private constructors in your application, use the `-allow-private-constructors` compiler option.
 
 ```sh
 mxmlc -allow-private-constructors=false MyApp.mxml
@@ -102,5 +103,5 @@ Checking whether a constructor is private or not happens at compile-time only. H
 
 If a SWC library contains classes with private constructors, applications using that library must also enable private constructors before the compiler will enforce any restrictions.
 
-Other ActionScript compilers, such as the one in the [Apache Flex SDK](https://flex.apache.org/){:target='_blank'}, may not recognize or enforce private constructors. Attemping to pass source code or SWC libraries that contain classes with private constructors to another compiler may result in compile-time errors or unexpected behavior at run-time. In other words, to write 100% portable ActionScript code that works with any compiler, you should avoid using private constructors and any of [...]
+Other ActionScript compilers, such as the one in the [Apache Flex SDK](https://flex.apache.org/){:target='_blank'}, may not recognize or enforce private constructors. Attemping to pass source code or SWC libraries that contain classes with private constructors to another compiler may result in compile-time errors or unexpected behavior at run-time. In other words, to write 100% portable ActionScript code that works with any compiler, you should avoid using private constructors and any of [...]
 
diff --git a/features/as3.md b/features/as3.md
index 90c6196..a02956b 100644
--- a/features/as3.md
+++ b/features/as3.md
@@ -16,6 +16,7 @@
 
 layout: docpage
 title: ActionScript 3 (AS3)
+permalink: /features/as3
 ---
 
 # ActionScript 3 (AS3)
@@ -55,8 +56,8 @@ The Royale compiler extends the ActionScript language with useful, new features.
 
 The following new ActionScript features are available with the Royale compiler:
 
-* [Abstract Classes](features/actionscript/abstract-classes.html)
-* [Private Constructors](features/actionscript/private-constructors.html)
+* [Abstract Classes](features/as3/abstract-classes)
+* [Private Constructors](features/as3/private-constructors)
 
 ### Limitations of ActionScript language extensions
 
diff --git a/features/data-binding.md b/features/data-binding.md
index b1a08f0..3363bee 100644
--- a/features/data-binding.md
+++ b/features/data-binding.md
@@ -16,6 +16,8 @@
 
 layout: docpage
 title: Data binding
+permalink: /features/data-binding
 ---
 # Data binding
+
 *information coming soon.*
diff --git a/features/external-interface.md b/features/external-interface.md
index ff8fe85..9a1066c 100644
--- a/features/external-interface.md
+++ b/features/external-interface.md
@@ -17,6 +17,7 @@
 layout: docpage
 title: ExternalInterface
 description: Calling to/from External JavaScript
+permalink: /features/external-interface
 ---
 
 # ExternalInterface
@@ -76,4 +77,4 @@ MyJSInterface.testFunction("This will be passed to TestFunc");
 
 ## Externs
 
-Finally a better and recommended way is to use [Externs](features/externs.html) to know another way to communicate to/from External JavaScript that brings many benefits like _code completion_ and _code intelligence_ since externs code is considered standard __ActionScript__ code.
\ No newline at end of file
+Finally a better and recommended way is to use [Externs](features/externs) to know another way to communicate to/from External JavaScript that brings many benefits like _code completion_ and _code intelligence_ since externs code is considered standard __ActionScript__ code.
\ No newline at end of file
diff --git a/features/externs.md b/features/externs.md
index b83fecb..93b87f3 100644
--- a/features/externs.md
+++ b/features/externs.md
@@ -17,6 +17,7 @@
 layout: docpage
 title: Externs
 description: Use external javascript libraries in ActiopnScript
+permalink: /features/externs
 ---
 
 # Externs
@@ -92,4 +93,4 @@ To learn more about using the huge range of external JavaScript libraries that i
 
 ## ExternalInterface
 
-Check [ExternalInterface](features/external-interface.html) to know another way to communicate to/from External JavaScript.
\ No newline at end of file
+Check [ExternalInterface](features/external-interface) to know another way to communicate to/from External JavaScript.
\ No newline at end of file
diff --git a/features/loading-external-data.md b/features/loading-external-data.md
index 3c120d5..b15fc23 100644
--- a/features/loading-external-data.md
+++ b/features/loading-external-data.md
@@ -17,13 +17,15 @@
 layout: docpage
 title: Loading External Data
 description: Loading External Data
+permalink: /features/loading-external-data
 ---
 
 # Loading External Data
 
 Loading External Data
 
-* [HTTPService](features/loading-external-data/httpservice.html)
-* [JSON](features/loading-external-data/json.html)
-* [AMF](features/loading-external-data/amf.html)
+* [HTTPService](features/loading-external-data/httpservice)
+* [JSON](features/loading-external-data/json)
+* [AMF](features/loading-external-data/amf)
 
+*information coming soon.*
\ No newline at end of file
diff --git a/features/loading-external-data/amf.md b/features/loading-external-data/amf.md
index 46b68e1..8022f34 100644
--- a/features/loading-external-data/amf.md
+++ b/features/loading-external-data/amf.md
@@ -17,11 +17,14 @@
 layout: docpage
 title: AMF
 description: ActionScript Message Format
+permalink: /features/loading-external-data/amf
 ---
 
 # AMF
 
 ActionScript Message Format
 
+*information coming soon.*
+
 
 
diff --git a/features/loading-external-data/httpservice.md b/features/loading-external-data/httpservice.md
index 5c02c17..214d3ea 100644
--- a/features/loading-external-data/httpservice.md
+++ b/features/loading-external-data/httpservice.md
@@ -17,11 +17,12 @@
 layout: docpage
 title: HTTPService
 description: HTTPService
+permalink: /features/loading-external-data/httpservice
 ---
 
 # HTTPService
 
-HTTPService
+*information coming soon.*
 
 
 
diff --git a/features/loading-external-data/json.md b/features/loading-external-data/json.md
index b5d4d47..71a14c4 100644
--- a/features/loading-external-data/json.md
+++ b/features/loading-external-data/json.md
@@ -17,11 +17,12 @@
 layout: docpage
 title: JSON
 description: JSON
+permalink: /features/loading-external-data/json
 ---
 
 # JSON
 
-JSON
+*information coming soon.*
 
 
 
diff --git a/features/modules.md b/features/modules.md
index b0672c9..9adc574 100644
--- a/features/modules.md
+++ b/features/modules.md
@@ -17,6 +17,7 @@
 layout: docpage
 title: Modules
 description: Break you Application in parts
+permalink: /features/modules
 ---
 
 # Modules
diff --git a/features/mxml.md b/features/mxml.md
index 4c0c807..ae2d080 100644
--- a/features/mxml.md
+++ b/features/mxml.md
@@ -16,6 +16,7 @@
 
 layout: docpage
 title: MXML
+permalink: /features/mxml
 ---
 
 # MXML
diff --git a/features/payg.md b/features/payg.md
index 7cd1c68..711fc64 100644
--- a/features/payg.md
+++ b/features/payg.md
@@ -17,6 +17,7 @@
 layout: docpage
 title: PAYG
 description: Pay as you Go
+permalink: /features/payg
 ---
 
 # PAYG
@@ -73,7 +74,7 @@ However, we don't want to ignore DRY. Using subclasses in extended components ca
 
 ### Strands and Beads
 
-The [Strands and Beads](features/strands-and-beads.html) concept is a metaphor for adding extra functionality (beads) onto a component (strand). _Beads_ are the modular units of functionality that can be added to the _strand_ (base component).
+The [Strands and Beads](features/strands-and-beads) concept is a metaphor for adding extra functionality (beads) onto a component (strand). _Beads_ are the modular units of functionality that can be added to the _strand_ (base component).
  
 ### Compiler
 
diff --git a/features/strands-and-beads.md b/features/strands-and-beads.md
index 66896cf..62b1a84 100644
--- a/features/strands-and-beads.md
+++ b/features/strands-and-beads.md
@@ -17,13 +17,14 @@
 layout: docpage
 title: Strands and Beads
 description: Adding functionality to a component through composition
+permalink: /features/strands-and-beads
 ---
 
 # Strands and Beads
 
 Adding functionality to a component through composition
 
-Strands and beads are key concepts in Royale, related to the [PAYG](features/payg.html)  (pay as you go) concept. The idea is to keep component code as lightweight as possible, and to add functionality and complexity only to the components that need it.
+Strands and beads are key concepts in Royale, related to the [PAYG](features/payg)  (pay as you go) concept. The idea is to keep component code as lightweight as possible, and to add functionality and complexity only to the components that need it.
 
 {:align="center"}
 ![Fig 1: MVC with Strands and Beads](assets/images/strand-beads/strand-bead-1.jpg){:height="70%" width="70%"}
diff --git a/features/styling.md b/features/styling.md
index af488a0..960fd30 100644
--- a/features/styling.md
+++ b/features/styling.md
@@ -17,8 +17,9 @@
 layout: docpage
 title: Styling
 description: Styling
+permalink: /features/styling
 ---
 
 # Styling
 
-Styling
\ No newline at end of file
+*information coming soon.*
\ No newline at end of file
diff --git a/features/view-states.md b/features/view-states.md
index 1800f98..30a3cb1 100644
--- a/features/view-states.md
+++ b/features/view-states.md
@@ -17,8 +17,9 @@
 layout: docpage
 title: View States
 description: View States
+permalink: /features/view-states
 ---
 
 # View States
 
-View States
\ No newline at end of file
+*information coming soon.*
\ No newline at end of file
diff --git a/index.md b/index.md
index ad746a0..d817c66 100644
--- a/index.md
+++ b/index.md
@@ -37,7 +37,7 @@ This document is divided into several sections:
 
  * [High Level View](/royale-docs/welcome/high-level-view) gives an overview of Royale.
 
- * [Features and Concepts](features-and-concepts.html) explains the main features of Royale and some concepts that might help you be more productive.
+ * [Features and Concepts](features-and-concepts) explains the main features of Royale and some concepts that might help you be more productive.
 
  * [A Bit of History](/royale-docs/welcome/history) provides a brief background on how Royale came to be.
 
diff --git a/user-interface/components.md b/user-interface/components.md
index fc18967..ac4377d 100644
--- a/user-interface/components.md
+++ b/user-interface/components.md
@@ -31,7 +31,7 @@ Royale provides a wide range of components to help you design a user interface t
   * Usability features (alerts, snackbar pop-ups, localization features, dynamic displays depending on the user's metadata)
   * Rich content (images, videos, audio, transitions)
 
-Developers who have worked in Flex will quickly feel at home with Royale components, although they will need to pay attention to the ["Pay as you go"](features/payg.html) concept that is a Royale hallmark. Components do well the basic functions associated with their names, but to add features (for instance, you want to force the text the user enters to lower case), you need to add the appropriate bead to the strand of the component:
+Developers who have worked in Flex will quickly feel at home with Royale components, although they will need to pay attention to the ["Pay as you go"](features/payg) concept that is a Royale hallmark. Components do well the basic functions associated with their names, but to add features (for instance, you want to force the text the user enters to lower case), you need to add the appropriate bead to the strand of the component:
 
 ```as3 
 <j:TextInput text="Your entry will appear in LOWER case">
@@ -41,7 +41,7 @@ Developers who have worked in Flex will quickly feel at home with Royale compone
 </j:TextInput>
 ```
 
-You can [read more about Strands and Beads here](features/strands-and-beads.html).
+You can [read more about Strands and Beads here](features/strands-and-beads).
 
 ## Component sets
 Royale has a series of [component sets](component-sets.html), groups of ready-to-use components which are designed for different purposes.
diff --git a/welcome/high-level-view.md b/welcome/high-level-view.md
index b73a79b..ea0e0fa 100644
--- a/welcome/high-level-view.md
+++ b/welcome/high-level-view.md
@@ -31,8 +31,8 @@ While Flex may work using Flash in browsers or within AIR on computers with trad
 
 Beyond that, it is becoming clear that Royale can provide significant developer productivity gains for new projects. Flex made it easy and efficient to create robust applications. Like Flex, Royale provides:
 
- * Declarative Language ([MXML](features/mxml.html)) - Declarative languages provide a schematic, or diagram. of the pieces of the application, and are more terse than options like JavaScript.
- * Semi-Structured Language ([ActionScript](features/as3.html)) - ActionScript deploys classes and interfaces, so it can do a better job of enforcing correct use of APIs than JavaScript can.
+ * Declarative Language ([MXML](features/mxml)) - Declarative languages provide a schematic, or diagram. of the pieces of the application, and are more terse than options like JavaScript.
+ * Semi-Structured Language ([ActionScript](features/as3)) - ActionScript deploys classes and interfaces, so it can do a better job of enforcing correct use of APIs than JavaScript can.
  * Runtime Verifier - The verifier catches errors at runtime so you can address them before packaging a release.
  * Choice of IDEs -  You can choose the IDE that suits you best, and the IDEs can provide better code assistance because the coding language is structured.
 
@@ -43,7 +43,7 @@ These features help you make fewer mistakes when writing code, and that saves ti
 
 ## How it works
 
-Because both [ActionScript](features/as3.html) and JavaScript are based on the same language, ECMAScript, most code you write in AS translates well to JS. One significant difference is that AS uses the concepts of classes and objects to structure how your code functions, while pure JavaScript does not have those concepts. When you get ready to compile and run your application, the Royale compiler translates AS-specific code into JS code organized into pseudo-classes, which then run just  [...]
+Because both [ActionScript](features/as3) and JavaScript are based on the same language, ECMAScript, most code you write in AS translates well to JS. One significant difference is that AS uses the concepts of classes and objects to structure how your code functions, while pure JavaScript does not have those concepts. When you get ready to compile and run your application, the Royale compiler translates AS-specific code into JS code organized into pseudo-classes, which then run just fine  [...]
 
 That takes care of pretty much everything except the user interface. For that, Royale provides a set of UI containers and controls that do the work that the pure Flex containers and controls required the Flash engine to do.