Busco una forma de presentar ejemplos de programas (código en C, Java, Python) a los alumnos. He probado con geshi (http://docs.moodle.org/en/Code_Syntax_Highlighting) pero no veo ningún resultado. Utilizo moodle 1.8.2+.
¿Alguien está usando algún filto para colorear código de programas?
Mostrar sintaxis coloreada en listados de programas
Número de respuestas: 12Re: Mostrar sintaxis coloreada en listados de programas
Este mismo sitio (moodle.org) lo está usando:
if (!defined('MOODLE_INTERNAL')) {
die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page
}
// See http://support.microsoft.com/kb/305144 to interprete these values. if (!defined('AUTH_AD_ACCOUNTDISABLE')) { define('AUTH_AD_ACCOUNTDISABLE', 0x0002); } if (!defined('AUTH_AD_NORMAL_ACCOUNT')) { define('AUTH_AD_NORMAL_ACCOUNT', 0x0200); }
Así que tiene que ser posible (pero confieso que no lo he usado nunca).
Saludos. Iñaki.
Re: Mostrar sintaxis coloreada en listados de programas
No estoy completamente seguro pero parece que el filtro geshi que está disponible en:
http://docs.moodle.org/en/Code_Syntax_Highlighting
necesita que la parte de texto a colorear esté encerrada dentro de unas etiquetas:
[code] ... [/code]
mientras que el que está corriendo en moodle.org, que es más "antiguo" funciona con las etiquetas:
<code> ... </code> o
<php> ... </php>
A lo mejor van por ahí los tiros y por eso no consigues hacerlo funcionar?
Ciao
http://docs.moodle.org/en/Code_Syntax_Highlighting
necesita que la parte de texto a colorear esté encerrada dentro de unas etiquetas:
[code] ... [/code]
mientras que el que está corriendo en moodle.org, que es más "antiguo" funciona con las etiquetas:
<code> ... </code> o
<php> ... </php>
A lo mejor van por ahí los tiros y por eso no consigues hacerlo funcionar?
Ciao
Re: Mostrar sintaxis coloreada en listados de programas
Tienes razón, Eloy. Ya consigo que coloree la sintaxis con un :
[code python linenumbers]
for x in range(10):
print x
[/code]
Tengo que revisarlo porque Veo que genera un aviso :

[code python linenumbers]
for x in range(10):
print x
[/code]
Tengo que revisarlo porque Veo que genera un aviso :
Notice: Undefined offset: 2 in /www/htdocs2/testsite/moddle/filter/geshi/geshi/geshi.php on line 2052Esta es la línea a la que hace referencia:
if ($this->language_data['CASE_SENSITIVE'][$k])Además tiene el inconveniente de que hay que tener MUCHO CUIDADO con los
<pre> </pre>porque al editar código que has escrito antes, a veces pierde el formato
Re: Mostrar sintaxis coloreada en listados de programas
Buenas, he leído este hilo y alguno más de la versión inglesa pero no consigo hacerlo funcionar. ¿Hay que hacer algo en la instalación? Yo he seguido las instrucciones que dicen que se descomprima en la carpeta de filtros de Moodle y después habilitarlo en el panel de Administración/Modulos/Filtros pero nada de nada.
Por ahí he leído cosas acerca de los tags y parece que en cada sitio dicen una cosa, creo haber probado todas las combinaciones posibles, pero sigue sin funcionar.
He probado (al menos) con :
[code pascal] ... [/code]
No hace nada
<code pascal> ... </code>
Elimina el nombre del lenguaje y sólo cambia el tipo de letra pero nada de formato.
<code syntax="pascal"> ... </code>
No elimina el nombre del lenguaje pero hace lo mismo: sólo cambia el tipo de letra.
También he probado con otros lenguajes: cpp, python, etc. y el resultado es siempre el mismo.
Por supuesto todo esto pinchando en el icono <> del editor, porque sino ni eso. Alguien que lo haya conseguido puede darme más detalles. Debe haber algún paso demasiado obvio que nadie menciona en los foros pero que yo no soy capaz de descubrir.
Por ahí he leído cosas acerca de los tags y parece que en cada sitio dicen una cosa, creo haber probado todas las combinaciones posibles, pero sigue sin funcionar.
He probado (al menos) con :
[code pascal] ... [/code]
No hace nada
<code pascal> ... </code>
Elimina el nombre del lenguaje y sólo cambia el tipo de letra pero nada de formato.
<code syntax="pascal"> ... </code>
No elimina el nombre del lenguaje pero hace lo mismo: sólo cambia el tipo de letra.
También he probado con otros lenguajes: cpp, python, etc. y el resultado es siempre el mismo.
Por supuesto todo esto pinchando en el icono <> del editor, porque sino ni eso. Alguien que lo haya conseguido puede darme más detalles. Debe haber algún paso demasiado obvio que nadie menciona en los foros pero que yo no soy capaz de descubrir.
Re: Mostrar sintaxis coloreada en listados de programas
Eeehhh:
¿Nadie que haya hecho funcionar el filtro de sintaxis de código lee este hilo?
¿Alguna idea sobre lo que hay que hacer para que funcione?
Las informaciones en distintos foros son contradictorias con los tags que hay que poner. ¿Cuáles son los correctos?
¿Nadie que haya hecho funcionar el filtro de sintaxis de código lee este hilo?
¿Alguna idea sobre lo que hay que hacer para que funcione?
Las informaciones en distintos foros son contradictorias con los tags que hay que poner. ¿Cuáles son los correctos?
Re: Mostrar sintaxis coloreada en listados de programas
Sí. A mi sí que me funciona. ¿Qué filtro instalaste?
http://moodle.org/mod/data/view.php?d=13&rid=192
http://docs.moodle.org/en/Code_syntax_highlighting
-- lm
http://moodle.org/mod/data/view.php?d=13&rid=192
http://docs.moodle.org/en/Code_syntax_highlighting
-- lm
Re: Mostrar sintaxis coloreada en listados de programas
Esa misma versión es la que tengo instalada sobre Moodle 1.7. En teoría debería funcionar desde Moodle 1.5 por lo que por aquí no viene el problema.
Para instalarlo lo descomprimo en el directorio filters de Moodle como cualquier otro, después entro en Administración y lo habilito.
Después voy a probarlo y aquí es donde está el problema. Según las instrucciones del fichero de texto que acompaña al filtro, el código debe encerrarse de la siguiente manera:
<span lang="pascal">
...
</span>
Por el contrario en la página que mencionas http://docs.moodle.org/en/Code_syntax_highlighting dice que debe ponerse de la forma:
[code pascal]
...
[/code]
He probado de las dos formas y de ninguna funciona. También he puesto un paréntesis <pre> ... </pre> tanto dentro como fuera de los tags de code o span pero nada de nada.
¿Que es lo que me falta o hago mal?
Para instalarlo lo descomprimo en el directorio filters de Moodle como cualquier otro, después entro en Administración y lo habilito.
Después voy a probarlo y aquí es donde está el problema. Según las instrucciones del fichero de texto que acompaña al filtro, el código debe encerrarse de la siguiente manera:
<span lang="pascal">
...
</span>
Por el contrario en la página que mencionas http://docs.moodle.org/en/Code_syntax_highlighting dice que debe ponerse de la forma:
[code pascal]
...
[/code]
He probado de las dos formas y de ninguna funciona. También he puesto un paréntesis <pre> ... </pre> tanto dentro como fuera de los tags de code o span pero nada de nada.
¿Que es lo que me falta o hago mal?
Re: Mostrar sintaxis coloreada en listados de programas
Prueba con la siguiente sintaxis:
<span syntax ="lenguaje">
//lineas de codigo fuente
</span>
<span syntax ="lenguaje">
//lineas de codigo fuente
</span>
Re: Mostrar sintaxis coloreada en listados de programas
Yo creo que el problema está en los tags cuando inserto el código porque he intentado insertarlo aquí y tampoco 'chuta', y aquí si debería funcionar. Lo único que hace es ponerse en un tipo de letra tipo courier. Véase la demo:
¿Cómo tengo que insertar el código?
program prueba(input,output); var x,y : internet; begin write('Introduce un valor: '); readln(x); y:=2*x; writeln('El resultado es: ',y); end.
</code>¿Cómo tengo que insertar el código?
Re: Mostrar sintaxis coloreada en listados de programas
Bueno después de varias pruebas en este hilo, parece que aquí ha funcionado con la combinación:
<code pascal> ... </code>
Sin embargo en mi sistema si hago esto, lo único que hace es poner letra de espaciado fijo y cuando voy a editar ha desaparecido la palabra pascal. Parece que el cerco se va estrechando pero sique sin funcionar. Ahora por lo menos se cómo deben ponerse los tags.
Pero ¿Que más me falta?, ¿Que puedo tener mal en el servidor?
<code pascal> ... </code>
Sin embargo en mi sistema si hago esto, lo único que hace es poner letra de espaciado fijo y cuando voy a editar ha desaparecido la palabra pascal. Parece que el cerco se va estrechando pero sique sin funcionar. Ahora por lo menos se cómo deben ponerse los tags.
Pero ¿Que más me falta?, ¿Que puedo tener mal en el servidor?
Re: Mostrar sintaxis coloreada en listados de programas
Nada, sigue sin funcionar.
He probado con la versión 1.7, he instalado una versión 1.8.3 en una máquina limpia con Windows solo para probar esto y el resultado es siempre el mismo:
Cambia el tipo de letra pero de los colores nada de nada.
El código fuente de la página parece ser correcto ya que se ve que inserta los tags de las clases CSS pero no hace caso a los colores ¿por qué?
¿Hay que hacer algo más?
Indico los pasos que he dado:
1- descomprimir y copiar el contenido del filtro Geshi en la carpeta de filtros de Moodle
3- Entrar en Administración y habilitar el filtro
3- Ejecutar el script: .../filter/geshi/styles.php para generar la hoja de estilos
4- Copio esta hoja de estilos en un fichero y lo guardo en el directorio del Tema que estoy usando
5- Añado este fichero de CSS en el config.php del tema
He probado también sólo con los dos primeros pasos pero nada que no se colorea el código. ¿Hay que habilitar alguna cosa más en algún sitio? Me he recorrido todos los menús de configuración de Moodle y no he encontrado nada. ¿Alguien me puede ayudar?
He probado con la versión 1.7, he instalado una versión 1.8.3 en una máquina limpia con Windows solo para probar esto y el resultado es siempre el mismo:
Cambia el tipo de letra pero de los colores nada de nada.
El código fuente de la página parece ser correcto ya que se ve que inserta los tags de las clases CSS pero no hace caso a los colores ¿por qué?
¿Hay que hacer algo más?
Indico los pasos que he dado:
1- descomprimir y copiar el contenido del filtro Geshi en la carpeta de filtros de Moodle
3- Entrar en Administración y habilitar el filtro
3- Ejecutar el script: .../filter/geshi/styles.php para generar la hoja de estilos
4- Copio esta hoja de estilos en un fichero y lo guardo en el directorio del Tema que estoy usando
5- Añado este fichero de CSS en el config.php del tema
He probado también sólo con los dos primeros pasos pero nada que no se colorea el código. ¿Hay que habilitar alguna cosa más en algún sitio? Me he recorrido todos los menús de configuración de Moodle y no he encontrado nada. ¿Alguien me puede ayudar?
Re: Mostrar sintaxis coloreada en listados de programas
¿Algún manual que detalle cómo conseguir que funcione?
¿Hay que instalar algo adicionalmente?
¿Hay que instalar algo adicionalmente?