Lexi – Plugin para Wordpress
Lexi es un plugin que permite sindicar noticias por RSS en una página de Wordpress. ¿Y para qué otro lector RSS si ya hay tantos? Para entender la justificación les contaré mi historia. Mi página visualiza la información de 4 fuentes de datos externas en la barra lateral. Las primeras versiones de la página implementaban los mecanismos de RSS disponibles en WP, por lo tanto su comportamiento era secuencial, es decir que al llegar a uno de estos puntos el sistema se detenía a esperar hasta que llegaran los datos desde el RSS para continuar con el proceso. Mientras no se presentaran problemas al leer los feeds la página se visualizaba sin contratiempos, pero cuando llegaba la hora de renovar el caché de los feeds el tiempo de espera se hacía aveces tan largo que llegaba a ser molesto, y si por casualidad se presentaba algún problema con un feed se truncaba el proceso y la págiba quedaba inconclusa. Al desarrollar el plugin para iRateMyDay implementé una solución con Ajax para que los datos fueran leídos una vez la página ya estuviera cargada en el browser, para así no sufrir del bloqueo molesto cada que se actualizan los datos desde iRateMyDay. Pues bien, apliqué ese mismo enfoque para Lexi y ahora la página no se detiene esperando a cargar los RSS.
Inicialmente Lexi era un widget para la barra lateral que ofrecía un mecanismo de configuración para definir los RSS, el título, el número de items a publicar, si se debía almacenará la información en caché y si se requiere o no publicar el contenido de las noticias. Una vez instalado solo era necesario agregar el widget a la barra y editar la lista de RSS con los mecanismos que el plugin ofrecía. Esta funcionalidad fue el principio de Lexi, y sigue siendo su característica más representativa. En la etiqueta ‘Referencias’ de la barra lateral de esta página se puede ver el widget activo.
Pero desde la versión 0.7 se aumentó la funcionalidad del plugin para permitir también la visualización de feeds en páginas o posts sin necesidad de declarar el RSS en el menu de configuración, dejando la lista de Lexi dedicada exclusivamente al manejo del widget
Si se desea visualizar un RSS declarado en la lista, se podrá usar la etiqueta [lexi:id] donde id es el identificador. En caso de no declararse el identificador el resultado presentarán todos los items de la lista. Para los templates se puede usar la función lexi(id) con iguales resultados que con la etiqueta.
Para agregar un RSS que no está en la lista de Lexi, se usará la misma etiqueta, pero esta vez con otros valores [lexi: rss, items, showcontent, cached]. La variable RSS identifica el link del feed, items declara el número máximo de elementos a publicar, showcontent indica si se debe o no mostrar el contenido del feed , y cached indicará si se almacena o no el RSS en caché. Estas dos últimas variables podrán ser true o false.
Como ejemplo a continuación se publica el RSS de Calvin & Hobbes disponible en FeedBurner:
![]() | Cargando Fuente... |
Para lograrlo he usado la siguiente etiqueta (sin espacios)
[lexi: http://feeds2.feedburner.com/uclick/calvinandhobbes?format=xml, 5, false, true]
La etiqueta indica que se deben mostrar máximo 5 items, pero como el feed solo ofrece 3 entonces la lista se trunca cuando no hay más items por mostrar.
Estos mismos resultados se pueden obtener con la función lexi(rss, items, showcontent, cached) al emplearse en los templates.
El plugin activa un botón en el editor de texto para facilitar la declaración de esta etiqueta.
¿Por qué existe la posibilidad de guardar en Caché un RSS? Muchas páginas bloquean los dominios que hacen muchas consultas, como una manera de prevenir un posible ataque. Si los feeds se actualizan con poca frecuencia es mejor almacenar los feeds en caché para evitar que una de estas páginas confunda las consultas con un ataque y para que el proceso de carga de los feeds se haga más rápido. Pero si los feeds se actualizan frecuentemente, se puede hacer unas pruebas sin caché para ver que tal va.
Importante: desde la versión 0.5.1 este plugin requiere la instalación de minimax para que funcionen los complementos Ajax.
El plugin está bajo licencia GPL para que lo usen, abusen y descuarticen, solo recuerden dar los créditos del caso.
Ir a la página de descarga.
Características
- Lector de RSS por AJAX.
- Lexi está disponible en el servidor SVN de Wordpress.
- Importante: se debe instalar minimax 0.2 para que funcionen los complementos Ajax
- Botón para agregar elementos en lista a la página.
- Botón para agregar elementos que no están en lista a la página.
- Genera código XHTML válido
- Mecanismo de administración integrado a Wordpress 2.7
- Solución parcial de problemas de codificación (Español)
- Esquema de menús ajustado a políticas de WordPress
- Empla librería CURL por defecto, si no entonces emplea fopen
- Permite almacenar en caché los datos del RSS.
- Permite visualizar el contenido de cada item de RSS.
- Permite indicar el número de items que visualizará por cada feed.






[...] todos optimizan la plataforma, y otros sirven para el theme que elijamos, por ejemplo el plugin Lexi, una especie de consiguración general del blog, para definir los RSS, el título, la cantidad de [...]
[...] Télécharger Page du plugin [...]
Is any support offered for this plugin?
Hello jockoe.
Tell me what you need. I’m currently developing the next release, and any feedback would be wellcome.
Hello sebaxtion,
What is happening is that instead of the feed being displayed, I only get the words “Loading Feed”. (but the feed never appears) You can see what I am talking about at my site at this URL… http://www.tracyandcarol.com/the_tracy_times/sports/detroit-lions/
I also get it on this site, but only when I use the “Google Translate” function to display this site in English. When I view this site without translating I can see the “Calvin and Hobbes” feed and the “IRate” feed, but when I translate it I only see “Loading Feed”.
Lexi once worked on my site and it was perfect for my needs. My database got corrupted many months ago. I restored my backup copy, but I’ve not been able to get Lexi to work since.
correction… “Lexi EVEN worked…”
Hello jockoe. Thanks for answer.
First part, some browsers has a security restriction with Ajax. A page can create a sincronous link ‘only’ to a URL in the same Domain the page is. In your site, Lexi is asking to ‘tracyandcarol.com’ but your site is in ‘www.tracyandcarol.com’. Check out this situation inside your wordpress General Configuration.
Second part, I create Lexi to read RSS feeds ‘after’ the site has been rendered by Wordpress, because some slow feeds takes a year to be read, that’s why it uses Ajax (Javascript). A translator let the javascript code as the original one, so it behaves the same. If the word to translate is in the HTML code when the page was rendered, the translator will translate it, but Lexi takes the feeds from another page, and the feeds words aren’t in the HTML code when the page was rendered.
Hope it will help.
Hi Sebaxtian,
Thank you. Removing the “www” inside my wordpress General Configuration did the trick.
Hola Sebaxtian.
Estoy intentando modificar lexi para que al utilizar la función lexi() muestre los feeds ordenados según la fecha de actualización. ¿Me echarías una mano?
Saludos
Hola Juanma. Claro, con gusto, ¿tienes ya algún código desarrollado para ejecutar la idea?
Loading Feed…mx_lexi782327739 = new minimax(’http://booglenews.com/wp-content/plugins/lexi/content.php’, ‘lexi782327739′); mx_lexi782327739.post(’url=http%3A%2F%2Fwww.averagebro.com%2Ffeeds%2Fposts%2Fdefault%3Falt%3Drss&title=Avg B&num=3&sc=1&cache=1′); Loading..
lexi installed
minimax installed
simplepie installed
Hello Ricland.
As I can see in the HTML code from booglenews.com, your site cuts the ’script tags’ in some parts. Minimax is a javascript function and it needs to be surrounded by ’script tags’.
Maybe I can fix this situation looking at the way you create the grid of feeds. Is this a plugin or a theme?
Hi sebaxtian,
I’ve run into one more issue. I’m trying to add the feed from http://www.freep.com/apps/pbcs.dll/section?category=rss14&mime=xml. When I click on the link (when it is displayed on my page) it just refreshes my page. Do you know why this happens? (The link is “Freep” at http://www.tracyandcarol.com/the_tracy_times/sports/detroit-lions/lion-feeds/)
Sorry. It “cleared up”. It was their problem.
Hola Sebaxtian,
Sábes si es posible controlar el ancho y alto de lás imágenes que aparecen al leer y mostar el rss de algún site?
Gracias por tu trabajo!!
Hola Nacho, gracias por usar Lexi.
La única solución que veo para ese interrogante sería crear algo en el CSS del tema para que todas las imágenes que estén dentro del ‘div’ de Lexi modifique su tamaño específico. Habría que modificar el código del plugin para que los divs usaran una clase CSS común. Si puedes darme una mano con esa regla CSS te lo agradecería porque no soy muy conocedor del tema.
I would like to use quotes in the name of one of my feeds like this –> Tom “Killer” Kowalski …but it shows up like this –> Tom \”Killer\” Kowalski. How do I get rid of these slashes?
Ok. Solution founded. Ready for next release.
Thank you.
Hi sebaxtian,
Do you take “feature requests”? If you do… My requestt is to be able to put the feeds into categories. That way a category could be added to a page instead of having to list each individual feed.
[...] Lexi [...]
[...] plataforma y otros serán útil para agregar más opciones a nuestros themes, por ejemplo el plugin Lexi, un widget para la barra lateral que ofrece un mecanismo de configuración para definir los RSS, el [...]
Hi sebaxtian,
When I upgrade to version 0.7.95 I get the following error…
Warning: ./cache/7a0c9151b09dc1850a620f67cfef9300.spc is not writeable in /var/www/the_tracy_times/wp-includes/class-simplepie.php on line 1773
Everything works fine when I revert back to the previous version. I will leave the errors up on my site for you to see. They’re on the page at http://www.tracyandcarol.com/the_tracy_times/sports/detroit-lions/lions-feeds/.
Thanks