इनलाइन कोड reStructuredText में हाइलाइटिंग


130

मुझे पता है कि reStructuredText का यह निर्देश है:

.. code:: bash

    gedit pohl.m

जो एक कोड ब्लॉक प्रदान करता है। क्या इनलाइन स्निपेट्स के लिए सिंटैक्स हाइलाइटिंग प्राप्त करने का कोई तरीका है:

Do edit the file, type ``gedit pohl.m`` into a terminal.

बैकटिक्स इसे कोड के रूप में चिह्नित करता है, लेकिन मैं इसे ब्लॉक की तरह pyolution के साथ उजागर करना चाहता हूं। क्या यह संभव है?


7
बैकटिक्स पाठ के उस हिस्से को एक इनलाइन शाब्दिक के रूप में चिह्नित करता है , न कि एक कोड ब्लॉक के रूप में। आम तौर पर यह सिर्फ एक मोनोस्पेस फ़ॉन्ट में प्रकाशित किया जाएगा। मुझे यकीन नहीं है कि मैं इनलाइन कोड सिंटैक्स हाइलाइट किए गए स्निपेट कैसे प्राप्त कर रहा हूं, मुझे डर है।
क्रिस

जवाबों:


209

इस पर कुछ और देखने के बाद मैंने डॉक्यूमेंट रीस्ट्रक्टर्डटेक्स्ट इंटरप्रिटेड टेक्स्ट रोल्स पर ठोकर खाई । इस दस्तावेज़ से:

व्याख्या किए गए पाठ पाठ के चारों ओर backquotes (`) का उपयोग करता है। एक स्पष्ट भूमिका मार्कर वैकल्पिक रूप से पाठ से पहले या बाद में दिखाई दे सकता है, जिसे कॉलन के साथ सीमांकित किया गया है। उदाहरण के लिए:

This is `interpreted text` using the default role.

This is :title:`interpreted text` using an explicit role.

ऐसा लगता है कि एक codeभूमिका है , इसलिए आप बस टाइप कर सकते हैं

:code:`a = b + c`

एक इनलाइन कोड ब्लॉक को रेंडर करने के लिए। सिंटैक्स हाइलाइट करने के लिए आप एक कस्टम भूमिका को परिभाषित कर सकते हैं। उदाहरण के लिए

.. role:: bash(code)
   :language: bash

जिसके बाद आप इसका उपयोग कर सकते हैं:

Here is some awesome bash code :bash:`a = b + c`.

ध्यान दें कि भूमिका की परिभाषा भूमिका के संदर्भ से पहले रखी जानी चाहिए।

ध्यान दें, जिस दस्तावेज़ को मैं लिंक करता हूं, वह डोकुटिल के संस्करण का कोई उल्लेख नहीं करता है, जिसके लिए यह संदर्भित है। कोड भूमिका docutils 0.8.1 में उपलब्ध नहीं है (जो कि एकमात्र संस्करण है जिसके खिलाफ मुझे परीक्षण करना है)।


4
कृपया इस मुद्दे पर ध्यान दें जब स्फिंक्स का उपयोग करें: stackoverflow.com/questions/21591107/…
डोनाटेलो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.