2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Slim 5.2.0 で再び sass: が使えるようになった

Posted at

Ruby のテンプレートシステム Slim では,

doctype html
meta charset="utf-8"
title test sass: in Slim
sass:
  body
    background: orange
h1 Hello

のような感じで,sass: として Sass コードを埋め込むことができる。

ところが,Sass の処理系として,もはや過去のものとなった sass gem や sassc gem でなく,イマドキの sass-embedded gem を使うと,sass: のところでエラーが出る。

このことは,以下の記事の「おまけ」の節に少しだけ詳しく書いた。
Slim は死なず - Qiita

これに困っていたのだが,2023 年 11 月 11 日にリリースされた slim バージョン 5.2.0 で sass-embedded に正式に対応し,解決したようだ。

以下のコードで確認できる(5.2.0 の一つ前のバージョンは 5.1.1)。

Gemfile
# frozen_string_literal: true

source "https://rubygems.org"

gem "slim", "= 5.1.1"
# gem "slim", "= 5.2.0"

gem "sass-embedded"
sample.rb
require "bundler"
Bundler.require

slim = Slim::Template.new{<<~SLIM}
  doctype html
  meta charset="utf-8"
  title test sass: in Slim
  sass:
    body
      background: orange
  h1 Hello
SLIM

puts slim.render

Gemfile でバージョンを 5.1.1 にすると,エラー

unknown keyword: :cache (ArgumentError)

が出る。
バージョンを 5.2.0 にすると,期待どおり

<!DOCTYPE html><meta charset="utf-8" /><title>test sass: in Slim</title><style>body{background:orange}</style><h1>Hello</h1>

が出力される。

ばんざーい! 関係者の方々,ありがとう〜!

ただ,CHANGES を見ても

5.2.0 (2023-11-11)

  * Fix logic less bug - #783
  * Support Rails 7.1 - #936
  * Fix splat arguments on Rails 7.1 - #942

としか書いてなくて,本件に言及が無い。うーむ? まあ直ったからいいや。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?