From 289201b8dababb8b79773d1e6eedb213016b23e3 Mon Sep 17 00:00:00 2001 From: s4kr4 Date: Fri, 27 Oct 2017 21:43:57 +0900 Subject: [PATCH] Update README.jp.md (#785) [ci skip] --- README.jp.md | 230 +++++++++++++++++++++++++-------------------------- 1 file changed, 115 insertions(+), 115 deletions(-) diff --git a/README.jp.md b/README.jp.md index bf5d1dda..71a85a1e 100644 --- a/README.jp.md +++ b/README.jp.md @@ -3,9 +3,9 @@ [![Gem Version](https://img.shields.io/gem/v/slim.svg)](http://rubygems.org/gems/slim) [![Build Status](https://img.shields.io/travis/slim-template/slim.svg?branch=master)](http://travis-ci.org/slim-template/slim) [![Dependency Status](https://img.shields.io/gemnasium/slim-template/slim.svg?travis)](https://gemnasium.com/slim-template/slim) [![Code Climate](https://codeclimate.com/github/slim-template/slim/badges/gpa.svg)](https://codeclimate.com/github/slim-template/slim) [![Test Coverage](https://codeclimate.com/github/slim-template/slim/badges/coverage.svg)](https://codeclimate.com/github/slim-template/slim/coverage) [![Gittip donate button](https://img.shields.io/gratipay/bevry.svg)](https://www.gittip.com/min4d/ "Donate weekly to this project using Gittip") [![Flattr donate button](https://raw.github.com/balupton/flattr-buttons/master/badge-89x18.gif)](https://flattr.com/submit/auto?user_id=min4d&url=http%3A%2F%2Fslim-lang.org%2F "Donate monthly to this project using Flattr") -Slim は 不可解にならないように view の構文を本質的な部品まで減らすことを目指したテンプレート言語です。標準的な HTML テンプレートからどれだけのものが削除できるか確かめるところから始まりました。(<, >, 閉じタグなど) 多くの人が Slim に興味を持ったことで, 機能性は発展し, 柔軟な構文をもたらしました。 +Slim は 不可解にならない程度に view の構文を本質的な部品まで減らすことを目指したテンプレート言語です。標準的な HTML テンプレートからどれだけのものを減らせるか、検証するところから始まりました。(<, >, 閉じタグなど) 多くの人が Slim に興味を持ったことで, 機能的で柔軟な構文に成長しました。 -機能の短いリスト +簡単な特徴 * すっきりした構文 * 閉じタグの無い短い構文 (代わりにインデントを用いる) @@ -40,31 +40,31 @@ Slim は 不可解にならないように view の構文を本質的な部品 ### Slim とは? -Slim は __Rails3 および 4__ に対応した高速, 軽量なテンプレートエンジンです。すべての主要な Ruby の実装でしっかりテストされています。 +Slim は __Rails3 および 4__ に対応した高速, 軽量なテンプレートエンジンです。主要な Ruby の実装全てでしっかりテストされています。 私たちは継続的インテグレーションを採用しています。(travis-ci) -Slim の核となる構文は1つの考えによって導かれます: "この動作を行うために最低限必要なものは何か"。 +Slim の核となる構文は1つの考えによって導かれています: "この動作を行うために最低限必要なものは何か。" -多くの人々の Slim への貢献によって, 彼らが使う [Haml](https://github.com/haml/haml) や [Jade](https://github.com/visionmedia/jade) の影響を受け構文の追加が行われています。 Slim の開発チームは美は見る人の目の中にあることを分っているのでこういった追加にオープンです。 +多くの人々の Slim への貢献によって, 彼らが使う [Haml](https://github.com/haml/haml) や [Jade](https://github.com/visionmedia/jade) の影響を受け構文の追加が行われています。 Slim の開発チームは美は見る人の目の中にあることを分っているので、こういった追加にオープンです。 Slim は 構文解析/コンパイルに [Temple](https://github.com/judofyr/temple) を使い [Tilt](https://github.com/rtomayko/tilt) に組み込まれます。これにより [Sinatra](https://github.com/sinatra/sinatra) やプレーンな [Rack](https://github.com/rack/rack) とも一緒に使えます。 -Temple のアーキテクチャはとても柔軟でモンキーパッチなしで構文解析とコンパイルのプロセスの拡張を可能にします。これはロジックレスのプラグインや I18n が提供する翻訳プラグインに +Temple のアーキテクチャはとても柔軟で, モンキーパッチなしで構文解析とコンパイルのプロセスの拡張が可能です。これはロジックレスのプラグインや I18n が提供する翻訳プラグインに 使用されます。ロジックレスモードでは HTML をビルドするために Slim の構文を使いたいが, テンプレートの中で Ruby を書きたくない場合にも Slim を使うことができます。 ### なぜ Slim を使うのか? * Slim によって メンテナンスが容易な限りなく最小限のテンプレートを作成でき, 正しい文法の HTML や XML が書けることを保証します。 -* Slim の構文は美的であり, テンプレートを書くのを楽しくしてくれると思います。Slim は主要なフレームワークで互換性があるので簡単に始めることができます。 -* Slim のアーキテクチャは非常に柔軟なので構文の拡張やプラグインを書くことができます。 +* Slim の構文は美しく, テンプレートを書くのがより楽しくなります。Slim は主要なフレームワークで互換性があるので, 簡単に始めることができます。 +* Slim のアーキテクチャは非常に柔軟なので, 構文の拡張やプラグインを書くことができます。 -___そう, Slim は速い!___ Slim は開発当初からパフォーマンスに注意して開発されました。 +___そう, Slim は速い!___ Slim は開発当初からパフォーマンスに注意して開発されてきました。 ベンチマークはコミット毎に で取られています。 この数字が信じられませんか? それは仕方ないことです。是非 rake タスクを使って自分でベンチマークを取ってみてください! 私たちの考えでは, あなたは Slim の機能と構文を使うべきです。Slim はあなたのアプリケーションのパフォーマンスに悪影響を与えないことを保証します。 -### どう始めるの? +### どうやって使い始めるの? Slim を gem としてインストール: @@ -72,7 +72,7 @@ Slim を gem としてインストール: gem install slim ~~~ -あなたの Gemfile に `gem 'slim'` と書いてインクルードするか, ファイルに `require 'slim'` と書く必要があります。これだけです! 後は拡張子に .slim を使うだけで準備はできています。 +あなたの Gemfile に `gem 'slim'` と書いてインクルードするか, ファイルに `require 'slim'` と書く必要があります。これだけです! 後は拡張子に .slim を使うだけで準備完了です。 ### 構文例 @@ -87,7 +87,7 @@ html meta name="author" content=author link rel="icon" type="image/png" href=file_path("favicon.png") javascript: - alert('Slim は javascript の埋め込みに対応します!') + alert('Slim は javascript の埋め込みに対応しています!') body h1 マークアップ例 @@ -112,14 +112,14 @@ html | Copyright © #{@year} #{@author} ~~~ -インデントについて, インデントの深さはあなたの好みで選択できます。もし最初のインデントをスペース2つ, その次に5スペースを使いたい場合, それはあなたの選択次第です。マークアップを入れ子にするにはスペース1つのインデントが必要なだけです。 +インデントについて, インデントの深さはあなたの好みで選択できます。もしあなたが最初のインデントをスペース2つ, その次に5スペースを使いたい場合, それも自由です。マークアップを入れ子にするには最低1つのスペースによるインデントが必要なだけです。 ## ラインインジケータ ### テキスト `|` -パイプは Slim に行をコピーしろと命じます。基本的にどのような処理でもエスケープします。 -パイプよりも深くインデントされた各行がコピーされます。 +パイプを使うと, Slim は行をコピーします。基本的にどのような処理でもエスケープします。 +パイプよりも深くインデントされた全ての行がコピーされます。 ~~~ slim body @@ -153,14 +153,14 @@ body | #{a.name}#{a.description} ~~~ -### スペース付きテキスト `'` +### 末尾スペース付きのテキスト `'` -シングルクォートは Slim に行をコピーしろと命じます (`|` と同様に) が, 末尾にスペースが追加されます。 +シングルクォートは `|` と同様に行をコピーしますが, 末尾にスペースが1つ追加されます。 ### インライン html `<` (HTML 形式) -あなたは html タグを直接 Slim の中に書くことができます。Slim は閉じタグを使った html タグ形式や html と Slim を混ぜてテンプレートの中に書くことができます。 -行頭が '<' の場合, 暗黙の `|` があるものとして動作します: +HTML タグを直接 Slim の中に書くことができます。Slim では, 閉じタグを使った HTML タグ形式や HTML と Slim を混ぜてテンプレートの中に書くことができます。 +行頭が '<' の場合, 暗黙的に `|` があるものとして動作します: ~~~ slim @@ -179,7 +179,7 @@ body ### 制御コード `-` ダッシュは制御コードを意味します。制御コードの例としてループと条件文があります。`end` は `-` の後ろに置くことができません。ブロックはインデントによってのみ定義されます。 -複数行にわたる Ruby のコードが必要な場合, 行末にバックスラッシュ `\` を追加します。行末がカンマ `,` で終わる場合 (例 関数呼び出し) には行末にバックスラッシュを追加する必要はありません。 +複数行にわたる Ruby のコードが必要な場合, 行末にバックスラッシュ `\` を追加します。行末がカンマ `,` で終わる場合 (例 関数呼び出し) には, 行末にバックスラッシュを追加する必要はありません。 ~~~ slim body @@ -189,7 +189,7 @@ body ### 出力 `=` -イコールはバッファに追加する出力を生成する Ruby 呼び出しを Slim に命令します。Ruby のコードが複数行にわたる場合, 例のように行末にバックスラッシュを追加します。 +イコールはバッファに追加する出力を生成する Ruby コードの呼び出しを Slim に命令します。Ruby のコードが複数行にわたる場合, 例のように行末にバックスラッシュを追加します。 ~~~ slim = javascript_include_tag \ @@ -197,7 +197,7 @@ body "application" ~~~ -行末がカンマ `,` で終わる場合 (例 関数呼び出し) には行末にバックスラッシュを追加する必要はありません。行末スペースを追加するために修飾子の `>` や `<` もサポートします。 +行末がカンマ `,` で終わる場合 (例 関数呼び出し) には行末にバックスラッシュを追加する必要はありません。行末・行頭にスペースを追加するために修飾子の `>` や `<` がサポートされています。 * `=>` は末尾のスペースを伴った出力をします。 末尾のスペースが追加されることを除いて, 単一の等合 (`=`) と同じです。 * `=<` は先頭のスペースを伴った出力をします。先頭のスペースが追加されることを除いて, 単一の等号 (`=`) と同じです。 @@ -206,8 +206,8 @@ body 単一のイコール (`=`) と同じですが, `escape_html` メソッドを経由しません。 末尾や先頭のスペースを追加するための修飾子 `>` と `<` はサポートされています。 -* `==>` は HTML エスケープを行わず末尾のスペースを伴った出力をします。末尾のスペースが追加されることを除いて, 二重等号 (`==`) と同じです。 -* `==<` は HTML エスケープを行わず先頭のスペースを伴った出力をします。先頭のスペースが追加されることを除いて, 二重等号 (`==`) と同じです。 +* `==>` は HTML エスケープを行わずに, 末尾のスペースを伴った出力をします。末尾のスペースが追加されることを除いて, 二重等号 (`==`) と同じです。 +* `==<` は HTML エスケープを行わずに, 先頭のスペースを伴った出力をします。先頭のスペースが追加されることを除いて, 二重等号 (`==`) と同じです。 ### コードコメント `/` @@ -246,11 +246,11 @@ html コメントにはスラッシュの直後にエクスクラメーション ## HTML タグ -# 宣言 +### 宣言 -doctype はとても簡単な方法で複雑なドキュメントタイプを生成するために使われる特別なキーワードです。 +doctype キーワードでは, とても簡単な方法で複雑な DOCTYPE を生成できます。 -XML 宣言 +XML バージョン ~~~ slim doctype xml @@ -260,7 +260,7 @@ doctype xml ISO-8859-1 ~~~ -XHTML ドキュメントタイプ +XHTML DOCTYPES ~~~ slim doctype html @@ -294,7 +294,7 @@ doctype transitional "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ~~~ -HTML 4 ドキュメントタイプ +HTML 4 DOCTYPES ~~~ slim doctype strict @@ -310,7 +310,7 @@ doctype transitional "http://www.w3.org/TR/html4/loose.dtd"> ~~~ -### 閉じタグ (末尾 `/`) +### 閉じタグ (末尾の `/`) 末尾に `/` を付けることで明示的にタグを閉じることができます。 @@ -321,7 +321,7 @@ img src="image.png"/ (注) 標準的な html タグ (img, br, ...) は自動的にタグを閉じるので, 通常必要ありません。 -### スペースを追加する (`<`, `>`) +### 行頭・行末にスペースを追加する (`<`, `>`) a タグの後に > を追加することで末尾にスペースを追加するよう Slim に強制することができます。 @@ -330,7 +330,7 @@ a> href='url1' リンク1 a> href='url2' リンク2 ~~~ -< を追加することで先頭のスペースを追加できます。 +< を追加することで先頭にスペースを追加できます。 ~~~ slim a< href='url1' リンク1 @@ -345,7 +345,7 @@ a<> href='url1' リンク1 ### インラインタグ -時々タグをよりコンパクトにインラインにしたくなるかもしれません。 +タグをよりコンパクトにインラインにしたくなることがあるかもしれません。 ~~~ slim ul @@ -353,7 +353,7 @@ ul li: a href="/b" B リンク ~~~ -読みやすくするために, 属性を囲むことができるのを忘れないでください。 +可読性のために, 属性を囲むことができるのを忘れないでください。 ~~~ slim ul @@ -370,7 +370,7 @@ body h1 id="headline" 私のサイトへようこそ。 ~~~ -入れ子にするのかどちらかです。エスケープ処理を行うためにはパイプかバッククォートを使わなければなりません。 +入れ子にするかのどちらかです。エスケープ処理を行うためにはパイプかシングルクォートを使わなければなりません。 ~~~ slim @@ -406,7 +406,7 @@ body ### 属性 -タグの後に直接属性を書きます。属性のテキストにはダブルクォート `"` か シングルクォート `'` を使わなければなりません (引用符で囲まれた属性)。 +タグの後に直接属性を書きます。通常の属性記述にはダブルクォート `"` か シングルクォート `'` を使わなければなりません (引用符で囲まれた属性)。 ~~~ slim a href="http://slim-lang.com" title='Slim のホームページ' Slim のホームページへ @@ -417,8 +417,8 @@ a href="http://slim-lang.com" title='Slim のホームページ' Slim のホー #### 属性の囲み 区切り文字が構文を読みやすくするのであれば, -`{...}`, `(...)`, `[...]` が属性の囲みに使えます。 -これらの記号は設定できます (`:attr_list_delims` オプション参照)。 +`{...}`, `(...)`, `[...]` で属性を囲むことができます。 +これらの記号は設定で変更できます (`:attr_list_delims` オプション参照)。 ~~~ slim body @@ -507,7 +507,7 @@ input type="text" disabled=nil #### 属性の結合 複数の属性が与えられた場合に属性をまとめるように設定することができます (`:merge_attrs` 参照)。デフォルト設定では - class 属性は空白区切りで結合されます。 + class 属性はスペース区切りで結合されます。 ~~~ slim a.menu class="highlight" href="http://slim-lang.com/" Slim-lang.com @@ -519,7 +519,7 @@ a.menu class="highlight" href="http://slim-lang.com/" Slim-lang.com Slim-lang.com ~~~ -また, `Array` や配列要素を属性値として区切り文字で結合し使うこともできます。 +また, `Array` を属性値として使うと、配列要素が区切り文字で結合されます。 ~~~ slim a class=["menu","highlight"] @@ -540,7 +540,7 @@ a class=:menu,:highlight
Slim の家
~~~ -次のようにハッシュを返すメソッドやインスタンス変数を使うこともできます" +次のようにハッシュを返すメソッドやインスタンス変数を使うこともできます。 ~~~ slim .card *method_which_returns_hash = place.name @@ -559,7 +559,7 @@ a class=:menu,:highlight div class="first second third" ~~~ -スプラット(アスタリスク)属性のプレフィックスは `splat_prefix` オプションで設定できます。デフォルト値は `'*'` です。 +アスタリスク(スプラット)属性のプレフィックスは `splat_prefix` オプションで設定できます。デフォルト値は `'*'` です。 #### 動的タグ `*` @@ -587,7 +587,7 @@ ruby: #### タグショートカット -`:shortcut` オプションを設定することで独自のタグショートカットを定義できます。Rails アプリケーションでは, `config/initializers/slim.rb` のようにイニシャライザに定義します。Sinatra アプリでは, `require 'slim'` が書かれた下であればどこにでも設定を定義することができます。 +`:shortcut` オプションを設定することで独自のタグショートカットを定義できます。Rails アプリケーションでは, `config/initializers/slim.rb` のようなイニシャライザに定義します。Sinatra アプリでは, `require 'slim'` を書いた行以降であれば, どこにでも設定を定義することができます。 ~~~ ruby Slim::Engine.set_options shortcut: {'c' => {tag: 'container'}, '#' => {attr: 'id'}, '.' => {attr: 'class'} } @@ -607,9 +607,9 @@ c.content テキスト #### 属性のショートカット -カスタムショートカットを定義することができます (`#` が id で `.` が class であるように)。 +カスタムショートカットを定義することができます (id の`#` , class の `.` のように)。 -例として `&` で作った type 属性付きの input 要素のショートカットを作成し追加します。 +例として, type 属性付きの input 要素のショートカット `&` を追加します。 ~~~ ruby Slim::Engine.set_options shortcut: {'&' => {tag: 'input', attr: 'type'}, '#' => {attr: 'id'}, '.' => {attr: 'class'}} @@ -631,7 +631,7 @@ Slim コードの中でこの様に使用できます。 ~~~ -別の例として `@` で作った role 属性のショートカットを作成し追加します。 +別の例として, role 属性のショートカット `@` を追加します。 ~~~ ruby Slim::Engine.set_options shortcut: {'@' => 'role', '#' => 'id', '.' => 'class'} @@ -655,13 +655,13 @@ Slim コードの中でこの様に使用できます。 Slim::Engine.set_options shortcut: {'@' => {attr: %w(data-role role)}} ~~~ -Slim の中で次のように使用し +Slim の中で次のように使用すると, ~~~ slim .person@admin = person.name ~~~ -このようのレンダリングされます。 +このようにレンダリングされます。 ~~~ html
Daniel
@@ -718,7 +718,7 @@ body ## ヘルパ, キャプチャとインクルード -いくつかのヘルパを使用してテンプレートを拡張することもできます。次のヘルパが定義されていることを前提として, +いくつかのヘルパを使用してテンプレートを拡張することもできます。次のヘルパが定義されているとして, ~~~ruby module Helpers @@ -728,14 +728,14 @@ module Helpers "

#{capture(&block)}

" else # フレームワークなしで Slim を使う場合(Tilt の場合), - # ただ出力する + # そのまま出力する "

#{yield}

" end end end ~~~ -このインクルードされたコードのスコープは実行される Slim のテンプレートコードです。Slim テンプレートの中では次のように使用することができます。 +実行する Slim のテンプレートコードのスコープにインクルードされます。このヘルパは, Slim テンプレートの中で次のように使用することができます。 ~~~ slim p @@ -764,7 +764,7 @@ module Helpers set_var = block.binding.eval("lambda {|x| #{var} = x }") # Rails では capture! を使います # Slim をフレームワークなしで使う場合 (Tilt のみを使う場合), - # キャプチャブロックを取得するには yield が利用できます + # キャプチャブロックを取得するには yield だけが利用できます set_var.call(defined?(::Rails) ? capture(&block) : yield) end end @@ -801,7 +801,7 @@ end その後は, `link_list`はキャプチャしたコンテンツを含みます。 -### インクルードヘルパ +### インクルードヘルパ コンパイル時にインクルード機能を使いたい場合には, [パーシャルのインクルード](doc/jp/include.md) を見てください。 実行時にサブテンプレートを実行すること ( Rails の `#render` のように) もできます。インクルードヘルパを自分で用意する必要があります: @@ -843,7 +843,7 @@ body ## 埋め込みエンジン (Markdown, ...) -ありがとう [Tilt](https://github.com/rtomayko/tilt), Slim は他のテンプレートエンジンの埋め込みに見事に対応します。 +[Tilt](https://github.com/rtomayko/tilt)のおかげで, Slim は他のテンプレートエンジンの埋め込みに見事に対応しています。 例: @@ -864,19 +864,19 @@ p: markdown: Tag with **inline** markdown! | フィルタ | 必要な gems | 種類 | 説明 | | -------- | ----------- | ---- | ----------- | | ruby: | なし | ショートカット | Ruby コードを埋め込むショートカット | -| javascript: | なし | ショートカット | javascript コードを埋め込むショートカットで script タグで囲む | -| css: | なし | ショートカット | css コードを埋め込むショートカットで style タグで囲む | -| sass: | sass | コンパイル時 | sass コードを埋め込むショートカットで style タグで囲む | -| scss: | sass | コンパイル時 | scss コードを埋め込むショートカットで style タグで囲む | -| less: | less | コンパイル時 | less コードを埋め込むショートカットで style タグで囲む | -| styl: | styl | コンパイル時 | stylus コードを埋め込むショートカットで style タグで囲む | -| coffee: | coffee-script | コンパイル時 | コンパイルした CoffeeScript で script タグで囲む | -| asciidoc: | asciidoctor | コンパイル時 + 展開 | AsciiDoc コードのコンパイルとテキスト中の # \{variables} の展開 | -| markdown: | redcarpet/rdiscount/kramdown | コンパイル時 + 展開 | Markdownのコンパイルとテキスト中の # \{variables} の展開 | -| textile: | redcloth | コンパイル時 + 展開 | textile のコンパイルとテキスト中の # \{variables} の展開 | -| creole: | creole | コンパイル時 + 展開 | cleole のコンパイルとテキスト中の # \{variables} の展開 | -| wiki:, mediawiki: | wikicloth | コンパイル時 + 展開 | wiki のコンパイルとテキスト中の # \{variables} の展開 | -| rdoc: | rdoc | コンパイル時 + 展開 | RDoc のコンパイルとテキスト中の # \{variables} の展開 | +| javascript: | なし | ショートカット | javascript コードを埋め込み、script タグで囲む | +| css: | なし | ショートカット | css コードを埋め込み、style タグで囲む | +| sass: | sass | コンパイル時 | sass コードを埋め込み、style タグで囲む | +| scss: | sass | コンパイル時 | scss コードを埋め込み、style タグで囲む | +| less: | less | コンパイル時 | less コードを埋め込み、style タグで囲む | +| styl: | styl | コンパイル時 | stylus コードを埋め込み、 style タグで囲む | +| coffee: | coffee-script | コンパイル時 | CoffeeScript をコンパイルし、 script タグで囲む | +| asciidoc: | asciidoctor | コンパイル時 + 展開 | AsciiDoc をコンパイルし、テキスト中の # \{variables} を展開 | +| markdown: | redcarpet/rdiscount/kramdown | コンパイル時 + 展開 | Markdown をコンパイルし、テキスト中の # \{variables} を展開 | +| textile: | redcloth | コンパイル時 + 展開 | textile をコンパイルし、テキスト中の # \{variables} を展開 | +| creole: | creole | コンパイル時 + 展開 | cleole をコンパイルし、テキスト中の # \{variables} を展開 | +| wiki:, mediawiki: | wikicloth | コンパイル時 + 展開 | wiki をコンパイルし、テキスト中の # \{variables} を展開 | +| rdoc: | rdoc | コンパイル時 + 展開 | RDoc をコンパイルし、テキスト中の # \{variables} を展開 | | builder: | builder | プレコンパイル | builder コードの埋め込み | | nokogiri: | nokogiri | プレコンパイル | nokogiri コードの埋め込み | | erb: | なし | プレコンパイル | erb コードの埋め込み | @@ -938,54 +938,54 @@ Slim::Engine.with_options(pretty: false) do end ~~~ -### 可能なオプション +### 設定可能なオプション 次のオプションが `Slim::Engine` によって用意され `Slim::Engine.set_options` で設定することができます。 -沢山ありますが良いことに, Slim はもし誤った設定キーを使用しようとした場合キーをチェックしエラーを報告します。 +沢山ありますが, 素晴らしいことに, Slim は設定キーをチェックし, 無効な設定キーを使用しようとしていた場合, エラーを返してくれます。 -| 種類 | 名前 | デフォルト | 用途 | +| 型 | 名前 | デフォルト | 用途 | | ---- | ---- | ---------- | ---- | -| 文字列 | :file | nil | 解析対象のファイル名ですが, Slim::Template によって自動的に設定されます | -| 数値 | :tabsize | 4 | 1 タブあたりのスペース数 (構文解析で利用されます) | -| 文字列 | :encoding | "utf-8" | テンプレートのエンコーディングを設定 | -| 文字列 | :default_tag | "div" | タグ名が省略されている場合デフォルトのタグとして使用される | -| ハッシュ | :shortcut | \{'.' => {attr: 'class'}, '#' => {attr: 'id'}} | 属性のショートカット | -| ハッシュ | :code_attr_delims | \{'(' => ')', '[' => ']', '{' => '}'} | Ruby コードの属性区切り文字 | -| ハッシュ | :attr_list_delims | \{'(' => ')', '[' => ']', '{' => '}'} | 属性リスト区切り文字 | -| 配列<シンボル,文字列> | :enable_engines | nil (すべて可) | 有効な埋め込みエンジンリスト (ホワイトリスト) | -| 配列<シンボル,文字列> | :disable_engines | nil (無効なし) | 無効な埋め込みエンジンリスト (ブラックリスト) | -| 真偽値 | :disable_capture | false (Rails では true) | ブロック内キャプチャ無効 (ブロックはデフォルトのバッファに書き込む) | -| 真偽値 | :disable_escape | false | 文字列の自動エスケープ無効 | -| 真偽値 | :use_html_safe | false (Rails では true) | ActiveSupport の String# html_safe? を使う (:disable_escape と一緒に機能する) | -| シンボル | :format | :xhtml | html の出力フォーマット (対応フォーマット :html, :xhtml, :xml) | -| 文字列 | :attr_quote | '"' | html の属性を囲む文字 (' または " が可能) | -| ハッシュ | :merge_attrs | \{'class' => ' '} | 複数の html 属性が与えられた場合結合に使われる文字列 (例: class="class1 class2") | -| 配列<文字列> | :hyphen_attrs | %w(data) | 属性にハッシュが与えられた場合ハイフンつなぎされます。(例: data={a:1, b:2} は data-a="1" data-b="2" のように) | -| 真偽値 | :sort_attrs | true | 名前によって属性をソート | -| シンボル | :js_wrapper | nil | :comment, :cdata や :both で JavaScript をラップします。:guess を指定することで :format オプションに基いて設定することもできます | -| 真偽値 | :pretty | false | 綺麗な html インデント (遅くなります!) | -| 文字列 | :indent | ' ' | インデントに使用される文字列 | -| 真偽値 | :streaming | false (Rails では true, 無効化するにはストリーミングを参照) | ストリーミング出力の有効化, 体感的なパフォーマンスの向上 | -| Class | :generator | Temple::Generators::StringBuffer/ RailsOutputBuffer | Temple コードジェネレータ (デフォルトのジェネレータは文字列バッファを生成します) | -| 文字列 | :buffer | '_buf' (Rails では '@output_buffer') | バッファに使用される変数 | -| 文字列 | :splat_prefix | '*' | スプラット(アスタリスク)属性のプレフィックス | +| String | :file | nil | 解析対象のファイル名。 Slim::Template によって自動的に設定されます | +| Integer | :tabsize | 4 | 1 タブあたりのスペース数 (構文解析で利用されます) | +| String | :encoding | "utf-8" | テンプレートのエンコーディングを設定 | +| String | :default_tag | "div" | タグ名が省略されている場合デフォルトのタグとして使用される | +| Hash | :shortcut | \{'.' => {attr: 'class'}, '#' => {attr: 'id'}} | 属性のショートカット | +| Hash | :code_attr_delims | \{'(' => ')', '[' => ']', '{' => '}'} | Ruby コードの属性区切り文字 | +| Hash | :attr_list_delims | \{'(' => ')', '[' => ']', '{' => '}'} | 属性リスト区切り文字 | +| Array<Symbol,String> | :enable_engines | nil (すべて有効) | 有効な埋め込みエンジンリスト (ホワイトリスト) | +| Array<Symbol,String> | :disable_engines | nil (無効なし) | 無効な埋め込みエンジンリスト (ブラックリスト) | +| Boolean | :disable_capture | false (Rails では true) | ブロック内キャプチャ無効 (ブロックはデフォルトのバッファに書き込む) | +| Boolean | :disable_escape | false | Stringの自動エスケープ無効 | +| Boolean | :use_html_safe | false (Rails では true) | ActiveSupport の String# html_safe? を使う (:disable_escape と一緒に機能する) | +| Symbol | :format | :xhtml | HTML の出力フォーマット (対応フォーマット :html, :xhtml, :xml) | +| String | :attr_quote | '"' | HTML の属性を囲む文字 (' または " が可能) | +| Hash | :merge_attrs | \{'class' => ' '} | 複数の html 属性が与えられたときに, 結合に使われる文字 (例: class="class1 class2") | +| Array<String> | :hyphen_attrs | %w(data) | 属性にハッシュが与えられたとき, ハイフンで区切られます。(例: data={a:1, b:2} は data-a="1" data-b="2" のように) | +| Boolean | :sort_attrs | true | 名前順に属性をソート | +| Symbol | :js_wrapper | nil | :commentや :cdata , :both で JavaScript をラップします。:guess を指定することで :format オプションに基いて設定することもできます | +| Boolean | :pretty | false | HTML を綺麗にインデントします。ブロック要素のタグでのみ、インデントされます。 (遅くなります!) | +| String | :indent | ' ' | インデントに使用される文字列 | +| Boolean | :streaming | false (Rails では true, 無効化するにはストリーミングを参照) | ストリーミング出力の有効化, 体感的なパフォーマンスの向上 | +| Class | :generator | Temple::Generators::StringBuffer/ RailsOutputBuffer | Temple コードジェネレータ (デフォルトのジェネレータはStringバッファを生成します) | +| String | :buffer | '_buf' (Rails では '@output_buffer') | バッファに使用される変数 | +| String | :splat_prefix | '*' | アスタリスク(スプラット)属性のプレフィックス | Temple フィルタによってもっと多くのオプションがサポートされていますが一覧には載せず公式にはサポートしません。 Slim と Temple のコードを確認しなければなりません。 ### オプションの優先順位と継承 -Slim や Temple のアーキテクチャについてよく知っている開発者は異なる場所で設定を +Slim や Temple のアーキテクチャについてよく知っている開発者は, 別の場所で設定を 上書きすることができます。 Temple はサブクラスがスーパークラスのオプションを上書きできるように 継承メカニズムを採用しています。オプションの優先順位は次のとおりです: 1. `Slim::Template` オプションはエンジン初期化時に適用されます 2. `Slim::Template.options` 3. `Slim::Engine.thread_options`, `Slim::Engine.options` -5. パーサ/フィルタ/ジェネレータ `thread_options`, `options` (例: `Slim::Parser`, `Slim::Compiler`) +5. Praser/Filter/Generator `thread_options`, `options` (例: `Slim::Parser`, `Slim::Compiler`) -`Temple::Engine` のようにスーパークラスのオプションを設定することも可能です。しかしこれはすべての Temple テンプレートエンジンに影響します。 +`Temple::Engine` のようにスーパークラスのオプションを設定することも可能です。しかし, こうするとすべての Temple テンプレートエンジンに影響します。 ~~~ ruby Slim::Engine < Temple::Engine @@ -1013,8 +1013,8 @@ Slim::Template.new('template.slim', optional_option_hash).render(scope) Slim::Template.new(optional_option_hash) { source }.render(scope) ~~~ -optional_option_hash は前述のオプションを持つことができます。このオブジェクトのスコープは実行されるテンプレートの -コードです。 +optional_option_hash は前述のオプションを持つことができます。スコープはコードが実行されるテンプレートの +オブジェクトです。 ### Sinatra @@ -1038,12 +1038,12 @@ html Rails のジェネレータは [slim-rails](https://github.com/slim-template/slim-rails) によって提供されます。 slim-rails は Rails で Slim を使用する場合に必須ではありません。Slim をインストールし Gemfile に `gem 'slim'` を追加するだけです。 -後は .slim 拡張子を使えば Rails で使用できます。 +後は .slim 拡張子を使うだけです。 #### ストリーミング -HTTP ストリーミングは Rails がそれをサポートしているバージョンであればデフォルトで有効化されています。しかし, ストリーミングが体感的なパフォーマンスを改善していることを知る必要があります。 -レンダリング時間は増加するでしょう。ストリーミングを無効化したい場合の設定です: +HTTP ストリーミングをサポートしているバージョンの Rails であれば, デフォルトで有効化されています。しかし, ストリーミングは体感的なパフォーマンスを改善しているだけであることに注意してください。 +レンダリング時間は増加するでしょう。ストリーミングを無効化したい場合, 以下のように設定します: ~~~ ruby Slim::RailsTemplate.set_options streaming: false @@ -1055,18 +1055,18 @@ Slim は Angular2 の構文に対応しています。ただし, いくつかの #### `splat_prefix` オプション -このオプションはパーサにスプラット(アスタリスク)属性に使用する構文を知らせます。 +このオプションは, アスタリスク(スプラット)属性に使用する構文をパーサに指定します。 デフォルト値はアスタリスクです: `splat_prefix: '*'` -アスタリスクは Angular2 でも構造ディレクティブとして `*ngIf` などで使われます。デフォルトの設定値は Slim と Angular2 の構文衝突の原因になります。 +アスタリスクは Angular2 でも構造ディレクティブとして `*ngIf` などで使われます。デフォルトの設定値では, Slim と Angular2 の構文は衝突します。 解決方法は 2 つあります: -* `splat_prefix` に 2 重アスタリスクのようなカスタム値(`splat_prefix: '**'`)を設定します。これで構造ディレクティブは期待通りに機能するはずです。スプラット(アスタリスク)属性は設定したカスタム値のプレフィックスで書かなければならないので注意してください。 -* アスタリスクではない代わりのディレクティブ構文を使う +* `splat_prefix` に 2重アスタリスクのようなカスタム値(`splat_prefix: '**'`)を設定します。これで構造ディレクティブは期待通りに機能するはずです。アスタリスク属性は設定したカスタム値のプレフィックスで書かなければならないので注意してください。 +* アスタリスクではない代わりのディレクティブ構文を使います。 #### 属性区切り文字 -Angular と Slim はそれぞれの構文で括弧を使います。この場合も解決方法は 2 つ: +Angular と Slim はそれぞれの構文で括弧を使います。この場合も解決方法は 2 つあります: * バインディングに代わりの構文を使う (`bind-...` など) * 属性区切り文字を波括弧に限定する ``` @@ -1078,7 +1078,7 @@ attr_list_delims: { }, ``` -これで次のよう書けます: +これで次のように書けます: ``` h1{ #var (bind1)="test" [bind2]="ok" [(bind3)]="works?" *ngIf="expr" *ngFor="expression" } {{it works}} ``` @@ -1139,7 +1139,7 @@ markdown: ### 構文ハイライト -様々なテキストエディタのためのプラグインがあります。(最も重要なものも含めて - Vim, Emacs や Textmate): +様々なテキストエディタ(Vim や Emacs, Textmateなど)のためのプラグインがあります。: * [Vim](https://github.com/slim-template/vim-slim) * [Emacs](https://github.com/slim-template/emacs-slim) @@ -1160,7 +1160,7 @@ markdown: *そうです, Slim は最速の Ruby のテンプレートエンジンです! production モードの Slim は Erubis (最速のテンプレートエンジン) と同じくらい高速です。 - ありがたいことに何らかの理由であなたが Slim を選択した場合, 私たちは + どんな理由であれ, あなたが Slim を選択していただければ嬉しいし, 私たちは パフォーマンスが障害にならないだろうことを保証します。* ベンチマークは `rake bench` で実行します。時間が余計にかかりますが遅い解析ベンチマークを @@ -1170,18 +1170,18 @@ markdown: rake bench slow=1 iterations=1000 ~~~ -私たちはコミット毎に Travis-CI でベンチマークをとっています。最新のベンチマーク結果はリンク先を確認: +私たちはコミット毎に Travis-CI でベンチマークをとっています。最新のベンチマーク結果はこちらです: ### テストスイートと継続的インテグレーション Slim は minitest ベースの拡張性のあるテストスイートを提供します。テストは 'rake test' または rails のインテグレーションテストの場合 'rake test:rails' で実行できます。 -私たちは現在 markdown ファイルで書かれた人間が読めるテストを試しています: [TESTS.md](test/literate/TESTS.md) +私たちは現在 markdown ファイルで書かれ, 人間が読み書きしやすいテストを試しています: [TESTS.md](test/literate/TESTS.md) Travis-CI は継続的インテグレーションテストに利用されています: -Slim はすべての主要な Ruby 実装で動作します: +Slim は主要な Ruby 実装全てで動作します: * Ruby 2.0, 2.1, 2.2 および 2.3 * JRuby 1.9 mode @@ -1199,7 +1199,7 @@ $ git clone git://github.com/slim-template/slim Ruby の 2.3.0, 2.2.0, 2.1.0 と 2.0.0 でテストをすることを覚えておいてください。 -もしドキュメントの不足を見つけたら, README.md をアップデートして私たちを助けて下さい。Slim に割く時間がないが, 私たちが知るべきものを何か見つけた場合には issue を送ってください。 +もしドキュメントの不足を見つけたら, README.md をアップデートして私たちを助けて下さい。Slim に割ける時間がないが, 私たちが知っておくべきことを見つけた場合には issue を送ってください。 ## License @@ -1211,7 +1211,7 @@ Slim は [MIT license](http://www.opensource.org/licenses/MIT) に基づいて * [Andrew Stone](https://github.com/stonean) * [Fred Wu](https://github.com/fredwu) -## 寄付とサポート +## 寄付と支援 このプロジェクトをサポートしたい場合, Gittip や Flattr のページを見てください。