Automatyczne linkowanie do funkcji w manualu

4

W nawiazaniu do ticketa: http://redmine.boduch.net/issues/72

Proponuje aby system sam rozpoznawal w tresci posta nazwy funkcji i automatycznie linkowal do manula. Wezmy np. jezyk PHP. Piszac np.

Marooned: do tego mozesz wykorzystac funkcje implode()!

Wynikiem byloby:

Marooned: do tego mozesz wykorzystac funkcje <tt>implode()</tt>! (link do manuala z opisem funkcji)

Oczywiscie, wymagaloby to utworzenia listy funkcji, ktore system by wykrywal. Ale mysle, ze spolecznosc pomoglaby w utworzeniu takiego zestawu :] Oczywiscie, przychodzi tutaj problem wystepowania tych samych nazw funkcji w roznych jezykach. Ale tutaj mozna by brac pod uwage, kategorie w ktorej umieszczony jest post.

Co myslicie?

2

Jestem za. Gdyby była taka potrzeba to mogę pomoc przy tworzeniu listy funkcji.

1
napisał(a):

W nawiazaniu do ticketa: http://redmine.boduch.net/issues/72

Wreszcie się wziąłeś za moje tickety ;>

napisał(a):

Oczywiscie, wymagaloby to utworzenia listy funkcji, ktore system by wykrywal. Ale mysle, ze spolecznosc pomoglaby w utworzeniu takiego zestawu :]

Chyba żartujesz, nie będziemy robić listy funkcji ze wszystkich języków. Nie można użyć po prostu specyficznego syntaxa? Jeśli jest:

implode()

To na podstawie działu zmieniamy na link do manuala. Tyle.

1

Nie wszystkich. Proponuje tylko do kilku najpopularniejszych. @lukasz1235 sam zadeklarowal pomoc :P
Oczywiscie nie wyklucza to utworzenie specyficznego syntaxa...

0

To będzie kilka tysięcy słów na każdy język... Po cholerę?

1

W przypadku C# biblioteka standardowa opisana jest w plikach XML, w katalogu C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0. Można z tego ułożyć listę typów oraz metod statycznych (to, co w miarę prosty sposób da się sparsować, bezpośrednio po nazwie albo biorąc pod uwagę usingi).

Linki można utworzyć w prosty sposób, np. http://msdn.microsoft.com/en-us/library/system.drawing.imaging.colormatrix%28v=vs.100%29.aspx.

0

Ale po co chcecie zarzynać serwer? Powstanie z tego kompletnie durny ficzer, który będzie działał jak chce (zupełnie jak GeSHI obecnie, a tego nie chcemy) i z niskimi parametrami usability... Z każdym postem będziecie czesać listy kilku tysięcy słów? Co jeśli jakieś dodatkowe ficzery dojdą? Ktoś będzie siedział i nadzorował 30 języków cały czas? Bo myślę, że nie.

2

@Adam Boduch, nie znam PHP, może tam jest jedna funkcja implode. Ale w wielu innych językach są klasy, i może się zdarzyć, że w dwóch klasach są funkcje o tych samych nazwach. I gdy ktoś napisze np. zdanie "Użyj funkcji ReadFromFile", to mechanizm będzie musiał parsować wątek, żeby wykryć kontekst i zdecydować, czy chodzi np. o klasę XmlFile czy Bitmap?

0

Nie wiem jak inne dokumentacje, ale np. w Javie można by użyć składni javadocowej:
List#get(int)daje
List#get(int)

1

Nie wydaje mi się, by aż taka automatyka była dobrą opcją. Poprawiłbym linkowanie słów w <code> za co odpowiedzialne jest Geshi. W plaintekście na pewno nie. A w dziubkach.. temat sporny.
A co do takiej samej nazwy w metodzie, to jest to problem raczej nierozwiązywalny w sensownej złożoności i z niepełnym kontekstem.

0

@Demonical Monk tobie chodzi o utworzenie nowej skladni, tak? Tak, aby po wpisaniu - np. #impode()# linkowalo do manuala? Czy aby linkowanie odbywalo sie automatycznie w "dziubkach" (jak to okreslil Marooned)

Mozna tez zrobic skladnie taka: ``implode[php]

0

Dam sobie włosa wyrwać (a nie mam czym szastać), że nikt nie będzie używał jakiejś skłądni typu ``implode[php]

0

Bo jezeli chcemy, aby linkowanie odbywalo sie automatycznie wewnatrz znakow %%`%% to i tak trzeba zgromadzic liste slow kluczowych/funkcji/metod danego jezyka :]

0

To tu jest jakiś manual?

0
napisał(a):

@Demonical Monk tobie chodzi o utworzenie nowej skladni, tak? Tak, aby po wpisaniu - np. #impode()# linkowalo do manuala? Czy aby linkowanie odbywalo sie automatycznie w "dziubkach" (jak to okreslil Marooned)

Mozna tez zrobic skladnie taka: ``implode[php]

Myślcie trochę, połowę problemu da się załatwić patrząc na nazwę działu w którym jest post...

Dział Manual
PHP php.net
C# i .NET MSDN Microsoftu
C/C++ choćby to: http://www.cplusplus.com/reference/
Java oficjalny manual Oracle
Delphi/Pascal to oni mają w ogóle jakiś manual?

W pozostałych działach to i tak mega mieszanka języków, więc już lepiej zarzucić linkiem i upewnić się, że dostaniemy to czego chcemy. Można, ew. przeprowadzić rozeznanie analizując tagi. Robienie listy funkcji to porywanie się z motyką na księżyc - zróbcie sensowną listę dla C++ to szukanie będzie tak zabawne, że klaster MySQL się wyłoży...

Zresztą sam pomysł jest ciężki do zrealizowania - przeszukanie manuala Javy bez precyzowania wersji i używania API Google może się okazać trudne...

PS. Jak wydajność zacznie wariować jak po wprowadzeniu cometa to nie daję gwarancji że ktoś z ekipy techników będzie w stanie napisać patcha o 2:00 w nocy :P

0

Oj @Demonical Monk... nie o to chodzi :|
Dobra, poki co odkladam to zadanie, bo sie nie dogadamy...

1 użytkowników online, w tym zalogowanych: 0, gości: 1