ot Slavei Karadzhov(20-12-2002)
reiting (16)
[ dobre ]
[ zle ]
Variant za otpechatvane
Sudurzhanie:
- Novi vuzmozhnosti pri pisane na statii v Linux-BG
- Otsvetiavane i podrezhdane na programen kod
- Dobaviane na tablitsa s "nai-vazhnoto"
- Softuerut, koito pravi tova
- Obshta informatsiia
- Kak da dobavite novi vuzmozhnosti
- Ot kude da svalite programniia kod
Novi vuzmozhnosti pri pisane na statii
Otkroiavaneto na programen kod, sintaktichno otsvetiavane i podrezhdane sa edni ot neshtata, koito praviat statiia s primeren kod po-lesna za chetene i usvoiavane. Ot skoro v Linux-BG ima vuvedena takava vuzmozhnost. V momenta ima gotovo sintaktichno otsvetiavane na kod na C, C++, Perl, PHP, Java, Bash, MySQL i Scheme. Pri neobhodimost mozhe da se dobavi poddruzhka na mnozhestvo drugi programni ezitsi. Za sintaktichnoto otsvetiavane se izpolzvat Perl moduli predostaveni ni ot: http://www.beautifier.org/.
Eto i niakolko primera za izpolzvaneto im v Linux-BG.
Purviiat e s demonstriraneto na programa na C. Za da zapochnete programen blok, triabva na nov red da napishete:
|
<dos type="code" syntax="c" title="Hello.c">
|
Sled koeto vuvedete na sledvashtite redove koda na programata i dobavete na nov red:
Tagut doc triabva da e napisal s malki bukvi na latinitsa.
Zabelezhete atributite syntax,type i title.
Ako iskate da publikuvate kod na C++ ili na Perl triabva da napishete za C++ syntax="cpp" i za Perl syntax="perl". Vuzmozhnostite za momenta, koito mozhe da izpolzvate sa c, cpp, perl, php, java, mysql, html, scheme, bash. Imaite predvid, che te se pishat samo s malki bukvi.
Hello.c |
void main() {
printf("Hello World");
} |
V nashiiat primer nad bloka s programniia kod se poiavi zaglavie "Hello.c". Tozi tekst mozhe da se promeni, kato zamenite title="Hello.c" s title="_drug_tekst_". Po tazi logika, ako iskate da ima zaglavie nad teksta "Primer: 1", to triabva da napishete title="Primer: 1".
Dobaviane na blok s programen kod e edna ot novite vuzmozhnosti. Osven neia mozhe da dobaviate naprimer tablitsa s "rezyume" na mudrite neshta, koito ste kazali vuv vashata statiia.
Zaglavie |
<dos type="table" title="Zaglavie" align="left">
Sudurzhanie.
</dos>
|
i krainiia rezultat izglezhda taka:
Do tuk demonstrirah kak da izpolzvate slednite tipove elementi: code, table. Ako ste programirali na Perl mozhe lesno da dobavite zhelani ot vas elementi. Za v budeshte mozhe da se vgrazhdat elementi ot drugi stranitsi na tozi sait ili da se izvlicha i vizualizira dokument ot drug sait. Taka naprimer mozhe da se napravi modul, koito izvlicha XML fail i negovoto sudurzhanie se obrabotva i vgrazhda kato ilyustratsiia na statiiata, koiato shte napishete.
Softuerut, koito pravi tova
Elementite se "vgrazhdat" v statiiata. Do tuk demonstrirah kak da se izpolzvat. Sega shte vi pokazha kak da napishete sobstven element za vgrazhdane. Poglednete koda na elementa text.pm, koito formatira teksta taka, che da izliza dobre v HTML stranitsa.
text.pm |
package Doc_Embed::text;
use strict;
sub parseElement {
my ($content, %attr) = @_;
$content =~ s/&/&/g;
$content =~ s/</</g;
$content =~ s/>/>/g;
$content = "<pre>$content</pre>";
return $content;
}
1; |
Kogato suzdavate nov element e nuzhno da spazite niakolko usloviia:
- imeto na programniia paket da zapochva s Doc_Element:: . Za elementa text imeto e: Doc_Embed::text
- triabva da ima edna funktsiia s ime parseElement, koiato ima argumenti ($content, %attr)
- faila da se namira v sushtata direktoriia v koiato sa i drugite elementi
Neka da napravim nov element. Tova shte bude primer za element, v koito :) se zamenia s kartinka na usmihnato litse. Neka noviiat modul se kazva "smiley". V nego zadulzhitelno triabva da prisustva funktsiia s ime parseElement, koiato da ima argumenti ($content, %attr).
smiley.pm |
package Doc_Embed::smiley;
use strict;
sub parseElement {
my ($content, %attr) = @_;
return $content;
}
1; |
Za da zamenim :) s kartinka na usmihnato litse shte izpolzvame sledniia izraz
Primeren kod na perl |
$content = ~s/:\)/\<img src="\/ads\/smiley.gif"\>/g; |
I nashiiat nov modul veche izglezhda taka:
smiley.pm |
package Doc_Embed::smiley;
use strict;
sub parseElement {
my ($content, %attr) = @_;
$content = ~s/:\)/\<img src="\/ads\/smiley.gif"\>/g;
return $content;
}
1; |
Toku shto suzdadeniia modul triabva da se kopira v doc_embed/ direktoriiata (tam kudeto sa code.pm, table.pm, text.pm i dr.).
Po nadolu shte vi pokazha kak da izpolzvate tozi nov element za vgrazhdane.
|
<dos type="smiley">
Az sum modul "smiley" :)
</dos>
|
Rezultatut e:
-------------------
Az sum modul "smiley"
-------------------
Predpolagam veche ste se dosetili i za drugi elementi, koito shte e polezno da se vgrazhdat v teksta.
Programniia kod
Programniia kod mozhe da svalite ot [tuk]. TSeliiat paket se kazva Doc_Embed i e versiia 0.0.1. S vasha pomosht toi mozhe da stane mnogo po-polezen i moshten. Doc_Embed /ver. 0.0.1/ se razprostraniava pod GPL litsenz. Predlagam vi i edna zadacha za uprazhnenie - da napishete prost element-kalkulator, koito mozhe da presmetne izrazi ot vida:
((2+3)/4)*8+1
Uspeh
<< Zainteresovani za proektut po razrabotvane na portala ? | Pak za prevodite na programi (CHast II ili predlozhenieto) >>
|