2013-07-03 7 views
5

मेरे पास कुछ पोस्ट-टेक्स्ट टाइप-संरचित स्क्रीनप्ले हैं, जो इस पोस्ट के अंत में उदाहरण की तरह स्वरूपित हैं। मैं प्रत्येक प्रारूप में प्रत्येक को पार्स करना चाहता हूं:स्क्रीनप्ले को पार्स करने के लिए किस पाठ प्रसंस्करण उपकरण की अनुशंसा की जाती है?

  • किसी विशिष्ट स्थान से निपटने वाले चरण निर्देशों को खींचना आसान होगा।
  • किसी विशेष चरित्र से संबंधित संवाद को खींचना आसान होगा।

सबसे स्पष्ट दृष्टिकोण मैं का sed या perl या php उपयोग कर रहा है प्रत्येक ब्लॉक के आसपास div टैग डाल करने के लिए चरित्र, स्थान का प्रतिनिधित्व वर्गों के साथ, सोच सकते हैं, और क्या यह चरण निर्देश या बातचीत है। फिर, इसे वेब पेज के रूप में खोलें और जो भी मुझे रूचि है उसे खींचने के लिए jQuery का उपयोग करें। लेकिन ऐसा करने के लिए यह एक चौराहे के तरीके की तरह लगता है और शायद यह केवल एक अच्छा विचार जैसा प्रतीत होता है क्योंकि ये वे उपकरण हैं जिन्हें मैं आदी हूं सेवा मेरे। लेकिन मुझे यकीन है कि यह एक आवर्ती समस्या है जिसे पहले हल किया गया है, तो क्या कोई भी एक अधिक कुशल वर्कफ़्लो की सिफारिश कर सकता है जिसका उपयोग लिनक्स बॉक्स पर किया जा सकता है? धन्यवाद।

 SOMEWHERE CORPORATION - OPTIONAL COMMENT 
     A guy named BOB is sitting at his computer. 

          BOB 
       Mmmm. Stackoverflow. I like. 

     Footsteps are heard approaching. 

          ALICE 
       Where's that report you said you'd have for me? 

     Closeup of clock ticking. 

          BOB (looking up) 
       Huh? What? 

          ALICE 
       Some more dialogue. 

     Some more stage directions. 

यहाँ नमूना उत्पादन कैसा लग सकता है:

कुछ नमूने यहां इनपुट है

 <div class='scene somewhere_corporation'> 
     <div class='comment'>OPTIONAL COMMENT</div> 
     <div class='direction'>A guy named BOB is sitting at his computer.</div> 
     <div class='dialogue bob'>Mmmm. Stackoverflow. I like.</div> 
     <div class='direction'>Footsteps are heard approaching.</div> 
     <div class='dialogue alice'>Where's that report you said you'd have for me?</div> 
     <div class='direction'>Closeup of clock ticking.</div> 
     <div class='comment bob'>looking up</div> 
     <div class='dialogue bob'>Huh? What?</div> 
     <div class='dialogue alice'>Some more dialogue.</div> 
     <div class='direction'>Some more stage directions.</div> 
     </div> 

मैं एक उदाहरण के रूप डोम का उपयोग कर रहा है, लेकिन फिर से, सिर्फ इसलिए कि कि कुछ मैं समझना। मैं इस प्रकार के टेक्स्ट प्रोसेसिंग कार्य के लिए जो भी सर्वोत्तम अभ्यास मानता हूं, उसके लिए खुला हूं, जैसा कि मुझे संदेह है, रोल-अप-रेगेक्स और jQuery सबसे अच्छा अभ्यास नहीं है। धन्यवाद।

+0

क्या आप इसे वेबसाइट पर रीयलटाइम में करने की कोशिश कर रहे हैं? JQuery का उपयोग करने का एकमात्र कारण यह है कि यदि आप किसी को टेक्स्ट बॉक्स में पटकथा इनपुट करते हैं और तत्काल चरण दिशा आउटपुट प्राप्त करते हैं। –

+2

@ क्रिस्टियन स्टीवर्ट: अगर मैं सही ढंग से ओपी समझता हूं, तो वह jQuery का सुझाव देता है कि यह क्लास या आईडी जानकारी के आधार पर (एक्स) एचटीएमएल नोड्स की सामग्री निकालने का एक अच्छा टूल है। यदि आपके पास हथौड़ा है, तो सब कुछ नाखून जैसा दिखता है;) – dodgethesteamroller

+0

स्क्रीनप्लेज़ मैं डाउनलोड की गई टेक्स्ट फाइलें हैं, इसे रीयलटाइम या ऑनलाइन में होने की आवश्यकता नहीं है। @dodgethesteamroller सही है, यह एक हथौड़ा-नाखून antipattern है और मैं बेहतर विचारों के लिए यहां पूछकर इसे टालने की कोशिश कर रहा हूं। – f1r3br4nd

उत्तर

0

यदि आपका इनपुट बहुत शोर नहीं है, यानी यदि आप इंडेंटेशन जैसी कुछ नियमितताओं पर भरोसा कर सकते हैं जो टिप्पणी के विपरीत संवाद के लिए बड़ा है, तो मैं एक साधारण Context Free Grammar का उपयोग करूंगा। आपके पास सभी भाषाओं में अच्छे कार्यान्वयन हैं और आपको SO पर बहुत सारी जानकारी मिल जाएगी।

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

किसी भी मामले में, मैं कभी भी ऐसी समस्याओं के लिए नियमित अभिव्यक्तियों का उपयोग नहीं करता।

2

आप import plain text scripts को Celtx इस्तेमाल कर सकते हैं और उन्हें एचटीएमएल (और RDF मेटाडाटा के लिए/XML) को निर्यात (इस related thread और इस blog post, which describes the file structure देखें)।

Trelby जैसे अन्य पटकथा संपादक इस सुविधा को भी पेश कर सकते हैं।


वहाँ भी Fountain, पटकथा लेखन के लिए एक सादा पाठ मार्कअप भाषा है। वे libraries की पेशकश जो आप पराक्रम (मैं जांच नहीं करता है, तो वे आयात करने और परिवर्तित करने के लिए कुछ प्रदान करते हैं) अपने काम के लिए उपयोग करें:

फाउंटेन, स्वतंत्र और खुला स्रोत है पुस्तकालयों आसान समर्थन जोड़ने के लिए कर उस के साथ अपने ऐप्स में


उन परियोजनाओं अपने काम के लिए नहीं किया जा सकता, तो आप कम से कम उनकी प्रारूप अपने उत्पादन के लिए पुन: उपयोग कर सकते हैं।

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

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