Markdown sözdizimi ile herhangi bir yerel dosyaya nasıl bağlanılır?


93

Birkaç bağlantı içeren yerel bir markdown dosyam var ve bu bağlantıların pdf gibi yerel dosyaya gitmesini istiyorum.

Aşağıdaki sözdizimini kullanıyorum:

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

Ancak markdown dosyamı bir Firefox sayfasına açıp bağlantıya tıkladığımda hiçbir şey olmuyor.

Tam olarak neyi kaçırdım? Yerel dosyayı açmak mümkün mü?


Burada da cevaplandı, yinelenen bir soru gibi görünüyor ?: stackoverflow.com/a/58317580/5890679
Akul Aggarwal

Vim, tıklanabilir web bağlantıları da dahil olmak üzere markdown'ı güzelce vurgular. Ne yazık ki yerel bağlantılar vurgulanmış olsa da açılmayacaktır.
user2023370

Yanıtlar:


32

İşlenmiş Markdown'u nasıl açıyorsunuz?

HTTP üzerinden barındırırsanız, yani ona http://veya aracılığıyla erişirseniz https://, çoğu modern tarayıcı yerel bağlantıları açmayı reddeder, örneğin ile file://. Bu bir güvenlik özelliğidir :

Güvenlik amacıyla, Mozilla uygulamaları uzak dosyalardan yerel dosyalara (ve dizinlere) olan bağlantıları engeller. Bu, sabit sürücünüzdeki, eşlenmiş ağ sürücülerindeki dosyalara bağlanmayı ve Tekdüzen Adlandırma Kuralı (UNC) yolları aracılığıyla erişilebilir olmayı içerir . Bu , aşağıdakiler dahil bir dizi hoş olmayan olasılığı önler :

  • Sitelerin, varsayılan yükleme yollarını kontrol ederek işletim sisteminizi algılamasına izin verme
  • Sitelerin sistem güvenlik açıklarından yararlanmasına izin verme (ör C:\con\con. Windows 95 / 98'de)
  • Sitelerin tarayıcı tercihlerini tespit etmesine veya hassas verileri okumasına izin verme

Bu sayfada listelenen bazı geçici çözümler var, ancak tavsiyem, eğer yapabiliyorsanız bunu yapmaktan kaçınmanızdır.


1
Dediğim gibi, markdown dosyamı Mozilla Firefox 40.0.3 ile 'Markdown Viewer' eklentisiyle açıyorum.
Alexis Le Provost

Ah, bu eklentiden daha önce bahsetmemiştin ;-) Ben MarkdownPad'in HTML dışa aktarımı ("Firefox sayfası" olduğunu varsaydığım) ile denedim. Lütfen eklentinin yardım / destek kanallarını kontrol edin.
Katrin Leinweber

88

Cevapların hiçbiri benim için işe yaramadı. Ancak BarryPye'nin cevabından esinlenerek, göreceli yolları kullanırken işe yaradığını öğrendim!

# 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
Bir url yolundan "./" ile başlamak yerel dizine bakmayı, "/" ile başlamak "temel dizine bak" anlamına gelir. Bu, yaygın bir Linux anlaşmasıdır. Belki de tüm temele sahip olmadığından şüpheleniyorum?
HoldOffHunger

5
Bunun @ BarryPye'nin cevabından farkı nedir?
StephenBoesch

@javadba BarryPye'nin cevabındaki ünlem işareti (!), dosyayı bir görüntü olarak gösteriyor. Soru, başka bir dosyaya bir bağlantıyla ilgilidir. (Biliyorum, yavaş, yavaş, sorunuza yanıt verin ama başkalarının cevabı bilmek isteyebileceğini düşündüm.)
RichTBreak

] Ve (karakterleri arasında boşluk bırakılmaması önemlidir.
jbustamovej

21

Yerel bir dosyaya, yerel görüntülere bağladığınız şekilde bağlanırsınız. start_caQtDM_7id.shMarkdown kaynağıyla aynı dizindeki dosyaya bağlantı için bir örnek :

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

Bu "!" önemli! Teşekkürler!
Yuriy Kulikov

Bir görüntüyü işlemek için Github aromalı markdown sözdiziminin bir parçasıdır, guides.github.com/features/mastering-markdown
BarryPye

13

@ BringBackCommodore64 cevabıyla uğraştıktan sonra anladım

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

Hepsi test edildi Visual Studio Codeve çalışıyor,

Not : Mutlak yol, düzenleyicide çalışır ancak markdown ön izleme modunda çalışmaz!


Notunuz çok önemli!
Thinh NV

8

Dosya adında boşluk varsa şunları deneyin:

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

Birincisi daha güvenilir görünüyor


Sorunun ne olduğu ve ne sorduğun belli değil. Soru şu: dosya adlarından hangisi daha güvenilir?
Seymour

2

Teşekkürler drifty0pine!

İlk çözüm işe yarıyor!

[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)

ancak ../dosyamın bulunduğu klasöre kadar şu şekilde daha fazlasını koymam gerekiyordu :

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

0

Dosya, .md dosyasının bulunduğu dizinde ise, o zaman sadece [Click here](MY-FILE.md) işe yarayacaktır.

Aksi takdirde, projenin kök dizininden bir yol oluşturabilir. Dolayısıyla, tüm proje / git-repo kök dizini 'uygulamam' olarak adlandırılırsa ve biri uygulamam / istemcim / beni-beni.md'ye yönlendirmek isterse, deneyin[My hyperlink](/client/read-me.md) .

En azından Chrome'dan çalışıyor.


0

Bu eski bir soru, ancak bana göre hala OP'nin sorusuna tam bir cevabı yok gibi görünüyor. Olası sorun olarak güvenlik hakkında seçilen cevap aslında çoğu zaman benim deneyimimde Firefox 'Markdown Viewer' eklentisini kullanırken sorun . Ayrıca, OP MS-Windows kullanıyor gibi görünüyor, bu nedenle farklı sürücülerin belirtilmesi gibi ek bir sorun var.

İşte Windows'daki 'Markdown Viewer' eklentisi (ve gördüğüm diğer Markdown oluşturucular) için biraz daha eksiksiz ancak basit bir cevap: normalde yaptığınız gibi yerel yolu girin ve bu mutlak bir yol ise eğik çizgiyle başladığınızdan emin olun. Yani:

[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)

Bu sonuncusu muhtemelen OP'nin örneğine bakıldığında aradığı şeydi. Bunun dosyalar yerine dizinleri görüntülemek için de kullanılabileceğini unutmayın.

Geç olsa da, umarım bu yardımcı olur!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.