Comments (10)
Alternatively, you can of course override kemal
's render
with an implementation that delegates to Kilt.render
as it was before #618. The only difference is that this implementation won't be implicitly provided by kemal.
from kemal.
FYI. I created a shard kemal-kilt which restores removed functionality.
from kemal.
Ah... OK. Oh well. That's sad...
Thanks.
from kemal.
This is because kilt
has been removed as a dependency of kemal
(#467).
If you want to use it, you need to add it as a dependency to your shard.yml
.
See https://github.com/jeromegn/kilt#Installation for instructions.
Related to #629
from kemal.
@straight-shoota so I did. The result is me geetting the slang markup being spat to back to me.
Here's a minimal example:
#!/usr/bin/env bash
# create app
crystal init app kemal-test
cd $_
# main
cat << EOF > src/kemal-test.cr
require "kemal"
require "kilt"
require "kilt/slang"
get "/" do
render "src/views/index.slang"
end
Kemal.run
EOF
# my view
mkdir -p src/views
cat << EOF > src/views/index.slang
doctype html
html
head
meta name="viewport" content="width=device-width,initial-scale=1.0"
title This is a test
body
h1 Hello, world!
EOF
# add shards
cat << EOF >> shard.yml
dependencies:
kemal:
github: kemalcr/kemal
kilt:
github: jeromegn/kilt
slang:
github: jeromegn/slang
EOF
# install shards
shards install
# try out
crystal run src/kemal-test.cr
from kemal.
btw, I didn't mean the "spitting" part as a bad thing. I'm a spanish native speaker and that's how we say it.. hehe `:)
from kemal.
You have to use Kilt.render
instead of kemal
's render
method.
from kemal.
Of course. Thank you.
from kemal.
For what is worth, this actually works:
# create app
crystal init app kemal-test
cd $_
# main
cat << EOF > src/kemal-test.cr
require "kemal"
require "kilt"
require "kilt/slang"
macro render(filename, layout)
__content_filename__ = {{filename}}
content = render {{filename}}
render {{layout}}
end
# Render view with the given filename.
macro render(filename)
Kilt.render({{filename}})
end
get "/" do
render "src/views/index.slang"
end
Kemal.run
EOF
# my view
mkdir -p src/views
cat << EOF > src/views/index.slang
doctype html
html
head
meta name="viewport" content="width=device-width,initial-scale=1.0"
title This is a test
body
h1 Hello, world!
EOF
# add shards
cat << EOF >> shard.yml
dependencies:
kemal:
github: kemalcr/kemal
kilt:
github: jeromegn/kilt
slang:
github: jeromegn/slang
EOF
# install shards
shards install
# try out
crystal run src/kemal-test.cr
from kemal.
Thank you @mamantoha
from kemal.
Related Issues (20)
- How to pass variables to layout script HOT 5
- Allow handling errors with error handlers
- content with layout seems duplicated HOT 1
- Unable to close websocket from the on_message handler
- Getting benchmark behavior I cannot explain (triggers malware detection) HOT 13
- Missing helpers method to define helper methods for use in route handlers and templates
- Proxying of large files fail on Crystal 1.3.x
- Changelog doesn't mention the removal of `kilt`
- Rendering HTML with layout file double renders the inner content HOT 1
- IPv6 support HOT 4
- When use content_for with yield_content, output duplicate page content. HOT 9
- [Question] What is the correct way to share a object(e.g. current_user) across kemal session HOT 3
- before_all can not intercept http processing use env.redirect "new_path" HOT 13
- Internal API broken in Crystal nightly
- Logs are messed up in multithreaded mode HOT 2
- build failed with latest crystal HOT 5
- Error: undefined method 'modification_time' for Kemal::StaticFileHandler (Crystal 1.6.0) HOT 2
- Compilation issue with crystal 1.6 HOT 4
- Problem serving local files HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kemal.