Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
pl:miw:miw08_dokulatex:projekt [2008/06/06 16:33]
miw
pl:miw:miw08_dokulatex:projekt [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 +====== 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{}
 +
 +<​del>''​Code Text''​ -> begin{verbatim}</​del>​ FIXME
 +
 +''​code''​ -> \verb||
 +dwie spacje na pocz jak poniżej -> \begin{verbatim}
 +
 +  ala ma kota
 +
 +<​del>​Strike-through Text</​del>​ -> \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:
 +<​code>​
 +\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}
 +
 +</​code>​
 +
 +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:
 +<​code>​
 +\chapter{jakastamstrona}
 +\label{jakastamstrona_main}
 +Projekt DokuLatex znajduje się tutaj: \ref{miw08_dokulatex_main} (...)
 +</​code>​
 +  * 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!
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0