पुनर्संरचना में एक कड़ी में पाठ प्रारूप


82

आप reStructuredText में एक निरूपित लिंक के भीतर पाठ को कैसे प्रारूपित करते हैं?

विशेष रूप से, मैं अपने rst से निम्न HTML उत्पन्न करना चाहता हूं:

<a href="http://docs.python.org/library/optparse.html"><tt>optparse.OptionParser</tt> documentation documentation</a>

परिणाम इस तरह दिखना चाहिए:

optparse.OptionParser प्रलेखन

जहां "Optparse.OptionParser" भाग निश्चित-चौड़ाई वाले फ़ॉन्ट में है।

मैंने कोशिश की

```optparse.OptionParser`` <http://docs.python.org/library/optparse.html>`_

हालाँकि, यह दिया गया

<tt class="docutils literal">`optparse.OptionParser</tt> documentation &lt;<a class="reference external" href="http://docs.python.org/library/optparse.html">http://docs.python.org/library/optparse.html</a>&gt;`_

जो इस तरह दिखता है

`` Optparse.OptionParser documentation <http://docs.python.org/library/optparse.html>\_

जवाबों:


93

यह निर्माण:

Here you have |optparse.OptionParser|_.

.. |optparse.OptionParser| replace:: ``optparse.OptionParser`` documentation
.. _optparse.OptionParser: http://docs.python.org/library/optparse.html

इस HTML का उत्पादन करता है (कुछ लाइनब्रेक जोड़े गए):

<p>Here you have 
  <a class="reference external" href="http://docs.python.org/library/optparse.html">
  <tt class="docutils literal"><span class="pre">optparse.OptionParser</span></tt> documentation</a>.
</p>

मुझे एहसास है कि यह वही नहीं है जो आपने पूछा था, लेकिन शायद यह काफी करीब है। Http://docutils.sourceforge.net/FAQ.html#is-nested-inline-markup-possible भी देखें ।


2
यह वास्तव में सुंदर है। मुझे यह देखने से पहले सभी प्रकार के अति-इंजीनियर समाधान दिख रहे थे, जिसमें कस्टम एक्सटेंशन लिखना भी शामिल था।
मैड फिजिसिस्ट

93
यह वास्तव में सुंदर नहीं हैयह भयानक है। सभी साने मार्कअप भाषाएँ इनलाइन मार्कअप के अनिश्चितकालीन नेस्टिंग का समर्थन करती हैं, क्योंकि यह 2016 है। प्रसंग-मुक्त पार्सिंग को 1959 से तुच्छ रूप से हल किया गया है। ( चोम्स्की: "व्याकरण के कुछ औपचारिक गुणों पर।" ) वास्तविक संदर्भ के प्रदर्शन के लिए reStructuredText parser की अक्षमता। -फ्री पार्सिंग एक क्रैस है, अन्यथा स्टर्लिंग फेस पर बदसूरत ब्लश। अच्छी तरह से परिभाषित और reST के अत्यधिक एक्स्टेंसिबल सिंटैक्स बेहतर के हकदार हैं। ( किसी को इस बारे में बुरा लगना चाहिए। )
सेसिल करी

1
"यहाँ विवरण" लिंक है कि सामान्य प्रश्न प्रविष्टि में दिलचस्प है ... विशेष रूप से "इनलाइन मार्कअप के अन्य रूपों स्पष्ट करता है, तो नेस्ट किया जा सकता है"; मुझे आश्चर्य है कि अगर ऐसा होने वाला एकमात्र तरीका है अगर कोई बस एक पैच सेट बनाने में एक स्टैब लेता है जो अस्पष्ट मामलों को संभालता है और फिर आरएसटी का यह "थोड़ा-सा-आउट-स्पेक" स्वाद सामान्य हो जाता है कि सब कुछ बस वहां से स्नोबॉल होता है (या नहीं तो कम से कम हमें अभी तक के नायाब मामलों के लिए अच्छा समर्थन नहीं मिला)
JamesTheAwesomeDude

यह सलाह दी जाती है कि यह केवल हाइपरलिंक्स के लिए काम करता है और इंट्रा-डॉक्यूमेंट लिंक के लिए नहीं (जैसे :ref:)
जेसन एस

6

क्या आपने इंटरसेफिंक्स की कोशिश की है ? उस एक्सटेंशन का उपयोग करते हुए, निम्नलिखित मार्कअप:

:py:class:`optparse.OptionParser`

इस HTML का उत्पादन करता है:

<a class="reference external" href="http://docs.python.org/2.6/library/optparse.html#optparse.OptionParser" title="(in Python v2.6)"><tt class="xref py py-class docutils literal"><span class="pre">optparse.OptionParser</span></tt></a>

पायथन 2.6 और स्फिंक्स 1.0.5 के साथ परीक्षण किया गया।


1
आह, ठीक है, मैं intersphinx के बारे में नहीं जानता था। धन्यवाद, यह जानना अच्छा है। यह लिंक optparseवास्तव में सिर्फ एक उदाहरण है। मैं वास्तव में किसी भी यूआरआई के लिंक में टेक्स्ट को फॉर्मेट करने से चिंतित हूं।
18

4

Mzjn ​​द्वारा संदर्भित एक ही FAQ पृष्ठ से लेना:

The "raw" directive can be used to insert raw HTML into HTML output:

Here is some |stuff|.

.. |stuff| raw:: html

   <em>emphasized text containing a
   <a href="http://example.org">hyperlink</a> and
   <tt>inline literals</tt></em>

सिद्धांत रूप में इसके साथ जटिल चीजें करना संभव होना चाहिए जो कि आरएसटी के साथ नहीं किया जा सकता है।


1
यह काम करता है, लेकिन यह अन्य लेखकों (LaTeX, PDF, आदि) को भी तोड़ता है
जेसन एस

0

यदि आप अनिवार्य रूप से HTML / CSS के बराबर प्राप्त करना चाहते हैं

<span class="red">This is red text</span>

Sphinx का उपयोग करके reStructuredText में, आप एक भूमिका बनाकर ऐसा कर सकते हैं:

.. role:: red

तो आप इसे इस तरह से उपयोग करें:

:red:`This is red text`

`ऊपर की रेखा के अंत में केवल एक टिक मार्क होना चाहिए । तुम, ज़ाहिर है, है

.red { color: red }

अपने सीएसएस फ़ाइल में।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.