Dziś jest sobota, 11 października 2008 roku (z kalendarza...)

Zaprogramowałbym jakieś wiki

Tytuł może nieco na wyrost, gdyż w zasadzie rzecz tyczy się samego mechanizmu parsowania tekstów wzorowanego na Wiki. Brak czegoś własnego zaczynam odczuwać coraz dotkliwiej przy własnych projektach, a za jakiś czas zmusi mnie do tego sam OpenPB. Dlatego w najbliższym tygodniu rozpocznę wstępne prace badawcze nad biblioteką Open Power Processor, która zostanie później włączona w ten system forów, gdzie będzie wykorzystywana do przetwarzania postów. Sformułowałem już wstępne założenia:

  • OPP nie będzie wymyślał "nowej, lepszej" składni, tylko wykorzysta to, co już jest sprawdzone. Domyślnie ma być zachowana bardzo duża zgodność z parserem MediaWiki, co umożliwi bezpośrednie wklejanie tekstów z Wikipedii bez konieczności przeformatowywania.
  • Oprócz tego przewidziany będzie jakiś sposób na dodawanie składni alternatywnej, np. z DokuWiki.
  • Możliwość definiowania własnych znaczników.
  • Obsługa cytatów (na potrzeby OpenPB)
  • Obsługa specjalnego znacznika na wzór NOWIKI z Wikipedii.
  • Obsługa wzorów matematycznych, jeśli w systemie zainstalowany jest TeX.
  • Możliwość automatycznej kompresji danych wejściowych w celu ich archiwizacji.

Dodam, że w samym OpenPB piszący będzie mógł sobie wybrać, z jakiej składni będzie korzystać. Jeśli jest przyzwyczajony do DokuWiki, będzie mógł pisać w DokuWiki. Jeśli do MediaWiki, to w domyślnym. Wszystko ku wygodzie swobodnej wymiany sformatowanych informacji.

Napisanie tak rozbudowanej biblioteki obróbki tekstu będzie dla mnie nowym doświadczeniem, ale czego się nie robi dla sławy :). Zauważcie, że to już będzie czwarty produkt z serii OPx. Jak powstanie jeszcze Open Power Setup, będzie można w oparciu o te pięć rzeczy tworzyć całe aplikacje internetowe, do których model MVC, czy co tam chcecie, będzie tylko mikroskopijnym dodatkiem :).

Powrót

Komentarze

Napisał bela_666 w niedzielę, 28 maja 2006 o 22:22

To nie lepiej wziąść z MediaWiki? Przecież jest na GPL-u.
A jak jesteś uparty, to popatrz na strony Meta, szczególnie związane z Summer of Code. Jedno z zadań było przepisanie parsera, aby był bardziej wydajny. Niestety już po terminie do zgłaszania się, więc kasy nie będzie, ale można się przyczynić do ulepszenia Wikipedii ;)

Napisał nrm w poniedziałek, 29 maja 2006 o 08:42

hmm, wolalbym dokończenia i zdokumentowania dotychczasowej 'trójcy' zamiast nowej wczesnej mega bety :)

co z OPF?

Napisał slump w poniedziałek, 29 maja 2006 o 16:40

A jakis tryb kompatybilnosci z innymi forami>
Tak aby nie bylo trudnosci przy konwersji.
Albo w ogule tryb kozystania ze skladnie przyjetej juz w tej branzy za standard?

Napisał Zyx w poniedziałek, 29 maja 2006 o 18:10

Parser MediaWiki dość luźno podchodzi do kwestii elastyczności kodu, bez żenady odwołując się do innych części aplikacji. Moim zdaniem nie ma sensu takie oddzielanie kości od mięsa.

Nrm -> Open Power Template jest przecież ukończony (teraz trwa jedynie usuwanie błędów przed ogłoszeniem oficjalnego finala), a w dokumentacji dostępnej przecież publicznie brakuje jedynie trzech rzeczy. Do Open Power Drivera wystarczy ci dokumentacja oryginalnego PDO, "właściwy" dokument jest gotowy i opisuje różnice oraz dodatki. Jedynie Open Power Forms jest w fazie stricte produkcyjnej.

Napisał eXtreme w poniedziałek, 29 maja 2006 o 19:28

Zyx: ale ty chcesz parser wiki wciepać do postów forum? >_<

Napisał Paweł `hwao` Hal w poniedziałek, 29 maja 2006 o 20:40

ja bym proponował to zrobic na zasadzie kolejki obiektów, podawało by sie je a one by zawieraly informacje odnosnie wyrazen reg (albo czegos innego) jak maja byc lapane i parsowane dane (powiecmy pogrubienie b) ect.

Przydalo by sie tez generator butonów (i on tez by byl "dodawany" do kolejki). Poczym zostały by wyplute buttony.

Co by to dało? Dzieki temu kazdy user moglby wybrac jakie kodowanie lubi stosować (w tym jedno domyślne, czyli wg niego buy formatowało posta po edycji). W razie braku jakiegos bbcodu korzysta z tych w pozostałej kolejce (czyli zaznaczone jak te "nie nadrzedne")

Co do takiego rozwiazania, to nie jest to latwe przedsiebziecie, poniewaz musisz napisac "pre" processor (czyli to co ułati zrozumienie pozniej skladni) - musi byc on uniwersalny i bardzo szybki (ale najwazniejsze zeby zwraca "uniewrsalne dane" który własciwy processor bedzie umial przetworzyc, bez znaczenia na skladnie)

Napisał Bigismall w poniedziałek, 29 maja 2006 o 20:53

Pornel już napisał. (www.pornel.net) lepszego raczej nie zrobisz, a On udostępnił.

Napisał Zyx w poniedziałek, 29 maja 2006 o 21:21

Z tego, co mi wiadomo, udostępnianie polega na tym, że trzeba gdzieś jeszcze powiadomić, gdzie znajduje się udostępniony zasób.

O preprocesorze już wczoraj myślałem, lecz wpadamy tu w pewien paradoks: preprocesor mógłby generować jakąś tablicę, w miarę uniwersalną. Tylko jak ją wygenerować, skoro to, co dla jednego zestawu składni jest tekstem, dla drugiego jest ważną komendą? Bardzo ciekawie mogłyby wyglądać znaczniki w stylu <mediawiki> ... </mediawiki> włączające konkretne kodowanie, natomiast sam OPP stanowiłby szkielet oraz zbiór algorytmów, na którym programista budowałby parsery własnej składni. Oczywiście nie wszystkie, ponieważ parę (BBCode, MediaWiki, DokuWiki) byłoby zaprogramowanych domyślnie. Można by jeszcze zintegrować to z pakietem GeShi do kolorowania składni.

Projekt OPT rozpoczął się po prostu od zwykłego "siadam i piszę". Przed napisaniem pierwszego bajta w OPP na pewno wystawię do oceny parę propozycji składni, opis obsługi itd., a na bazie tak opracowaniej składni powstaną założenia algorytmów kompilujących z wytycznymi w stylu "To pobiera", "Taki daje wynik", "Wynik ma takie, a takie właściwości" itd.

Napisał nrm w wtorek, 30 maja 2006 o 12:14

zyx: "Jedynie Open Power Forms jest w fazie stricte produkcyjnej."
no a ja wlasnie o OPF pisalem ;) jeszcze tylko tego mi brakuje do szczescia :D

Napisał Bigismall w wtorek, 30 maja 2006 o 19:24

No już można było się pofatygować i wejśc na stronę http://pornel.net/about - tam wszystko ładnie opisane i udostępnione.

Napisał eXtreme w wtorek, 30 maja 2006 o 20:22

Bigismall: hmmm strona nie wchodzi z www., zaś po ściągnięciu zgłasza mi, że archiwum uszkodzone. :P

Napisał Zyx w środę, 31 maja 2006 o 11:04

Byłem na stronie, tyle że dopiero teraz zauważyłem, że u góry są jeszcze jakieś linki. Za nawigację minusik :). Po drugie ten parser i tak by nie podszedł z prostego powodu: „Typ0” is written in PHP 4 (PHP 5 compatible), a kod OPB ma być "written in PHP 5, PHP 4 not compatible" :).

Napisał Ace w środę, 7 czerwca 2006 o 09:43

Zyx... Pisz pisz, mnie denerwuje już korzystanie z wyswygów. Przerzuciłbym się wtedy całkowicie na tworzenie treści działów w formacie "Wiki".

Strona 1 z 1 :: 1

Skomentuj

NickInformacja
E-mailTylko do użytku wewnętrznego.
WWWNie zapomnij o http://
LayoutNapisz tu, czy widzisz dzienny czy nocny layout.
WpisFormatowanie wiki
Internauto, pamiętaj! Wolność to nie samowola - dbaj o kulturę wypowiedzi oraz dyskusji w sieci.

Na Zyxist.com panuje swoboda wyrażania opinii oraz krytyki pod dowolnym adresem. Jedyny warunek: musi być ona kulturalna i rzeczowa. Na chamstwo, prostactwo lub jawne obrażanie kogokolwiek nie ma tu miejsca i takie komentarze są bardzo szybko usuwane. Jeśli zamierzasz polemizować z treścią wpisu, wpierw uważnie ją przeczytaj.

© Tomasz "Zyx" Jędrzejewski 2005 - 2008 | Wykonanych zapytań: 2 | Serwer wirtualny zapewnia