الفرق بين المراجعتين ل"Twig/inline css"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(1.0: إضافة عنوان الصفحة | 2.0 محتوى الصفحة)
 
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: المرشح inline_css في Twig}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: المرشح inline_css في Twig}}</noinclude>
المرشح inline_css يضع أنماط CSS في مستندات HTML:<syntaxhighlight lang="twig">
+
المرشح <code>inline_css</code> يضع أنماط [[CSS]] في مستندات [[HTML]]:<syntaxhighlight lang="twig">
 
{% apply inline_css %}
 
{% apply inline_css %}
 
     <html>
 
     <html>
سطر 13: سطر 13:
 
     </html>
 
     </html>
 
{% endapply %}
 
{% endapply %}
</syntaxhighlight>تضاف بعض أنماط CSS بتمريرها كوسائط إلى المرشح:<syntaxhighlight lang="twig">
+
</syntaxhighlight>تضاف بعض أنماط [[CSS]] بتمريرها كوسائط إلى المرشح:<syntaxhighlight lang="twig">
 
{% apply inline_css(source("some_styles.css"), source("another.css")) %}
 
{% apply inline_css(source("some_styles.css"), source("another.css")) %}
 
     <html>
 
     <html>
سطر 21: سطر 21:
 
     </html>
 
     </html>
 
{% endapply %}
 
{% endapply %}
</syntaxhighlight>كذلك فإن الأنماط التي حمّلها المرشح تتخطى الأنماط المعرفة في وسم <code><style></code> في مستند HTML، ويمكن استخدام المرشح على ملف مدرَج أيضًا كما يلي:<syntaxhighlight lang="twig">
+
</syntaxhighlight>كذلك فإن الأنماط التي حمّلها المرشح تتخطى الأنماط المعرفة في وسم <code><style></code> في مستند [[HTML]]، ويمكن استخدام المرشح على ملف مدرَج أيضًا كما يلي:<syntaxhighlight lang="twig">
 
{{ include('some_template.html.twig')|inline_css }}
 
{{ include('some_template.html.twig')|inline_css }}
  
سطر 31: سطر 31:
 
</syntaxhighlight>ثم ثبت <code>twig/extra-bundle</code> في حالة مشاريع Symfony:<syntaxhighlight lang="twig">
 
</syntaxhighlight>ثم ثبت <code>twig/extra-bundle</code> في حالة مشاريع Symfony:<syntaxhighlight lang="twig">
 
$ composer require twig/extra-bundle
 
$ composer require twig/extra-bundle
</syntaxhighlight>أما غير ذلك فأضف التوسيع صراحة إلى بيئة Twig:<syntaxhighlight lang="twig">
+
</syntaxhighlight>أما غير ذلك فأضف التوسيع صراحة إلى بيئة Twig:<syntaxhighlight lang="php">
 
use Twig\Extra\CssInliner\CssInlinerExtension;
 
use Twig\Extra\CssInliner\CssInlinerExtension;
  
سطر 39: سطر 39:
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* [[Twig/intro|مقدمة عن محرك القوالب Twig.]]
+
* [[Twig/intro|مقدمة عن محرك القوالب Twig]]
* [[Twig/advanced|توسيع Twig.]]
+
* [[Twig/advanced|توسيع Twig]]
* [[Twig/internals|المكونات الداخلية لـ Twig.]]
+
* [[Twig/internals|المكونات الداخلية لـ Twig]]
 
* [[Twig/tags|الوسوم في Twig]]
 
* [[Twig/tags|الوسوم في Twig]]
 
* [[ Twig/filters|المرشحات في Twig]]
 
* [[ Twig/filters|المرشحات في Twig]]
 
== المصادر ==
 
== المصادر ==
* [https://twig.symfony.com/doc/3.x/filters/inline_css.html صفحة توثيق المرشح inline_css في توثيق Twig الرسمي].
+
* [https://twig.symfony.com/doc/3.x/filters/inline_css.html صفحة توثيق المرشح inline_css في توثيق Twig الرسمي]
  
 
[[تصنيف:Twig]]
 
[[تصنيف:Twig]]
 
[[تصنيف:Twig Filters]]
 
[[تصنيف:Twig Filters]]

المراجعة الحالية بتاريخ 15:07، 11 مايو 2021

المرشح inline_css يضع أنماط CSS في مستندات HTML:

{% apply inline_css %}
    <html>
        <head>
            <style>
                p { color: red; }
            </style>
        </head>
        <body>
            <p>Hello CSS!</p>
        </body>
    </html>
{% endapply %}

تضاف بعض أنماط CSS بتمريرها كوسائط إلى المرشح:

{% apply inline_css(source("some_styles.css"), source("another.css")) %}
    <html>
        <body>
            <p>Hello CSS!</p>
        </body>
    </html>
{% endapply %}

كذلك فإن الأنماط التي حمّلها المرشح تتخطى الأنماط المعرفة في وسم <style> في مستند HTML، ويمكن استخدام المرشح على ملف مدرَج أيضًا كما يلي:

{{ include('some_template.html.twig')|inline_css }}

{{ include('some_template.html.twig')|inline_css(source("some_styles.css")) }}

تعمل أداة CSS inliner على مستند HTML كله، وليس جزءًا منه فقط. لاحظ أن المرشح inline_css جزء من CssInlinerExtension وهذا لا يكون مثبتًا افتراضيًا، لذا ثبته أولًا:

$ composer require twig/cssinliner-extra

ثم ثبت twig/extra-bundle في حالة مشاريع Symfony:

$ composer require twig/extra-bundle

أما غير ذلك فأضف التوسيع صراحة إلى بيئة Twig:

use Twig\Extra\CssInliner\CssInlinerExtension;

$twig = new \Twig\Environment(...);
$twig->addExtension(new CssInlinerExtension());

انظر أيضًا

المصادر