calyx 0.17.0 → 0.17.1

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.
data/docs/index.html CHANGED
@@ -1,10 +1,32 @@
1
1
  ---
2
- layout: default
2
+ layout: home
3
3
  ---
4
4
 
5
+ {% include navbar.html %}
6
+
7
+ <div class="spread spread-hero">
8
+ <figure class="identity">
9
+ <img src="/assets/logos/calyx-flower-2.svg" width="80%" height="80%">
10
+ </figure>
11
+ <div class="lede">
12
+ <h2>Create writing machines with generative grammars</h2>
13
+
14
+ <ul class="cta-list">
15
+ <li><a class="cta-button" href="#">Download</a></li>
16
+ <li><a class="cta-button" href="#">Learn more</a></li>
17
+ </ul>
18
+ </div>
19
+ </div>
20
+
21
+ <div class="spread spread-intro">
22
+ <p>Calyx is a simple and powerful generative grammar tool for creating writing machines using the Ruby programming language.</p>
23
+ </div>
24
+
5
25
  <div class="content">
6
26
  <h1>Calyx</h1>
7
- <p>Calyx provides a simple Ruby API for generating text with template expansion grammars.</p>
27
+ <p>Calyx provides a simple and powerful generative grammar format for creating writing machines using the Ruby programming language.</p>
28
+ <p>Although the primary use case is procedurally generating text, Calyx grammars can be used to make anything where the output format is a string.</p>
29
+ <p>Calyx provides a simple Ruby API for creating writing machines of all shapes and sizes using generative grammars.</p>
8
30
  <ul>
9
31
  <li><a href="https://github.com/maetl/calyx">Source code on GitHub</a></li>
10
32
  <li><a href="https://rubygems.org/gems/calyx">Package on Rubygems</a></li>
@@ -1292,6 +1292,15 @@
1292
1292
  "readable-stream": "2.3.3"
1293
1293
  }
1294
1294
  },
1295
+ "string_decoder": {
1296
+ "version": "1.0.3",
1297
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
1298
+ "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
1299
+ "dev": true,
1300
+ "requires": {
1301
+ "safe-buffer": "5.1.1"
1302
+ }
1303
+ },
1295
1304
  "string-width": {
1296
1305
  "version": "1.0.2",
1297
1306
  "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
@@ -1303,15 +1312,6 @@
1303
1312
  "strip-ansi": "3.0.1"
1304
1313
  }
1305
1314
  },
1306
- "string_decoder": {
1307
- "version": "1.0.3",
1308
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
1309
- "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
1310
- "dev": true,
1311
- "requires": {
1312
- "safe-buffer": "5.1.1"
1313
- }
1314
- },
1315
1315
  "stringstream": {
1316
1316
  "version": "0.0.5",
1317
1317
  "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
data/docs/package.json CHANGED
@@ -4,6 +4,7 @@
4
4
  "main": "index.html",
5
5
  "scripts": {
6
6
  "build": "node-sass --include-path node_modules/bulma calyx-docs.scss assets/calyx-docs.css",
7
+ "watch": "node-sass --watch --include-path node_modules/bulma docs.scss assets/calyx-docs.css",
7
8
  "help": "node-sass --help"
8
9
  },
9
10
  "author": "Mark Rickerby <me@maetl.net>",
data/lib/calyx/grammar.rb CHANGED
@@ -47,7 +47,8 @@ module Calyx
47
47
  # DSL helper method for registering the given block as a string filter.
48
48
  #
49
49
  # @param [Symbol] name
50
- # @block block with a single string argument returning a modified string.
50
+ # @yieldparam [String] the input string to be processed by the filter
51
+ # @yieldreturn [String] the processed output string
51
52
  def filter(name, &block)
52
53
  registry.filter(name, &block)
53
54
  end
@@ -99,24 +100,24 @@ module Calyx
99
100
  # evaluated.
100
101
  #
101
102
  # @param [Numeric, Random, Hash] options
102
- def initialize(opts={}, &block)
103
- unless opts.is_a?(Hash)
103
+ def initialize(options={}, &block)
104
+ unless options.is_a?(Hash)
104
105
  config_opts = {}
105
- if opts.is_a?(Numeric)
106
+ if options.is_a?(Numeric)
106
107
  warn [
107
108
  "NOTE: Passing a numeric seed arg directly is deprecated. ",
108
109
  "Use the options hash instead: `Calyx::Grammar.new(seed: 1234)`"
109
110
  ].join
110
- config_opts[:seed] = opts
111
- elsif opts.is_a?(Random)
111
+ config_opts[:seed] = options
112
+ elsif options.is_a?(Random)
112
113
  warn [
113
114
  "NOTE: Passing a Random object directly is deprecated. ",
114
115
  "Use the options hash instead: `Calyx::Grammar.new(rng: Random.new)`"
115
116
  ].join
116
- config_opts[:rng] = opts
117
+ config_opts[:rng] = options
117
118
  end
118
119
  else
119
- config_opts = opts
120
+ config_opts = options
120
121
  end
121
122
 
122
123
  @options = Options.new(config_opts)
@@ -133,7 +134,11 @@ module Calyx
133
134
 
134
135
  # Produces a string as an output of the grammar.
135
136
  #
136
- # @overload
137
+ # @overload generate(start_symbol)
138
+ # @param [Symbol] start_symbol
139
+ # @overload generate(rules_map)
140
+ # @param [Hash] rules_map
141
+ # @overload generate(start_symbol, rules_map)
137
142
  # @param [Symbol] start_symbol
138
143
  # @param [Hash] rules_map
139
144
  # @return [String]
@@ -159,7 +164,11 @@ module Calyx
159
164
  # Produces a generated result from evaluating the grammar.
160
165
  #
161
166
  # @see Calyx::Result
162
- # @overload
167
+ # @overload generate_result(start_symbol)
168
+ # @param [Symbol] start_symbol
169
+ # @overload generate_result(rules_map)
170
+ # @param [Hash] rules_map
171
+ # @overload generate_result(start_symbol, rules_map)
163
172
  # @param [Symbol] start_symbol
164
173
  # @param [Hash] rules_map
165
174
  # @return [Calyx::Result]
data/lib/calyx/options.rb CHANGED
@@ -10,7 +10,7 @@ module Calyx
10
10
  # Constructs a new options instance, merging the passed in options with the
11
11
  # defaults.
12
12
  #
13
- # @params [Hash, Calyx::Options] options
13
+ # @param [Hash, Calyx::Options] options
14
14
  def initialize(options={})
15
15
  @options = DEFAULTS.merge(options)
16
16
  end
@@ -54,7 +54,7 @@ module Calyx
54
54
 
55
55
  # Merges two instances together and returns a new instance.
56
56
  #
57
- # @params [Calyx::Options]
57
+ # @param [Calyx::Options] options
58
58
  # @return [Calyx::Options]
59
59
  def merge(options)
60
60
  Options.new(@options.merge(options.to_h))
@@ -20,7 +20,7 @@ module Calyx
20
20
 
21
21
  # Attaches a modifier module to this instance.
22
22
  #
23
- # @param [Module] module_name
23
+ # @param [Module] name
24
24
  def modifier(name)
25
25
  modifiers.extend(name)
26
26
  end
@@ -36,7 +36,8 @@ module Calyx
36
36
  # Registers the given block as a string filter.
37
37
  #
38
38
  # @param [Symbol] name
39
- # @block block with a single string argument returning a modified string.
39
+ # @yield [String]
40
+ # @yieldreturn [String]
40
41
  def filter(name, callable=nil, &block)
41
42
  if block_given?
42
43
  transforms[name.to_sym] = block
@@ -154,7 +155,6 @@ module Calyx
154
155
  # Produces a syntax tree of nested list nodes.
155
156
  #
156
157
  # @param [Symbol] start_symbol
157
- # @param [Random] random
158
158
  # @param [Hash] rules_map
159
159
  # @return [Array]
160
160
  def evaluate(start_symbol=:start, rules_map={})
data/lib/calyx/result.rb CHANGED
@@ -5,8 +5,9 @@ module Calyx
5
5
  @expression = expression.freeze
6
6
  end
7
7
 
8
- # The syntax tree of nested nodes representing the production rules which
9
- # generated this result.
8
+ # Produces a syntax tree of nested nodes as the output of the grammar. Each
9
+ # syntax node represents the production rules that were evaluated at each
10
+ # step of the generator.
10
11
  #
11
12
  # @return [Array]
12
13
  def tree
@@ -15,7 +16,7 @@ module Calyx
15
16
 
16
17
  alias_method :to_exp, :tree
17
18
 
18
- # The generated text string produced by the grammar.
19
+ # Produces a text string as the output of the grammar.
19
20
  #
20
21
  # @return [String]
21
22
  def text
@@ -26,7 +27,7 @@ module Calyx
26
27
 
27
28
  alias_method :to_s, :text
28
29
 
29
- # A symbol produced by converting the generated text string where possible.
30
+ # Produces a symbol as the output of the grammar.
30
31
  #
31
32
  # @return [Symbol]
32
33
  def symbol
data/lib/calyx/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Calyx
2
- VERSION = '0.17.0'.freeze
2
+ VERSION = '0.17.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: calyx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.0
4
+ version: 0.17.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Rickerby
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-21 00:00:00.000000000 Z
11
+ date: 2017-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -62,6 +62,7 @@ extra_rdoc_files: []
62
62
  files:
63
63
  - ".gitignore"
64
64
  - ".travis.yml"
65
+ - CODE_OF_CONDUCT.md
65
66
  - CONTRIBUTING.md
66
67
  - Gemfile
67
68
  - LICENSE
@@ -76,6 +77,14 @@ files:
76
77
  - docs/about.md
77
78
  - docs/assets/calyx-docs.css
78
79
  - docs/calyx-docs.scss
80
+ - docs/guide/context.md
81
+ - docs/guide/examples.md
82
+ - docs/guide/expressions.md
83
+ - docs/guide/formats.md
84
+ - docs/guide/getting-started.md
85
+ - docs/guide/installation.md
86
+ - docs/guide/random.md
87
+ - docs/guide/results.md
79
88
  - docs/index.html
80
89
  - docs/package-lock.json
81
90
  - docs/package.json
@@ -126,4 +135,3 @@ signing_key:
126
135
  specification_version: 4
127
136
  summary: Generate text with declarative recursive grammars
128
137
  test_files: []
129
- has_rdoc: