Estas leyendo la Categoria Tutoriales.
Escrito el 22 de Mayo del 2007 por artux.
Categoria: Desarrollo, Tutoriales, Programacion, Recursos.
Estas son algunas de las tantas opciones que existen para darle formato y estilo a nuestro código, algunas probablemente ya las conoces y otras quizas no. Pero, con sus pros y sus contras, todas son muy buenas; implementar una o la otra es solo una cuestión de diferentes necesidades y en ultima instancia una cuestión de gustos.
Opciones ServerSide o del lado del Servidor:
Ejemplo:
<?php
//Resaltando una cadena de texto.
highlight_string ('<?php phpinfo(); ?>');
//Resaltando un archivo entero.
highlight_file('file.php');
?>
Son dos funciones extremadamente simples de usar, y si tenemos acceso al archivo php.ini podemos personalizar los colores a nuestro gusto:
Parametros que podemos editar en el archivo php.ini para cambiar el color de salida.
highlight.string = #DD0000 (Color para las cadenas encerradas en comilla simple o doble comillas).
highlight.comment = #FF9900 (Color para los comentarios en el código).
highlight.keyword = #007700 (Color para algunas de las palabras claves del lenguaje como son if, else, for, while).
highlight.bg = #FFFFFF (Color para el fondo).
highlight.default = #0000BB (Color para lo que queda fuera de las demas categorías).
highlight.html = #000000 ->Negro (Color para lo que esta fuera de las etiquetas <?php ?> como código html o javascript).
Ejemplo de uso:
<?php
require_once 'PHP_Highlight.php';
$h = new PHP_Highlight;
$h->loadFile('file.php');
// Salida en formato Array
echo "<h3>En forma de Array</h3>";
echo "<pre>";
print_r($h->toArray());
echo "</pre>";
// Salida en formato de Lista Ordenada
echo "<h3>Lista Ordenada</h3>";
$h->toList(false);
// Salida en formato html
echo "<h3>En HTML basico</h3>";
$h->toHtml(false);
?>
Si queremos personalizar los colores de salida podemos agregar la siguiente linea y adjuntar una hoja de estilos CSS con los colores que deseamos.
<?php
require_once 'PHP_Highlight.php';
$h = new PHP_Highlight;
//Esta línea nos ofrecera la posibilidad de personalizar los colores.
$h->PHP_Highlight (true);
$h->loadFile('file.php');
/* y lo que sigue */
?>
La hoja de estilos tendría que ser mas o menos así, poniendo el color en hexadecimal que queremos:
.bg { color: #000000; } .string { color: #000000; } .keyword { color: #000000; } .comment { color: #000000; } .html { color: #000000; } .default { color: #000000; }
La librería PHP_Highlight depende de un archivo llamado T.php, que es parte del paquete de PEAR PHP_Compat.
Ejemplo Basico de uso:
<?php
include_once('geshi.php');
// Definiendo un poco de código para resaltar
$source = '$foo = 45;
for ( $i = 1; $i < $foo; $i++ )
{
echo "$foo<br />n";
--$foo;
}';
$language = 'php';
$geshi =& new GeSHi($source, $language);
echo $geshi->parse_code();
?>
Por ahora esto es todo para esta primera parte, en la segunda voy a profundizar más en los métodos y formas de trabajar y configurar GeSHi. También, en la segunda parte voy a escribir sobre unas cuantas opciones más, algunas para resaltar el código del lado del cliente y también sobre alguna que otra aplicación para hacer lo mismo pero desde el escritorio.
Espero que sea útil, un saludo grande!
Escrito el 7 de Abril del 2007 por artux.
Categoria: Desarrollo, Wordpress, Tutoriales, Programacion.
Nota importante: El archivo wp-json.php original mencionado en el post anterior, tiene un minúsculo error de syntaxis; en las parejas {”clave” : “valor”} {”key” : “value”} la definicion de las diferentes claves esta hecha sin comillas, lo cual puede provocar errores de lectura en algunas aplicaciones.
Para solucionar este pequeño inconveniente, edité el wp-json.php original agregándole las comillas faltantes, y además retoqué un poco el código para que la función callback pueda ser definida por el cliente. Pueden ver el archivo resultante en el siguiente enlace: wp-json.php (editado) o desde este otro Feed en Formato JSON para Wordpress.
Hecha la aclaración, paso a completar este post con la segunda parte que quedé debiendo
.
Json, Wordpress y PHP (segunda parte)
3- PHP y JSON
Exiten parses de JSON para la mayoría de lenguajes de programación, y como no podría ser de otra forma también para PHP.
Sin embargo la forma en que llevaremos esto acabo va a depender de la versión de PHP que estemos utilizando y de las posibilidades que ofrezca nuestro servidor de hosting.
Explicando mejor esto.
En PHP desde la versión 5.2.0 viene incluida una extencion para codificar y decodificar JSON habilitada por defecto. Pero no todos los servidores de hosting funcionan con PHP 5, es mas, la gran mayoria solo lo hacen con PHP 4, en ese caso se puede utilizar la libreria de PEAR llamada Services_JSON.
Ejemplificando para que se entienda.
=========================================
<?php
//codificando un array en formato JSON
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
?>
/*Nos devuelve lo siguente
{"a":1,"b":2,"c":3,"d":4,"e":5}
*/
=========================================
=========================================
<?php
//decodificando JSON
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
/*Nos devuelve lo siguente
Sin parametro opcional devuelve un objeto
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
true como parametro opcional devuelve un array asociativo
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
*/
=========================================
Se puede leer más sobre el método anterior en el sitio oficial de PHP.
=========================================
// creando un nueva instancia del Services_JSON
require_once('JSON.php');
$json = new Services_JSON();
// convirtiendo un array en formato JSON
$value = ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5)
$output = $json->encode($value);
print($output);
// decodificando JSON
$input = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
$value = $json->decode($input);
=========================================
Con esto creo que ya podemos empezar a trabajar con PHP y JSON. Tambien, si no queremos trabajar con la clase Services_JSON, existe la posibilidad de instalar la extencion json disponible en PECL; pero para ello tendremos que tener acceso al archivo php.ini y no todos los servidores de hosting lo permiten.
4- JSON, Wordpress y PHP
Para ir terminando, solo nos queda hacer interactuar estas tres tecnologias.
Por un lado ya tenemos el archivo wp-json.php, que nos genera un feed de nuestro blog en formato JSON; por otro lado en las líneas anteriores aprendimos a codificar y decodificar JSON con PHP. Lo que haremos entonces, sera un minilector en PHP del feed JSON, generado por el ya mencionado wp-json.php, que nos muestre el último post de nuestro blog.
Para el ejemplo voy a usar la clase Services_JSON.
=========================================
<?php
//incluyo el archivo que hara el trabajo de decodificacion
include ('json.php');
$json = new Services_JSON();
//peticion del feed JSON
$site = file_get_contents('http://www.tublogwordpress.com/wp-json.php');
//decodificando la data recibida en formato JSON
$value = $json->decode($site);
//rescatando los valores mediante la funcion get_object_vars ()
$data = get_object_vars($value);
$show = get_object_vars($data['entries']['0']);
//armando la salida a mostrar
$titulo = $show['title'];
$link = $show['id'];
$contenido = $show['content'];
//formateando la salida
$content = "<div id='json'>n";
$content .= "<h2><a href='" . $link . "'>" . $titulo . "</a></h2>n";
$content .= $contenido;
$content .= "</div>";
//mostrando el resultado
echo $content;
?>
=========================================
Pueden ver un ejemplo funcionando que muestra el último post de anieto2k.com desde aquí. Es un poquito más completo y además cachea el contenido cada una hora para evitar sobrecargas.
Tambien pueden ojear el código de dicho ejemplo desde aquí.
Por ahora esto es todo, espero que les sirva para algo. Estoy un poco cansado y hambriento asi que me despido con un gran saludo!. Ante cualquier duda o sugerencia pueden dejar un comentario.
Saludos!!
Escrito el 10 de Febrero del 2007 por artux.
Categoria: GNU/Linux, Tutoriales, Tecnología, Open Source.
Luego de las mini vacaciones vuelvo al blog, y esta vez tratando de responder los cuantiosos mails recibidos preguntando “como instalar Linux en un pendrive desde Linux”.
Por cuestiones familiares (mi hermano esta enloquecido con Ubuntu - Beryl) estoy usando Ubuntu en mi desktop, y por fascinación personal llevo Slax Popcorn en mi pendrive para todos lados; por lo tanto este pequeño tutorial va a versar sobre como instalar Slax en un pendrive desde Ubuntu.
Que vamos a Necesitar?
Para variar un poco vamos a usar la ultima versión disponible de Slax (Slax-6.0.0pre6 Slax-6.0.0pre10 Slax-6.0.0rcX - stable release) que viene con un script para hacer booteable el dispositivo USB y algunas que otras mejoras como el soporte ntfs-3g. Dado que esta versión todavía no esta disponible en todas sus ediciones, necesitaremos un pendrive de 256 MB o superior.
Pasos a Seguir:
sudo umount /media/usbdisk
O desde el GUI haciendo: botón derecho del mouse sobre la carpeta montada y elegimos desmontar
.
Una vez desmontado pasamos a darle formato:
sudo mkfs.vfat -F 32 /dev/sda1
y volvemos a montar el Pen:
sudo mount /dev/sda1 /media/usbdisk
seguimos …
sudo mkdir /media/slax
Y para montar la imagen.iso de Slax:
sudo mount -o loop -t iso9660 ./slax-6.0.0rc2.iso /media/slax
Donde ./ es el lugar donde tenemos la .iso.
Una vez que hayamos terminado este ultimo paso, ya podremos probarlo seteando el bios para que arranque desde USBHDD o alguna opción parecida.
Saludos!!
Enlace: archivo README.txt de esta release.
Nota: los procedimientos anteriores fueron realizados y testeados sobre un Pendrive Kingston DataTraveler 1GB.
Entradas Relacionadas:
-Linux Condenadamente Diminuto (Damn Small Linux).
-Instalar Linux en un Reproductor MP3 de 128 mb.
Escrito el 28 de Diciembre del 2006 por artux.
Categoria: Desarrollo, Tutoriales, Firefox.
No voy a entrar en detalles sobre la relevancia o no de los buscadores, todos sabemos que para una persona que pasa la mayor parte de su tiempo en internet, los buscadores son la aplicación por excelencia.
Si existe algo mas fácil de hacer, que un plugin de busqueda (search plugin) para firefox, debe ser escribir un tutorial de como hacer uno. Sin embargo, bromas aparte, creo que un buen tutorial sobre el tema, puede ser útil para muchos que por falta de tiempo o falta de astucia desconocen la simpleza de la tarea.
A diferencia de su hermano menor (Firefox 1.5), Firefox 2.0.* soporta tres formatos distintos para su search bar.
En este post solamente voy a tratar el 3º, OpenSearch un estándar que según sus creadores, pretende ser para la búsqueda lo que el RSS es para la sindicación de noticias. Para el primero (Sherlock) existen un par de tutoriales muy buenos, Como hacer un plugin de… (Microsiervos) y Make your first plugin (en ingles - MozDev) y para el segundo (MozSearch) esta el tuto, se podria decir oficial, Creación de plugins MozSearch (mozilla developer center) que por suerte para muchos esta en castellano………
Primero el modelo a seguir:
<?xml version=”1.0″ encoding=”UTF-8″?>
<OpenSearchDescription xmlns=”http://a9.com/-/spec/opensearch/1.1/”>
<ShortName>Nombre Corto de tu Buscador</ShortName>
<Description>Descripcion de la busqueda</Description>
<Contact>tuemail@tuemail.com</Contact>
<Url type=”text/html”
method=”get”
template=”http://www.tudominio.com/?s={searchTerms}”>
</Url>
<LongName>Nombre un poco mas largo de tu buscador</LongName>
<Image height=”16″ width=”16″ type=”image/vnd.microsoft.icon”>http://www.tudominio.com/favicon.ico</Image>
<Query role=”example” searchTerms=”Busca en MI Blog” />
<Developer>Tu Nombre</Developer>
<Attribution>
Copyleft Andres “Artux” Scheffer, Algunos derechos Reservados. CC by-nc 2.5.
</Attribution>
<SyndicationRight>open</SyndicationRight>
<AdultContent>false</AdultContent>
<Language>es-ar</Language>
<OutputEncoding>UTF-8</OutputEncoding>
<InputEncoding>UTF-8</InputEncoding>
</OpenSearchDescription>
Manos a la Obra:
=>Buscamos la linea: <ShortName> y remplazamos por el nombre de nuestro buscador.
=>En la linea que empieza con: <Description> va la descripcion del buscador.
=>Donde dice: <Contact> podes poner tu e-mail o uno falso si no tenes interes de estar respondiendo.
=>Atento con esta linea: <Url type=”text/html” …… </Url>, este punto es el que decide si tu plugin funciona o no, donde dice method=”get” puede ser que tu buscador utilice el método post para procesar la busqueda, en ese caso debes remplazar “get” por “post”, de lo contrario dejalo como esta; donde dice template=”http://… tienes que remplazar por la url exacta a tu buscador (si usas wordpress seria algo asi: template=”http://tudominio.com/?s={searchTerms}), tenes que tener en cuenta que {searchTerms} es el comodín, es decir, tenes que poner la url de tu buscador y justo al final agregarle {searchTerms}.
=>Seguimos remplazando: <LongName> el nombre extendido del buscador; en <Image height=”16″ width=”16″… tenes que poner la url exacta a tu favicon.ico; en <Developer> podes poner tu nombre; en <Attribution> el tipo de licencia; en <Language> podes poner es-es; ya con esto el plugin queda funcional.
Detección automática del plugin de búsqueda por el Navegador:
Para que el navegador detecte tu search plugin tenes que agregar la siguiente linea en el header de tu sitio:
<link rel=”search” type=”application/opensearchdescription+xml” title=”Mi Busacador” href=”http://tudominio/nombrearchivo.xml”/>
Para ofrecer un enlace que instale el plugin:
<a href="javascript:window.external.AddSearchProvider('http://tudominio.com/nombrearchivo.xml')">Instalar</a>
Podes probarlo en funcionamiento:
![]() |
Artux Search.(instalar) |
Recursos:
Generador de favicon online (enlace).
Generador online de search plugin OpenSearch (enlace).
Creo que me extendi demasiado, pero quedo bastante completo. Espero que les sea de alguna Utilidad, Saludos!!
Escrito el 15 de Diciembre del 2006 por artux.
Categoria: Desarrollo, Wordpress, Tutoriales, WP-Plugins.
SimplePie es una libreria en PHP que nos permite parsear(leer) archivos RSS y Atom externos. Es fácil de usar incluso para principiantes en PHP, rápido debido a que cachea los contenidos, admite RSS 0.91, RSS 1.0 y RSS 2.0 y Atom 0.3 y 1.0; y entre otras cosas nos ofrece la posibilidad de usarlo en Wordpress con un mas que sencillo plugin.
Como Instalar e Implementar SimplePie en Wordpress
Modo de Uso
Por ejemplo, para leer los post de un sitio externo
echo SimplePieWP('http://ejemplo.com/feed.xml');
Y si queremos limitar la cantidad de items a mostrar,
echo SimplePieWP('http://ejemplo.com/feed.xml', 'items:3, shortdesc:200');
Ejemplo de Implementacion: ……
Escrito el 14 de Octubre del 2006 por artux.
Categoria: GNU/Linux, Tutoriales.

Damn Small Linux o DSL es una distribucion GNU/Linux de tan solo 50 MB pero completamente funcional. Puede ser ejecutado desde un cd en forma live, arrancar desde una memoria USB o tambien arrancar, gracias a qemu, dentro de un S.O. anfitrion (por ejemplo, puede arrancarse dentro de Win). Tambien puede transformarse en una distribución Debian tradicional tras instalarse en un disco duro.
Con FluxBox como gestor de ventanas, posee un entorno de escritorio practicamente completo, con aplicaciones elegidas por su mejor balance entre funcionalidad, tamaño y velocidad. Pequeño pero poderoso, puede ser utilizado como servidor SSH/FTP/HTTPD.
Como Instalar Damn Small Linux en un pendrive.
En un post anterior explique como instalar la distro slax popkorn en un pendrive; si tubiste exito con ese tuto, este te va a resultar mucho mas facil.
Solo necesitamos dos cosas, los archivos preempaquetados de DSL (dsl-3.0.1-embedded.zip) para arrancar desde USB, y syslinux 2.11.zip (probe con syslinux 3.11 pero no funciona).
Formateamos nuestro pendrive con formato Fat. Para ello hacemos boton derecho en la unidad correspondiente a nuestro dispositivo, en mi caso la unidad G:, y seleccionamos la opcion Formatear en el menu contextual.
Descomprimimos dsl-3.0.1-embedded.zip en nuestro pendrive.
Descomprimimos syslinux 2.11.zip en C:\syslinux.
Ejecutamos syslinux.exe desde la linea de comados de win de la siguiente forma:
c:\syslinux\syslinux.exe G: . Donde “G:” es la unidad del pendrive.
Y con esto ya tenemos todo listo para arrancar nuestro DSL desde el pendrive.
Cualquier duda, sugerencia y/o comentario sera bien recibido.
Espero que les sea de alguna utilidad
.
Links Utiles:
Damn Small Linux (pagina oficial)
Damn Small Linux ISO para grabar en CD (dsl-3.1.iso).
Escrito el 4 de Septiembre del 2006 por artux.
Categoria: GNU/Linux, Tutoriales.
Tener una distribución GNU/Linux en un reproductor MP3 es más fácil de lo que parece.
Son varias las distros que hoy en dia ofrecen la posibilidad de ser instaladas en un pendrive. Para nombrar algunas tenemos: DamnSmall; Feather Linux; Puppy Linux y Slax Popcorn.
Solamente por una cuestion de gustos, yo opte por Slax Popcorn. SLAX Popcorn es una distribución tipo “Live CD” sumamente compacta diseñada para ser instalada en pendrives de 128MB, o a falta de un pendrive (como es mi caso
) en un reproductor de mp3 , trae XFCE para el escritorio y lo que más usamos: Firefox, XMMS, Gaim, AbiWord y más. Ademas si disponemos de un dispositivo con mayor capacidad podemos expandir nuestra distro descargando los programas de nuestro agrado, ya empaquetados en forma de modulos, y guardandolos en la carpeta modules/ de nuestro dispositivo USB.
Minitutorial; o de Como vamos a hacer para instalar Slax Popcorn en el MP3
Que Necesitamos?:
- Un reproductor de mp3 (o en su defecto un pendrive) de 128 MB o Superior.
- PC con BIOS que permita arrancar desde USBHDD o similar.
- 7zip. (aplicacion que usaremos para descomprimir la imagen.iso).
- ISO de Slax Popcorn. (imagen.iso de 112MB).
- syslinux3.11. (aplicacion que utilizaremos para hacer booteable el dispositivo).
Una vez que ya tenemos todo lo que necesitamos, procedemos con la instalacion:
1. Formatear tu MP3 con formato FAT.
2. Extraer la imagen de Slax con 7zip en el mp3.
3. Algunos movimientos y cambios de nombre:
- Dentro del dispositivo mover /boot/vmlinuz y /boot/initrd.gz a /vmlinuz y /initrd.gz respectivamente (dentro del MP3).
- En la raíz del MP3, el archivo isolinux.cfg renombrarlo como syslinux.cfg
- Modificar syslinux.cfg con notepad y eliminar todos los /boot/ o boot/ que se refieran a los archivos vmlinuz y/o initrd.gz.
4. Descomprimir syslinux3.11. zip en C:\syslinux.
5. Ejecutar Syslinux en la unidad:
- Ir a la ruta donde se descomprimió el software vía consola de Windows xp (para ello hacemos: inicio\ejecutar\cmd y ENTER).
- Una vez que estamos en la consola, ejecutamos syslinux.exe apuntando a nuestra unidad USB (en mi caso es la unidad G:) de la siguiente manera: “c:\>syslinux\win32\syslinux.exe G:”.
Ahora ya podemos reiniciar la maquina; Y si todo salio bien arrancara desde el MP3.