Skip to content
This repository was archived by the owner on Aug 11, 2022. It is now read-only.

Commit 218a749

Browse files
committed
Add config for prerender by default
1 parent 10502fa commit 218a749

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ https://github.com/nning/svelte-rails-demo/commits/master
3333

3434
```erb
3535
<%= svelte_component :Hello, name: 'Svelte' %>
36+
<%= svelte_component :Hello, {name: 'Svelte'}, {prerender: true} %>
3637
```
3738

3839
## Controller Renderer
@@ -55,6 +56,13 @@ end
5556
* Render pools
5657
* Better documentation for setup
5758

59+
## Configuration Options
60+
61+
Configuration can be changed in `config/application.rb`, for example.
62+
63+
# Prerender (SSR) by default (i.e. without passing `prerender:true` to the view helper)
64+
config.svelte.prerender_default = false
65+
5866
## Contributing
5967

6068
Bug reports and pull requests are welcome on GitHub at https://github.com/nning/svelte-rails. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/nning/svelte-rails/blob/master/CODE_OF_CONDUCT.md).

lib/svelte/rails/railtie.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
module Svelte::Rails
44
class Railtie < ::Rails::Railtie
5+
config.svelte = ActiveSupport::OrderedOptions.new
6+
7+
# Prerender (SSR) by default (i.e. without passing `prerender:true` to the view helper)
8+
config.svelte.predender_default = false
9+
510
initializer 'svelte_rails.setup_view_helpers', after: :load_config_initializers, group: :all do |app|
611
ActiveSupport.on_load(:action_view) do
712
include ::Svelte::Rails::ViewHelper

lib/svelte/renderer.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ class Renderer
1313

1414
def render(name, props = {}, options = {}, &block)
1515
prerender_options = options[:prerender]
16+
17+
if prerender_options.nil?
18+
prerender_options = ::Rails.application.config.svelte.prerender_default
19+
end
20+
1621
if prerender_options
1722
block = Proc.new { concat(prerender_component(name, props, prerender_options)) }
1823
end

0 commit comments

Comments
 (0)