[[
✎ pl:miw:miw08_dokulatex
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== Opis ====== Paweł Miczko (4AR) <mieczyslav@gmail.com> Kowerter DokuWiki do LaTeX. Zbadać poziom zaimplementowania oferowanych rozwiązań. Zaimplementować. ====== Spotkania ====== ===== 08.02.26 ===== * kto już cos z tym robił? * http://danjer.doudouke.org/tech/dokutexit * wstępna spec. funkc. ===== 08.03.11 ===== * scenariusze użycia * 1str.wiki->1dok * zbiór str. z podanego ns (zadane wyr. regularnym) ->1 dok * cały ns -> 1 dok ===== 080401 ===== * 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 ===== 080415 ===== * postawione wiki! ===== 080429 ===== * [[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$ $ -> \$ _ -> \_ \ -> $\$ nie działa - trzeba przez $\backslash$ ===== 080520 ===== * testowanie, do zainst. -> instr * import latexa do wiki ====== Projekt ====== aspekty: * co tłumaczymy, https://ai.ia.agh.edu.pl/wiki/wiki:syntax * struktura: sub/sections * \label{stronawiki_naglowek}/ref ===== 08.02.26 ===== 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 ===== 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 ===== 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 ===== 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 *tabele *grafika? ===== 08.04.29 ==== *guziczki -> zrobione *quoting -> zrobione + dodatkowo znaki % -> /% & -> /& ~ -> $\sim$ ^ -> \verb=^= # -> \# ====== Sprawozdanie ====== ====== Materiały ======
pl/miw/miw08_dokulatex.1209465757.txt.gz
· ostatnio zmienione: 2019/06/27 15:58 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry