[from now] 2014/09/26 18:22:57

diff --git a/doc/theme.md b/doc/theme.md
index 6a3d7e3..659a412 100644
--- a/doc/theme.md
+++ b/doc/theme.md
@@ -6,7 +6,7 @@ A theme is a collection of HTML layouts, stylesheets, images, javascripts, and o

 Specifying a theme
-----------------
+------------------

 To configure a theme, you should specify the theme name in your `config.groovy`:

@@ -68,12 +68,14 @@ It means that assets of a bundled theme are overwritten by assets of a user them
 And a layout file of a user theme is used if there is a layout file with a same name.
 In other words, you can remove resources which are not changed in installed resources.

+
 Using layouts
 -------------

 You can specify a layout which you want to use.
 There are two ways to specify the theme.

+
 ### config.groovy

 In `config.groovy`, you can specify a layout name as follows:
@@ -98,25 +100,96 @@ In `pages.groovy`, you can specify a layout name for each page as follows:

 This settings which is specified in `pages.groovy` get preference over the setting on `config.groovy`.

-Customizing layout
-------------------

-レイアウトファイル内ではいつくかの変数とメソッドが呼び出せます。
-レイアウトファイルは内部的にはgroovyのsimple templateで処理されます。
+Customizing layouts
+-------------------
+
+You can change the appearance of a generated document by customizing layouts.
+Here is a simple example of a layout:
+
+```
+<html>
+  <head>
+    <title>$title</title>
+  </head>
+  <body>
+    $content
+    ${include('footer')}
+  </body>
+</html>
+```
+
+The Layout supports JSP-like scriptlets, script, and EL expressions.
+Internally, the [SimpleTemplateEngine](http://groovy.codehaus.org/api/groovy/text/SimpleTemplateEngine.html) which is provided by Groovy is used for rendering a document.

-このときに使える変数は以下のとおりです。
+
+このときに使える変数、メソッドは以下のとおりです。

 title
-document
+:   The title which is configured in `config.groovy`.
+
 content
+:   The content which is a generated html from a Markdown file.
+
+page
+:   The `gaiden.Page` instance of the target page.
+
 metadata
-currentPage
+:   The metadata which is configured in `config.groovy` for the target page.
+
 prevPage
+:   The previous page of the target page.
+
 nextPage
-config
+:   The next page of the target page.
+
 homePage
-extensionScripts
-extensionStyles
+:   The home page which is configured in `config.groovy`. If it is not configured, the first page in `pages.groovy` is used.
+
+document
+:   The document is a instance of `gaiden.Document`.
+
+config
+:   The config is a instance of `gaiden.GaidenConfig`.
+
 resource
-render
+:   The resource method is used to create a link to the static resources, e.g. image, css and javascript.
+
+    ```
+    <script src="${resource('js/application.js')}"></script>
+    <link rel="stylesheet" href="${resource('js/application.js')}">
+    ```
+
+    The path of the argument is processed as a relative path from the assets directory.
+
 include
+:   The include method is used to include another layout as follows:
+
+    ```
+    ${include('footer')}
+    ```
+
+    The layout name of the argument is resolved from the layouts directory.
+    Note that the layout name does not contain an extension such as 'html'.
+
+extensionScripts
+:   The extensionScripts is a list of JavaScript file of all that is included in installed extensions.
+    Entries which are included in the list are an instance of `java.nio.file.Path`.
+    This can be used as follows:
+
+    ```
+    <% extensionScripts.each { script -> %>
+    <script src="${script}"></script>
+    <% } %>
+    ```
+
+extensionStyles
+:   The extensionScripts is a list of CSS file of all that is included in installed extensions.
+    Entries which are included in the list are an instance of `java.nio.file.Path`.
+    This can be used as follows:
+
+    ```
+    <% extensionStyles.each { style -> %>
+    <link rel="stylesheet" href="${style}">
+    <% } %>
+    ```