Spis treści

Export page to Open Document format

Doku Latex

Wojciech Nagrodzki nagrodz@student.agh.edu.pl

Spotkania

20090319

Co udało mi się ustalić na temat pluginu odt? Za pomocą parsera wiki, plik.txt jest konwertowany na postać zawierającą instrukcje specialne: np

This is not a list
  * This is the opening list item
  * This is the second list item
  * This is the last list item
This is also not a list

Zostanie przetłumaczony na:

p_open:
cdata: "This is not a list"
p_close:
listu_open:
listitem_open:
cdata: " This is the opening list item"
listitem_close:
listitem_open:
cdata: " This is the second list item"
listitem_close:
listitem_open:
cdata: " This is the last list item"
listitem_close:
list_close:
p_open:
cdata: "This is also not a list"
p_close:

Zadaniem programisty jest teraz napisanie odpowiednich funkcji to tych instrukcji np.

function listu_open() {
    $this->nlputcmdnl("begin{itemize}");  //need to overload that 
  }

W ten właśnie sposób jest napisany plugin DokuTexiT http://danjer.doudouke.org/tech/dokutexit

Jeżeli chodzi o kompresję plików do zip, w obu pluginach (ODT i DokuTexiT) używane są funkcje php do kompresji („c r c 3 2” „g z c o m p r e s s”). Dane są gromadzone w zmiennej „compressedData”.

PS. wpisane nazw tych funkcji, powoduje błąd w DokuWiki, (nie można zapisać edytowanej strony FIXME) dlatego zapisałem je rozdzielając litery spacjami.

05 Marzec 2009

19 Luty 2009

Projekt

Sprawozdanie

Co nie działa?

**''Bold and monospaced''**

__''Underlined and monospaced''__

//''Italic and monospaced''//
  - The same list but ordered
  - Another item
    - Just use indention for deeper levels
  - That's it

Moim zdaniem będzie trzeba przebudować całą funkcję parsującą. Przetłumaczony plik powinien zostać zapisany na dysku i udostępniony użytkownikowi (a nie wyświetlony w przeglądarce bo nie interpretowane są znaki nowej linii). Przy użyciu poleceń powłoki POSIX (nie wiem jeszcze czy da sie wstawić zmienne w odwrócone apostrofy!), można spakować plik latex wraz z grafikami. Myślę ze szybciej pójdzie mi napisanie nowej funkcji niż poprawianie starej.

Testy pluginu

Podstawowe formatowanie tekstu

This is some text with some linebreaks
Note that the two backslashes are only recognized at the end of a line
or followed by
a whitespace \\this happens without it.

Linki

Zewnętrzne o następującej postaci:
Wewnętrzne

Linki wewnętrzne nie działają. Nie można odwołać się w PDF do innej wygenerowanej strony.

Obrazkowe

Nie ją w pełni sprawne, następujący kod

[[http://www.php.net|{{wiki:dokuwiki-128.png}}]]

jest konwertowany na postać

img /Users/wojtek/Sites/dokuwiki/data/media/wiki/dokuwiki-128.png
Przypisy

Przypis 1) Przypisy są zapisywane w obszarze stopki strony. Kliknięcie przypisu powoduje przejście do stopki strony.

Dzielenie na sekcje

Obrazki

Nie są w pełni wspierane. Kod postaci

Real size:                        {{wiki:dokuwiki-128.png}}

Jest konwertowane na

img /Users/wojtek/Sites/dokuwiki/data/media/wiki/dokuwiki-128.png

Listy

  1. Pierwszy element
  2. Drugi
    1. Niższy poziom, Element pierwszy
  3. Trzeci

Emotikony

Sa przedstawione jedynie w postaci znakowej.

Typografia

Jest w pełni wspierana. Konwertowane są min znaki: → ← ↔ ⇒ ⇐ ⇔ » « – — 640×480 © ™ ®

Cytowanie

Hej!
Witaj!
Idziemy na piwko
Zapytam Adama
OK, chodźmy!

Jest w pełni wspierane.

Tabele

Heading 1 Heading 2 Heading 3
Row 1 Col 1 Row 1 Col 2 Row 1 Col 3
Row 2 Col 1 Row 2 Col 2 Row 2 Col 3
Row 3 Col 1 Row 3 Col 2 Row 3 Col 3
Heading 1 Heading 2
Heading 3 Row 1 Col 1 Row 1 Col 2
Heading 4 Row 2 Col 1 Row 2 Col 2
Heading 5 Row 3 Col 1 Row 2 Col 2
Heading 1 Heading 2 Heading 3
Row 1 Col 1 Row 1 Col 2 Row 1 Col 3
Row 2 Col 1 Wiersz na dwie kolumny
Row 3 Col 1 Row 2 Col 2 Row 2 Col 3
Table with alignment
right center left
left right center
xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx

Bloki nieparsowane

Są w pełni obsługiwane.

Przykładowy blok niesporsowany.

Używanie pluginu

Rozpakuj plugin w /dokuwiki/lib/plugins https://ai.ia.agh.edu.pl/wiki/_media/pl:miw:2009:dokutexit.zip

Aby uzyskać guzik konwersji do latexa należy wstawić następujący kod na stronie.

<texit info>
author=MySelf
title=MyTitle
</texit>

Wciśnij Generate PFD a następnie View Latex Source.

Prezentacja

Materiały

http://www.dokuwiki.org/development

1)
Tekst przypisu