سؤال

لقد تم توثيق حزمة برامج باستخدام أبو الهول و إعادة هيكلة النص.

ضمن مستنداتي ، هناك بعض قصاصات التعليمات البرمجية الطويلة. أريد أن أكون قادرًا على إخفاءهم كإعداد افتراضي ، مع زر "عرض/إخفاء" صغير من شأنه أن يوسعها (مثال).

هل هناك طريقة قياسية للقيام بذلك؟

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

المحلول

أعتقد أن أسهل طريقة للقيام بذلك هي إنشاء سمة مخصصة لـ sphinx حيث تخبر عناصر HTML معينة أن يكون لها هذه الوظيفة. القليل من jQuery سوف يقطع شوطا طويلا هنا.

إذا كنت تريد ، مع ذلك ، أن تكون قادرًا على تحديد ذلك في ترميز النص الخاص بك ، ستحتاج إلى أي منهما

  • احصل على مثل هذا الشيء المدرج في أبو الهول نفسه أو
  • قم بتنفيذها في امتداد sphinx/docutils ... ثم قم بإنشاء سمة sphinx التي كانت على علم بهذه الوظيفة.

سيكون هذا عمل أكثر قليلاً ، ولكنه سيمنحك المزيد من المرونة.

نصائح أخرى

لا تحتاج إلى موضوع مخصص. استخدم التوجيه المدمج container يتيح لك ذلك إضافة فئات CSS مخصصة لحجبات وتجاوز موضوع الوجود لإضافة بعض JavaScript لإضافة العرض/الاختباء.

هذا هو _templates/page.html:

{% extends "!page.html" %}

{% block footer %}
 <script type="text/javascript">
    $(document).ready(function() {
        $(".toggle > *").hide();
        $(".toggle .header").show();
        $(".toggle .header").click(function() {
            $(this).parent().children().not(".header").toggle(400);
            $(this).parent().children(".header").toggleClass("open");
        })
    });
</script>
{% endblock %}

هذا هو _static/custom.css:

.toggle .header {
    display: block;
    clear: both;
}

.toggle .header:after {
    content: " ▶";
}

.toggle .header.open:after {
    content: " ▼";
}

يضاف هذا إلى conf.py:

def setup(app):
    app.add_stylesheet('custom.css')

الآن يمكنك إظهار/إخفاء كتلة من التعليمات البرمجية.

.. container:: toggle

    .. container:: header

        **Show/Hide Code**

    .. code-block:: xml
       :linenos:

       from plone import api
       ...

أستخدم شيئًا مشابهًا جدًا للتمارين هنا: https://training.plone.org/5/mastering_plone/about_mastering.html#exercises

يحتوي سحابة SPHINX على توجيه مخصص html-toggle الذي يوفر أقسام قابلة للعبادة. لاقتباسهم من صفحة ويب:

يمكنك وضع علامة على الأقسام مع .. rst-class:: html-toggle, ، مما سيجعل القسم افتراضيًا للانهيار تحت HTML ، مع رابط تبديل "قسم العرض" على يمين العنوان.

هنا هو رابط لصفحة مظاهرة الاختبار الخاصة بهم.

هناك امتداد مبسط للغاية يوفر تلك الميزة بالضبط: https://github.com/scopatz/hiddencode

إنه يعمل بشكل جيد بالنسبة لي.

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