Я использую Org-mode в Emacs для обработки всей моей технической документации. Я хотел бы использовать Emacs для подготовки вопросов, которые у меня есть для Stack Overflow. Есть ли режим Emacs для этого или, что еще лучше, расширение для Org-mode для обработки форматирования? В идеале он должен включать все параметры форматирования, поддерживаемые синтаксисом уценки, используемым в буферах вопросов/комментариев Stack Overflow.
Режим Emacs для удержания
Ответ 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. Синяя кнопка редактирования отображается на следующем снимке экрана:
В следующем скриншоте находится буфер Emacs в режиме markdown-mode, который редактирует это сообщение:
-
Когда вы закончите редактирование в 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 и вставить редактирование. Это может выглядеть так, как показано на следующем снимке экрана:
Ответ 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.
Или вы можете сохранить файл и преобразовать его в командной строке.