ot Slavei Karadzhov(20-12-2002)

reiting (16)   [ dobre ]  [ zle ]

Printer Friendly 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:
</dos>
 
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
#include <stdio.h>
 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:
Zaglavie
Sudurzhanie.

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) >>