2012-11-17 28 views
16

में कनवर्ट करें क्या सभी लिनक्स मैन पेजों को या तो सादा पाठ, एचटीएमएल या मार्कडाउन में परिवर्तित करने का कोई तरीका है?सभी लिनक्स मैन पेजों को टेक्स्ट/एचटीएमएल या मार्कडाउन

मुझे अपने सिस्टम पर स्थापित हर व्यक्ति फ़ाइल के लिए ऐसा करने की ज़रूरत है।

+2

[Pandoc] (http://johnmacfarlane.net/pandoc/) काफी एक बहुत कुछ कर सकते हैं, लेकिन दुर्भाग्य से नहीं 'man' -> कुछ भी अन्यथा (हालांकि यह कई प्रारूपों को 'मैन' में परिवर्तित कर सकता है) –

+0

यह कई प्रारूपों को' मैन 'में खराब रूप से परिवर्तित कर सकता है। - एफटीएफवाई –

उत्तर

24

हाँ ... उनमें से एक बदलने के लिए, कहते हैं, आदमी का आदमी:

zcat /usr/share/man/man1/man.1.gz | groff -mandoc -Thtml 

यदि आप चाहते हैं 'के सभी आपके पीसी पर स्थापित', तो आप सिर्फ उन के माध्यम से पुनरावृति। विभिन्न आउटपुट (उदाहरण के लिए, पाठ) के लिए, विभिन्न 'डिवाइस' (-T तर्क) का उपयोग करें।

शायद ज़रुरत पड़े ... अगर 'यात्रा' असली समस्या थी, आप का उपयोग कर सकते हैं:

OUT_DIR=... 

for i in `find -name '*.gz'`; do 
    dname=`dirname $i` 
    mkdir -p $OUT_DIR/$dname 
    zcat $i | groff -mandoc -Thtml > $OUT_DIR/$i.html 
done 
+0

धन्यवाद, मुझे लगता है कि मैं इसे करने के लिए एक स्क्रिप्ट बना सकता हूं ... मैं सिर्फ एक ही नहीं, सभी मैन फ़ाइलों को बदलने का एक सौहार्दपूर्ण तरीका ढूंढ रहा हूं। – KJS

+6

किसी दिए गए मैनपेज $ PAGE के लिए, यह काम करता है, लेकिन दुख की बात है कि एचटीएमएल उत्पादित बहुत अच्छा नहीं है (इनलाइन सीएसएस, कोई श्रेणी नाम, गैर-अर्थपूर्ण)। मैं हेडलाइंस से ऑटो-लिंक करना चाहता हूं, आदि। मैनपेज प्रारूप का अध्ययन करने का समय ... मैनपेज खोजने और आउटपुट करने के लिए त्वरित शॉर्टकट: '' 'zcat $ (man -w $ PAGE) | groff -mandoc -Ttml '' –

+0

महान युक्तियाँ; यदि ओएसएक्स उपयोगकर्ताओं को यह पता चलता है: 'zcat' के बजाय' gzcat' का उपयोग डिकंप्रेस करने के लिए करें (अधिकांश पृष्ठ वास्तव में ओएसएक्स पर संपीड़ित नहीं होते हैं)। इसके अलावा, जबकि उबंटू (14.04 के रूप में) 'groff' के साथ आता है, HTML आउटपुट फ़िल्टर पूर्वस्थापित नहीं किया जाता है, और यह स्पष्ट नहीं है कि इसे कैसे इंस्टॉल किया जाए (न तो 'groff' और न ही' groff-base' 'apt-get 'पैकेज मदद करता है); एक वैकल्पिक 'man2html' पैकेज है, लेकिन ध्यान दें कि इसका HTML आउटपुट अलग है। – mklement0

0

आज अपने भाग्यशाली दिन है। किसी ने पहले ही यह आपके लिए किया है। http://linux.die.net/

+3

लेकिन कुछ पेजों की अफवाहें अद्यतित नहीं हैं। http://www.kernel.org/doc/man-pages/ भी एक अच्छी जगह है। –

+0

@ बेसिल - ठंडा। जानकार अच्छा लगा। मुझे संदेह होगा कि kernel.org अद्यतित होगा। धन्यवाद! – cowboydan

+1

मैन पेज वहां लपेटे गए हैं, जो काफी गलत है, क्योंकि मैं आउटपुट चौड़ाई को नियंत्रित करने वाला व्यक्ति बनना चाहता हूं। – mbaitoff

7

आदेश man -k '' का उपयोग उपलब्ध सभी मानव पृष्ठों के नाम, जो find और zcat मूल मानव पेज डेटा फ़ाइलों की तुलना में बेहतर हो सकता है सूचीबद्ध कर सकते हैं; इस बीच, मनुष्य के आदेश में -T, --troff-device[=DEVICE] विकल्प है जो दिए गए मैन-पेज अनुभाग और नाम के HTML उत्पन्न कर सकता है। इंटरनेट का उपयोग बिना

man -k '' | while read sLine; do 
    declare sName=$(echo $sLine | cut -d' ' -f1) 
    declare sSection=$(echo $sLine | cut -d')' -f1|cut -d'(' -f2) 
    echo "converting ${sName}(${sSection}) to ${sName}.${sSection}.html ..." 
    man -Thtml ${sSection} ${sName} > ${sName}.${sSection}.html 
done 

एक इंट्रानेट में online man-pages service उपलब्ध नहीं है, अपने स्थिर HTTP सर्वर ऐसे में इस फाइल को डाल: तो निम्नलिखित बैश स्क्रिप्ट परिवर्तित करने के लिए अपने लिनक्स में उपलब्ध सभी मानव पृष्ठों HTML फ़ाइलों में आता है पर ऑटोइंडेक्स के साथ Nginx एक अच्छा विकल्प है, जहां browse और Ctrl + F सुविधाजनक हो सकता है।

+1

इस नौकरी के स्वचालन के लिए परियोजना है: https: // github।com/vbem/man-to-github-pages – vbem

1
man -Hfirefox ls 

"ls" की मैनपेज खोलता सीधे फ़ायरफ़ॉक्स में

+1

इस विकल्प का कौन सा मंच/संस्करण है? – crobicha

+0

हाय @ क्रोबिका। मुझे इस विकल्प का समर्थन करने वाले न्यूनतम 'मैन' संस्करण को नहीं पता है। लेकिन मेरे 'मैन-2.7.5' में विकल्प' -H, --html [= ब्राउजर] HTML आउटपुट प्रदर्शित करने के लिए elinks या ब्राउजर का उपयोग करता है। कृपया उत्तर दें, अपना उत्तर सुधारें, न्यूनतम 'मैन' संस्करण प्रदान करें और 'मैन' मैन-पेज से निकालें। यह भी कहें कि ** सभी ** स्थानीय मैन-पेजों को HTML या मार्कडाउन में कनवर्ट करने के लिए ओपी प्रश्न का उत्तर नहीं दिया गया है। चीयर्स – olibre

+0

एक छोटी कमांड लाइन है: 'मैन-एच एलएस' लेकिन पर्यावरण चर 'ब्रॉसर' को पहले सेट करना होगा: 'निर्यात ब्रॉसर = फ़ायरफ़ॉक्स' – olibre