yass 0.3.0 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d2403483776bfafa63a1b62961f516a4419905c8392e4d76eb79fd48503bbd91
4
- data.tar.gz: cc86724e2ae2474080e88f0e58aef30a8bb052875ffe8593d33a6db6c81bd89a
3
+ metadata.gz: d520abe308c57950c7215ff67f420b807a04877c2c871e561fede4eff273d93a
4
+ data.tar.gz: 10d65ec2011a5f8ba550d3781fec148cb0db646ccf33ae465abd81bbbeb1d0a8
5
5
  SHA512:
6
- metadata.gz: b6d05f3567714a26ae05fc8b9ec8f9bf61eef897293e504b2745bb81e36c99470eff39f6a12be73081d4d27a1016ee32ebc73f7128cb8cb224735bf88bcccb07
7
- data.tar.gz: '0814026244474ee279a5f8c45886bdeebece7da03d6c6523c798adaac2a3980ff038139f8603f388adac3cff061e7584598348e1f60ef4b2d1fa4b309bf298c4'
6
+ metadata.gz: e888b46f195cfcde35f56480555b07eaa150b8ad2d64f37fc81ceb67589cbe856d2b8acac7169b6bf8d42e5abc45b16246b7890986c9ad50aaba12406e841a71
7
+ data.tar.gz: a25ceff7ecc103ef8106da4c19fb4dfbba78d523384c6bbe2f5a20b5f5189a791dd7ec69dbc900d765e5ea0a5c432b169b22677304fc973df550057f1d70d8ca
data/README.md CHANGED
@@ -64,13 +64,17 @@ Layouts live in `layouts/` and will be applied to files with matching names. The
64
64
 
65
65
  If the above layout is named *page.html.liquid*, it will match any file named `*.page.html*`. Examples:
66
66
 
67
- * foo.page.html
68
- * foo.page.html.*
69
- * foo.page.md (because *.md* converts to *.html*)
70
- * foo.page.md.*
67
+ * `foo.page.html`
68
+ * `foo.page.html.*`
69
+ * `foo.page.md` (because *.md* converts to *.html*)
70
+ * `foo.page.md.*`
71
71
 
72
72
  The name of the layout (e.g. `page`) is removed from the final filename, resulting in `foo.html`.
73
73
 
74
+ ### Default layouts
75
+
76
+ If you create a layout named `default.<ext>.liquid`, Yass will apply it to any `.<ext>` files without layouts. For example, a layout named `default.html.liquid` will match `foo.html` or `foo.not-a-layout.md.liquid`.
77
+
74
78
  ## Templates
75
79
 
76
80
  Templates live in `templates/` and can be used in any `.liquid` files.
@@ -135,6 +139,16 @@ puts "Yass!"
135
139
 
136
140
  Hightlight.js CSS and JS files with common languages are included by default with `yass init`. [Download](https://highlightjs.org/download) your own versions if you want different languages or themes.
137
141
 
142
+ ### render_content
143
+
144
+ Renders a template, passing the block as a variable named `content`.
145
+
146
+ ```html
147
+ {% render_content "my_template", other_var: "other var" %}
148
+ <p>This will be passed to "my_template" as "content"</p>
149
+ {% endrender_content %}
150
+ ```
151
+
138
152
  ## Legal
139
153
 
140
154
  MIT License. See LICENSE for details.
data/lib/yass/config.rb CHANGED
@@ -31,6 +31,7 @@ module Yass
31
31
  env.file_system = Liquid::LocalFileSystem.new(template_dir.to_s, "%s.liquid")
32
32
  env.register_filter LiquidFilters
33
33
  env.register_tag 'highlight', LiquidTags::Highlight
34
+ env.register_tag 'render_content', LiquidTags::RenderContent
34
35
  end
35
36
  end
36
37
  end
@@ -1,16 +1,19 @@
1
1
  module Yass
2
2
  module LiquidTags
3
- class Highlight < Liquid::Block
4
- attr_reader :lang
5
-
6
- def initialize(_tag_name, lang, _tokens)
7
- super
8
- @lang = lang.strip
3
+ # Works like `render`, but passes the block content to the template as a variable named `content`
4
+ class RenderContent < Liquid::Block
5
+ def render(context)
6
+ context.stack({}) do
7
+ context["block_content"] = super
8
+ r = Liquid::Render.parse("render", "#{@markup}, content: block_content", nil, @parse_context)
9
+ r.render_tag(context, +"")
10
+ end
9
11
  end
12
+ end
10
13
 
11
- def render(_context)
12
- %(<pre><code class="language-#{lang}">#{super}</code></pre>)
13
- end
14
+ # Wraps the block content in HTML for Highlight.js
15
+ class Highlight < Liquid::Block
16
+ def render(_context) = %(<pre><code class="language-#{@markup.strip}">#{super}</code></pre>)
14
17
  end
15
18
  end
16
19
  end
data/lib/yass/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Yass
2
- VERSION = "0.3.0".freeze
2
+ VERSION = "0.4.0".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yass
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jordan Hollinger