docjs 0.1.5 → 0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -69,7 +69,27 @@ var J = J || jCore;
69
69
  };
70
70
 
71
71
  /**
72
- * @function jCore.create
72
+ * @function J.create
73
+ *
74
+ * @example
75
+ * J.create("Person", {
76
+ * constructor: function(name) {
77
+ * this.name = name;
78
+ * },
79
+ * say_name: function() { return this.name; }
80
+ * });
81
+ *
82
+ * @example Using revealing module pattern
83
+ * J.create("Person", {
84
+ * constructor: function(name) {
85
+ * return {
86
+ * say_name: function() { return name; }
87
+ * };
88
+ * }
89
+ * });
90
+ *
91
+ * @example Extending an object
92
+ * J.create("Student", Person
73
93
  *
74
94
  * Also mitigates the problem of using 'new' to create new instances. After
75
95
  * creating the class Foo with creat, the following versions of instantiation
@@ -78,7 +98,22 @@ var J = J || jCore;
78
98
  * Foo("bar");
79
99
  * new Foo("bar");
80
100
  *
81
- * @overload J.create(path, options)
101
+ * @overload
102
+ * Creates a class called `path` and extends it with the given options
103
+ *
104
+ * @param [String] path
105
+ * @param options
106
+ * All options will be added as property to the object
107
+ * [Function] constructor The constructor of the class, which will be called, when
108
+ * instantiating a new object
109
+ *
110
+ * @overload
111
+ * Creates a class `path`, that inherits from `parent` and will be extended with the given
112
+ * options
113
+ *
114
+ * @param [String] path
115
+ * @param [Object] parent
116
+ * @param [Hash] options (see other overload)
82
117
  */
83
118
  J.create = function(path, inherited, options) {
84
119
 
@@ -34,7 +34,7 @@
34
34
  }
35
35
 
36
36
  input#search {
37
- border-radius: $radius;
37
+ @include border-radius($radius);
38
38
  outline: none;
39
39
  padding: 0.2em 0.5em;
40
40
  }
@@ -48,8 +48,8 @@
48
48
  @include float(left);
49
49
 
50
50
  /* rounded corners */
51
- &:first-child a { border-radius: 0 0 0 $radius; }
52
- &:last-child a { border-radius: 0 0 $radius 0; }
51
+ &:first-child a { @include border-radius(0 0 0 $radius); }
52
+ &:last-child a { @include border-radius(0 0 $radius 0); }
53
53
  }
54
54
 
55
55
  a {
@@ -87,9 +87,8 @@
87
87
 
88
88
  > ul {
89
89
  @include scrollbars;
90
-
90
+ @include border-radius($radius);
91
91
  border: 1px solid #eee;
92
- border-radius: $radius;
93
92
  padding: 0; margin: 0;
94
93
 
95
94
  overflow: hidden;
@@ -85,6 +85,12 @@ $golden_ratio: 1.618;
85
85
  }
86
86
  }
87
87
 
88
+ @mixin border-radius($radius) {
89
+ -moz-border-radius: $radius; /* Firefox */
90
+ -webkit-border-radius: $radius; /* Safari, Chrome */
91
+ border-radius: $radius; /* CSS3 */
92
+ }
93
+
88
94
  @mixin float($direction) {
89
95
  display: block;
90
96
  float: $direction;
@@ -1,11 +1,7 @@
1
- @mixin line-height-fix() {
2
- font-size: 9pt;
3
- line-height: 1.4em;
4
- }
5
-
6
1
  code.source, code.example {
7
2
  @include code-box;
8
- @include line-height-fix;
3
+ font-size: 9pt;
4
+ line-height: 1.6em;
9
5
  padding: 0.5em;
10
6
  margin-bottom: $element-margin;
11
7
  }
@@ -34,7 +30,7 @@ code.source, code.example {
34
30
  text-align: right;
35
31
 
36
32
  .line {
37
- @include line-height-fix;
33
+ height: 1.6em;
38
34
  }
39
35
  }
40
36
 
@@ -43,7 +39,8 @@ code.source, code.example {
43
39
  width: 100%;
44
40
 
45
41
  .line {
46
- padding: 0 0.5em;
42
+ height: 1.6em;
43
+ padding: 0 0.5em;
47
44
  &:hover { background: #f5f5f5; }
48
45
  }
49
46
  }
@@ -2,7 +2,8 @@
2
2
  /*@include double-border(1px, #fff, #ccc);*/
3
3
  @include gradient(#333, #555);
4
4
  @include reset-fonts;
5
-
5
+ @include border-radius($radius/2);
6
+
6
7
  display: none;
7
8
  position: absolute;
8
9
  padding: 0.5em;
@@ -12,7 +13,6 @@
12
13
  font-size: 9pt;
13
14
  color: #eee;
14
15
  border: 1px solid #fff;
15
- border-radius: $radius/2;
16
16
  box-shadow: 0 0 10px rgba(0,0,0,0.15);
17
17
 
18
18
  a {
@@ -86,11 +86,12 @@ $element-margin: 1.33em;
86
86
  @if $terminal == true {
87
87
  @include terminal;
88
88
  }
89
+ @include border-radius($radius/2);
89
90
  display: block;
90
91
  background: $color;
91
92
  border: 1px solid darken($color, 8%);
92
93
  color: darken($fontcolor, 40%);
93
- border-radius: $radius/2;
94
+
94
95
  padding: 0.4em 1em;
95
96
  }
96
97
 
@@ -140,10 +141,11 @@ div#main {
140
141
  @include page-center;
141
142
  @include typography;
142
143
  @include clearfix;
144
+ @include border-radius(10px 10px 0 0);
143
145
 
144
146
  margin-top: -$page-indent;
145
147
 
146
- border-radius: 10px 10px 0 0;
148
+
147
149
  box-shadow: 0px -0px 5px rgba(0,0,0,0.1);
148
150
 
149
151
  border-top: 1px solid #eee;
@@ -169,10 +171,10 @@ div#main nav.sidebar {
169
171
 
170
172
  @include float(right);
171
173
  @include code-box;
174
+ @include border-radius(5px);
172
175
 
173
176
  margin: 2*$page-padding 0 $box-spacing $box-spacing;
174
- padding: 0;
175
- border-radius: 5px;
177
+ padding: 0;
176
178
  font-size: 8pt;
177
179
  color: #999;
178
180
 
@@ -1,19 +1,50 @@
1
1
  module Token::Handler
2
2
 
3
- register :author, :area => :sidebar
4
- register :public, :area => :sidebar
3
+ # @group Metainfo-Tokens
4
+ register :author, :area => :sidebar
5
+ register :public, :area => :sidebar
5
6
  register :private, :area => :sidebar
6
7
  register :version, :area => :sidebar
7
8
 
8
- register :see, :area => :footnote
9
-
9
+ # @group Notification Tokens
10
10
  register :deprecated, :area => :notification
11
- register :todo, :area => :notification
12
- register :note, :area => :notification
13
- register :warn, :area => :notification
14
-
15
- register :example, :template => :examples, :handler => :named_multiline
11
+ register :todo, :area => :notification
12
+ register :note, :area => :notification
13
+ register :warn, :area => :notification
14
+
15
+ # @group Function specific Tokens
16
+
17
+ # We want to support either named-typed-tokens like
18
+ # @param [Foo] barname some description
19
+ #
20
+ # or multiline tokens like:
21
+ # @param configs
22
+ # Some configuration Object with following properties:
23
+ # [String] foo some string
24
+ # [Bar] bar and another one
25
+ register :param,
26
+ :area => :none,
27
+ :description => "Token for Function-Parameters like '@param [String] name your name'" do |tokenklass, content|
28
+
29
+ # it's @param [String] name some content
30
+ if content.lines.first.match Token::Handler::TOKEN_W_TYPE_NAME
31
+ self.add_token Token::Handler.apply(:typed_with_name, Token::Token::ParamToken, content)
32
+
33
+ # it maybe a multiline
34
+ else
35
+ self.add_token Token::Handler.apply(:named_nested_shorthand, Token::Token::ParamToken, content)
36
+ end
37
+ end
38
+
39
+ register :return, :handler => :typed, :area => :none, :description => "Returnvalue of a Function"
40
+ register :throws, :handler => :typed
16
41
 
42
+ # MethodAlias
43
+ register :method, :handler => :noop, :area => :none, :type => CodeObject::Function
44
+
45
+ # ConstructorAlias
46
+ register(:constructor, :type => CodeObject::Function) { |token, content| @constructor = true }
47
+
17
48
  # Every @overload can contain **text-documentation**, **@param**- and **@return**-tokens
18
49
  #
19
50
  # It may look like:
@@ -62,6 +93,9 @@ module Token::Handler
62
93
  self.add_token token_klass.new :content => documentation.join("\n"), :children => children, :name => self.name
63
94
  end
64
95
 
96
+
97
+ # @group Miscellaneous Tokens
98
+
65
99
  # Example:
66
100
  # @event MyCustomEvent
67
101
  # This event will be triggered, if something special happens. The registered handler will be
@@ -69,5 +103,9 @@ module Token::Handler
69
103
  # [Object] obj This object
70
104
  # [String] msg Some message
71
105
  register :event, :area => :body, :handler => :named_nested_shorthand
106
+ register :example, :template => :examples, :handler => :named_multiline
107
+ register :prop, :handler => :typed_with_name
108
+ register :see, :area => :footnote
72
109
 
73
110
  end
111
+
@@ -1,63 +1,25 @@
1
- module CodeObject
2
-
3
- class Function < CodeObject::Object
4
-
5
- token_reader :params, :param
6
- token_reader :returns, :return
7
-
8
- def constructor?
9
- @constructor || false
10
- end
11
-
12
- # @todo i need a @prototype token in object
13
- def prototype
14
- children[:prototype]
15
- end
1
+ class CodeObject::Function < CodeObject::Object
2
+
3
+ token_reader :params, :param
4
+ token_reader :returns, :return
5
+
6
+ def constructor?
7
+ @constructor || false
8
+ end
16
9
 
17
- def display_name
18
- @name + '()'
19
- end
20
-
21
- end
10
+ # @todo i need a @prototype token in object
11
+ def prototype
12
+ children[:prototype]
13
+ end
14
+
15
+ def display_name
16
+ @name + '()'
17
+ end
22
18
 
23
- end
19
+ end
24
20
 
25
21
  Token::Handler.register :function,
26
22
  :handler => :noop,
27
23
  :area => :none,
28
- :description => "Type-Token to categorize all kind of JavaScript-Functions"
29
-
30
-
31
- # We want to support either named-typed-tokens like
32
- # @param [Foo] barname some description
33
- #
34
- # or multiline tokens like:
35
- # @param configs
36
- # Some configuration Object with following properties:
37
- # [String] foo some string
38
- # [Bar] bar and another one
39
- #
40
- # @note this can also be utilized for JavaScript-Event-Triggers or Callbacks with Parameters
41
- Token::Handler.register :param, :area => :none, :description => "Token for Function-Parameters like '@param [String] name your name'" do |tokenklass, content|
42
-
43
- # it's @param [String] name some content
44
- if content.lines.first.match Token::Handler::TOKEN_W_TYPE_NAME
45
- self.add_token Token::Handler.apply(:typed_with_name, Token::Token::ParamToken, content)
46
-
47
- # it maybe a multiline
48
- else
49
- self.add_token Token::Handler.apply(:named_nested_shorthand, Token::Token::ParamToken, content)
50
- end
51
- end
52
-
53
-
54
- Token::Handler.register :return, :handler => :typed, :area => :none, :description => "Returnvalue of a Function"
55
- Token::Handler.register :throws, :handler => :typed
56
-
57
- # MethodAlias
58
- class CodeObject::Method < CodeObject::Function; end
59
- Token::Handler.register :method, :handler => :noop, :area => :none
60
-
61
- # ConstructorAlias
62
- class CodeObject::Constructor < CodeObject::Function; end
63
- Token::Handler.register(:constructor) { |token, content| @constructor = true }
24
+ :type => CodeObject::Function,
25
+ :description => "Type-Token to categorize all kind of JavaScript-Functions"
@@ -1,12 +1,5 @@
1
- module CodeObject
2
-
3
- class Object < CodeObject::Base
4
-
5
- token_reader :props, :prop
6
-
7
- end
8
-
1
+ class CodeObject::Object < CodeObject::Base
2
+ token_reader :props, :prop
9
3
  end
10
4
 
11
- Token::Handler.register :object, :handler => :noop, :area => :none
12
- Token::Handler.register :prop, :handler => :typed_with_name
5
+ Token::Handler.register :object, :handler => :noop, :area => :none, :type => CodeObject::Object
@@ -11,4 +11,4 @@ class CodeObject::Prototype < CodeObject::Object
11
11
 
12
12
  end
13
13
 
14
- Token::Handler.register :prototype, :handler => :noop, :area => :none
14
+ Token::Handler.register :prototype, :handler => :noop, :area => :none, :type => CodeObject::Prototype
data/test/docs/README.md CHANGED
@@ -1,14 +1,35 @@
1
- jsdoc
2
- =====
3
- After total dataloss i have to rewrite the Readme's and Test's, so please be patient.
4
- jsdoc is currently **not a bit** stable. Stay tuned. {doc:README.CONCEPT#Function} oder {doc:README}
5
-
6
- For some more information about the architecture see:
7
-
8
- - {Core Kern}
9
- - {CodeObject}
10
- - {Token}
11
- - {Dom}
12
- - {Renderer}
13
-
14
- The 'executable' is {JsDoc}
1
+ Beautiful, flexible JavaScript Documentation
2
+ ============================================
3
+ Doc.js automatically creates beautiful documentation from your JavaScript-Source.
4
+
5
+ Features
6
+ --------
7
+ - One command to install
8
+ - Use markdown in your documentation
9
+ - Easy to customize (Create your own DSL in a sec!)
10
+ - Nice and clean default template
11
+ - Integrates well with your existing deployment
12
+ - For ruby lovers - it's written in ruby
13
+
14
+ Installation
15
+ ------------
16
+ If you have Ruby 1.9 and rubygems installed you only need to type
17
+
18
+ gem install docjs
19
+
20
+ That's Your Part
21
+ ----------------
22
+ Because Doc.js basically is language unaware, you have to tell it what to do. This example shows how
23
+ your documentation could look like
24
+
25
+ /**
26
+ * @function medianight.create_poster
27
+ *
28
+ * This function creates a poster, which can be used at the MediaNight
29
+ * @param [String] term Something like "SS2011"
30
+ * @param [Numeric] dpi The target-resolution of the poster
31
+ * @return [Poster] The finished poster
32
+ */
33
+ medianight.create_poster = function(term, dpi) {
34
+ ...
35
+ }
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: docjs
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.5
5
+ version: "0.2"
6
6
  platform: ruby
7
7
  authors:
8
8
  - "Jonathan Brachth\xC3\xA4user"
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-06-25 00:00:00 +02:00
13
+ date: 2011-06-28 00:00:00 +02:00
14
14
  default_executable: bin/docjs
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -35,7 +35,7 @@ dependencies:
35
35
  version: "0"
36
36
  type: :runtime
37
37
  version_requirements: *id002
38
- description: Create beautyful Javascript documentations with this ruby-gem. It's pretty easy to customize and add your own tokens/DSL.
38
+ description: Create beautiful Javascript documentations with this ruby-gem. It's pretty easy to customize and add your own tokens/DSL.
39
39
  email: jonathan@b-studios.de
40
40
  executables:
41
41
  - docjs
@@ -49,9 +49,6 @@ files:
49
49
  - bin/docjs
50
50
  - bin/docjs.rb
51
51
  - docjs.gemspec
52
- - docs/ARCHITECTURE.md
53
- - docs/CONCEPT.md
54
- - docs/DOCUMENTATION.md
55
52
  - docs/PATTERNS.md
56
53
  - docs/guides/CUSTOMIZE.md
57
54
  - docs/guides/TRY.md
@@ -126,7 +123,6 @@ files:
126
123
  - templates/views/doc_page.html.erb
127
124
  - templates/views/function/_detail.html.erb
128
125
  - templates/views/function/index.html.erb
129
- - templates/views/index.html.erb
130
126
  - templates/views/layout/application.html.erb
131
127
  - templates/views/layout/json.html.erb
132
128
  - templates/views/object/index.html.erb