====== Przebieg prac nad projektem ====== ===== 08.02.26 ===== ===GJN=== * kto już cos z tym robił? * wstępna spec. funkc. aspekty: * co tłumaczymy, https://ai.ia.agh.edu.pl/wiki/wiki:syntax * struktura: sub/sections * \label{stronawiki_naglowek}/ref ===me=== kto już cos z tym robił? http://danjer.doudouke.org/tech/dokutexit ---- czysty tekst parsujemy bez zmian; **Bold Text** -> \textbf{} //Italic Text// -> \textit{} __Underlined Text__ -> \underline{} ''Code Text'' -> begin{verbatim} FIXME ''code'' -> \verb|| dwie spacje na pocz jak poniżej -> \begin{verbatim} ala ma kota Strike-through Text -> \sout{} - Ordered List Item -> \enumerate * Unordered List Item -> \itemize Linki zewnętrzne -> \url do sections subsections trzeba by utworzyć jakiś licznik, w zależności od tego ile jest poziomów zagnieżdżenia ===== 08.03.11 ===== ===GJN=== * scenariusze użycia * 1str.wiki->1dok * zbiór str. z podanego ns (zadane wyr. regularnym) ->1 dok * cały ns -> 1 dok ===me=== Powstaje pytanie: gdzie dokładnie w strukturze dokuwiki znajdują sie kody źródłowe stron? Czy jest to struktura drzewiasta, np. dla każdego ns jest osobny folder a w nim pliki z tego ns? Jeśli tak to możnaby poprzez wybór parametru wybierać które strony mają być sparsowane, np. * nazwa 1 konkretnej strony * wiele stron po przecinku * nazwa_ns/*.txt lub po prostu nazwa ns Jeśli będziemy konwertować zbiór stron do jednego pdfa, to będą one wyróżnione jako \chapter{}. Jednak będzie to głupio wyglądało... Dużo lepszym rozwiązaniem byłoby \chapter*, wtedy nie mamy słowa Rozdział, jednak wtedy \ref{} nie działa i jest jeszcze gorzej... Natomiast w obrębie jednej strony kolejne poziomy nagłówków konwertowane będą do: *\section{} *\subsection{} *\subsubsection{} *\paragraph{} *\subparagraph{} * odnośniki: w obrębie 1 dok LaTeX label/ref * nazwy stron i nagłowki ''==========='' -> label * odnośniki wewn. ''[[...]]'' (bez http) wiki, które dot. generowanego dok latex -> ref np. dla tej strony będzie to wyglądało mniej więcej: \begin{document} \maketitle \chapter{miw08_dokulatex} \label{miw08_dokulatex_main} \section{Opis} \label{miw08_dokulatex_Opis} Paweł Miczko (4AR) Kowerter DokuWiki do \LaTeX{}. Zbadać poziom zaimplementowania oferowanych rozwiązań. Zaimplementować. \subsection{Spotkania} \label{miw08_dokulatex_Spotkania} \subsubsection{08.02.26} \label{miw08_dokulatex_08.02.26} \begin{itemize} \item kto już cos z tym robił? \item * \url{http://danjer.doudouke.org/tech/dokutexit} \item wstępna spec funkc \end{itemize} \subsection{Projekt} \label{miw08_dokulatex_Projekt} aspekty: \begin{itemize} \item co tłumaczymy, \url{https://ai.ia.agh.edu.pl/wiki/wiki:syntax} \item struktura: sub/sections \end{itemize} Przy włączeniu pakietu hyperref w miejscu użycia ref pojawi się hiperłącze do danego labela. Przykładowo, gdybyśmy dodali kolejną stronę z namespace'u, odnośnik wyglądałby tak: \chapter{jakastamstrona} \label{jakastamstrona_main} Projekt DokuLatex znajduje się tutaj: \ref{miw08_dokulatex_main} (...) * narzędzia, PHP? jakieś wsparcie? po stronie wiki? Kody źródłowe przetwarzamy przy pomocy PHP. Parser zostanie napisany obiektowo(czyt. z zastosowaniem klas), zastanówmy się więc najpierw jakie powinien posiadać funkcje(operacje) i zmienne(atrybuty). Wynik: Stałe(definiowane poza klasą): - F_WIKI - przechowuje nazwę katalogu, w którym znajdują się strony. Atrybuty: - $last_loaded - przechowuje nazwę ostatnio wczytanego pliku. - $unparsed - przechowuje niezamieniony kod stron, - $parsed - przechowuje zamieniony kod stron, - $blocks - przechowuje bloki do zamiany. Operacje: - load() - wczytuje kod strony i zapisuje go jako kolejny element tablicy $unparsed - parse() - parsuje stronę i zapisuje wynik swojego działania jako kolejny element tablicy $parsed - show_result() - wyświetla sparsowaną stronę/strony'' ===== 08.04.01 ===== ===GJN=== * prototyp: 1str.wiki->1dok * customizowalne poziomy section * standalone (generowanie prologu LaTeXa) / embedded (do włączenia, tylko treść dokuemntu) * plugin NIE używa samego LaTeXa! generujemy czysty plik TEX ===me=== Bardzo wstępna wersja pluginu jest dostępna pod adresem http://hyper.ia.agh.edu.pl/~miczkop/dokulatex/ póki co działa tylko dla B/I/U/ich kombinacji ale początki zawsze są trudne ;) ===== 08.04.15 ===== ===GJN=== * postawione wiki! ===me=== Postawione wiki znajduje się pod adresem http://student.agh.edu.pl/~micz/dokuwiki-2007-06-26b Na razie konwerter jest dostepny w panelu administratora i trzeba nazwę strony wpisać "z ręki" docelowo planuję wyświetlać listę stron w wiki i będzie się zaznaczać które by się chciało skonwertować. Konwertowanie działa na bazie wyrażeń regularnych i PHPowskiej funkcji preg_match_all. Z planowanych funkcjonalności na razie zrobione są i działają: *bold *italik *podkreślenie *przekreślenie *code *subscript/superscript *poziomy menu łącznie z dołączaniem w tym miejscu label *mailto *konwersja linków zewnętrznych nie jest konieczna *linki wewnętrzne + w tym miejscu ref *footnotes Do zrobienia pozostały: *listy numerowane i nienumerowane *kod zaczynający się w wiki od dwóch spacji ===== 08.04.29 ===== ===GJN=== * [[http://wiki.splitbrain.org/wiki:plugins?plugintag=button|guziczki]] * //ala:// pusta linia i jestesmy w itemize/enum -> enditem/enum - aaa * quoting znaków texa!!!! { -> $\lbrace$ } -> $\rbrace$ $ -> \$ _ -> \_ \ -> $\$ ===me=== \ -> $\$ nie działa - trzeba przez $\backslash$ ---- *guziczki -> zrobione *quoting -> zrobione + dodatkowo znaki % -> /% & -> /& ~ -> $\sim$ ^ -> \verb=^= # -> \# ===== 08.05.20 ===== ===GJN=== * testowanie, do zainst. -> instr * import latexa do wiki ===me=== http://wiki.splitbrain.org/plugin:latex http://wiki.erazor-zone.de/doku.php?id=wiki:projects:php:dokuwiki:plugins:latex Instrukcja obsługi pluginu - instalacja Plugin Managerem z adresu http://hyper.ia.agh.edu.pl/~miczkop/dokulatex.zip - aby na stronie pojawił się przycisk umożliwiający konwersję, należy w pliku /lib/tpl/default/main.php w okolicach linii 60. - dokładnie przed, po lub pomiędzy liniami: < ?php tpl_button('edit')?> < ?php tpl_button('history')?> należy dopisać: < ?php if (!plugin_isdisabled('dokulatex') && ($dokulatex =& plugin_load('helper', 'dokulatex'))) $dokulatex->html_convert_button(); ?> oczywiście bez spacji po < ===== 08.06.03 ===== ===GJN=== * sprawozd: specyfikacja funkcj., opis realizacji, ew. opis "zasadzek" * ew. naprawienie usterek po testach ===me=== (w odpowiedzi na uwagi z 08.06.01) - begin{doc} ma się zaczynać od nowej linii *fixed! - podobnie 1. section *fixed! - dlaczego są spacje przed i po słowie wstawianym jako tytuł do section *nie jest to celowe, nie wiem jak to zmienić, nie przeszkadza to w kompilacji Latex - podobnie z item! *j.w. - oraz label *j.w. - czemu item ma tre w klamrach? powinno być bez! *fixed! - generowanie labeli jest dziwaczne, czemu jest dodawane "label", poza tym label to ma być jeden string! *fixed! - nie robi się verbatim! *not fixed ;( nie da się ;( FIXME - coś co wygląda [[http://tralala]] mapujemy na \url{http://tralala} *fixed! - coś co wygląda {{tralala|Piosenka}} mapujemy na \begin{figure} \includegraphics{tralala} \caption{Piosenka} \end{figure} *fixed! ===GJN=== * z tymi spacjami w 3. 4. i 5. to banał! ===me (08.06.05)=== *racja - fixed!