Przebieg prac nad projektem

08.02.26

GJN

  • kto już cos z tym robił?
  • wstępna spec. funkc.

aspekty:

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{}

  1. 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ą):

  1. F_WIKI - przechowuje nazwę katalogu, w którym znajdują się strony.

Atrybuty:

  1. $last_loaded - przechowuje nazwę ostatnio wczytanego pliku.
  - $unparsed - przechowuje niezamieniony kod stron,
  2. $parsed - przechowuje zamieniony kod stron,
  - $blocks - przechowuje bloki do zamiany.

Operacje:

  1. 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
  2. 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

    • ala: pusta linia i jestesmy w itemize/enum → enditem/enum
      1. 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

  1. instalacja Plugin Managerem z adresu http://hyper.ia.agh.edu.pl/~miczkop/dokulatex.zip
  2. 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)

  1. begin{doc} ma się zaczynać od nowej linii
    • fixed!
  2. podobnie 1. section
    • fixed!
  3. 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
  4. podobnie z item!
    • j.w.
  5. oraz label
    • j.w.
  6. czemu item ma tre w klamrach? powinno być bez!
    • fixed!
  7. generowanie labeli jest dziwaczne, czemu jest dodawane „label”, poza tym label to ma być jeden string!
    • fixed!
  8. nie robi się verbatim!
    • not fixed ;( nie da się ;( FIXME
  9. coś co wygląda http://tralala mapujemy na \url{http://tralala}
    • fixed!
  10. coś co wygląda 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!
pl/miw/miw08_dokulatex/projekt.txt · ostatnio zmienione: 2017/07/17 08:08 (edycja zewnętrzna)
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