Edytowanie wiki przy pomocy edytora tekstu

  • Poniższe instrukcje dotyczą wykorzystania edytora emacs do edytowania zawartości pól tekstowych formularzy (w tym pola na stronie edycji dokumentu w systemie wiki). Do tego celu konieczne jest korzystanie z dobrej przeglądarki internetowej (tj. mozilla lub firefox), do których istnieje wtyczka pozwalająca na przedefiniowanie szeregu standardowych operacji związanych z surfowaniem po sieci... (w tym edycji pól tekstowych w formularzu, ang. textarea). Zamiast emacsa można korzystać z dowolnego innego dobrego edytora tekstowego (w systemie Windows, np. textpad); w akcie desperacji można używać choćby programu notepad choć lepiej zdecydować się na edytor, w którym można dokonać sprawdzania pisowni, automatycznego przeformatowywania bloków tekstu, etc. (textpad to potrafi).

  • zainstaluj plugin mozex do firefoxa. Najnowsza wersja pluginu dostępna jest tutaj. Starszą wersję (dla FF 1.0x) można pobrać ze mirroru. Instalacja: Firefox->File->Open file. Korzystanie z mozex sprowadza się do odpowiedniego skonfigurowania

    plugina (Firefox->Tools->Extensions->Options z podświetlonym mozex).W polu Textareas wpisać "/usr/bin/emacsclient %t". Odpowiedniej konfiguracji wymaga w takim przypadku emacs. Sprawa sprowadza się do ustawienia unikodu i uaktywnienia trybu serwerowego. Odpowiednie wpisy do .emacs wyglądają następująco:

    (when window-system
    (set-face-font
          'default '
          "-misc-fixed-medium-r-normal--14-*-*-*-*-*-iso10646-1"))
    
    (setq locale-coding-system 'utf-8)
    (set-terminal-coding-system 'utf-8)
    (set-keyboard-coding-system 'utf-8)
    (set-selection-coding-system 'utf-8)
    (set-clipboard-coding-system 'utf-8)
    (prefer-coding-system 'utf-8)
    
    (server-start)
    
    Po tych ustawieniach, przy wejściu na stronę edycji wiki na polu

    textarea z kodem strony w formacie wiki wystarczy nacisnąć RMB (prawy przycisk myszy) i wybrać mozex->Edit Textarea. Trzeba to zrobić przy uruchomionym emacsie dzięki czemu, w buforze znajdzie się od razu zawartość strony... Po zakończeniu edycji należy powiadomić o tym serwer emacsa i zakończyć działanie procesu klienta (C-x #). Po kliknięciu LMB(lewego przycisku myszy) w polu textarea jego zawartość zostanie zastąpiona zawartością odpowiedniego bufora emacsa. Oczywiście zamiast emacsa można wybrać dowolny inny edytor tekstu. Pytanie: czy warto... Dokumentacja (po polsku!) do mozex-a dostępna jest pod adresem: http://mozillapl.org/projekty/Dodatki/MozexPL. Parę uwag na marginesie: pisanie w unikodzie jest miłe, w wolnej chwili spróbuje znaleźć jakieś wygodne rozwiązanie dla problemu

    przełączania się między input-method. Na razie aby pisać po polsku w mule-emacsie, sugeruje ustawić:

    ;; use C-\ to toggle input methods
    (custom-set-variables
        '(current-language-environment "polish")
        '(default-input-method "polish-slash"))
    
    co umożliwi wprowadzanie polskich znaków po naciśnięciu klawisza

    ukośnika (tj. /) a następnie odpowiedniego znaku z repertuaru polskich znaków diakrytycznych (a C E l Z x, etc.). Aby w tym samym buforze wpisać np. znak alpha wystarczy `Μ-x set-input-method RET greek` i pod a będzie α a pod b: β. Powrót do polskiego łez padołu po wybraniu polish-slash lub naciśnięciu C-c \ (default input method).

  • istnieje alternatywna metoda wygodnego edytowania stron wiki z poziomu emacsa. Wystarczy zainstalować tekstową przeglądarkę

    w3m i odpowiedni moduł do emacsa: w3m-el (`apt-get install w3m w3m-el). Do .emacs` dobrze jest wtedy dodać następujące linie:

    ;; w3m settings
    (setq w3m-use-cookies t)
    ;; Keep the w3m-el stuff separate from the .w3m preferences
    (setq w3m-profile-directory       "~/.w3m/w3m-el-profile")
    (setq w3m-arrived-file            "~/.w3m/w3m-el-profile/.arrived")
    (setq w3m-cookie-file             "~/.w3m/w3m-el-profile/.cookie")
    (setq w3m-form-textarea-directory "~/.w3m/w3m-el-profile/.textarea")
    
    i po uruchomieniu emacsa można się cieszyć przeglądarką internetową ze wsparciem dla tabel, cookies i inline images (M-x w3m, parę

    skrótów klawiszowych: g spyta o adres strony do wyświetlenia, SPC wyświetlenie kolejnej strony (PgUp), C-n wyświetlenie kolejnej linii, ENTER przejście na adres wskazywany przez odnośnik hipertekstowy, C-c C-c zakończenie edycji w polu tekstowym (M-x w3m-submit form), C-c C-k anulowanie/przerwanie edycji w polu tekstowym, C-SPC zaznaczanie początku bloku do skopiowania, etc. Inne skróty klawiszowe podane są na stronie: http://www.emacswiki.org/cgi-bin/wiki/WThreeMKeymap będącą częścią emacs-w3m wiki). Po zalogowaniu na bioinfo, edycja textarea zachodzi w oddzielnym buforze emacsa.

Wzory, równania chemiczne, schematy..

  • Rozwiązanie najprostsze sprowadza się do stworzenia tych rzeczy w wybranym programie i utworzenia ich graficznej reprezentacji

    zapisanej w formacie gif lub png a następnie umieszczenia odpowiedniego rysunku w treści artykułu. Rozwiązanie nieco trudniejsze ale znacznie lepsze wymaga użycia makra

    w MoinMoinie do obsługi profesjonalnego systemu składania tekstu LaTeX. Dzięki czemu graficzne obiekty w tekście artykułu reprezentowane są w postaci tekstowej w jego źródłach co umożliwia dokonywanie zmian/korekt w tych obiektach (tj. wzorach, równaniach etc.). Przykładowe wykorzystanie makra latex podane jest poniżej dla prostego wzoru matematycznego. Oto fragment treści artykułu:

    [[latex($$E = \frac{m \cdot n}{2^s}$$)]] 
    
    i sposób w jaki będzie on wyrenderowany w oknie przeglądarki: $$E = \frac{m \cdot n}{2^s}$$

    Krótkie wprowadzenie do systemu LaTeX można znalęźć tutaj.

    Makro/parser latex zostało zaprojektowane w kierunku dużej szybkości działania. Chcąc wykorzystać pełne możliwości systemu LaTeX należy wykorzystać makro/parser latexps (zmodyfikowana wersja makra latex: dvipng/dvips+image-magic-convert). Bardziej wyszukane przykłady wykorzystania parserów latex/latexps (pstricks, inne przykłady dostępne pod tym adresem) podane są poniżej (aby poznać sposób generowania poniższych rysunków przyjrzyj się źródłom tej strony):

    • 
\TeXtoEPS
\begin{pspicture}(-2,-5)(2,5)
\psset{xunit=0.0222cm,yunit=1cm}
\psaxes[Dx=45]{->}(0,0)(-90,-5)(90,5)
\uput[-90](85,0){$\bm{\alpha}$}
\uput[0](0,4.8){\textbf{y}}
\psgrid[griddots=10,%
        subgriddiv=0,%
        gridlabels=0pt,%
        xunit=45](-1.5,-5)(1.5,5)
\psplot[plotstyle=curve,%
        linewidth=1.5pt,%
        linecolor=red]{-78}{78}{x sin x cos div}% postscript function
\end{pspicture}
\endTeXtoEPS

      Prosty wykres w całości w LaTeXu.

      
\TeXtoEPS
\small
\psframebox[linearc=0.5,cornersize=absolute]{%
  \begin{psmatrix}[rowsep=0.4,colsep=0.5]
    \psovalbox[fillstyle=solid,fillcolor=yellow]{Begin} \\
    \psframebox{Initialisations} \\
    \psdiabox[fillstyle=solid,fillcolor=green]{Special} &
       \psframebox{Call to SP1} & \psframebox{Call to SP2} \\
    \psframebox{Action 1} \\
    ~\\
    \psframebox{Action 2} \\
    \psovalbox[fillstyle=solid,fillcolor=yellow]{End}
    % Links
    \ncline{->}{1,1}{2,1}
    \ncline{->}{2,1}{3,1}
    \ncline{->}{3,1}{4,1}<{\textcolor{red}{No}}
    \ncline{->}{4,1}{6,1}
    \ncline{->}{6,1}{7,1}
    \ncline{->}{3,1}{3,2}^{\textcolor{red}{Yes}}
    \ncline{->}{3,2}{3,3}
    \ncbar[angleA=-90,armB=0,nodesepB=0.25]{->}{3,3}{4,1}
    \end{psmatrix}%
}
\endTeXtoEPSPrzykładowy schemat...