diff options
| author | Misko Hevery | 2011-11-10 13:07:50 -0800 | 
|---|---|---|
| committer | Misko Hevery | 2011-11-14 20:31:17 -0800 | 
| commit | 8fe77b69e8008c6a432f9ef226586a09deb48c6c (patch) | |
| tree | c908d99ad9ad2fa62127b618b04857400fbce36f /docs/src | |
| parent | 1cc6bee4ce5d574b84b4e0c2ded3686de7ab71ef (diff) | |
| download | angular.js-8fe77b69e8008c6a432f9ef226586a09deb48c6c.tar.bz2 | |
refactor(docs): improved the visual rendering of the documentation pages
Diffstat (limited to 'docs/src')
| -rw-r--r-- | docs/src/dom.js | 4 | ||||
| -rw-r--r-- | docs/src/ngdoc.js | 89 | ||||
| -rw-r--r-- | docs/src/templates/docs.css | 36 | ||||
| -rw-r--r-- | docs/src/templates/docs.js | 10 | ||||
| -rw-r--r-- | docs/src/templates/index.html | 4 | 
5 files changed, 104 insertions, 39 deletions
| diff --git a/docs/src/dom.js b/docs/src/dom.js index 11330a02..7363d06b 100644 --- a/docs/src/dom.js +++ b/docs/src/dom.js @@ -74,6 +74,10 @@ DOM.prototype = {      });    }, +  div: function(attr, text) { +    this.tag('div', attr, text); +  }, +    h: function(heading, content, fn){      if (content==undefined || (content instanceof Array && content.length == 0)) return;      this.headingDepth++; diff --git a/docs/src/ngdoc.js b/docs/src/ngdoc.js index 6e8d7408..71eebddc 100644 --- a/docs/src/ngdoc.js +++ b/docs/src/ngdoc.js @@ -222,11 +222,12 @@ Doc.prototype = {            if (!match) {              throw new Error("Not a valid 'property' format: " + text);            } -          var property = { +          var property = new Doc({                type: match[1],                name: match[2], +              shortName: match[2],                description: self.markdown(text.replace(match[0], match[4])) -            }; +            });            self.properties.push(property);          } else if(atName == 'eventType') {            match = text.match(/^([^\s]*)\s+on\s+([\S\s]*)/); @@ -482,44 +483,60 @@ Doc.prototype = {    method_properties_events: function(dom) {      var self = this; -    dom.h('Methods', this.methods, function(method){ -      var signature = (method.param || []).map(property('name')); -      dom.h(method.shortName + '(' + signature.join(', ') + ')', method, function() { -        dom.html(method.description); -        method.html_usage_parameters(dom); -        self.html_usage_this(dom); -        method.html_usage_returns(dom); - -        dom.h('Example', method.example, dom.html); -      }); -    }); -    dom.h('Properties', this.properties, function(property){ -      dom.h(property.shortName, function() { -       dom.html(property.description); -       dom.h('Example', property.example, dom.html); -      }); -    }); -    dom.h('Events', this.events, function(event){ -    dom.h(event.shortName, event, function() { -        dom.html(event.description); -        if (event.type == 'listen') { -          dom.tag('div', {class:'inline'}, function() { -            dom.h('Listen on:', event.target); -          }); -        } else { -          dom.tag('div', {class:'inline'}, function() { -            dom.h('Type:', event.type); +    if (self.methods.length) { +      dom.div({class:'member method'}, function(){ +        dom.h('Methods', self.methods, function(method){ +          var signature = (method.param || []).map(property('name')); +          dom.h(method.shortName + '(' + signature.join(', ') + ')', method, function() { +            dom.html(method.description); +            method.html_usage_parameters(dom); +            self.html_usage_this(dom); +            method.html_usage_returns(dom); + +            dom.h('Example', method.example, dom.html);            }); -          dom.tag('div', {class:'inline'}, function() { -            dom.h('Target:', event.target); +        }); +      }); +    } +    if (self.properties.length) { +      dom.div({class:'member property'}, function(){ +        dom.h('Properties', self.properties, function(property){ +          dom.h(property.shortName, function() { +           dom.html(property.description); +           if (!property.html_usage_returns) { +             console.log(property); +           } +           property.html_usage_returns(dom); +           dom.h('Example', property.example, dom.html);            }); -        } -        event.html_usage_parameters(dom); -        self.html_usage_this(dom); +        }); +      }); +    } +    if (self.events.length) { +      dom.div({class:'member event'}, function(){ +        dom.h('Events', self.events, function(event){ +          dom.h(event.shortName, event, function() { +            dom.html(event.description); +            if (event.type == 'listen') { +              dom.tag('div', {class:'inline'}, function() { +                dom.h('Listen on:', event.target); +              }); +            } else { +              dom.tag('div', {class:'inline'}, function() { +                dom.h('Type:', event.type); +              }); +              dom.tag('div', {class:'inline'}, function() { +                dom.h('Target:', event.target); +              }); +            } +            event.html_usage_parameters(dom); +            self.html_usage_this(dom); -        dom.h('Example', event.example, dom.html); +            dom.h('Example', event.example, dom.html); +          }); +        });        }); -    }); +    }    },    parameters: function(dom, separator, skipFirst, prefix) { diff --git a/docs/src/templates/docs.css b/docs/src/templates/docs.css index fd77970c..b3f9aad9 100644 --- a/docs/src/templates/docs.css +++ b/docs/src/templates/docs.css @@ -53,6 +53,42 @@ li {    border: 1px solid red;  } +.member { +  border: 1px solid gray; +  margin: 2em 0; +} + +.member p { +  padding: 0; +} + +.member>h2 { +  background-color: lightgray; +  padding: .2em .4em; +  margin: 0; +  border-bottom: 1px solid gray; +} + +.member>ul { +  list-style: none; +  padding: 0; +} + +.member>ul>li { +  border: 1px solid lightgray; +  margin: 1em; + +} +.member>ul>li>h3 { +  background-color: #EEE; +  padding: .2em .4em; +  margin: 0; +  font-family: monospace; +  border-bottom: 1px solid lightgray; +} +.member>ul>li>div { +  padding: 1em; +}  /*----- Upgrade IE Prompt -----*/ diff --git a/docs/src/templates/docs.js b/docs/src/templates/docs.js index 09a9e708..5b6379a6 100644 --- a/docs/src/templates/docs.js +++ b/docs/src/templates/docs.js @@ -152,6 +152,14 @@ function TutorialInstructionsCtrl($cookieStore) {  window.angular = window.angular || {};  angular.module = angular.module || {}; -angular.module.ngdocs = function($locationProvider) { +angular.module.ngdocs = function($locationProvider, $filterProvider) {    $locationProvider.html5Mode(true).hashPrefix('!'); + +  $filterProvider.register('title', function(){ +    return function(text) { +      return text && text.replace(/^angular\.module\.([^\.]+)(\.(.*))?$/, function(_, module, _0, name){ +        return 'Module ' + module + (name ? ' - ' + name : ''); +      }); +    } +  });  }; diff --git a/docs/src/templates/index.html b/docs/src/templates/index.html index 6c8c5011..8a6dc7a7 100644 --- a/docs/src/templates/index.html +++ b/docs/src/templates/index.html @@ -6,7 +6,7 @@  <head>    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />    <meta name="fragment" content="!"> -  <title ng:bind-template="AngularJS: {{partialTitle}}">AngularJS</title> +  <title ng:bind-template="AngularJS: {{partialTitle | title}}">AngularJS</title>    <script type="text/javascript">      // dynamically add base tag as well as css and javascript files.      // we can't add css/js the usual way, because some browsers (FF) eagerly prefetch resources @@ -115,7 +115,7 @@      <div class="content-panel"> -      <h2 ng:bind="partialTitle"></h2> +      <h2 ng:bind="partialTitle | title"></h2>        <ng:include id="content"                    class="content-panel-content"                    src="getCurrentPartial()" | 
