मार्कडाउन सिंटैक्स के साथ किसी भी स्थानीय फ़ाइल से लिंक कैसे करें?


94

मेरे पास एक स्थानीय मार्कडाउन फाइल है जिसमें कई लिंक हैं और मैं चाहता हूं कि लिंक पीडीएफ की तरह स्थानीय फाइल पर जाएं।

मैं निम्नलिखित सिंटैक्स का उपयोग करता हूं:

[my link](file:///C:/my_file.pdf)

लेकिन जब मैं फ़ायरफ़ॉक्स पेज में अपनी मार्कडाउन फ़ाइल खोलता हूं और लिंक पर क्लिक करता हूं, तो कुछ भी नहीं होता है।

वास्तव में क्या याद किया? क्या स्थानीय फ़ाइल खोलना संभव है?


इसके अलावा यहाँ उत्तर दिया, एक नकली प्रश्न ?: हो रहा है stackoverflow.com/a/58317580/5890679
Akul अग्रवाल

विम पर क्लिक करने योग्य वेब लिंक सहित अच्छी तरह से मार्कडाउन पर प्रकाश डाला गया। अफसोस स्थानीय लिंक, हालांकि प्रकाश डाला, नहीं खुलेगा।
user2023370

जवाबों:


32

आप प्रदान किए गए मार्कडाउन को कैसे खोल रहे हैं?

यदि आप इसे HTTP पर होस्ट करते हैं, अर्थात आप इसे एक्सेस करते हैं http://या https://, अधिकांश आधुनिक ब्राउज़र स्थानीय लिंक, जैसे कि, के साथ खोलने से मना कर देंगे file://। यह एक सुरक्षा विशेषता है :

सुरक्षा उद्देश्यों के लिए, मोज़िला एप्लिकेशन दूरस्थ फ़ाइलों से स्थानीय फ़ाइलों (और निर्देशिकाओं) को लिंक करते हैं। इसमें आपकी हार्ड ड्राइव पर फ़ाइलों को लिंक करना, मैप किए गए नेटवर्क ड्राइव पर और यूनिफ़ॉर्म नेमिंग कन्वेंशन (UNC) पथों के माध्यम से पहुंच शामिल है। यह सहित कई अप्रिय संभावनाओं को रोकता है:

  • डिफ़ॉल्ट स्थापना पथों की जाँच करके अपने ऑपरेटिंग सिस्टम का पता लगाने के लिए साइटों की अनुमति देना
  • सिस्टम की कमज़ोरियों का फायदा उठाने के लिए साइटों की अनुमति (जैसे, C:\con\conविंडोज 95/98 में)
  • ब्राउज़र वरीयताओं का पता लगाने या संवेदनशील डेटा पढ़ने के लिए साइटों को अनुमति देना

उस पृष्ठ पर कुछ वर्कअराउंड सूचीबद्ध हैं, लेकिन मेरी अनुशंसा है कि यदि आप कर सकते हैं तो ऐसा करने से बचें।


1
जैसा कि मैंने कहा, मैं मोज़िला फ़ायरफ़ॉक्स 40.0.3 के साथ अपनी मार्कडाउन फ़ाइल को प्लग-इन 'मार्कडाउन व्यूअर' के साथ खोलता हूं।
एलेक्सिस ले प्रोवोस्ट

आह, आपने उस प्लग-इन का उल्लेख नहीं किया है ;-) मैंने इसे मार्कडपैड के HTML निर्यात (जिसे मैंने "फ़ायरफ़ॉक्स पेज" माना था) के साथ आज़माया था। कृपया प्लग-इन की सहायता / सहायता चैनल देखें।
कैटरीन लेविनवेबर

88

मेरे किसी भी जवाब ने काम नहीं किया। लेकिन BarryPye के उत्तर से प्रेरित मुझे पता चला कि यह रिश्तेदार रास्तों का उपयोग करते समय काम करता है!

# Contents from the '/media/user/README_1.md' markdown file:

Read more [here](./README_2.md) # It works!
Read more [here](file:///media/user/README_2.md) # Doesn't work
Read more [here](/media/user/README_2.md) # Doesn't work

1
"./" के साथ एक url पथ को शुरू करने का तात्पर्य है, बेस डायर में "/" का तात्पर्य है "" से शुरू होने के दौरान स्थानीय डायर में देखो। यह एक व्यापक लिनक्स सम्मेलन है। मुझे संदेह है कि शायद आपके पास पूरा आधार नीचे नहीं था?
होल्डऑफ ह्यूंगर

5
यह @ BarryPye के उत्तर से कैसे भिन्न है?
StephenBoesch

@javadba BarryPye के उत्तर में विस्मयादिबोधक बिंदु (!) फ़ाइल को एक छवि के रूप में प्रस्तुत करता है। प्रश्न किसी अन्य फ़ाइल के लिंक को संदर्भित करता है। (मुझे पता है, धीमा, धीमा, आपके प्रश्न का उत्तर लेकिन मुझे लगा कि अन्य लोग इसका उत्तर जानना चाहते हैं।)
रिचट्रेक

यह महत्वपूर्ण है] और (वर्णों के बीच का स्थान न हो।
jbustamovej

21

आप स्थानीय फ़ाइल से उसी तरह लिंक करते हैं जिस तरह से आप स्थानीय छवियों से लिंक करते हैं। start_caQtDM_7id.shमार्कडाउन स्रोत के समान निर्देशिका में फ़ाइल से लिंक करने के लिए एक उदाहरण है :

![start_caQtDM_7id.sh](./start_caQtDM_7id.sh) 

यह "!" महत्वपूर्ण है! धन्यवाद!
यूरी कुलिकोव

यह एक छवि को प्रस्तुत करने के लिए गितुब फ्लेवर्ड मार्कडाउन
BarryPye

13

@ SendBackC.dodore64 उत्तर के साथ खिलवाड़ करने के बाद मैंने इसका पता लगाया

[link](file:///d:/absolute.md)    # absolute filesystem path
[link](./relative1.md)            # relative to opened file
[link](/relativeToProject.md)     # relative to opened project

उन सभी ने परीक्षण किया Visual Studio Codeऔर काम किया,

नोट : संपूर्ण पथ संपादक में काम करता है, लेकिन मार्कडाउन पूर्वावलोकन मोड में काम नहीं करता है!


आपका नोट बहुत महत्वपूर्ण है!
तिन्ह एनवी

8

यदि आपके पास फ़ाइल नाम में स्थान हैं, तो ये आज़माएँ:

[file](./file%20with%20spaces.md)
[file](<./file with spaces.md>)

पहले एक अधिक विश्वसनीय लगता है


यह स्पष्ट नहीं है कि आपकी समस्या क्या है और आप क्या पूछ रहे हैं। सवाल यह है: फ़ाइल नाम में से कौन अधिक विश्वसनीय है?
सेमुर

2

धन्यवाद drifty0pine!

पहला समाधान, यह काम करता है!

[a relative link](../../some/dir/filename.md)
[Link to file in another dir on same drive](/another/dir/filename.md)
[Link to file in another dir on a different drive](/D:/dir/filename.md)

लेकिन मुझे उस समय ../तक फ़ोल्डर की आवश्यकता थी जब तक कि मेरी फ़ाइल कहाँ थी, इस तरह:

[FileToOpen](../../../../folderW/folderX/folderY/folderZ/FileToOpen.txt)

0

यदि फ़ाइल उसी निर्देशिका में है, जहाँ .md है, तो बस [Click here](MY-FILE.md)काम करना चाहिए।

अन्यथा, परियोजना की जड़ निर्देशिका से एक रास्ता बना सकते हैं। इसलिए यदि पूरी परियोजना / git-repo root निर्देशिका को 'my-app' कहा जाता है, और कोई मेरे app / ग्राहक / read-me.md को इंगित करना चाहता है, तो प्रयास करें [My hyperlink](/client/read-me.md)

कम से कम क्रोम से काम करता है।


0

यह एक पुराना सवाल है, लेकिन मेरे लिए यह अभी भी ओपी के सवाल का पूरा जवाब नहीं है। सुरक्षा के बारे में चुना गया उत्तर संभव मुद्दा होने के नाते फ़ायरफ़ॉक्स 'मार्कडाउन व्यूअर' प्लग-इन का उपयोग करते समय वास्तव में समस्या नहीं है। इसके अलावा, ओपी एमएस-विंडोज का उपयोग करता दिख रहा है, इसलिए विभिन्न ड्राइव को निर्दिष्ट करने का जोड़ा मुद्दा है।

तो, यहाँ 'मार्कडाउन व्यूअर' प्लग-इन के लिए विंडोज (और अन्य मार्कडाउन रेंडरर्स जो मैंने देखा है) के लिए थोड़ा अधिक पूर्ण अभी तक सरल उत्तर है: आप सामान्य रूप से स्थानीय पथ दर्ज करें, और यदि यह एक पूर्ण पथ है इसे स्लैश से शुरू करना सुनिश्चित करें। इसलिए:

[a relative link](../../some/dir/filename.md)
[Link to file in another dir on same drive](/another/dir/filename.md)
[Link to file in another dir on a different drive](/D:/dir/filename.md)

वह आखिरी शायद ओपी अपनी मिसाल दी गई थी। ध्यान दें कि इसका उपयोग फ़ाइलों के बजाय निर्देशिकाओं को प्रदर्शित करने के लिए भी किया जा सकता है।

हालांकि देर से, मुझे आशा है कि यह मदद करता है!

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