This PR fixes an issue where embedded Slim templates inside of Ruby
files are not pre processed because we pre process based on a file
extension.
This PR also handles embedded SLIM templates using the following syntax:
```rb
slim_template <<~SLIM
.flex
.flex-1
h1 Hello World
.flex-1
p This is a test
SLIM
```
~~As far as I can tell, this is only a Slim template thing and not a
Haml template thing but I could be wrong here. See:
https://viewcomponent.org/guide/templates.html#interpolations~~
The ViewComponent package handles anything that looks like
`{lang}_template`, so the lang here will be used as the pre processing
language for now.
Fixes: #17334
# Test plan
1. Added test for this
2. Existing tests pass
3. Made sure that the snippet from the issue works as expected:
Added an example where we have a `slim_template` and a `svelte_template`
to prove that it embeds based on the language. I also added a
`html_template` with Svelte syntax to really make sure that that
_doesn't_ work.
<img width="1816" alt="image"
src="https://github.com/user-attachments/assets/35564a32-9c46-4b51-bb1f-e02f4ffe8b01"
/>
26 lines
582 B
TOML
26 lines
582 B
TOML
[package]
|
|
name = "tailwindcss-oxide"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
bstr = "1.11.3"
|
|
globwalk = "0.9.1"
|
|
log = "0.4.22"
|
|
rayon = "1.10.0"
|
|
fxhash = { package = "rustc-hash", version = "2.1.1" }
|
|
crossbeam = "0.8.4"
|
|
tracing = { version = "0.1.40", features = [] }
|
|
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
|
walkdir = "2.5.0"
|
|
ignore = "0.4.23"
|
|
dunce = "1.0.5"
|
|
bexpand = "1.2.0"
|
|
fast-glob = "0.4.3"
|
|
classification-macros = { path = "../classification-macros" }
|
|
regex = "1.11.1"
|
|
fancy-regex = "0.14.0"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3.13.0"
|
|
|