Режим Emacs для удержания

Я использую Org-mode в Emacs для обработки всей моей технической документации. Я хотел бы использовать Emacs для подготовки вопросов, которые у меня есть для Stack Overflow. Есть ли режим Emacs для этого или, что еще лучше, расширение для Org-mode для обработки форматирования? В идеале он должен включать все параметры форматирования, поддерживаемые синтаксисом уценки, используемым в буферах вопросов/комментариев Stack Overflow.

Ответ 1

Интеграция Emacs с переполнением стека

Как уже упоминалось, вы можете использовать markdown-mode. Чтобы интегрировать режим markdown с помощью Stack Overflow, вы можете использовать плагин Firefox It All Text, который позволяет редактировать текстовые поля с помощью внешнего редактора. Вот как это настроить:

  • Установите markdown-mode. Если вы используете Debian или Ubuntu, вы можете установить его, выпустив

    sudo apt-get install emacs-goodies-el
    

    или если вы на emacs 24 (или package.el на emacs 23) и Marmalade или Melpa вы можете установить его с помощью

    M-x package-install RET markdown-mode
    
  • Установите Все текст.

  • Задайте все текстовые настройки для использования Emacs. Либо вы можете установить его в исполняемый файл (например,/usr/bin/emacs), либо emacsclient.
  • Добавьте следующее в свои .emacs, чтобы включить режим уценки для текстовых полей Qaru и Stack Exchange:

     
    ;; Integrate Emacs with Stack Exchange https://stackoverflow.com/a/10386560/789593
    (add-to-list 'auto-mode-alist '("stack\\(exchange\\|overflow\\)\\.com\\.[a-z0-9]+\\.txt" . markdown-mode))
    

    В качестве альтернативы, если as-external-alist определен, если M-x describe-variable RET as-external-alist не работает, он, вероятно, переопределит ваш auto-mode-alist. Он имеет несколько другой формат (это список пар вместо списка cons-ячеек), поэтому это будет работать:

    (add-to-list 'as-external-alist '("stack\\(exchange\\|overflow\\)\\.com\\.[a-z0-9]+\\.txt" markdown-mode))
    
  • Нажмите синюю кнопку редактирования в нижней правой части текстового поля, чтобы отредактировать ее через emacs. Синяя кнопка редактирования отображается на следующем снимке экрана:

    Screenshot of the blue edit button at the bottom right side of this textarea

    В следующем скриншоте находится буфер Emacs в режиме markdown-mode, который редактирует это сообщение:

    Screenshot of an Emacs buffer in markdown-mode editing this post

  • Когда вы закончите редактирование в Emacs, сохраните буфер, чтобы отправить его в Firefox.

Если вы хотите эту функциональность для других доменов, вам нужно изменить regexp выше. Следующее распознает Stack Exchange, Stack Overflow, Ask Ubuntu и Super User:

;; Integrate Emacs with Stack Exchange https://stackoverflow.com/a/10386560/789593
(add-to-list 'auto-mode-alist '("\\(stack\\(exchange\\|overflow\\)\\|superuser\\|askubuntu\\)\\.com\\.[a-z0-9]+\\.txt" . markdown-mode))

Использование режима markdown с Org-mode

Чтобы использовать режим markdow в Org-режиме, вы можете использовать его функцию для работы с исходным кодом. С его помощью вы можете включать блоки уценки внутри буферов Org-mode, которые вы можете редактировать с помощью режима уценки. Вы можете использовать его следующим образом:

  • Если в буфере Org-mode введите <s в новую строку и нажмите Tab. Это приведет к

    #+begin_src 
    
    #+end_src
    
  • Введите markdown после #+begin_src, чтобы у вас

    #+begin_src markdown
    
    #+end_src
    
  • Когда внутри исходного блока (между #+begin_src markdown и #+end_src) нажмите C-c ', чтобы отредактировать исходный блок с помощью режима уценки.

  • Отредактируйте исходный блок в режиме уценки.

  • Нажмите C-c ', чтобы вернуться в буфер Org-mode и вставить редактирование. Это может выглядеть так, как показано на следующем снимке экрана:

    An Org-mode buffer editing a block of markdown code for this post

Ответ 2

Существует режим уценки: http://jblevins.org/projects/markdown-mode/

Для некоторых настроек см. http://emacswiki.org/emacs/MarkdownMode.

И здесь есть базовая ссылка для нового механизма экспорта: http://orgmode.org/w/?p=org-mode.git;a=blob_plain;f=contrib/lisp/org-md.el;hb=HEAD

Убедитесь, что вы добавили каталог contrib/lisp/ в свой load-path.

Затем (require 'org-export) и (require 'org-md).

M-x org-md-export-to-markdown RET будет экспортироваться в уценку.

Ответ 3

@N.N ответ также применим к Chrome, с этими изменениями в деталях.

Chrome имеет Edit с расширением Emacs, который похож на весь текст. После его установки вы найдете дополнительные инструкции на странице параметров расширения.

Существует группа настройки emacs edit-server с параметрами, самое главное изменение основного режима на сайт настраивается иначе, чем в ответе @N.N:

(add-to-list 'edit-server-url-major-mode-alist
             '("^stackoverflow" . markdown-mode))

Кроме того, для редактирования сервера для работы в терминале emacs мне пришлось отключить параметр edit-server-new-frame.

Ответ 4

Это легко с Chrome Too

Это меньше ответов, чем тест моего решения, используя Изменить с помощью Emacs хром плагин и Emacs Изменить сервер настроен на использование markdown-mode для Stackoverflow (и других сайтов Stackexchange, которые я использую). Все, что я должен был сделать после установка расширения и пакетов MELPA была установлена ​​

(setq edit-server-url-major-mode-alist
             '(("mail.google.com" . org-mode)
               ("stackoverflow\\.com" . markdown-mode)
               (".*\\.stackexchange\\.com" . markdown-mode)
               ("github\\.com" . markdown-mode)))

Поддержка сообщений Gmail

Обратите внимание, что в приведенной выше настройке я использую org-mode для сообщений gmail. Все еще требуется здесь можно немного поработать, но с небольшими усилиями можно ваше сообщение gmail с использованием org-mode, а затем используйте org-mime для генерации html из ваш структурированный текст. Вы можете просто использовать уценку и уценку для html преобразование.

Ответ 5

Pandoc поддерживает чтение подмножества org-mode и может выводить уценку.

Другими словами, вы можете продолжать писать в орг-режиме, включая написание курсива/как этот /, а затем экспорт в уценку. Из emacs вы можете преобразовать в уценку, выбрав область, нажав C-u M-S-\и набрав pandoc -r org -t markdown, получив выход следующим образом:

In other words, you can keep writing in org-mode, including writing italics *like this*, and then export to markdown.

Или вы можете сохранить файл и преобразовать его в командной строке.