Исключая временные файлы emacs из Jekyll - PullRequest
0 голосов
/ 26 января 2019

Jekyll, похоже, рад исключить файлы резервных копий emacs filename~ и filename.~n~, но я не могу исключить #filename# или .#filename#.Хотя они на самом деле не копируются на опубликованный сайт, они постоянно запускают регенерацию файлов, когда я редактирую файлы в режиме просмотра.

Могу ли я добавить что-либо в exclude или какие-то другие настройки, чтобы остановить это поведение?

1 Ответ

0 голосов
/ 30 января 2019

Я пытался выяснить, было ли # совпадением паттерна WRT специального символа в Ruby, но я изучаю Ruby заново, так как я изучаю Jekyll так ...?Случайно, возможно, это сработает, попытки \# и ## бесполезны.

Итак, со стороны Emacs, я изменил auto-save-file-name-p и make-auto-save-file-name, чтобы добавить ~ в конце автоматически сохраняемых файлов, так что теперь они #filename#~, и Jekyll с радостью игнорирует файлы, которыезаканчивается ~ (см .: https://www.gnu.org/software/emacs/manual/html_node/elisp/Auto_002dSaving.html).

Наконец, я также отключил lockfiles для создания файлов .#filename.

Это работает, даже если, вероятно, было бы лучше исправитьэто со стороны источника Jekyll.

Итак, если это проблема для вас, укажите в вашем .emacs следующее:

(defun auto-save-file-name-p (filename)
            "Return non-nil if FILENAME can be yielded by..."
            (string-match "^#.*#~$" filename))

(defun make-auto-save-file-name ()
            "Return file name to use for auto-saves \
          of current buffer.."
            (if buffer-file-name
                (concat
                 (file-name-directory buffer-file-name)
                 "#"
                 (file-name-nondirectory buffer-file-name)
                 "#~")
              (expand-file-name
               (concat "#%" (buffer-name) "#~"))))

(setq create-lockfiles nil)
...