मैं GitHub विकी में किसी प्रकार की तालिका कैसे बनाऊं?


102

यदि आप यहां देखें: http://en.wikipedia.org/wiki/Stack_Overflow

आप देखेंगे कि एक छोटा सा "कंटेंट" सेक्शन है, यदि आप किसी एक लिंक पर क्लिक करते हैं, तो यह आपको पेज पर एक विशिष्ट सेक्शन में भेज देगा।

GitHub wiki में मैं यह कैसे करूँ? मार्कडाउन के साथ या जो भी वे उपयोग करते हैं?


3
संबंधित, लेकिन सटीक डुप्लिकेट नहीं, जो अधिक विस्तार में जाता है: stackoverflow.com/q/9721944/2291
जॉन एडम्स

जवाबों:


111

यह स्पष्ट रूप से मार्कशीट धोखा देने की सामग्री की तालिका में प्रदर्शित किया गया है ।

##### Table of Contents  
[Headers](#headers)  
[Emphasis](#emphasis)  
...snip...    
<a name="headers"/>
## Headers

यदि आप एक GitHub Markdown फ़ाइल में एक हेडर पर होवर करते हैं, तो आपको इसके बाईं ओर एक सरल लिंक दिखाई देगा, आप उस लिंक का भी उपयोग कर सकते हैं। उस लिंक का प्रारूप है <project URL#<header name><header name>सभी छोटे अक्षर में होना चाहिए।


36
निश्चित रूप से MediaWiki के _ _ TOC _ _ की तरह इसे ऑटोजेनर करने का एक तरीका है?
LB--

17
@ LB--: यदि आप एक GitHub विकी पृष्ठ को संपादित करते हैं और "संपादन शैली" ड्रॉपडाउन को "MediaWiki" में बदलते हैं, तो आप __TOC__सीधे MediaWiki का उपयोग कर सकते हैं। स्पष्ट रूप से अंतर्निहित ऑटोगेनरेशन तर्क है। लेकिन कार्यक्षमता उनके मार्काडाउन संपादन शैली में उजागर नहीं होती है। काफी दुर्भाग्यपूर्ण है। चलो सभी इसके लिए फ़ीचर अनुरोध भेजना शुरू करते हैं और शायद वे इसे चालू कर देंगे।
एंड्रयू जंके

3
मैं "अंतर्निहित ऑटोजेनरेशन लॉजिक" पर ध्यान देता हूं; यह अलग "संपादन शैलियों" की तरह दिखता है जो विभिन्न रेंडरर्स के माध्यम से जाते हैं। फिर भी, एमडी संस्करण में यह बहुत अच्छा होगा क्योंकि यह बहुत लोकप्रिय है, और इसे जोड़ना मुश्किल नहीं हो सकता है।
एंड्रयू जानकी

5
@AndrewJanke मैंने इसे और अधिक देखा, ऐसा लगता है कि मार्कडाउन प्रारूप में सामग्री की तालिकाओं के ऑटोगेनरेशन के लिए कोई समर्थन नहीं है, और उन्हें इस पर गर्व है।
एलबी--

6
लिंक बनाने में एक पकड़ है। उन्हें लोअर केस होना होगा। मुझे नहीं पता था और सोच रहा था कि मेरा टीओसी काम क्यों नहीं कर रहा है। मैं के #Headersबजाय इस्तेमाल किया #headers। मुझे लगा कि यह आपके उत्तर में एक टाइपो था। शायद आप अपने उत्तर को इस जानकारी में जोड़ सकते हैं।
t3chb0t

20

एक संभव (अर्ध-स्वचालित) समाधान यूजीन कालिनिन है github-markdown-toc। यह उपकरण अनिवार्य रूप से आपकी README.mdफ़ाइल के माध्यम से क्रंच करता है और #टीओसी बनाने के लिए शीर्षासन करता है ।

  1. स्क्रिप्ट https://github.com/ekalinin/github-markdown-toc डाउनलोड करें
  2. अपनी README.mdस्क्रिप्ट को फ़ीड करें (यूजीन के अनुसार README.md)

    बिल्ली README.md | बैश गिथब-मार्काडाउन-टो

  3. उत्पन्न TOC को काटें और चिपकाएँ और इसे अपनी README.mdफ़ाइल के शीर्ष पर रखें

ध्यान दें कि यह bashकार्यान्वयन केवल लिनक्स पर काम करता है (जो मैं बता सकता हूं)।

एक साइड नोट के रूप में, एक गोलंग कार्यान्वयन है और संभवतः काम पाने के लिए परेशानी का अधिक है।


15

चूँकि github का उपयोग नहीं किया जा सकता है TOC सीधे , लेकिन हमारे पास अन्य विकल्प हैं।

आप ऑनलाइन टूल के माध्यम से TOC को स्वचालित रूप से जनरेट कर सकते हैं :

GitHub Markdown या Wiki ऑनलाइन से TOC तालिका सामग्री बनाएं

यहां छवि विवरण दर्ज करें

या के माध्यम से स्थानीय उपकरण के :

GitHub-markdown-toc


14

https://github.com/jonschlinkert/markdown-toc

  • git clone your-repo.wiki.git( विकी क्लोन करने .wikiसे पहले सही जोड़ें.git
  • npm i -g markdown-toc
  • <!-- toc -->अपने विकी के मार्कडाउन में डालें (केस सेंसिटिव)
  • markdown-toc -i my-wiki-markdown.md( -iइसे जगह में संपादित करेंगे)
  • फायदा

अद्यतन: मुझे लगता है कि शायद https://github.com/thlorenz/doctoc अब अधिक लोकप्रिय है।


12

वर्तमान में यह संभव नहीं है कि मार्कडाउन सिंटैक्स ( .md) का उपयोग किया जाए । स्वचालित रूप से सामग्री की तालिका उत्पन्न करने के बारे में अनौपचारिक चर्चा चल रही है जैसे रेंडर की गई मार्कडाउन फाइलों परREADME.md जो कि कुछ विचारों को सूचीबद्ध करती है।

हालाँकि कुछ अन्य वर्कअराउंड हैं जैसे:


1
हां, मुझे ToC के लिए बड़े पैमाने पर asciidoc में बदल दिया गया है और हेडर से जोड़ा जा रहा है। मार्कडाउन के पकड़ने के इंतजार में तंग आ गए।
सिरो सेंटिल्ली 郝海东 冠状 iro i 法轮功 ''

8

यदि आप मार्कडाउन के साथ रहने की स्थिति में नहीं हैं , तो आप नीचे के रूप में कर सकते हैं:

  • पर GitHub / विकि : स्विच Markdown को मीडियाविकि__TOC__सिंटैक्स का प्रयोग करें । नमूना देखें ।
  • पर GitHub / रेपो : स्विच Markdown को AsciiDoc:toc:सिंटैक्स का प्रयोग करें । डेमो देखें ।

हालांकि, GitHub / रेपो में मार्कडाउन फ़ाइलों का उपयोग करके , आप इसे विकिपीडिया की तरह GitHub पेज पर प्राप्त कर सकते हैं

  • जब Jekyll सक्रिय होता है, तो यह डिफ़ॉल्ट रूप से क्रामडाउन का उपयोग करके GitHub पेज बनाता है
  • क्रामडाउन के साथ आता है Table Of Content{:toc}सिंटैक्स का प्रयोग करें । स्पष्टीकरण देखें ।

5

विजुअल स्टूडियो कोड

यदि आप विज़ुअल स्टूडियो कोड का उपयोग करते हैं , तो मार्कड ऑल इन वन नाम का आसान-टू-उपयोग एक्सटेंशन है जो किसी भी .md फ़ाइल के लिए TOC को एक पल में बना सकता है।

यहां छवि विवरण दर्ज करें

बस कमांड पैलेट खोलें ( Ctrl-Shift-P) ->Markdown: Create Table of Contents

मूल एम.डी. स्वचालित टीओसी प्रविष्टि के बाद

ऑटो-अपडेट आपके संपादित TOC को गड़बड़ करता है?

एक अतिरिक्त टिप के रूप में, आप "आटोमेटिक TOC अपडेट ऑन सेव" को चालू करके बंद करना चाह सकते हैं

  "markdown.extension.toc.updateOnSave": false,

अपने विज़ुअल स्टूडियो सेटिंग्स में (कमांड पैलेट -> प्राथमिकताएं: ओपन सेटिंग्स (JSON))।



2

इस तथ्य के कारण कि जीथब के पास आईडी बनाने का अपना तरीका है = ".." एच 1, एच 2, एच 3, आदि में गुण ... एचटीएमएल संस्करण में हेडर प्रसंस्करण के बाद मार्कडाउन (उदाहरण के लिए बिटबकेट, स्लोडिफ़िंग एक्टर्स शीर्षक के छोटे अलग पैटर्न का उपयोग करते हैं) आईडी = "स्लग") यह पहिया को सुदृढ़ करने और लाइब्रेरी का उपयोग करने के लिए आसान नहीं है जो इस प्रक्रिया को उल्टा करता है।

मुझे इस कार्य के लिए एक बहुत अच्छी लाइब्रेरी मिली, जिसे मार्कडाउन-टूसी कहा जाता है ।

मेरे लिए यह सबसे अच्छा समाधान लगता है क्योंकि मैंने हमेशा अपनी मशीन पर नोड स्थापित किया है।

बस npx markdown-toc -i file.md निष्पादित करें

और ऐसा लगता है कि यह इस कार्य के लिए अधिक लोकप्रिय उपकरणों में से एक है - कम से कम नोड में। पारिस्थितिकी तंत्र।

ls
cat <<EOF >> test.md | tee 
## Table of Contents

<!-- toc -->
- old toc 1
- old toc 2
- old toc 3
<!-- tocstop -->

## abc
This is a b c.

## xyz
This is x y z.
EOF
ls
cat test.md
npx markdown-toc -i test.md
cat test.md

उत्पादन:

यहां छवि विवरण दर्ज करें

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