Kuruluş modu köprülerini düzeltme ve bakımını yapma


15

Bu, bağlantı çürüğü ile ilgili iki bölümlü bir sorudur .

  1. Kuruluş modu, köprü bağlantılarını, özellikle de yerel bağlantıları doğrulamak için herhangi bir işlev sağlıyor mu? Bu, bağlantıdan sonra çürümeyle mücadele etmek için kullanılabilir.

  2. Daha da iyisi, org işlevsellik sağlıyor, böylece dired'deki bir dosyayı yeniden adlandırırsam etkilenen dosyaları güncelleyecek mi? Bu, en azından yerel dosyalar için, gerçekleşmeden önce bazı bağlantı çürümelerini önleyebilir.

Yanıtlar:


6

Bölüm 1 için yerleşik bir şey bulamadım. Aşağıdaki işlev, minibuffer'daki bozuk bağlantıların bir listesini sağlayacaktır. Bazı basit örneklerle test ettim, ancak kapsamlı olmaktan uzak.

(defun check-bit-rot ()
  "Searches current buffer for file: links, and reports the broken ones."
  (interactive)
  (save-excursion
    (beginning-of-buffer)
    (let (file-links)
      (while (re-search-forward org-bracket-link-analytic-regexp nil t)
        (if (string= "file:" (match-string-no-properties 1))
            (if (not (file-exists-p (match-string-no-properties 3)))
                (setq file-links
                      (cons (match-string-no-properties 0)
                            file-links)))))
      (message
       (concat "Warning: broken links in this file:\n"
               (mapconcat #'identity file-links "\n"))))))

1
Sizce org-bracket-link-analytic-regexpOrg bağlantılarını ayırmaya yardımcı olur mu? Bunun gibi görevler için yaratılmış gibi görünüyor.
Konstantin

@Konstantin evet, teşekkürler! Bunu bilmiyordum.
Tyler

Güzel. İki olası eklenti fikri: (1) arama ve / veya vurgulama yoluyla keşfi teşvik etmek için kötü bağlantılara işaretleme metni eklemek; (2) bozuk bağlantıları yer imlerine ekleyin.
David J.

Fikir (3) bunu bir flycheck kontrol cihazına dönüştürür ve tampon içi vurgulama sizin için yapılır.
Malabarba

İlginç öneriler. Tatil zamanı geldiğinde içine gireceğim.
Tyler

8

Org 9.0'dan bu yana org-lint, diğer şeylerin yanı sıra bozuk yerel bağlantıları kontrol eden işlevi çalıştırabilirsiniz .


2

Ubuntu işletim sistemindeki yerel bir sürücüdeki bir veya daha fazla kuruluş dosyasında yerel dosyalara bozuk bağlantıları onarmaya çalışan bir https://github.com/cashTangoTangoCash/orgFixLinks Python betiği yazdım . Kesinlikle amatör bir komut satırı komut dosyasıdır, ancak oynamaya değer olabilir. Bir derece belge sağlayan bir GitHub wiki'si vardır: https://github.com/cashTangoTangoCash/orgFixLinks/wiki . Lütfen README içindeki uyarıları kontrol edin.

Bu Python betiğinin Org'un bir parçası değil, tamamen ayrı / bağımsız olduğu için üzgünüm. Umarım hiç kimse OP'nin sorusunu doğrudan cevaplamadığım için rahatsız olmaz; Birisinin Python betiğiyle oynamaktan hoşlanabileceğini düşündüm.

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.