calyx 0.20.0 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +33 -0
  3. data/.travis.yml +1 -1
  4. data/lib/calyx.rb +1 -0
  5. data/lib/calyx/grammar.rb +12 -0
  6. data/lib/calyx/mapping.rb +15 -0
  7. data/lib/calyx/modifiers.rb +10 -0
  8. data/lib/calyx/production/weighted_choices.rb +7 -0
  9. data/lib/calyx/registry.rb +2 -12
  10. data/lib/calyx/rule.rb +14 -4
  11. data/lib/calyx/version.rb +1 -1
  12. metadata +5 -69
  13. data/docs/404.html +0 -7
  14. data/docs/CNAME +0 -1
  15. data/docs/_config.yml +0 -27
  16. data/docs/_data/breadcrumbs.yml +0 -9
  17. data/docs/_data/docs.yml +0 -35
  18. data/docs/_data/examples.yml +0 -9
  19. data/docs/_includes/breadcrumbs.html +0 -36
  20. data/docs/_includes/contents.html +0 -12
  21. data/docs/_includes/icon-github.html +0 -4
  22. data/docs/_includes/icon-rubygems.html +0 -9
  23. data/docs/_includes/navbar.html +0 -24
  24. data/docs/_includes/pagebar.html +0 -12
  25. data/docs/_layouts/default.html +0 -13
  26. data/docs/_layouts/docs.html +0 -14
  27. data/docs/_layouts/home.html +0 -13
  28. data/docs/_layouts/page.html +0 -20
  29. data/docs/_posts/2017-09-14-welcome-to-jekyll.markdown +0 -25
  30. data/docs/_posts/2017-09-21-0.17.0-released.md +0 -10
  31. data/docs/_styles/card.scss +0 -7
  32. data/docs/_styles/colors.scss +0 -18
  33. data/docs/_styles/content.scss +0 -57
  34. data/docs/_styles/cta.scss +0 -25
  35. data/docs/_styles/grid.scss +0 -22
  36. data/docs/_styles/media.scss +0 -50
  37. data/docs/_styles/menu.scss +0 -54
  38. data/docs/_styles/modifiers.scss +0 -3
  39. data/docs/_styles/navbar.scss +0 -161
  40. data/docs/_styles/pagebar.scss +0 -32
  41. data/docs/_styles/reset.scss +0 -92
  42. data/docs/_styles/scale.scss +0 -23
  43. data/docs/_styles/spread.scss +0 -55
  44. data/docs/_styles/styleguide.scss +0 -52
  45. data/docs/_styles/syntax.scss +0 -84
  46. data/docs/_styles/typography.scss +0 -49
  47. data/docs/_styles/yard.scss +0 -36
  48. data/docs/api.html +0 -9662
  49. data/docs/assets/calyx-docs.css +0 -792
  50. data/docs/assets/calyx-flower-outline.svg +0 -202
  51. data/docs/assets/calyx-flower-reverse.svg +0 -202
  52. data/docs/assets/calyx-flower.svg +0 -202
  53. data/docs/assets/logo-small.png +0 -0
  54. data/docs/assets/logos/calyx-flower-1.svg +0 -22
  55. data/docs/assets/logos/calyx-flower-2.svg +0 -21
  56. data/docs/content/documentation.html +0 -20
  57. data/docs/content/examples.html +0 -12
  58. data/docs/content/examples/any-gradient.md +0 -32
  59. data/docs/content/examples/faker.md +0 -16
  60. data/docs/content/examples/tiny-woodland-bot.md +0 -24
  61. data/docs/content/guides/context.md +0 -45
  62. data/docs/content/guides/expressions.md +0 -175
  63. data/docs/content/guides/features.md +0 -50
  64. data/docs/content/guides/formats.md +0 -37
  65. data/docs/content/guides/installation.md +0 -51
  66. data/docs/content/guides/random.md +0 -100
  67. data/docs/content/guides/results.md +0 -62
  68. data/docs/content/index.html +0 -44
  69. data/docs/content/introduction.md +0 -23
  70. data/docs/content/introduction/concepts.md +0 -82
  71. data/docs/content/introduction/contributing.md +0 -43
  72. data/docs/content/introduction/tutorial.md +0 -129
  73. data/docs/content/styleguide.html +0 -71
  74. data/docs/docs.scss +0 -94
  75. data/docs/index.html +0 -12
  76. data/docs/package-lock.json +0 -1536
  77. data/docs/package.json +0 -16
@@ -1,12 +0,0 @@
1
- <div class="menu">
2
- {% for section in site.data.docs %}
3
- <p class="menu-label">
4
- <a href="{{ section.permalink }}" class="{% if section.permalink == page.url %}is-active{% endif %}">{{ section.title }}</a>
5
- </p>
6
- <ul class="menu-list">
7
- {% for doc_page in section.pages %}
8
- <li><a href="{{ doc_page.permalink }}" class="{% if doc_page.permalink == page.url %}is-active{% endif %}">{{ doc_page.title }}</a></li>
9
- {% endfor %}
10
- </ul>
11
- {% endfor %}
12
- </div>
@@ -1,4 +0,0 @@
1
- <svg aria-labelledby="simpleicons-github-icon" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="24" height="24">
2
- <title id="simpleicons-github-icon">GitHub icon</title>
3
- <path fill="#fff" d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/>
4
- </svg>
@@ -1,9 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
2
- viewBox="0 0 200 200" enable-background="new 0 0 200 200" width="28" height="28">
3
- <g id="Logo">
4
- <polygon fill="#fff" points="68.8,69.9 68.7,69.8 46.5,92 100.4,145.8 122.6,123.7 154.3,92 132.1,69.8 132.1,69.7 68.7,69.7
5
- "/>
6
- <path fill="#fff" d="M100.2,10.6l-78.5,45v90l78.5,45l78.5-45v-90L100.2,10.6z M163.7,137l-63.5,36.6L36.7,137V64l63.5-36.6
7
- L163.7,64V137z"/>
8
- </g>
9
- </svg>
@@ -1,24 +0,0 @@
1
- <div class="navbar">
2
- <div class="nav-brand">
3
- <div class="logo">
4
- <button class="nav-toggle">☰</button>
5
- <figure class="logo-mark">
6
- <a href="/"><img src="/assets/calyx-flower.svg"></a>
7
- </figure>
8
- <h1 class="logo-type"><a href="/">Calyx</a></h1>
9
- </div>
10
- <div class="nav-menu">
11
- <ul>
12
- <li><a href="/documentation/">Documentation</a></li>
13
- <li><a href="/examples/">Examples</a></li>
14
- <li><a href="/changelog/">Changelog</a></li>
15
- </ul>
16
- </div>
17
- </div>
18
- <div class="nav-menu is-meta">
19
- <ul>
20
- <li><a href="https://github.com/maetl/calyx">{% include icon-github.html %}<span>GitHub Project</span></a></li>
21
- <li><a href="https://rubygems.org/gems/calyx">{% include icon-rubygems.html %}<span>RubyGems Package</span></a></li>
22
- </ul>
23
- </div>
24
- </div>
@@ -1,12 +0,0 @@
1
- {% assign crumbs = page.url | split: '/' %}
2
- <div class="pagebar">
3
- <ul class="breadcrumbs">
4
- <li><a href="/">Home</a></li>
5
- {% for crumb in crumbs offset: 1 %}
6
- {% unless forloop.last %}
7
- <li><a href="{% assign crumb_limit = forloop.index | plus: 1 %}{% for crumb in crumbs limit: crumb_limit %}{{ site.data.breadcrumbs[crumb].permalink }}{% endfor %}">{{ site.data.breadcrumbs[crumb].title }}</a></li>
8
- {% endunless %}
9
- {% endfor %}
10
- </ul>
11
- <h1>{{ page.title }}</h1>
12
- </div>
@@ -1,13 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1">
6
- <title>Calyx</title>
7
- <link href="https://fonts.googleapis.com/css?family=Cutive+Mono|Libre+Franklin:300,400,500,600,700|Work+Sans:700,800" rel="stylesheet">
8
- <link rel="stylesheet" href="/assets/calyx-docs.css">
9
- </head>
10
- <body>
11
- {{ content }}
12
- </body>
13
- </html>
@@ -1,14 +0,0 @@
1
- ---
2
- layout: page
3
- ---
4
-
5
- <div class="row">
6
- <div class="col docs-content">
7
- <div class="content card">
8
- {{ content }}
9
- </div>
10
- </div>
11
- <div class="col docs-sidebar">
12
- {% include contents.html %}
13
- </div>
14
- </div>
@@ -1,13 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1">
6
- <title>Calyx</title>
7
- <link href="https://fonts.googleapis.com/css?family=Cutive+Mono|Libre+Franklin:300,400,500,600,700|Work+Sans:700,800" rel="stylesheet">
8
- <link rel="stylesheet" href="/assets/calyx-docs.css">
9
- </head>
10
- <body>
11
- {{ content }}
12
- </body>
13
- </html>
@@ -1,20 +0,0 @@
1
- ---
2
- layout: default
3
- ---
4
-
5
- {% include navbar.html %}
6
- <div class="page">
7
- {% include pagebar.html %}
8
- {{ content }}
9
- </div>
10
- <script>
11
- window.addEventListener('load', function() {
12
- var navbar = document.querySelector('.navbar');
13
- var page = document.querySelector('.page');
14
- var toggle = document.querySelector('.nav-toggle');
15
- toggle.onclick = function(ev) {
16
- navbar.classList.toggle('is-open');
17
- page.classList.toggle('is-hidden');
18
- }
19
- });
20
- </script>
@@ -1,25 +0,0 @@
1
- ---
2
- layout: default
3
- title: "Welcome to Jekyll!"
4
- date: 2017-09-14 23:51:38 +1000
5
- categories: jekyll update
6
- ---
7
- You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated.
8
-
9
- To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.
10
-
11
- Jekyll also offers powerful support for code snippets:
12
-
13
- {% highlight ruby %}
14
- def print_hi(name)
15
- puts "Hi, #{name}"
16
- end
17
- print_hi('Tom')
18
- #=> prints 'Hi, Tom' to STDOUT.
19
- {% endhighlight %}
20
-
21
- Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk].
22
-
23
- [jekyll-docs]: https://jekyllrb.com/docs/home
24
- [jekyll-gh]: https://github.com/jekyll/jekyll
25
- [jekyll-talk]: https://talk.jekyllrb.com/
@@ -1,10 +0,0 @@
1
- ---
2
- layout: default
3
- title: 0.17.0 Released
4
- date: 2017-09-21 23:51:38 +1000
5
- categories: jekyll update
6
- ---
7
-
8
- New version released.
9
-
10
- Deprecation of string returned from `#generate`.
@@ -1,7 +0,0 @@
1
- .card {
2
- margin: $scale-p0;
3
- background-color: $color-content-background;
4
- padding: $scale-p1;
5
- border: 1px solid #e9e9e9;
6
- box-shadow: 1px 1px 6px 0px rgba(#e9e9e9, 0.2);
7
- }
@@ -1,18 +0,0 @@
1
- $color-white: #fff;
2
- $color-light: #fafafa;
3
- $color-dark: #333;
4
- $color-edge: #e9e9e9;
5
-
6
- $color-aquamarine: #76FABB;
7
- $color-meadow: #1BDE81;
8
- $color-eucalyptus: #218764;
9
- $color-stromboli: #2F5E52;
10
-
11
- $color-link: #555;
12
-
13
- $color-sidebar-background: $color-light;
14
- $color-sidebar-link: $color-eucalyptus;
15
- $color-sidebar-link-background-hover: $color-edge;
16
-
17
- $color-content-background: $color-white;
18
- $color-page-background: $color-light;
@@ -1,57 +0,0 @@
1
- .content {
2
- //margin: $scale-p0;
3
- //background-color: $color-content-background;
4
- //padding: $scale-p1;
5
- max-width: 800px;
6
- //border: 1px solid #e9e9e9;
7
- //box-shadow: 1px 1px 6px 0px rgba(#e9e9e9, 0.2);
8
-
9
- a {
10
- color: $color-stromboli;
11
- border-bottom: 1px solid $color-eucalyptus;
12
- }
13
-
14
- h1, h2, h3 {
15
- color: $color-eucalyptus;
16
- margin-top: $scale-p1;
17
-
18
- &:first-of-type {
19
- margin-top: 0;
20
- }
21
- }
22
-
23
- h2 {
24
- font-size: $scale-p1;
25
- }
26
-
27
- h3 {
28
- font-size: $scale-p0;
29
- }
30
-
31
- .highlighter-rouge {
32
- margin-bottom: 1rem;
33
- }
34
-
35
- pre {
36
- font-family: $font-code-family;
37
- overflow-x: scroll;
38
- padding: $scale-m2 $scale-m1;
39
- border-radius: 2px;
40
- line-height: 1.4;
41
-
42
- code {
43
- font-family: $font-code-family;
44
- font-size: $scale-p0;
45
- }
46
- }
47
-
48
- p, li {
49
- color: $color-dark;
50
- }
51
-
52
- li {
53
- display: list-item;
54
- margin-left: $scale-p0;
55
- list-style: disc;
56
- }
57
- }
@@ -1,25 +0,0 @@
1
- .cta-list {
2
- display: flex;
3
- align-items: center;
4
-
5
- li {
6
- margin-right: $scale-p1;
7
- }
8
- }
9
-
10
- .cta-button {
11
- display: inline-block;
12
- padding: $scale-m1 $scale-p0;
13
- border: 2px solid $color-white;
14
- border-radius: $scale-m1;
15
- font-weight: 700;
16
-
17
- &:hover {
18
- border: 2px solid $color-aquamarine;
19
- color: $color-aquamarine;
20
- }
21
-
22
- &:active {
23
- box-shadow: 0 0 4px $color-aquamarine;
24
- }
25
- }
@@ -1,22 +0,0 @@
1
- .container {
2
- width: 100%;
3
- }
4
-
5
- .row {
6
- display: block;
7
-
8
- @include tablet {
9
- display: flex;
10
- }
11
-
12
- @include desktop {
13
- display: flex;
14
- }
15
-
16
- }
17
-
18
- .col {
19
- flex-basis: 0;
20
- flex-grow: 1;
21
- flex-shrink: 1;
22
- }
@@ -1,50 +0,0 @@
1
- $min-tablet: 768px;
2
- $min-desktop: 1024px;
3
-
4
- @mixin tablet {
5
- @media (min-width: 768px) and (max-width: 1024px) {
6
- @content;
7
- }
8
- }
9
-
10
- @mixin at-least-tablet {
11
- @include at-least($min-tablet) {
12
- @content;
13
- }
14
- }
15
-
16
- @mixin until-tablet {
17
- @include until($min-tablet) {
18
- @content;
19
- }
20
- }
21
-
22
- @mixin at-least-desktop {
23
- @include at-least($min-desktop) {
24
- @content;
25
- }
26
- }
27
-
28
- @mixin desktop {
29
- @media (min-width: 1024px) {
30
- @content;
31
- }
32
- }
33
-
34
- @mixin at-least($device-width) {
35
- @media (min-width: $device-width) {
36
- @content;
37
- }
38
- }
39
-
40
- @mixin until($device-width) {
41
- @media (max-width: $device-width) {
42
- @content;
43
- }
44
- }
45
-
46
- @mixin between($min-width, $max-width) {
47
- @media (min-width: $min-width) and (max-width: $max-width) {
48
- @content;
49
- }
50
- }
@@ -1,54 +0,0 @@
1
- .menu {
2
- width: 100%;
3
- padding-top: $scale-p0;
4
-
5
- .menu-label,
6
- .menu-list li {
7
- @include at-least-tablet {
8
- font-size: $scale-p0;
9
- }
10
-
11
- @include until-tablet {
12
- font-size: $scale-p1;
13
- }
14
- }
15
-
16
- .menu-label {
17
- margin: $scale-p0 0 0 0;
18
- font-weight: 700;
19
- font-family: $font-display-family;
20
-
21
- &:first-child {
22
- margin-top: 0;
23
- }
24
-
25
- a {
26
- display: block;
27
- padding: $scale-m1 $scale-p0;
28
- }
29
- }
30
-
31
- .menu-list {
32
- a {
33
- display: block;
34
- padding: $scale-m1 $scale-p0;
35
- }
36
- }
37
-
38
- .menu-label, .menu-list {
39
- a {
40
- color: $color-sidebar-link;
41
-
42
- &.is-active {
43
- color: $color-white;
44
- background-color: $color-eucalyptus;
45
- }
46
-
47
- &:hover {
48
- &:not(.is-active) {
49
- background-color: $color-sidebar-link-background-hover;
50
- }
51
- }
52
- }
53
- }
54
- }
@@ -1,3 +0,0 @@
1
- .is-hidden {
2
- display: none;
3
- }
@@ -1,161 +0,0 @@
1
- $navbar-height: ($scale-p0 + $scale-m3) * 3;
2
- $navbar-transition-timing: 0.2s;
3
- $color-navbar-hover: darken($color-meadow, 6%);
4
-
5
- .navbar {
6
- width: 100%;
7
- height: $navbar-height;
8
- background-color: $color-meadow;
9
-
10
- @include until-tablet {
11
- //transition: height $navbar-transition-timing ease-in;
12
-
13
- .nav-menu {
14
- visibility: hidden;
15
- }
16
-
17
- &.is-open {
18
- height: 100vh;
19
- //transition: height $navbar-transition-timing ease-in;
20
- overflow-y: scroll;
21
-
22
- .logo {
23
- height: $navbar-height;
24
- background-color: $color-navbar-hover;
25
- }
26
-
27
- .nav-menu {
28
- visibility: visible;
29
- }
30
- }
31
- }
32
-
33
- @include at-least-tablet {
34
- display: flex;
35
- justify-content: space-between;
36
- }
37
-
38
- @include at-least-desktop {
39
- justify-content: space-between;
40
- }
41
-
42
- .nav-toggle {
43
- color: $color-white;
44
- font-size: $scale-p2;
45
- height: $navbar-height;
46
- display: inline-block;
47
- line-height: $scale-p2;
48
-
49
- &:hover {
50
- background-color: $color-navbar-hover;
51
- }
52
-
53
- @include at-least-tablet {
54
- display: none;
55
- }
56
- }
57
-
58
- &.is-fixed {
59
- position: fixed;
60
- top: 0px;
61
- z-index: 2000;
62
- }
63
-
64
- .nav-brand {
65
- @include at-least-tablet {
66
- display: flex;
67
- align-items: center;
68
- }
69
-
70
- @include until-tablet {
71
- width: 100%;
72
-
73
- .nav-menu ul {
74
- justify-content: center;
75
- }
76
- }
77
-
78
- .logo {
79
- height: $navbar-height;
80
- display: flex;
81
- align-items: center;
82
- }
83
-
84
- .logo-mark {
85
- width: 36px;
86
- height: 36px;
87
- padding: $scale-p0 $scale-m1 $scale-p0 $scale-p0;
88
- }
89
-
90
- .logo-type {
91
- color: #fff;
92
- font-family: $font-display-family;
93
- font-weight: 800;
94
- font-size: $scale-p1;
95
- padding-right: $scale-p0;
96
- }
97
- }
98
-
99
- .nav-menu {
100
- @include at-least-desktop {
101
- margin-left: $scale-p3;
102
- }
103
-
104
- &.is-meta {
105
- margin-left: 0;
106
- }
107
-
108
- ul {
109
- @include at-least-tablet {
110
- display: flex;
111
- align-items: center;
112
- }
113
-
114
- li {
115
- font-size: $scale-p0;
116
- line-height: 1.2;
117
- height: $navbar-height;
118
- font-family: $font-display-family;
119
- font-weight: 700;
120
- color: $color-white;
121
-
122
- a {
123
- display: block;
124
- box-sizing: border-box;
125
- padding: $scale-p0 + $scale-m3;
126
- height: $navbar-height;
127
- color: $color-white;
128
-
129
- &:hover {
130
- background-color: $color-navbar-hover;
131
- }
132
-
133
- svg {
134
- display: inline;
135
- }
136
-
137
- span {
138
- display: none;
139
- }
140
- }
141
-
142
- @include until-tablet {
143
- font-size: $scale-p2;
144
- height: auto;
145
-
146
- a {
147
- height: auto;
148
-
149
- svg {
150
- display: none;
151
- }
152
-
153
- span {
154
- display: inline;
155
- }
156
- }
157
- }
158
- }
159
- }
160
- }
161
- }