2008-09-16 7 views
25

मैं अपनी वेबसाइट में सी/सी ++/जावा/सी # आदि स्रोत कोड को हाइलाइट करना चाहता हूं।एचटीएमएल में स्रोत कोड को हाइलाइट कैसे करें?

मैं यह कैसे कर सकता हूं?

क्या यह स्रोत कोड को हाइलाइट करने के लिए एक सीपीयू गहन नौकरी है?

+0

इस कोड के लिए मैंने जिस कोड का उपयोग किया है उसे लेख [रंगीन स्रोत कोड] (http://www.blackbeltcoder.com/Articles/strings/colorizing-source-code) में पोस्ट किया गया है। –

उत्तर

27

आप या तो यह सर्वर-साइड या क्लाइंट-साइड कर सकते हैं। यह बहुत प्रोसेसर गहन नहीं है, लेकिन यदि आप इसे क्लाइंट साइड (जावास्क्रिप्ट का उपयोग करके) करते हैं तो एक ध्यान देने योग्य अंतराल होगा। अधिकांश क्लाइंट साइड समाधान Google कोड के सिंटैक्स हाइलाइटिंग इंजन के चारों ओर घूमते हैं। यह सबसे लोकप्रिय लगता है: SyntaxHighlighter

सर्वर-साइड समाधान अधिक लचीला होते हैं, खासकर नई भाषाओं को परिभाषित करने और कॉन्फ़िगर करने के तरीके में (जैसे रंगों का उपयोग किया जाता है) को कॉन्फ़िगर करना। मैं GeSHi का उपयोग करता हूं, जो वर्डप्रेस के लिए एक मामूली अच्छी प्लगइन वाला PHP समाधान है। जावा के लिए बनाए गए कुछ पुस्तकालय भी हैं, और यहां तक ​​कि कुछ जो VIM पर आधारित हैं (आमतौर पर सीपीएएन से स्थापित एक पर्ल मॉड्यूल की आवश्यकता होती है)।

संक्षेप में: आपके पास कुछ विकल्प हैं, आपके मानदंड क्या हैं? अपनी आवश्यकताओं को जानने के बिना ठोस सिफारिश करना मुश्किल है।

11

मैं GeSHi का उपयोग करें ("जेनेरिक सिंटेक्स हाइलाइटर") उच्च यातायात है, तो मैं परिवर्तन है, जो निश्चित रूप से के परिणामों को कैश करना भार कम कर देता है।

0

यदि आप PHP का उपयोग कर रहे हैं, तो आप कई अलग-अलग भाषाओं को हाइलाइट करने के लिए GeSHi का उपयोग कर सकते हैं। मैंने पहले इसका इस्तेमाल किया है और यह काफी अच्छा काम करता है। एक त्वरित googling भी wordpress और drupal के लिए GeSHi प्लगइन्स को उजागर करेगा।

मैं CPU गहन होने के लिए हाइलाइटिंग पर विचार नहीं करता जबतक कि आप इसे एक साथ मेगाबाइट प्रदर्शित करने का इरादा नहीं रखते हैं। और फिर भी, सीपीयू लोड न्यूनतम होगा और आपकी मुख्य समस्या सभी के लिए स्थानांतरण की गति होगी।

5

मैं google-code-prettify का उपयोग करता हूं। यह सभी सी-शैली भाषाओं के साथ स्थापित करने और महान काम करने के लिए सबसे आसान है।

5

Pygment एचटीएमएल, आरटीएफ, एएनएसआई (टर्मिनल-स्टाइल) या लाटेक्स कोड उत्पन्न करने के लिए एक अच्छी पायथन लाइब्रेरी है। यह large range of languages (सी, सी ++, लुआ, एरलांग, ...) का समर्थन करता है और आप अपना खुद का आउटपुट फॉर्मेटर भी लिख सकते हैं।

6

व्यक्तिगत रूप से, मैं ऑफ़लाइन टूल पसंद करता हूं: मुझे प्रत्येक ब्राउज़र (जेएस पुस्तकालयों के लिए) पर प्रत्येक सेवा पृष्ठ के लिए कोड, विशेष रूप से बड़े लोगों को और अधिक खराब करने का बिंदु नहीं दिखता है, क्योंकि जैसा कि ऊपर बताया गया है, ये पुस्तकालय अक्सर अंतराल होते हैं (आप स्वरूपित होने से पहले अक्सर कच्चे स्रोत को देखते हैं)।

इस नौकरी को करने के लिए कई टूल हैं, कुछ ऊपर बताए गए हैं। मैं बस अपने पसंदीदा संपादक (SciTE) की निर्यात सुविधा का उपयोग करता हूं क्योंकि यह सिर्फ रंगों के विकल्पों का सम्मान करता है जो मैंने ध्यान से स्थापित किया है ... :-) और यह एक्सएमएल, पीडीएफ, आरटीएफ और लाटेक्स को भी आउटपुट कर सकता है।

1

यदि आप jEdit का उपयोग करते हैं, तो आप Code2HTML प्लगइन का उपयोग करना चाह सकते हैं।