Emacs mode for Stack Overflow ' s markdown

Używam Org-mode w Emacsie do obsługi całej dokumentacji technicznej. Chciałbym użyć Emacsa do przygotowania pytań, które mam na Stack Overflow. Czy istnieje do tego Tryb Emacs, czy jeszcze lepiej rozszerzenie dla trybu Org do obsługi formatowania przepełnienia stosu? W idealnym przypadku powinien on zawierać wszystkie opcje formatowania obsługiwane przez składnię markdown używaną w buforach pytań/komentarzy przepełnienia stosu.

Author: hichris123, 2012-04-30

5 answers

Integracja Emacsa z przepełnieniem stosu

Jak wspomniano możesz użyć markdown-mode. Aby zintegrować tryb markdown z przepełnieniem stosu, możesz użyć wtyczki Firefox It ' s All Text, która pozwala edytować tekst za pomocą zewnętrznego edytora. Oto jak go skonfigurować:

  1. Install markdown-mode. Jeśli używasz Debiana lub Ubuntu, możesz go zainstalować wydając

    sudo apt-get install emacs-goodies-el
    

    Lub jeśli jesteś na emacs 24 (lub masz pakiet.el na emacs 23) i Marmalade lub Melpa można go zainstalować za pomocą

    M-x package-install RET markdown-mode
    
  2. Install It ' s All Text.

  3. Ustaw preferencje tekstu, aby używać Emacsa. Można go ustawić na plik wykonywalny (np./usr/bin / emacs) lub emacsclient.
  4. Dodaj do swojego .emacs włącza tryb markdown dla przepełnienia stosu i wymiany stosu textareas:

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

    Alternatywnie, jeśli {[7] } jest zdefiniowane-Jeśli M-x describe-variable RET as-external-alist nie zawiedzie - prawdopodobnie nadpisze twoje auto-mode-alist. Ma nieco inny format (jest to lista par zamiast listy komórek cons) więc to zadziała: {]}

    (add-to-list 'as-external-alist '("stack\\(exchange\\|overflow\\)\\.com\\.[a-z0-9]+\\.txt" markdown-mode))
    
  5. Naciśnij niebieski przycisk Edytuj w prawym dolnym rogu pola tekstowego, aby edytować go za pomocą Emacsa. Niebieski przycisk edycji jest pokazany na poniższym zrzucie ekranu:

    Zrzut ekranu niebieskiego przycisku Edytuj w prawym dolnym rogu tego obszaru tekstowego

    Na poniższym zrzucie ekranu znajduje się bufor Emacsa w trybie markdown edytując ten post:

    Zrzut ekranu bufora Emacsa w trybie markdown edytując ten post

  6. Po zakończeniu edycji w Emacs Zapisz bufor, aby wysłać go do Firefoksa.

Jeśli chcesz tę funkcjonalność dla innych domen, musisz zmienić wyrażenie regularne powyżej. Poniżej rozpoznaje Stack Exchange, Stack Overflow, Ask Ubuntu i 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))

Używanie markdown-mode z Org-mode

Aby używać markdow-mode z Org-mode możesz użyć jego funkcji do pracy z kodem źródłowym. With it you może zawierać bloki znaczników w buforach trybu Org, które można edytować w trybie znaczników. Można go używać w następujący sposób:

  1. Gdy w buforze trybu Org wprowadź <s na znak nowej linii i naciśnij Tab . Spowoduje to

    #+begin_src 
    
    #+end_src
    
  2. Wpisz markdown po #+begin_src, aby mieć

    #+begin_src markdown
    
    #+end_src
    
  3. Gdy wewnątrz bloku źródłowego (pomiędzy #+begin_src markdown i #+end_src) naciśnij C-C ' , aby edytować blok źródłowy za pomocą tryb markdown.

  4. Edytuj blok źródłowy w trybie markdown.

  5. Naciśnij C-C ' , aby powrócić do bufora trybu Org i wstawić edycję. Może to wyglądać tak, jak pokazuje poniższy zrzut ekranu:

    Bufor trybu Org Edytujący blok kodu markdown dla tego posta

 144
Author: N.N.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:35

Istnieje tryb markdown: http://jblevins.org/projects/markdown-mode/

Zobacz http://emacswiki.org/emacs/MarkdownMode dla niektórych dostosowań.

I jest backend markdown dla nowego silnika eksportowego tutaj: http://orgmode.org/w/?p=org-mode.git;a=blob_plain;f=contrib / lisp / org-MD. el;hb=HEAD

Upewnij się, że dodałeś contrib/lisp/ katalog do swojego load-path.

Następnie (require 'org-export) i (require 'org-md).

M-x org-md-export-to-markdown RET wyeksportuje do markdown.

 14
Author: bzg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-13 12:02:48

Odpowiedź@N. N dotyczy również Chrome, z tymi zmianami w szczegółach.

Chrome ma edytowanie z rozszerzeniem Emacs, które jest podobne do całego tekstu. Po zainstalowaniu znajdziesz dalsze instrukcje na stronie Opcje rozszerzenia.

Istnieje grupa personalizacji Emacsa edit-server z opcjami, co najważniejsze główna zmiana trybu na stronie jest skonfigurowana inaczej niż w odpowiedzi @N. N:

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

Również, aby serwer edycji działał w terminalu emacs, musiałem wyłączyć opcję edit-server-new-frame.

 4
Author: ristohietal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-12 10:38:40

Pandoc ma wsparcie dla odczytu podzbioru trybu org i może wyświetlać markdown.

Innymi słowy, możesz pisać w trybie org, włączając w to kursywę / w ten sposób/, a następnie eksportować do markdown. Z Emacsa możesz przekonwertować na markdown wybierając region, wciskając C-U M-S - \ i wpisując pandoc-r org-t markdown, uzyskując wynik w ten sposób:

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

Lub możesz zapisać plik i przekonwertować go w wierszu poleceń.

 1
Author: Sandra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-01 13:16:43

Z Chromem Też Jest Łatwo

Jest to mniej odpowiedź niż test mojego rozwiązania przy użyciu na edycja z Emacs chrome plugin i Emacs Edit Server skonfigurowany do użycia markdown-mode dla Stackoverflow (i innych witryn Stackexchange, z których korzystam). All I had to do after zainstalowanie pakietów extension I MELPA zostało ustawione

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

Obsługa Wiadomości Gmail

Uwaga w powyższym ustawieniu używam org-mode dla wiadomości gmail. Nadal trzeba zrobić trochę pracy tutaj, ale możliwe jest, przy odrobinie wysiłku, aby przeciągnąć twoja wiadomość gmail używając org-mode, a następnie użyj org-mime do wygenerowania html z Twój tekst org. Możesz po prostu użyć markdown i markdown do html nawrócenie.

 0
Author: Tim X,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-26 04:43:23