WMarkDown WMarkDown

Menu
Content
Por KyMAN. Creado a fecha 2021/05/15. Última modificación a fecha 2021/05/19.

Parámetros customizados

Los parámetros customizados son parámetros que se identifican mediante una encapsulación de doble corchete, siguiendo la idea de encapsulación de parámetros preprogramados de MediaWiki. Dichos parámetros dan nuevas funcionalidades al entorno del WMarkDown las cuales nombraremos a continuación.

IMPORTANTE: Aunque sintácticamente sean iguales, e incluso se consideren Parámetros Customizados, las inclusiones y los elementos multimedia no están integrados dentro del fichero de Parámetros Customizados, considerados como otros módulos con la misma sintaxis. Es importante tener esto en cuenta por el hecho de que han de estar ordenados según prioridad para evitar la solapación en la configuración.

post_data

El "post_data" es un parámetro que se usa para establecer una información previa de un fichero, aunque también puede ser para un artículo o fragmento de un artículo, aunque por el resultado lo aconsejamos únicamente para encabezar un fichero que en sí sea un artículo completo. Básicamente da la información de los participantes del fichero como autores del mismo, la fecha de creación y la última fecha de modificación, los cuales se identifican dentro de un JSON con las siguientes llaves de diccionario:

  • author: Autor/es y participantes del artículo o fichero.
  • since: Fecha de creación.
  • version: Última fecha de modificación.
No se usan las fechas de los metadatos de los ficheros por el hecho de que dependen del OS y éstos pueden ir condicionados a la creación por descarga al ser un recurso compartido con Git, entre otras cosas.

Las fechas tendrán el formato "YYYYMMDD", donde "YYYY" es el año con cuatro dígitos; el "MM" es el número del mes con 2 dígitos obligatorios; y "DD" que es el día del mes con dos dígitos oblitagorios.

En caso de que no se halla especificado el "author", éste se pondrá como desconocido ("Unknown" o el especificado en la configuración); por otro lado, si no se le especifica el "since" éste será substituído por la fecha de compilación del HTML; y finalmente, si no se le especifica el "version", éste será substituído por el "since".

Como conclusión, podemos exponer que ningún parámetro es obligatorio.

Un ejemplo de éste podría ser el siguiente:

                    
  • Language md
  • Lines 5
  • Characters 94
[[post_data { "author" : "KyMAN", "since" : 20210511, "version" : 20210513 }]]

Este componente personalizado se suele poner al principio del documento, encima del título que encabeza el mismo.

html_data

El HTML data es un parámetro que consta de un diccionario JSON que contiene las variables que se le especifiquen al HTML de compilación donde se integrará la información. Esto permite tener en cada página HTML generada, su SEO META configurado de forma sencilla y customizada. Dichos parámetros pueden variar según el HTML utilizado al gusto del desarrollador o usuario que gestione la documentación o página o páginas Web.

Este complemento no tendrá visualización alguna sobre el HTML final.

Un ejemplo de este componente podría ser el siguiente:

                    
  • Language md
  • Lines 11
  • Characters 529
[[html_data { "title" : "WMarkDown - Parámetros customizados", "url" : "https://wmarkdown.k3y.pw/doc/modules/custom_parameters.html", "author" : "Tarsier, KyMAN", "since" : 20210515, "version" : 20210515, "key_words" : "Whalers,MarkDown,MediaWiki,WMarkDown,módulo,parámetros,custom,personalizado,include,inclusión,import,importación", "description" : "ÇMódulo de parámetros customizados.", "project" : "WMarkDown", "logo" : "https://wmarkdown.k3y.pw/images/wmarkdown.png" }]]

Dicho componente se suele poner al final del documento, aunque puede ser puesto en cualquier otra parte del mismo.

IMPORTANTE: Cualquier llave de parámetro sobreescribirá a los originales, por ejemplo, por defecto los títulos se conforman con le nombre del proyecto y el texto de la primera cabecera dada por el fichero. En el ejemplo expuesto, se subsituye el título por el dado específicamente en este parámetro customizado.

include

El parámetro customizado "include" permite incluír un fichero externo el cual se compilará y se pondrá al nivel de cabeceras actual si no se le especifica previamente a partir del parámetro customizado "header_level" (Ver en el siguiente punto). Pueden existir anidamientos de elementos includos, por lo cual hay que prestar especial atención a aquellos anidamientos que puedan ser recursivos infinitamente. Un ejemplo de inclusión puede ser el siguiente:

                    
  • Language md
  • Lines 24
  • Characters 595
Estamos a nivel 0 de cabecera, por tanto, a la siguiente inclusión no se le añadirá ningún nivel a las cabeceras. [[include PATH1]] # Nivel 1 Estamos en el nivel 1 y a la siguiente inclusión se le añadirá un nivel más a cada cebecera que contenga. [[include PATH2]] Ahora estamos en el nivel de la última cabecera que teníamos en el PATH2, y será el nivel que se le sumará a cada cabecera de la siguiente inclusión. [[include PATH3]] # Nivel 1 Volvimos al nivel 1, por tanto, solo se le sumará un nivel a la siguiente inclusión. [[include PATH4]]

header_level

Este parámetro customizado permite cambiar el nivel de cabeceras con el que se está trabajando, permitiendo, a partir de dicho punto, cambiar el nivel de las mismas según el valor que se le establezca. Éste tiene dos formas de establecerse:

  • A partir de un valor numérico entero sin signo, el cual establece al nivel al cual se irá directamente, siendo 0 el más bajo.
  • A partir de un valor numérico entero con signo más para añadir sobre el nivel actual, o menos para reducir sobre el nivel actual.

Inclusión heredada

La inclusión heredada es la que se explica en el apartado del parámetro customizado "include", donde vemos en el ejemplo que los niveles de las cabeceras aumentan automáticamente según hereden del nivel donde se encuentren. No hace falta especificar nivel de forma forzada mediante "header_level".

Inclusión forzada

La inclusión forzada hace referencia a que se le da un valor numérico entero sin signo, que representa el nivel íntegro al que se quiere mover todo, independientemente de la herencia, por ejemplo:

                    
  • Language md
  • Lines 13
  • Characters 309
## Nivel 2 Estamos en el nivel 2 de herencia, y queremos incluir un fichero en el nivel 4 de forma forzada. Para ello lo haremos de la siguiente forma: [[header_level 4]] [[include PATH1]] Para volver al nivel 2 de nuevo simplemente hemos de establecer aquí lo siguiente: [[header_level 2]]

Como podemos ver en el ejemplo, este parámetro customizado nos permite forzar la inclusión de un fichero en un nivel concreto y luego volver a otro nivel, en el caso del ejemplo, al nivel 2 que era de donde partía.

Inclusión añadida

La inclusión añadida permite desplazar el nivel de las cabeceras X niveles a partir de encabezar el nivel con el signo "+" para añadir o el signo "-" para disminuir. Por ejemplo:

                    
  • Language md
  • Lines 14
  • Characters 509
## Nivel 2 Nos encontramos en el nivel 2. Como este fichero puede ser includo y heredado de otros niveles y queremos reducir 2 niveles para volver al nivel 0 de este fichero para la inclusión del siguiente fichero podemos hacerlo así: [[header_level -2]] [[include PATH1]] Sin embargo, si queremos recuperar la posición anterior no vamos a poder posiblemente pues si ponemos +2, será que aumenta 2 posiciones a partir de la última cabecera del PATH1. Es muy importante tenerlo encuenta.

data_dictionary

El parámetro customizado "data_dictionary" nos permite crear un diccionario de conceptos contra palabras o estructuras de texto que puedan aparecer en la documentación y con ello, generar una definición de las mismas, ya sea como referencia donde se coloque el diccionario; o por el texto, creando un pequeño elemento HTML que hace que cuando el usuario ponga el puntero encima de la palabra o palabras en cuestión, despliegue una pequeña capa con una descripción y vinculación de las fuentes o referencias, ya sea para contrastar como para adquirir más información.

Este elemento se tratará en HTML como un INPUT HIDDEN, el cual será interpretado a nivel cliente sobre JavaScript y generará tanto el diccionario con su buscador, como le dará la función de mostrar definición y fuentes a los elementos en la documentación en general.

Este parámetro customizado se mezclará con otros "data_dictionary" que puedan existir en la documentación por lo que se desaconseja encarecidamente el uso de más de uno de estos elementos, aunque no por ello esté prohibido su uso, permitiendo incluso actualizar los datos de diccionario que ya halla.

Un ejemplo de funcionamiento podría ser el siguiente:

                    
  • Language md
  • Lines 52
  • Characters 1822
## Diccionario [[data_dictionary { "dictionary" : [{ "pattern" : "/\\bky ?man\\b/i", "result" : "KyMAN", "description" : [ "Programador. Trabaja los lenguajes Python, PHP, JavaScript, CSS (CSS y SCSS), SQL ", "(SQLite, MySQL (MariaDB) y SQL Server)" ], "links" : [ "https://git.k3y.pw/KyMAN/", "https://git.a3do.net/KyMAN/", "https://www.youtube.com/channel/UCCAWOt-AxTyAiFWBgyb3X9Q" ] }, { "pattern" : "/\\bmark ?down\\b/i", "result" : "MarkDown", "description" : [ "Simple lenguaje de marcas de texto para documentar. se suele usar en proyectos Git." ], "links" : [ "https://es.wikipedia.org/wiki/Markdown", "https://markdown.es/" ] }, { "pattern" : "/\\bmedia ?wiki\\b/i", "result" : "MediaWiki", "description" : [ "CMS PHP muy extendido para gestionar información y documentación con un pequeño ", "lenguaje de marcas de texto para su procesamiento. Como referencias tendríamos ", "Wikipedia, HiddenWiki, etc." ], "links" : [ "https://www.mediawiki.org/", "https://es.wikipedia.org/wiki/MediaWiki" ] }, { "pattern" : ["/\\bwmarkdown\\b/i", "/\\bwmd\\b/i"], "result" : ["WMarkDown", "WMD"], "description" : [ "Pequeño sistema para documentación de proyectos que mezcla los lenguajes de marcas ", "de texto MarkDown y MediaWiki con HTML y texto plano." ], "links" : [ "https://wmarkdown.k3y.pw/", "https://git.k3y.pw/Whalers/WMarkDown" ] }] }]]

Como podemos ver en el ejemplo, este parámetro es un diccionario JSON con una única entrada, "dictionary", la cual contendrá un Array de diccionarios los cuales tienen los siguientes elementos:

  • pattern: Patrón o patrones de búsqueda.
  • result: Resultado o resultados contra el o los patrones.
  • description: Descripción o definición.
  • links: Referencias o fuentes mediante URL.

Los patrones y los resultados han de tener el mismo número de elementos, es decir, si se le dan 2 patrones de búsqueda ha de haber 2 resultados, pues el sistema entiende que cada patrón es para una posible forma de llamar al elemento diferente. Los resultados permiten, en conjunto con el patrón, corregir posibles errores de escritura de cualquier texto que se le dé a partir del patrón regular.

Con respecto a las imágenes que representan el o los links que puedan estar representadas por defecto en las capas que aparecen para definir un texto cuando le puntero se le pone encima están definidas en SCSS a partir del atributo "data-site" que contiene cada Link, usando la raíz de la página para establecer una imagen icónica del sitio Web al que se le hace referencia.

IMPORTANTE: Se desaconseja el uso de este parámetro por dos motivos: el primero es la limitación de PHP cara la limitación del número de caracteres que tiene a la hora de procesar dicho String en un patrón regular; y la segunda es que actualmente hay una alternativa a dicho sistema que viene siendo en JS la cual implementaría el diccionario desde JavaScript, en el propio constructor del objeto WMarkDown. La solución puesta solventa muchos problemas de esta versión, sin embargo, quita posicionamiento SEO al ser contenido dinámico autogenerado en el cliente y no gestionado mediante Tags, pero por renta cuenta mejor el uso de dicha solución.

Multimedia

Es un Parámetro Customizado que nos permite incluir elementos Multimedia a partir de varios nombres los cuales son: "image", "images", "audio", "audios", "video", "videos" y "embed". Por la complejidad y el tamaño de los Scripts para gestionar dichos elementos, éstos pertenecen a otro fichero como un módulo independiente, con su patrón de búsqueda, sin embargo, se considerarán Parámetros Customizados. Para más información, ir a la sección Multimedia donde se hablará de todo este Parámetro Customizado como si fuera un módulo independiente por la extensión que supone.

Se planea también agregar un nuevo sistema llamado Slider con nombre "slider" que permite la creación de un Slider de cualquiera de los elementos que pertenecen a la multimedia.

wdictionaries

El WDictionaries es como el data_dictionary pero con la diferencia de que coge los diccionarios de forma remota a partir de la siguiente estructura:

                    
  • Language md
  • Lines 5
  • Characters 163
[[header_level 0]] <!-- [[wdictionaries "CABECERA" URLs]] --> [[wdictionaries "Diccionario de prueba" https://wdictionaries.k3y.pw/?es/common,digital]]

En este caso tenemos el nombre de cabecera que queramos ponerle al buscador de términos del diccionario, donde en el HTML comentado llamamos "CABECERA"; a continuación tenemos los enlaces separados entre sí por espacios, tabulaciones, saltos de línea y/o retornos de carro.

IMPORTANTE: El WDictionaries es un proyecto externo al WMarkDown, aunque éste naciera principalmente para el uso dentro del WMarkDown, éste tiene su Web donde se explica su funcionamiento e implementación. Además, el WMarkDown a nivel de JS puede implementar dichos diccionarios sin que se use un WMD, eliminando el fallo a la hora de representar más de un diccionario dentro de estos ficheros.

A continuación ponemos un ejemplo de carga de más de un fichero, por ejemplo, de diversos ficheros JSON para hacer uso de la caché OnLine y del navegador.

                    
  • Language md
  • Lines 8
  • Characters 229
[[header_level 0]] [[wdictionaries "Diccionario de prueba" https://wdictionaries.k3y.pw/json/es/common.json https://wdictionaries.k3y.pw/json/es/digital.json https://wdictionaries.k3y.pw/json/es/users.json ]]
NOTA: El texto de la cabecera puede ser una única palabra sin comillas o un conjunto de ellas encapsuladas entre comillas.
NOTA: Recomendamos encarecidamente el no utilizar dicho Componente Customizado y usar el existente en el entorno cliente contra el propio constructor del WMarkDown en JS.

wmonitor

El WMonitor es un pequeño subsistema del WMarkDown el cual permite establecer un punto de monitoreo de visualizaciones, visitas, likes/dislikes y comentarios contra el cliente. Es importante destacar que funcionará sobre el entorno cliente aunque éste se establezca en el entorno del WMD. Para implementarlo requerimos de nombrar a este Componente Customizado y a continuación, poner un texto indicativo al cual hace referencia. Dicho texto ha de ser único para cada WMonitor, pudiéndose dar el caso de poder compartir dichos datos con otros puntos, pero se perdería la información real de visualizaciones y likes/dislikes de ambos individualmente y pudiendon llevar a engaño visual de la información. Un ejemplo de implementación sobre una cabecera podría ser el siguiente:

WMarkDown Resultado

                    
  • Language md
  • Lines 10
  • Characters 214
[[post_data { "author" : "KyMAN", "since" : 202106029, "version" : 202106029 }]] # Prueba del WMonitor [[wmonitor prueba_del_wmonitor]] Texto que queramos ponerle al cuerpo de este artículo.

Por KyMAN. Creado a fecha 202106029. Última modificación a fecha 202106029.

Prueba del WMonitor

WMonitor

Texto que queramos ponerle al cuerpo de este artículo.

NOTA: El texto indicativo puede ser una palabra sin comillas o varias encapsuladas entre comillas.
NOTA: Habrá más información acerca de éste en la sección que hable sobre el entorno cliente.

El almacenamiento de los datos en el entorno servidor de este Componente Customizado viene siendo en un archivo SQLite para que el administrador tenga control sobre los distintos ficheros de este tipo, así como su globalización mediante el Driver PDO.

ignore

Este Componente Customizado simplemente hace que WMarkDown ignore lo que tenga dentro, dejándolo sin formatear ni nada. Es importante destacar que el doble cierre de corchete se considerará el cierre del "ignore", y que en caso de necesitar ponerlo es importante hacer uso de HTML. Unos ejemplos de ésto podrían ser los siguientes, donde el primero simplemente hace ignorar una palabra, el siguiente un texto, y en el siguiente un JSON con doble cierre de corchete.

WMarkDown Normal Ignorado

                    
  • Language md
  • Lines 9
  • Characters 184
# Testeando el *ignore* Tengo 35 [[ignore años]]. Fichero: [[ignore vacíos.json]] JSON: [[ignore '["jiji", "jaja", ["cosa.txt", "cosa.json"<span>]</span>]']]

Testeando el ignore

Tengo 25 años.

Fichero: vacíos.json

JSON: '["jiji", "jaja", "cosa.json"]'

Testeando el ignore

Tengo 35 años.

Fichero: vacíos.json

JSON: '["jiji", "jaja", ["cosa.txt", "cosa.json"]]'

NOTA: SPAN en HTML no es más que una etiqueta de línea, visualmente no se ve ni se percibe, y gracias a ésta podremos escapar caracteres que puedan ser problemáticos en última instancia, como éste que acabamos de ver.

El _links_group_ o "Grupo de Links" viene siendo pequeño componente que permite mostrar un conjunto de Links sin mostrar sus URIs, sino una imagen representativa y a lo sumo, un pequeño texto o palabra acorde a éste, iconificando los enlaces mediante imágenes, siguiendo la estructura del módulo Multimedia, y automatizando ciertas cosas como la carga y selección de imágenes funcionales, organizamiento de los mismos y los estilos básicos. Su orden se basa en el orden dado en el Array JSON el cual define este Componente Customizado, e irántodos en la misma línea, centrados, y cuando hay tantos que exceden la línea automáticamente crearán una segunda, tercera o tantas líneas como requieran para mostrar todos los Links.

La estructura del JSON no es más que un Array de diccionarios, donde cada diccionario no es más que un Link y el cual posee la siguiente estructura:

  • images (required): Array de URLs de imágenes alternativas, en el orden de prioridad.
  • link (required): URL a la que se quiere enviar.
  • text (required): Texto que acompaña a la imagen.
  • self (optional): Indica si se abre en la pestaña/ventana actual (true) o se abre una nueva (false).

Con respecto al campo "images", se pueden poner tantas URLs como se quieran, incluyendo repetidas, aunque la idea de repetidas en una mala idea porque pasará exactamente lo mismo en los casos repetidos; y se cogerán partiendo de la primera imagen hasta la última, donde la primera imagen que encuentre que no de error, será la que ponga. En caso de que todas las opciones den error o que no se establezca imagen, la imagen quedará vacía.

Un ejemplo de funcionamiento puede ser el siguiente:

WMarkDown Resultado

                    
  • Language md
  • Lines 29
  • Characters 885
# Links de ejemplo [[links_group [{ "images" : ["https://wmarkdown.k3y.pw/images/wmarkdown.png"], "link" : "https://wmarkdown.k3y.pw/", "text" : "WMarkDown" }, { "images" : ["https://git.k3y.pw/assets/logo-d36b5212042cebc89b96df4bf6ac24e43db316143e89926c0db839ff694d2de4.svg"], "link" : "https://git.k3y.pw/", "text" : "Git" }, { "images" : ["https://gittutorials.k3y.pw/images/gittutorials.png"], "link" : "https://gittutorials.k3y.pw/", "text" : "GitTutorials" }, { "images" : [], "link" : "https://wdictionaries.k3y.pw/", "text" : "WDictionaries" }, { "images" : ["https://kyman.local/images/logo.png"], "link" : "https://kyman.k3y.pw/", "text" : "KyMAN Wlog" }, { "images" : ["https://kanvas.k3y.pw/images/kanvas.png"], "link" : "https://kanvas.k3y.pw/", "text" : "Kanvas" }] ]]

Links de ejemplo

icon

Este Componente Customizado sirve para marcar algo como una nota, alerta, aviso, etc. Y suele ser usado para los Quotes (Componente que se verá más adelante). Dicho Componente Customizado puede ser nombrado como:

  • icon
  • i
  • !
NOTA: Las nomenclaturas "i" y "!" están hechas para agilizar y facilitar su uso.

La sintaxis de los iconos es la siguiente, donde podemos ver las siguientes partes:

                    
  • Language md
  • Lines 1
  • Characters 24
[[icon|i|! TIPO TEXTO?]]
  • TIPO: Es el tipo de icono que se quiere mostrar. Dicho nombre lo podemos sacar del fichero de iconos de CSS y nos valdría cualquiera de ellos, aunque oficialmente existen 5: note o notas; alert o alertas; important o cosas importantes; warning o avisos; y danger o peligro.
  • TEXTO: Es un campo opcional que permite añadirle un texto que lo acompañe.
NOTA: Es importante tener en cuenta que este Componente Customizado es un elemento de línea que puede estar integrado dentro de un texto entre otros.

Los tipos de icono que hay son los siguientes:

Tipo WMarkDown Ejemplo Resultado
Nota

                    
  • Language md
  • Lines 1
  • Characters 15
[[! note NOTA]]

                    
  • Language md
  • Lines 5
  • Characters 80
> [[! note NOTA]]: Esto es una nota. > [[! note]] Esto es una nota.

NOTA: Esto es una nota.
Esto es una nota.

Alerta

                    
  • Language md
  • Lines 1
  • Characters 18
[[! alert ALERTA]]

                    
  • Language md
  • Lines 5
  • Characters 88
> [[! alert ALERTA]]: Esto es una alerta. > [[! alert]] Esto es una alerta.

ALERTA: Esto es una alerta.
Esto es una alerta.

Aviso

                    
  • Language md
  • Lines 2
  • Characters 37
[[! warn AVISO]] [[! warning AVISO]]

                    
  • Language md
  • Lines 5
  • Characters 81
> [[! warn AVISO]]: Esto es un aviso. > [[! warn]] Esto es un aviso.

AVISO: Esto es un aviso.
Esto es un aviso.

Importante

                    
  • Language md
  • Lines 1
  • Characters 26
[[! important IMPORTANTE]]

                    
  • Language md
  • Lines 5
  • Characters 110
> [[! important IMPORTANTE]]: Esto es algo importante. > [[! important]] Esto es algo importante.

IMPORTANTE: Esto es algo importante.
Esto es algo importante.

¡Peligro!

                    
  • Language md
  • Lines 1
  • Characters 20
[[! danger PELIGRO]]

                    
  • Language md
  • Lines 5
  • Characters 99
> [[! danger PELIGRO]]: Esto es algo peligroso. > [[! danger]] Esto es algo peligroso.

PELIGRO: Esto es algo peligroso.
Esto es algo peligroso.

WDoc

El WDoc es un sistema basado en el XDoc para documentar código, pero con la diferencia que en este caso es para documentar el código a partir de ficheros WMD para dejar el código lo más limpio posible, además de agilizar la documentación del código dentro de los documentos WMD, manteniendo una pequeña estructura simplificada de XDoc para una documentación rápida de variables y metodos que nos podamos encontrar. El WDoc se basa en tres partes diferenciadas las cuales son:

  • Descripción: Inicia con cualquier caracter que no sea "@" ni "#". Pequeño texto descriptivo para definir por encima el método o variable que se quiera documentar.
  • Data o información: Inicia con "@". Valores basados en una llave y un valor tanto para el XDoc como para el propio WDoc, y suelen ser elementos comunes.
  • Atributos y retorno: Inicia con "#". Parámetros de entrada del método y retorno del mismo.

Cada elemento conforma una única línea dentro del elemento o bloque WDoc y se distinguen a partir de su inicio el cual se detalla en la lista anterior.

En el caso de la descripción, cualquier línea que empiece sin ninguno de los caracteres determinados será concatenada a la descripción separados por un simple espacio. Permite el uso de HTML, lo mismo que en resto de atributos, aunque en los demás no se aconseja, y se hace uso de HTML si se viere necesario pero en la medida de lo posible y por la descripción de este Componente Customizado no se aconseja hacer un uso excesivo de ello.

El en el caso de Data o información, sirve para cumplimentar datos genéricos del XDoc o WDoc, siendo algunos de ellos los siguientes:

  • name (required): Sería el nombre completo del elemento, es decir, si se encuentra en una clase, subclase o espacio de nombres, ha de representar se entero, sin espacios.
  • language (required): Lenguaje de programación en el que esté trabajado sin espacios.
  • author (optional): Autor o autores del elemento a documentar, separados por comas y sin espacios.
  • since (optional): Fecha en formato "YYYYMMDD" desde la primera aparición en código de dicho elemento.
  • version (optional): Última fecha de modificación en formato "YYYYMMDD" de dicho elemento.
  • deprecated (optional): Determina si está obsoleto o no. Su valor ha de ser "true".
IMPORTANTE: Los elementos de Data o información "required" u obligatorios deben de existir siempre o pueden dar resultados no esperados por el redactor.

Finalmente, en el caso de los atributos se determinan a partir de 4 puntos los cuales se separan con espacios, siendo el último el único capaz de contener dichos espacios. La separación entre ellos pueden ser espacios o tabulaciones, y pueden ser tantos como se desee para mantener una legibilidad a la hora de representar en código. Dichos elementos de los que consta son los siguientes:

  • nombre (required): Nombre del atributo.
  • tipados (required): Tipado o posibles tipados del atributo. En caso de poder ser cualquiera se pondría la palabra "ANY" para representar "cualquiera" (Por defecto, el tipado "-" será "ANY").
  • modo (required): Determina si el atributo es obligatorio (Required) u opcional (Optional).
  • descripción (optional): Pequeña descripción del atributo.
NOTA: Para representar el retorno, hemos de usar el nombre de atributo return, que siguiendo con el modelo de un atributo continuaría con el tipado o tipados de variable de retorno, un guión ("-") por el hecho de no ser ni opcional, ni requerido ni ninguna otra forma dependiente del usuario, y con una pequeña descripción opcional que determine qué es lo que retorna.

Un ejemplo de dicho sistema puede ser el siguiente:

                    
  • Language md
  • Lines 13
  • Characters 419
Descripción WDoc del método **AnP.string_variables**. [[wdoc Procesa las variables de un String. @name AnP.string_variables @lang Python #string str required String a procesar. #variables dict,list,tuple optional Variables para procesar el String. #default str optional Valor por defecto. #return str - String procesado. ]]

Su resultado vendría siendo el siguiente:

Descripción WDoc del método AnP.string_variables.

AnP.string_variablesPython

Procesa las variables de un String.

strAnP.string_variablesstringstrrequiredString a procesar.variablesdictlisttupleoptionalVariables para procesar el String.defaultstroptionalValor por defecto.returnstrString procesado.
stringstrrequiredString a procesar.variablesdictlisttupleoptionalVariables para procesar el String.defaultstroptionalValor por defecto.returnstrString procesado.
  • nameAnP.string_variables
  • languagePython

También se cuenta con posibles sobrecargas, es decir, que un método pueda tener más de un tipo de entrada con lo que éste actuará diferente en base a su entrada. Como éste se basa en los atributos y retorno del mismo, se puede poner el parámetro "@overload" sin ningún valor ni nada, lo que indica que a partir de ahí empieza una sobrecarga del método con sus propios parámetros de entrada y retorno.

NOTA: Un retorno vacío se especificará automáticamente con el tipado "void", por lo que no haría falta ni definirlo.
NOTA: Es importante determinar que en lenguajes como Python, en sus métodos objeto o métodos de clase, el primer parámetro de entrada se entiende como un parámetro forzado del propio lenguaje por el cual no se determinará en el WDoc, dando a entender que en estos casos se empezará en el segundo parámetro de entrada por ser un parámetro dado al usuario, que será con los que pueda interactuar.

plain

El Componente Customizado "plain" nos permite establecer un fragmento de texto totalmente plano a nivel de HTML, sin que éste se procese ni se etiquete. Es muy útil para mantener estructuras en los títulos u otros elementos vinculados. Un ejemplo de funcionamiento puede ser el siguiente:

                    
  • Language md
  • Lines 9
  • Characters 164
# [[AnP.get_dictionary_path]] Título del bloque "AnP.get\_dictionary\_path". # AnP.get_dictionary_path Título del bloque "AnP.get\_dictionary\_path".
NOTA: Los textos que queden planos quedarán siendo parte de su padre y no distinguiéndose del resto de los textos puesto que no estarán etiquetados.
Files