Blog (29)
Komentarze (476)
Recenzje (0)

Statyczne strony internetowe w Emacsie

@iluzionStatyczne strony internetowe w Emacsie07.04.2011 01:58

Przypomnienie

W poprzednim wpisie opisałem podstawy org-mode w Emacsie. Wiesz już jak tworzyć rozbudowane listy TODO, jak w szybki sposób tworzyć notatki, znasz podstawowe skróty klawiszowe, które mogą być przydatne w trybie org.

Skróty klawiszowe

Skróty klawiszowe Emacsa mogą odstraszyć początkujących użytkowników, z trzech powodów:

1) Popularne skróty (np. Ctrl+Z, Ctrl+X, Ctrl+C, Ctrl+V) "nie działają" 2) Mają dziwne oznaczenia, np. C-c C-e h, M-w itp. 3) Jest ich bardzo dużo

Spieszę z wyjaśnieniami.

Ad 1) Skróty działają, ale inaczej. Emacs powstawał w zamierzchłych czasach (1976), a popularne, ogólnie przyjęte skróty klawiszowe jak (Ctrl+C, Ctrl+V) rozpowszechniły się wraz z sukcesem systemów z rodziny Windows. Zatem skróty stosowane w Emacsie są pewną zaszłością historyczną. Jest oczywiście druga strona medalu. Emacs z racji wieku jest aplikacją bardzo dojrzałą i stabilną.

Znane z systemu Windows skróty (Ctrl+Z, Ctrl+X, Ctrl+C, Ctrl+V) można włączyć zaznaczając w opcjach pozycję C-x/C-c/C-v Cut and Paste (CUA).

Ad 2) Kto wyobraża sobie dziś pracę przy komputerze bez myszki? W czasach gdy nie było trybu graficznego, myszy komputerowe nie były popularnymi urządzeniami, bo nie miały większego zastosowania. Zapewne wtedy ktoś wpadł na genialny pomysł by zwiększyć efektywaność pracy przy pomocy skrótów klawiszowych.

Emacs posiada ogromną liczbę opcji i proporcjonalną do niej liczbę skrótów. Skrótów tych nie trzeba oczywiście pamiętać. Opcje można wybrać z menu. Przy każdej posiadającej własny skrót znajduje się opis, np. C-x h. Należy pamiętać jedynie, że

C - Ctrl, M - Alt (Meta), S - Shift

Jak zatem zinterpretować skrót C-x h? Wciśnij Ctrl+X, a następnie wciśnij H.

UWAGA: Wielkości liter w oznaczeniach skrótów są istotne. Tzn. C-c C-x C-G to inny skrót od C-c C-x C-g. Ten pierwszy można by zapisać jako C-c C-x C-S-g.

Ad 3) Jak wspomniałem powyżej --- Emacs posiada tak dużą liczbę opcji, że na ich udokumentowanie na papierze należałoby wyciąć Puszczę Amazońską. Żartuję, ale prawdopodobnie autorzy podręcznika Emacsa doszli do wniosku, że łatwiej przyswoić zwięzłe oznaczenia (pewnie słusznie).

Statyczne strony internetowe

Pod koniec poprzedniego wpisu jako informację dodatkową podałem, że przy pomocy skrótu C-c C-e h (Ctrl+C, Ctrl+E, H) notatka org zostanie zapisana na dysku w pliku html (o tej samej nazwie). W tym wpisie nieco rozwinę ten wątek.

Obsługa języka polskiego

W załączniku do poprzedniej notatki dodałem wersję wpisu w postaci pliku html. Pierwsza rzecz, która rzuca się w oczy po otworzeniu tej strony to ,,Table of Contents''. Angielskie wyrażenie (które posiada polski odpowiednik) w tekście napisanym po polsku nie wygląda dobrze, a spis treści jest generowany przez Emacsa automatycznie.

Rozwiązanie tego problemu jest bardzo proste. Wystarczy do notatki (najlepiej na początku) dodać następujący wpis:

#+LANGUAGE: pl

Po wciśnięciu kombinacji C-c C-e h zostanie utworzony plik html, w którym zamiast ,,Table of Contents'' znajdzie się ,,Spis treści'', a zamiast ,,Author'' i ,,Date'' odpowiednio ,,Autor'' i ,,Data'', o ile podaliśmy również autora.

#+AUTHOR: Jan Kowalski

Dygresja: Jeśli oprócz pliku html chcemy utworzyć plik PDF (DocBook) ze wsparciem języka polskiego dodajemy:

#+LATEX_HEADER: \usepackage[polish]{babel}

Warto zauważyć, że w otrzymanym pliku zostało zastosowane prawidłowo dzielenie wyrazów. Microsoft Word domyślnie nie dzieli wyrazów, a po wyjustowaniu tekstu pozostawia okropne korytarze w tekście.

Dodatkowo cieszy fakt, że strony generowane przez Emacsa przechodzą bezbłędnie test WC3. Są lekkie dla przeglądarki, przyjemne dla oczu, choć nieco surowe.

Inne przydatne opcje to:

#+TITLE:       Tytuł strony
#+AUTHOR:      Autor strony
#+DATE:        Data
#+EMAIL:       Adres email
#+DESCRIPTION: Opis strony
#+KEYWORDS:    Słowa kluczowe

Więcej na stronie Export options.

Wzory matematycznie

Jeśli czytasz ten blog regularnie (zachęcam), to na pewno zwróciłeś(aś) uwagę, że dość często pojawia się na nim tematyka związana z LaTeX-em. LaTeX jest najlepszym (mi znanym) środowiskiem oferującym wsparcie dla wzorów matematycznych.

Wzory na stronach zwykle umieszczane są w postaci obrazów generowanych, np. na podstawie składni LaTeX-a. Rozwiązanie to ma taką zaletę, że działa w każdej przeglądarce internetowej. Nie jest natomiast wygodne w obsłudze. Zakładam, że posiadasz nowoczesną przeglądarkę, np. Google Chrome i lubisz proste, efektywne i efektowne rozwiązania typu print("Hello World"), a nie rozwiązania klasy ,,enterprise'' w stylu

public class HelloWorld {

    public static void main(String[] args) {
        System.enterprise.Enterprise.out.Jak.klikne.to.wyswietl("Hello World");
    }

}

Aby umieścić wzór/równanie wpisujemy je w trybie org w notacji LaTeX-a. Np.

$$ (a+b)^2 = a^2 + 2ab + b^2 $$

lub

\begin{equation}
    (a+b)^2 = a^2 + 2ab + b^2
\end{equation}

Wyrażenie takie jest renderowane na stronie internetowej przez MathJax.

Zapiszmy coś bardziej złożonego:

 \[ \int \frac{d\theta}{1+\theta^2} = \tan^{-1}\theta+C \]

Na końcu pliku znajduje się link do tej notatki wygenerowanej przez org-mode. Kliknij prawym przyciskiem myszy na wzór, a rozwinie się menu kontekstowe z szeregiem dodatkowych opcji.

Z poziomu tego menu możemy m.in. zmieniać rozmiar wyświetlanego wzoru, wyświetlić kod źródłowy wzoru w postaci LaTeX/MathML lub ustawić, aby po podwójnym kliknięciu wyrażenie zostało powiększone.

Proste i piękne!

HTML generated by org-mode 7.4 in emacs 24 ++ org

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.