2008-10-25 27 views
13

मेरे लिए स्टैक ओवरव्लो की सबसे पसंदीदा विशेषता यह है कि यह स्वचालित रूप से पोस्ट में कोड का पता लगा सकता है और कोड पर उपयुक्त रंग सेट कर सकता है।स्टैक ओवरफ्लो में कोड रंग कैसे सेट किया गया है?

मुझे आश्चर्य है कि रंग कैसे सेट किया गया है। जब मैं एक पृष्ठ पर Ctrl + F5 करता हूं, तो कोड पहले काले रंग का होता है, फिर रंगीन हो जाता है। क्या यह jQuery द्वारा किया जाता है?

उत्तर

11

जवाब में ..

Spolsky: वे कैसे पता चलेगा, वे कैसे भी पता है कि भाषा आप लिख रहे हैं में?

ऐसा नहीं है। हाइलाइटर बहुत गूंगा है, लेकिन इससे दूर हो जाता है क्योंकि अधिकांश प्रोग्रामिंग भाषाएं समान होती हैं। लगभग हर चीज सिंटैक्स को करीब-करीब उपयोग करता है ..

AFunction("a string") 
1 + 4 # <- numbers 
     #  /\ a comment 
     // also a comment.. 

.. अधिकांश चीजें ठीक से हाइलाइट करती हैं। उपर्युक्त प्रोग्रामिंग भाषा नहीं है, लेकिन यह पूरी तरह से हाइलाइट करता है।

अपवाद हैं, उदाहरण के लिए, यह कभी-कभी / को रेगेक्स (जैसे पर्ल/रूबी) की शुरुआत के रूप में देख सकता है। जब यह नहीं है:

this [^\s>/] # is highlighted as a regex, not a comment 

इन ..लेकिन काफी दुर्लभ हैं, और यह सबसे अधिक सामान बाहर काम कर रहा है, जैसे की एक अच्छा काम करता है ..

/* 
this is a multi-line comment 
"with a string" =~ /and a regex/ 
*/ 
but =~ /this is a regex with a [/*] multiline comment 
markers in it! */ 
20

Stack Overflow Podcast #11 से:

एटवुड: यह है। ठीक है, तो यह आता है, यह एक परियोजना है जो कुछ Google इंजीनियर है, मुझे लगता है, इसे लिखा - इसे "सुंदर" कहा जाता है। और यह थोड़ा दिलचस्प है कि यह वास्तव में सभी वाक्यविन्यास हाइलाइटिंग का अनुमान लगाता है, जो लगता है कि यह संभवतः काम नहीं कर सकता है - अगर आप इसके बारे में सोचते हैं तो यह वास्तव में पागल लगता है। लेकिन यह वास्तव में काम करता है। अब, वह केवल इसका समर्थन करता है, कुछ बोलियां हैं जो वास्तव में इसके साथ अच्छी तरह से काम नहीं करती हैं, लेकिन सभी बोलीभाषाओं के लिए, आप Google पर पाएंगे। मुझे लगता है कि यह Google के Google Code से आता है। यह वास्तविक कोड है, यह वास्तविक जावास्क्रिप्ट है जो Google Code पर है जो उस कोड को हाइलाइट करता है जब आप Google Code पर प्रोजेक्ट होस्ट करते समय वापस आते हैं। और तुम, और तुम, उम, क्योंकि मैं वे सबवर्सन का उपयोग लगता है तो आप वास्तव में के माध्यम से क्लिक कर सकते हैं ...

Spolsky: वे कैसे पता चलेगा, वे कैसे भी पता है कि आप जिस भाषा में लिख रहे हैं करते हैं? और इसलिए, क्या एक टिप्पणी है और ...

एटवुड: मुझे नहीं पता। यह पागलपन है। यह prettify.js है, इसलिए यदि कोई इसे देखने में रूचि रखता है, तो बस "prettify.js" के लिए एक वेब खोज करें, और आपको यह मिल जाएगा।

और यहाँ है जहाँ आप prettify.js मिल सकता है: करने के लिए http://code.google.com/p/google-code-prettify/

+0

यह "सुंदरता" उपकरण बहुत अच्छा है! –

3

रूप DBR से कहा, यह एक करता है भाषाओं की सबसे आम संरचनाओं की डमी हाइलाइट। जो कुछ विदेशी वाक्यविन्यासों के साथ अच्छी तरह से काम नहीं करता है। मुझे आश्चर्य है कि हम हाइलाइटिंग के बिना कोड अनुभाग कर सकते हैं, बीटीडब्ल्यू।

For id = 1 To 10 Do 
    CallSomething() // It likes CamelCase identifiers... 
End 

for id = 1 to 10 do # Also highlight some common keywords... 
    if id % 2 then call_something(); x++; end 
end 

'str' "str" 12 + 15.6 * -7e+9 /* Some common constant forms */ 
=/regex/ ~/regex/ +/RE/ !/regexpr/ but not /[^regex]/ (no operator before it) 

(* Some comment conventions are overlooked... *) 
-- Lua's (and some other languages') 
; So are these comments... 
' And these (Basic) 

भ्रम बनाने के लिए सामान्य कोड के लिए पर्याप्त काम करता है, और ब्राउज़र में दर्जनों वाक्यविन्यास लोड करने से बेहतर काम करता है।

+0

हाइलाइट किए बिना कोड अनुभाग? ज़रूर। बस साधारण टैग की तरह, प्री टैग में पाठ के सामान्य, अनियमित ब्लॉक को लपेटें। –

संबंधित मुद्दे