calyx 0.20.0 → 0.21.0

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.
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
- }