Ampliación de Dreamweaver: personalización del análisis de etiquetas de terceros
Debido a que he estado desarrollando complementos de Dreamweaver recientemente, hay muy pocos materiales en chino y mi inglés es deficiente. Cuando reviso los materiales en inglés, no puedo evitar sentirme. mareado. Después de tener que traducir parte del contenido importante al chino, me sentí mucho más renovado cuando lo leí. Este extracto está extraído de "Extensión de Dreamweaver 8" que viene con Dreamweaver 8. Al traducir, me referí a la "Ayuda china de Dreamweaver 4" traducida por Xiakedao. Pero para ser honesto, tengo algunas dudas de que algunas partes de la ayuda hayan sido traducidas usando software como Kingsoft Translation. De todos modos, es más difícil de leer que el inglés.
Las tecnologías del lado del servidor como ASP, Macromedia ColdFusion, JSP y PHP utilizan una sintaxis especial no HTML en archivos HTML, y el servidor crea y sirve contenido con formato HTML basado en estos códigos. Cuando Dreamweaver detecta etiquetas que no son HTML, las compara llamando a archivos de definición de etiquetas de terceros, que especifican cómo Dreamweaver lee y muestra estas etiquetas.
Por ejemplo, además del lenguaje HTML estándar, los archivos ASP también contienen código ASP para que el servidor lo analice. El código ASP es similar a las etiquetas HTML. Está marcado por un par de etiquetas, una apertura <% y una cierre %>. Hay un archivo llamado Tags.xml en la carpeta Configuración/ThirdPartyTags de Dreamweaver. Este archivo se utiliza para describir varias especificaciones de etiquetas de terceros, incluido ASP, y define cómo Dreamweaver muestra estos códigos. Con este enfoque, el código ASP se ha estandarizado en Tags.xml, por lo que Dreamweaver ya no intentará analizar ningún código entre <%...%>. Sin embargo, en la vista Diseño, mostrará un icono para indicar que se trata de código ASP. Puede definir sus propias etiquetas y crear un nuevo archivo de biblioteca de etiquetas para cada conjunto de etiquetas para especificar cómo Dreamweaver lee y muestra sus etiquetas.
Nota: Esta sección describe cómo definir un método para que Dreamweaver muestre una etiqueta personalizada, pero no describe cómo editar el contenido o las propiedades de la etiqueta personalizada. Consulte Inspector de propiedades para obtener información sobre cómo crear un inspector de propiedades para inspeccionar y modificar las propiedades de una etiqueta personalizada.
Cada archivo de biblioteca de etiquetas define el nombre, el tipo, el modo de contenido, la especificación de visualización y el icono de una o más etiquetas personalizadas. Puede crear cualquier cantidad de archivos de biblioteca de etiquetas, pero deben estar ubicados en la carpeta Configuración/Etiquetas de terceros para que Dreamweaver pueda leerlos y procesarlos. Los archivos de la biblioteca de etiquetas utilizan la extensión de archivo .xml.
Consejo: si está trabajando en varios sitios web diferentes al mismo tiempo (suponiendo que sea un profesional independiente), puede definir todas las especificaciones de etiquetas en un archivo y almacenarlo en un sitio especial para que otros lo utilicen en el futuro. Cuando alguien mantiene el sitio, puede entregar la biblioteca de etiquetas completa, incluidos íconos personalizados e inspectores de propiedades.
Debe definir una especificación de etiqueta utilizando una etiqueta XML llamada tagspec. Por ejemplo, el siguiente código representa una especificación de etiqueta denominada happy.
<tagspec tag_name="happy" tag_type="nonempty" render_contents="false" content_model="marker_model" icon="happy.gif" icon_width="18" icon_height="18"></tagspec>
Puedes usar tagspec para definir Dos tipos de etiquetas:
·Etiquetas comunes en formato HTML
El ejemplo de la etiqueta feliz es una etiqueta normal en formato HTML. Comienza con la etiqueta <happy>, contiene datos entre las etiquetas de apertura y cierre y termina con la etiqueta </happy>.
·Etiquetas delimitadas por cadenas Las etiquetas delimitadas por cadenas comienzan con una cadena y terminan con otra cadena. Son similares a las etiquetas vacías HTML (como img) en que no contienen contenido ni etiquetas de cierre. Si happy también es una etiqueta delimitada por cadenas, su especificación de definición debe incluir dos atributos: cadena_inicial y cadena_final. Las etiquetas ASP son todas etiquetas delimitadas por cadenas. Comienzan con <% y terminan con %> y no hay ninguna etiqueta de cierre.
La siguiente información enumera los diversos atributos y valores válidos de la etiqueta tagspec. Los atributos con un asterisco ("*") indican que no son aplicables a etiquetas delimitadas por cadenas y los atributos opcionales están marcados con llaves ({}; no es difícil inferir que otras propiedades que no están marcadas con llaves son necesarias); propiedades.
<tagspec>
Describe
losatributos
de información predeterminadossobre etiquetas de terceros
nombre_etiqueta, {tipo_etiqueta}, {render_contents}, {content_model}, {start_string}, {end_string}, {detect_in_attribute}, {parse_attributes}, icon, icon_width, icon_height, { equivalente_tag}, {is_visual}, {server_model}
tag_name representa un nombre personalizado. Para etiquetas delimitadas por cadenas, nombre_etiqueta se utiliza únicamente para comprobar si un inspector de propiedades específico es aplicable a la etiqueta. Si la primera línea del inspector de atributos contiene el nombre de la etiqueta en una posición conforme (de hecho, en la primera línea de la declaración) y está marcada con un asterisco ("*"), entonces el inspector podrá inspeccionar la etiqueta de tipo. . Por ejemplo, el nombre de etiqueta del código ASP es ASP. Los inspectores que permiten verificar el código ASP deben contener *ASP* en la primera línea. Para obtener información sobre la API del Inspector de propiedades, consulte Inspector de propiedades.
tag_type determina si la etiqueta está vacía (como la img mencionada anteriormente) o permite que el contenido se coloque entre las etiquetas de apertura y cierre (como la etiqueta de código). Este atributo es necesario para etiquetas normales (no delimitadas por cadenas), pero no tiene ningún efecto en las etiquetas delimitadas por cadenas porque siempre están vacías. Los valores válidos incluyen "vacío" y "no vacío".
render_contents determina si la etiqueta muestra el contenido en la vista de diseño o lo reemplaza con un ícono específico. Este atributo solo es necesario para etiquetas que no están vacías y no tiene ningún efecto sobre las etiquetas vacías (las etiquetas vacías en sí mismas no tienen contenido para mostrar). Este atributo solo se aplica a etiquetas insertadas fuera del atributo. Si una etiqueta se inserta en el valor del atributo de otras etiquetas, su contenido no se mostrará (este párrafo es un poco difícil de entender. Estoy pensando en objetos como RealMedia y Flash). . ¿Dentro de esas etiquetas de parámetros? Los valores válidos son "verdadero" o "falso".
content_model describe qué tipo de contenido puede contener esta etiqueta y dónde se puede insertar esta etiqueta en el archivo HTML. Los valores válidos incluyen "block_model", "head_model", "marker_model" y "script_model":
·block_model significa que la etiqueta puede contener objetos de bloque como div y p, y la etiqueta solo puede aparecer en el área del cuerpo, o insertarse en otras etiquetas de contenido del cuerpo, como div, capa y td.
·head_model significa que la etiqueta sólo puede contener texto y sólo puede aparecer en el rango HEAD.
·marker_model significa que la etiqueta puede contener cualquier código HTML válido y puede colocarse en cualquier lugar dentro del archivo HTML. El validador HTML integrado de Dreamweaver ignora las etiquetas definidas como marcador_modelo. Sin embargo, el validador no ignora el contenido de estas etiquetas; por lo tanto, aunque la etiqueta en sí se puede colocar en cualquier lugar, su contenido puede causar errores en algunas partes del HTML. Por ejemplo, el texto sin formato no puede aparecer (excepto los elementos de encabezado legales) en el área del encabezado del documento, por lo que no puede colocar una etiqueta marcador_modelo que contenga texto sin formato en el área del encabezado (si desea hacer esto, debe cambiar el modelo de contenido de la etiqueta Reemplazado por Marker_model con head_model). Las etiquetas que usan Marker_model se mostrarán en una línea (dentro de un elemento de bloque como p o div; por ejemplo, dentro de un párrafo, si desea que la etiqueta muestre su propio párrafo, deje líneas en blanco antes y después). Se recomienda no utilizar este modo.
·script_model permite que esta etiqueta se coloque en cualquier lugar entre las etiquetas HTML dentro del documento. Cuando Dreamweaver detecta una etiqueta utilizando este modo, se ignora todo el contenido de la etiqueta. Dreamweaver no analizará dichas etiquetas (como determinadas etiquetas de ColdFusion) cuando se utilicen.
start_string especifica un delimitador como punto de partida para etiquetas delimitadas por cadenas. Las etiquetas delimitadas por cadenas se pueden colocar en cualquier lugar donde se pueda insertar un comentario. Dreamweaver no analizará, codificará ni vinculará el código entre cadena_inicial y cadena_final. Este atributo es obligatorio cuando se ha definido end_string.
end_string especifica un delimitador como punto final de una etiqueta delimitada por cadenas. Además, este atributo es obligatorio cuando se ha definido start_string.
detect_in_attribute especifica si se ignora todo el código entre start_string y end_string (o entre las etiquetas de inicio y fin, si estas dos cadenas no están definidas), independientemente de si se insertan atributos o valores entre estos códigos. Su valor predeterminado es "falso", pero en general las etiquetas delimitadas por cadenas deben tener este valor establecido en "verdadero". Por ejemplo, la especificación de la etiqueta ASP especifica detect_in_attribute="true", por lo que incluso si hay comillas que contienen valores de atributos dentro de la etiqueta ASP, Dreamweaver las ignorará.
parse_attributes indica si se analizan los atributos de la etiqueta. Si se establece en "verdadero" (el valor predeterminado), Dreamweaver analizará estas propiedades; si se establece en "falso", Dreamweaver ignorará todo el código antes de ">" fuera de las comillas. Por ejemplo, etiquetas como cfif deben tener este atributo establecido en "falso" (porque Dreamweaver no puede analizar una etiqueta como <cfif a is 1> como un par de nombre/valor de atributo).
icono especifica la ruta y el nombre de archivo del icono que coincide con esta etiqueta. Esta propiedad es necesaria para etiquetas vacías, así como para etiquetas no vacías cuyo contenido no se puede mostrar en la vista de diseño de la ventana del documento.
icon_width especifica el ancho de píxeles del icono.
icon_height especifica la altura en píxeles del icono.
equivalente_tag especifica equivalentes HTML simples para ciertas etiquetas asociadas con formularios en ColdFusion. Este atributo no puede ser utilizado por otras etiquetas.
is_visual especifica si la etiqueta es visible en la página. Por ejemplo, la etiqueta cfgraph de ColdFusion no especifica un valor para is_visual (por lo que se utiliza el valor predeterminado "verdadero") y la etiqueta cfset de ColdFusion especifica un valor para is_visual de "falso". En la columna "Elementos invisibles" del cuadro de diálogo predeterminado, puede controlar la visibilidad de las etiquetas del servidor; la visibilidad de las etiquetas del servidor visual y las etiquetas del servidor no visual se pueden configurar por separado.
server_model, si está configurado, indica que la etiqueta tagspec solo se puede aplicar a páginas que pertenecen al modelo de servidor especificado. Si no se establece, tagspec se puede aplicar a todas las páginas. Por ejemplo, los delimitadores para ASP y JSP son los mismos, pero la etiqueta tagspec aplicable a JSP especifica el modo de servidor como "JSP", por lo que cuando Dreamweaver detecta un delimitador específico en una página JSP, muestra un icono de JSP cuando es el mismo; Si se detecta código en una página que no es JSP, muestra el icono ASP.
Sincontenido
(etiqueta vacía).
Contenedor
Ninguno.
Ejemplo
<tagspec tag_name="happy" tag_type="nonempty" render_contents="false" content_model="marker_model" icon="happy.gif" icon_width="18" icon_height="18"></tagspec>
Etiqueta personalizada en diseño Cómo La vista que muestra
etiquetas personalizadas en la vista de diseño de la ventana del documento depende de los valores del atributo tag_type y del atributo render_contents de la etiqueta tagspec (consulte el análisis de etiquetas personalizadas de terceros). Si el valor de tag_type está "vacío", se muestra el icono especificado definido por el atributo de icono. Si el valor de tag_type es "nonempty" pero el valor de render_contents es "false", el icono también se mostrará como una etiqueta vacía. El siguiente ejemplo demuestra cómo se puede insertar una instancia de la etiqueta feliz que acabamos de definir en código HTML:
<p>Este es un párrafo que incluye una instancia de la etiqueta <code>happy</code> (<happy>Joe</ happy>).</p>
Debido a que render_contents se ha establecido en "false" en la especificación de la etiqueta, la etiqueta feliz (palabra joe) no se mostrará y las etiquetas de apertura y cierre, incluido el contenido entre ellas, se reemplazarán con una Icono sencillo.
Para una etiqueta no vacía con un valor render_contents de "verdadero", la vista de diseño no la mostrará como un icono, pero mostrará el contenido entre las etiquetas de apertura y cierre (como el texto entre las etiquetas, como este: < mytag> Este es el contenido entre las etiquetas de apertura y cierre </mytag>). Si se selecciona Ver > Asistentes visuales > Elementos invisibles en la opción de menú, este contenido se resaltará usando el color de etiqueta de terceros especificado por el parámetro "Color de código" ("Color de código" solo se aplica a archivos de biblioteca de etiquetas
Cómo cambiar el color de resaltado de las etiquetas de terceros:
1.
Seleccione Editar > Preferencias en las opciones del menú y luego seleccione la columna "Color de código".
2. Haga clic en el cuadro de color de la etiqueta de terceros para mostrar el selector de color.
3. Seleccione un color, luego haga clic en "Aceptar" y cierre el cuadro de diálogo preestablecido. Para obtener información sobre cómo elegir colores, consulte también Uso de Dreamweaver.
Evite reescribir etiquetas de terceros
Dreamweaver corregirá ciertos errores en el código HTML. Para obtener más información, consulte Uso de Dreamweaver. De forma predeterminada, Dreamweaver impide cambios en el código HTML en archivos con determinadas extensiones, incluidos .asp (ASP), .cfm (ColdFusion), .jsp (JSP) y .php (PHP). Esta configuración predeterminada sirve para garantizar que Dreamweaver no modifique accidentalmente ningún código contenido en etiquetas que no sean HTML. Puede cambiar el comportamiento de reescritura predeterminado de Dreamweaver para que el código HTML se reescriba cuando se abran dichos archivos y puede agregar otros tipos de archivos a la lista de tipos de archivos que Dreamweaver prohíbe reescribir.
Cuando ingresa ciertos caracteres especiales en el inspector de propiedades, Dreamweaver los codifica en valores numéricos. En términos generales, es mejor dejar que Dreamweaver realice esta codificación porque estos caracteres especiales probablemente se mostrarán mejor en diferentes plataformas y navegadores. Sin embargo, dado que esta codificación afecta a etiquetas de terceros, es posible que desee cambiar el comportamiento de codificación de Dreamweaver al editar archivos que incluyen etiquetas de terceros.
Permita que Dreamweaver reescriba HTML en más tipos de archivos:
1. Seleccione Editar > Preferencias en las opciones del menú y luego seleccione la columna "Reescritura de código".
2. Elija cualquiera de los siguientes:
·Corregir etiquetas anidadas ilegales o etiquetas interminables ·Eliminar etiquetas de cierre redundantes
3. Realice una de las siguientes acciones:
· Elimina una o más extensiones de archivo de la lista "Nunca reescribir código: en archivos con extensiones".
· Desmarque la opción "Nunca reescribir código: en archivos con extensiones". Tenga en cuenta: esto permite a Dreamweaver reescribir código HTML en cualquier tipo de archivo.
Agregue tipos de archivos que Dreamweaver prohíbe reescribir:
1. Seleccione Editar > Preferencias en las opciones del menú y luego seleccione la columna "Reescritura de código".
2. Elija cualquiera de los siguientes:
·Corregir etiquetas anidadas ilegales o etiquetas interminables ·Eliminar etiquetas de cierre redundantes
3. Confirme que el elemento "Nunca reescribir código: en archivos con extensiones" esté seleccionado y agregue la nueva extensión de archivo a la lista en el cuadro de texto.
Si el nuevo tipo de archivo no aparece en el menú emergente del cuadro de diálogo Archivo > Abrir, es posible que deba agregarlo a la carpeta Configuración/Extensiones.txt. Para obtener más información, consulte Cambiar el tipo de archivo predeterminado.
Desactive las opciones de codificación de Dreamweaver:
1. Seleccione Editar > Preferencias en las opciones del menú y luego seleccione la columna "Reescritura de código".
2. Cancele cualquiera de las dos opciones de "Codificación de caracteres especiales".
Para obtener información adicional sobre cómo seleccionar las preferencias de reescritura de código, consulte Uso de Dreamweaver.