juicelang-theme 0.4.3 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 26bacdf52f033087ab922385ef9a061326664bbdbe1d2643027af5ee78759d2e
4
- data.tar.gz: dff6929e9eb3ac14252cd3d3ed4be7cf543ddd1b53812f66462f21cc90c6c9bb
3
+ metadata.gz: d091d794594724f2fd4ddd2a8cc25650237a83517536a4bfd13ced599aac2a9c
4
+ data.tar.gz: 7645974aa4ce62c401c117905c266df4a23986b7dc1b31928baa03082900086e
5
5
  SHA512:
6
- metadata.gz: 1eca97ce4a0e0b773efe1a17441cdf7ce1e8cb800ae0cf14fd7949a07bcc0cb2579afcee0a8f02e7c6ede349e5fb3ca4e27eb16de6a16b86788c42acbb98c389
7
- data.tar.gz: 0e8465b7676926e175c91ca33d3459f9e7499ac15b3bf779c45e2485fd01461e930eab28fc5a4ff7b13edec89f66572e7e8e2e9ded6f4c397f6ed72a19d1f8c0
6
+ metadata.gz: bf17f82e1968ada92376d0fadf83f4cab66fa9cf97fbf9ade047f6f779dacc6ce31c76a0045d2ac8b3eeeef921318fc9c4461457a457b0fdbe06de47d5059b84
7
+ data.tar.gz: 7bf696530ca7be79464512b87b728f2379867a96e3667e308012b9d86f281c633c2c6d5a0ef0ad8e0ac22d614f4e74bf324d1c20d1ab55c76e9522cb8d8dfde1
@@ -25,6 +25,29 @@ $navbar-gap: 0;
25
25
  @import "uikit/mixins-theme";
26
26
 
27
27
  // 3. Your custom mixin overwrites.
28
+ @mixin hook-container-misc() {
29
+ .uk-container.uk-padding-remove > .uk-container {
30
+ padding-left: $container-padding-horizontal;
31
+ padding-right: $container-padding-horizontal;
32
+ }
33
+
34
+ /* Phone landscape and bigger */
35
+ @media (min-width: $breakpoint-small) {
36
+ .uk-container.uk-padding-remove > .uk-container {
37
+ padding-left: $container-padding-horizontal-s;
38
+ padding-right: $container-padding-horizontal-s;
39
+ }
40
+ }
41
+
42
+ /* Tablet landscape and bigger */
43
+ @media (min-width: $breakpoint-medium) {
44
+ .uk-container.uk-padding-remove > .uk-container {
45
+ padding-left: $container-padding-horizontal-m;
46
+ padding-right: $container-padding-horizontal-m;
47
+ }
48
+ }
49
+ }
50
+
28
51
  @mixin hook-flex-misc() {
29
52
  /* Phone landscape and bigger */
30
53
  @media (min-width: $breakpoint-small) {
data/lib/custom_tags.rb CHANGED
@@ -16,13 +16,13 @@ class ToCTag < Liquid::Tag
16
16
  toc = Kramdown::Document.new(context.registers[:page]['content'], {
17
17
  input: "GFM"
18
18
  }).to_ToC
19
- build_list(toc.select { |item| item[0] == 2 }, toc.first[1])
19
+ build_list(toc.select { |item| item[0] == 2 }, toc.first)
20
20
  end
21
21
 
22
22
  private
23
23
 
24
- def build_list(toc, topLink)
25
- result = '<li class="uk-active"><a href="#' + topLink + '">Top</a></li>' + "\n"
24
+ def build_list(toc, top)
25
+ result = '<li class="uk-active"><a href="#' + top[1] + '">' + top[2][0].value + '</a></li>' + "\n"
26
26
 
27
27
  for i in 0...toc.count
28
28
  item = toc[i]
data/lib/juice_lexer.rb CHANGED
@@ -14,7 +14,187 @@ Jekyll::Hooks.register :site, :pre_render do |site|
14
14
  filenames '*.juice'
15
15
 
16
16
  state :root do
17
- rule %r/./m, Text
17
+ mixin :whitespace
18
+ mixin :keyword
19
+ mixin :operator
20
+ mixin :punctuation
21
+ mixin :identifier
22
+ mixin :literal
23
+ end
24
+
25
+ state :whitespace do
26
+ rule %r/[\x20\x0A\x0D\x09\x0B\x0C\x00]+/, Text::Whitespace
27
+ rule %r(//.*\n), Comment::Single
28
+ rule %r(/\*), Comment::Multiline, :multiline_comment
29
+ end
30
+
31
+ state :multiline_comment do
32
+ rule %r/(?:[^\*\/]|\*(?!\/)|\/(?!\*))+/, Comment::Multiline
33
+
34
+ rule %r(/\*), Comment::Multiline, :multiline_comment
35
+ rule %r(\*/), Comment::Multiline, :pop!
36
+ end
37
+
38
+ state :keyword do
39
+ rule %r/binary|enum|extension|func|import|init|internal|let|module|operator|private|precedencegroup|public|static|struct|subscript|throws|trait|type|typeprivate|var/, Keyword::Declaration
40
+ rule %r/break|case|catch|continue|default|defer|do|else|fallthrough|for|guard|if|in|loop|match|return|throw|where|while/, Keyword
41
+ rule %r/as|case|is|self|try/, Keyword
42
+ rule %r/any|some|throws|_/, Keyword::Type
43
+ rule %r/_/, Keyword
44
+ rule %r/above|associativity|below|binary|didSet|get|indirect|left|none|postfix|prefix|right|set|Type|value|willSet/, Keyword
45
+ end
46
+
47
+ state :operator do
48
+ rule %r/[+\-\*\/%<>=&\|\^!\?~]+/, Operator
49
+ rule %r/\.[+\-\*\/%<>=&\|\^!\?~\.]+/, Operator
50
+ end
51
+
52
+ state :punctuation do
53
+ rule %r/\(|\)|\[|\]|\{|\}|\.|,|:|;|=|&|->|=>|`|\?|!/, Punctuation
54
+ end
55
+
56
+ state :identifier do
57
+ rule %r/[_A-Za-z][_A-Za-z0-9]*/, Name
58
+ rule %r/`[_A-Za-z][_A-Za-z0-9]*`/, Name
59
+ end
60
+
61
+ state :literal do
62
+ rule %r/true|false|nil/, Keyword::Constant
63
+ rule %r/'/, Str::Delimiter, :character_literal
64
+
65
+ rule %r/(#*)"""/ do |m|
66
+ token Str::Delimiter
67
+ @multiline = true
68
+ @rawLevel = m[1].length
69
+ push :string_literal
70
+ end
71
+
72
+ rule %r/(#*)"/ do |m|
73
+ token Str::Delimiter
74
+ @multiline = false
75
+ @rawLevel = m[1].length
76
+ push :string_literal
77
+ end
78
+
79
+ rule %r/[0-9][0-9_]*(?:\.[0-9][0-9_]*(?:[eE][+-]?[0-9][0-9_]*)?|[eE][+-]?[0-9][0-9_]*)/, Num::Float
80
+ rule %r/[0-9][0-9_]*/, Num::Integer
81
+ rule %r/0b[01][01_]*/, Num::Bin
82
+ rule %r/0o[0-7][0-7_]*/, Num::Oct
83
+ rule %r/0x[0-9a-fA-F][0-9a-fA-F_]*/, Num::Hex
84
+ end
85
+
86
+ state :character_literal do
87
+ rule %r/[^\\']/ do
88
+ token Str::Char
89
+ goto :character_literal_ending
90
+ end
91
+
92
+ rule %r/\\/ do
93
+ token Str::Escape
94
+ goto :character_literal_ending
95
+ push :escape
96
+ end
97
+ end
98
+
99
+ state :character_literal_ending do
100
+ rule %r/'/, Str::Delimiter, :pop!
101
+ end
102
+
103
+ state :string_literal do
104
+ rule %r/[^\\"\$]+/, Str
105
+ rule %r/"""/ do
106
+ if @multiline
107
+ if @rawLevel > 0
108
+ @delimiter = '"""'
109
+ @currentRawLevel = @rawLevel
110
+ goto :raw_string_literal_ending
111
+ else
112
+ token Str::Delimiter
113
+ pop!
114
+ end
115
+ else
116
+ token Error
117
+ pop!
118
+ end
119
+ end
120
+
121
+ rule %r/"/ do
122
+ if !@multiline
123
+ if @rawLevel > 0
124
+ @delimiter = '"'
125
+ @currentRawLevel = @rawLevel
126
+ goto :raw_string_literal_ending
127
+ else
128
+ token Str::Delimiter
129
+ pop!
130
+ end
131
+ else
132
+ token Str
133
+ end
134
+ end
135
+
136
+ rule %r/\\?\n/ do
137
+ if @multiline
138
+ token Str
139
+ else
140
+ token Error
141
+ pop!
142
+ end
143
+ end
144
+
145
+ rule %r/(\\)(#*)/ do |m|
146
+ if m[2].length < @rawLevel
147
+ token Str
148
+ elsif m[2].length == @rawLevel
149
+ token Str::Escape
150
+ push :escape
151
+ else
152
+ token Error
153
+ end
154
+ end
155
+
156
+ rule %r/\$\{/, Str::Interpol, :interpolation
157
+ end
158
+
159
+ state :raw_string_literal_ending do
160
+ rule %r/#/ do
161
+ @delimiter += '#'
162
+
163
+ if @currentRawLevel > 1
164
+ @currentRawLevel -= 1
165
+ else
166
+ token Str::Delimiter, @delimiter
167
+ pop!
168
+ end
169
+ end
170
+
171
+ rule %r/[^#]/ do
172
+ token Str, @delimiter
173
+ token Str
174
+ goto :string_literal
175
+ end
176
+
177
+ rule %r/\n/ do
178
+ if @multiline
179
+ token Str, @delimiter
180
+ token Str
181
+ goto :string_literal
182
+ else
183
+ token Error
184
+ pop!
185
+ end
186
+ end
187
+ end
188
+
189
+ state :interpolation do # TODO
190
+ rule %r/[^\{\}]+/, Str::Interpol
191
+ rule %r/\{/, Str::Interpol, :interpolation
192
+ rule %r/\}/, Str::Interpol, :pop!
193
+ end
194
+
195
+ state :escape do
196
+ rule %r/0|\\|t|n|r|"|'|\$/, Str::Escape, :pop!
197
+ rule %r/u\{[0-9a-fA-F]{1,8}\}/, Str::Escape, :pop!
18
198
  end
19
199
  end
20
200
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: juicelang-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josef Zoller
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-03 00:00:00.000000000 Z
11
+ date: 2022-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll