Разработки>
Проекти
от Славей Караджов(20-12-2002)
Съдържание:
- Нови възможности при писане на статии в Linux-BG
- Оцветяване и подреждане на програмен код
- Добавяне на таблица с "най-важното"
- Софтуерът, който прави това
- Обща информация
- Как да добавите нови възможности
- От къде да свалите програмния код
Нови възможности при писане на статии
Oткрояването на програмен код, синтактично оцветяване и подреждане са едни от нещата, които правят статия с примерен код по-лесна за четене и усвояване. От скоро в Linux-BG има въведена такава възможност. В момента има готово синтактично оцветяване на код на C, C++, Perl, PHP, Java, Bash, MySQL и Scheme. При необходимост може да се добави поддръжка на множество други програмни езици. За синтактичното оцветяване се използват Perl модули предоставени ни от:
http://www.beautifier.org/.
Ето и няколко примера за използването им в Linux-BG.
Първият е с демонстрирането на програма на C. За да започнете програмен блок, трябва на нов ред да напишете:
|
<doс type="code" syntax="c" title="Hello.c">
|
След което въведете на следващите редове кода на програмата и добавете на нов ред:
Тагът doc трябва да е написал с малки букви на латиница.
Забележете атрибутите
syntax,
type и
title.
Ако искате да публикувате код на C++ или на Perl трябва да напишете за C++
syntax="cpp" и за Perl
syntax="perl". Възможностите за момента, които може да използвате са
c, cpp, perl, php, java, mysql, html, scheme, bash. Имайте предвид, че те се пишат само с малки букви.
Hello.c |
void main() {
printf("Hello World");
} |
В нашият пример над блока с програмния код се появи заглавие "Hello.c". Този текст може да се промени, като замените
title="Hello.c" с
title="_друг_текст_". По тази логика, ако искате да има заглавие над текста "Пример: 1", то трябва да напишете title="Пример: 1".
Добавяне на блок с програмен код е една от новите възможности. Освен нея може да добавяте например таблица с "резюме" на мъдрите неща, които сте казали във вашата статия.
Заглавие |
<doс type="table" title="Заглавие" align="left">
Съдържание.
</doс>
|
и крайния резултат изглежда така:
До тук демонстрирах как да използвате следните типове елементи: code, table. Ако сте програмирали на Perl може лесно да добавите желани от вас елементи. За в бъдеще може да се вграждат елементи от други страници на този сайт или да се извлича и визуализира документ от друг сайт. Така например може да се направи модул, който извлича XML файл и неговото съдържание се обработва и вгражда като илюстрация на статията, която ще напишете.
Софтуерът, който прави това
Елементите се "вграждат" в статията. До тук демонстрирах как да се използват. Сега ще ви покажа как да напишете собствен елемент за вграждане. Погледнете кода на елемента text.pm, който форматира текста така, че да излиза добре в HTML страница.
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; |
Когато създавате нов елемент е нужно да спазите няколко условия:
- името на програмния пакет да започва с Doc_Element:: . За елемента text името e: Doc_Embed::text
- трябва да има една функция с име parseElement, която има аргументи ($content, %attr)
- файла да се намира в същата директория в която са и другите елементи
Нека да направим нов елемент. Това ще бъде пример за елемент, в който :) се заменя с картинка на усмихнато лице. Нека новият модул се казва "smiley". В него задължително трябва да присъства функция с име parseElement, която да има аргументи ($content, %attr).
smiley.pm |
package Doc_Embed::smiley;
use strict;
sub parseElement {
my ($content, %attr) = @_;
return $content;
}
1; |
За да заменим
:) с картинка на усмихнато лице ще използваме следния израз
Примерен код на perl |
$content = ~s/:\)/\<img src="\/ads\/smiley.gif"\>/g; |
И нашият нов модул вече изглежда така:
smiley.pm |
package Doc_Embed::smiley;
use strict;
sub parseElement {
my ($content, %attr) = @_;
$content = ~s/:\)/\<img src="\/ads\/smiley.gif"\>/g;
return $content;
}
1; |
Току що създадения модул трябва да се копира в
doc_embed/ директорията (там където са code.pm, table.pm, text.pm и др.).
По надолу ще ви покажа как да използвате този нов елемент за вграждане.
|
<doс type="smiley">
Аз съм модул "smiley" :)
</doс>
|
Резултатът е:
-------------------
Аз съм модул "smiley"
-------------------
Предполагам вече сте се досетили и за други елементи, които ще е полезно да се вграждат в текста.
Програмния код
Програмния код може да свалите от [
тук]. Целият пакет се казва Doc_Embed и е версия 0.0.1. С ваша помощ той може да стане много по-полезен и мощен. Doc_Embed /вер. 0.0.1/ се разпространява под GPL лиценз. Предлагам ви и една задача за упражнение - да напишете прост елемент-калкулатор, който може да пресметне изрази от вида:
((2+3)/4)*8+1
Успех
<< Заинтересовани за проектът по разработване на портала ? | Пак за преводите на програми (Част II или предложението) >>