سؤال

وأنا باستخدام Haml من سطر الأوامر للقيام تحويل الأساسية من ملف واحد .haml إلى .html، مثل هذا:

> haml input.haml output.html

والشيء هو، وهذا ينتج-علامات الاقتباس المفردة حول سمات في HTML الناتجة عن ذلك. فكيف لأمرر في الخيار :attr_wrapper => '"' من سطر الأوامر؟

وبدلا من ذلك، يمكنني فقط على الصعيد العالمي وضع :attr_wrapper إلى ضعف الاقتباس؟

هل كانت مفيدة؟

المحلول 2

وماذا لقد انتهى الأمر به هو إضافة ما يلي إلى haml / exec.rb في ~ خط 302

    opts.on('-q', '--double-quote-attribs',
            'Set attribute wrapper to double-quotes (default is single).') do
      @options[:for_engine][:attr_wrapper] = '"'
    end

وهذا يضيف الخيار مخصص لبذل كل ما أحتاج.

ولست متأكدا تماما ما الحكمة من استخدام علامات الاقتباس المفردة-افتراضيا هو: ، التنصيص من شأنه أن يجعل الافتراضي أكثر عقلانية، وكان يظن. أما وقد قلت ذلك، كانت صحيحة تماما.

وقدمت هذا التحديث باعتباره التصحيح وأنه سوف يتم تضمينها في الإصدار 2.4

نصائح أخرى

وأنا لا أعرف من وسيلة لتمرير ذلك كحجة، ولكن HAML سهلة الاستخدام برمجيا:

require 'haml'

template = ARGV.length > 0 ? File.read(ARGV.shift) : STDIN.read
haml_engine = Haml::Engine.new(template, :attr_wrapper => '"')
file = ARGV.length > 0 ? File.open(ARGV.shift, 'w') : STDOUT
file.write(haml_engine.render)
file.close

لا شيء جميل، لكنه سوف تفتح الوسيطة الأولى معينة (أو STDIN إذا أعطيت بدون وسائط)، وتمرير الناتج المقدمة إلى الحجة الثانية (أو STDOUT من لم يعط).

وأنا لا أعرف طريقة لتحديد هذا الخيار إلى العميل سطر الأوامر القياسية. يمكنك التصحيح على مستوى العالم الافتراضي عن طريق تغيير خط haml / engine.rb 73 (في Haml 2.2.2) لقراءة

:attr_wrapper => '"',

وهذا أمر Haml 2.2.2. الأمر مختلف في الإصدارات السابقة. إذا كنت لا تزال تستخدم واحدة من تلك، يمكنك فقط إلى البحث عن نص لل. ": attr_wrapper =>"، وسوف تجد الخط الصحيح

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top