179 lines
9.2 KiB
Markdown
Executable File
179 lines
9.2 KiB
Markdown
Executable File
[[post_data {
|
|
"author" : "Tarsier y KyMAN",
|
|
"since" : 20210623,
|
|
"version" : 20210624
|
|
}]]
|
|
# ¿Cómo montar un diccionario?
|
|
|
|
Los diccionarios no son más que meros ficheros JSON con una estructura muy concreta, la cual es la
|
|
siguiente:
|
|
|
|
- **pattern** *(required)*: Patrón o patrones regulares por los cuales buscar la o las palabras
|
|
concretas.
|
|
- **result** *(required)*: Resultado o resultados formatados de los patrones.
|
|
- **words** *(optional)*: Palabras con las que aparecer en el buscador de palabras del diccionario.
|
|
- **description** *(required)*: Descripción de la palabra o palabras.
|
|
- **links** *(optional)*: Links a las fuentes que se consideren para corroborar o ampliar
|
|
información al respecto.
|
|
|
|
El campo *pattern* puede ser un campo de tipo String para un único patrón, o de tipo Array para uno
|
|
o más patrones regulares. Las Expresiones Regulares están encapsuladas entre Backslashes y pueden ir
|
|
acompañadas de modificadores por el estándar de JavaScript.
|
|
|
|
> **IMPORTANTE**: Las Expresiones Regulares están en un String, por lo que el uso del caracter
|
|
Slash, tanto para su uso como para sus escapes, requiere de ser autoescapado, y hay que contar que
|
|
éste también requiere de escape para las RE.
|
|
|
|
Acerca del campo *result*, éste puede ser un String o un Array, siguiendo el tipado del campo
|
|
*pattern*, y en el caso de ser un Array, ha de tener un resultado por cada patrón que tenga. Los
|
|
resultados pueden trabajar las variables de las Expresiones Regulares del campo *pattern*,
|
|
entendiendo las variables por el estándar de las Expresiones Regulares de JavaScript, aquellas
|
|
encapsulaciones entre paréntesis que no vengan precedidas por un operador "?", siendo éstas un Array
|
|
el cual, cada posición representacada una de las variables, y donde su posición 0 el recurso
|
|
completo. Para poder identificar dentro del String de resultado una variable acorde a su Expresión
|
|
Regular se usará el caracter "$" seguido del número al que se quiera hacer referencia, de esta forma
|
|
podemos incluso hacer correcciones sintácticas o de escritura de un concepto concreto.
|
|
|
|
> **IMPORTANTE**: El trabajo con las variables solo se puede hacer con las primeras 10 variables
|
|
entendiendo que vas desde la variable 0 hasta la 9.
|
|
|
|
El campo de *words* solo es necesario cuando el campo *result* trabaje alguna variable del campo
|
|
*pattern* pues si no se especifica el campo *words*, por defecto saldrán como palabras en el
|
|
buscador de conceptos del campo *result*, pero si se establece el campo *words* sólo saldrán las de
|
|
este último campo.
|
|
|
|
El campo *description* permite establecer un texto que describe y define el concepto. Se puede hacer
|
|
uso de HTML, y para estructurar correctamente un JSON, éste puede ser un Array de Strings, un String
|
|
vacío dictamina un cambio de párrafo. En sí, el texto se engloba automáticamente en párrafos
|
|
siguiendo el concepto del String vacío en un Array.
|
|
|
|
Finalmente, el campo *links* provee de enlaces con información y fuentes acerca del concepto que se
|
|
esté trabajando. Puede que un concepto no tenga Links por el hecho de ser un concepto propio o no
|
|
haberse encontrado una fuente acorde al mismo.
|
|
|
|
## Ejemplo
|
|
|
|
Un ejemplo sencillo de cómo crear un diccionario podría ser el siguiente:
|
|
|
|
```json
|
|
[{
|
|
"pattern" : "/\\btarsi(er)?s?\\b/gi",
|
|
"result" : "Tarsier",
|
|
"description" : "Algo de todo",
|
|
"links" : "https://git.k3y.pw/Tarsier/"
|
|
}, {
|
|
"pattern" : "/\\b[kcq](y|ai)man\\b/gi",
|
|
"result" : "KyMAN",
|
|
"description" : "Desarrollador.",
|
|
"links" : [
|
|
"https://kyman.k3y.pw/",
|
|
"https://git.k3y.pw/KyMAN/",
|
|
"https://git.a3do.net/KyMAN/",
|
|
"https://www.youtube.com/channel/UCCAWOt-AxTyAiFWBgyb3X9Q",
|
|
"https://github.com/0KyMAN0"
|
|
]
|
|
}, {
|
|
"pattern" : "/\\b(c)osa(s)? ?inventadas?\\b/gi",
|
|
"result" : "$1osa$2 inventada$2",
|
|
"words" : "Cosas inventadas",
|
|
"description" : "Pues vamos, que tenemos mucha imaginación..."
|
|
}, {
|
|
"pattern" : ["/\\bw(halers)?[ \\-_\\.]?markdown\\b/gi", "/\\bw(\\. ?)?m(\\. ?)?d(\\. ?)?\\b/gi"],
|
|
"result" : ["WMarkDown", "WMD"],
|
|
"description" : [
|
|
"Conjunto de librerías que mezclan lenguajes de marcas de MediaWiki y MarkDown con ",
|
|
"algunas correcciones y customizaciones.",
|
|
"",
|
|
"Simplifica mucho a la hora de documentar cosas."
|
|
],
|
|
"links" : [
|
|
"https://wmarkdown.k3y.pw/",
|
|
"https://git.k3y.pw/Whalers/WMarkDown"
|
|
]
|
|
}]
|
|
```
|
|
|
|
En este ejemplo hemos descrito 4 conceptos: _Tarsier_, _KyMAN_, _algo incentado_ y _WMarkDown_. En
|
|
el caso de _Tarsier_, que también es llamado _Tarsi_, y como puede ser un animal pues podría darse
|
|
el caso de tener plural, se le corrige la letra capital de nombre propio, se completa el diminutivo
|
|
_[[ignore Tarsi]]_ y se le elimina el plural por tratarse en este caso de un nombre propio y no de
|
|
más de un [[ignore tarsier]]; Continuando con _KyMAN_, nos encontramos que aquí se entiende que el
|
|
sonido _caiman_ o _quiman_ es referido a _KyMAN_ mientras que el sonido _caimán_ será el animal, y
|
|
corrige todas las posibilidades ocurridas en el momento sobre el sonido _caiman_ o _quiman_ sobre el
|
|
nombre _KyMAN_ (No admite plurales, excluyendo éstos), y el cual tiene más de un Link; el concepto
|
|
de _cosa inventada_ corrige su letra capital y considera la opción de que pueda ser plural o
|
|
singular a partir de la "S" de plural de "cosas", y especifica las palabras nativas para su muestreo
|
|
en la tabla de búsqueda de conceptos del diccionario, y donde podemos ver que no tiene ningún Link
|
|
por el hecho de ser algo inventado; y finalmente tenemos el concepto de _WMarkDown_ donde tenemos
|
|
dos formas de llamarlo y por tanto de resultados, con una descripción más extensa, con dos párrafos
|
|
definidos por un separador de un String vacío.
|
|
|
|
> **NOTA**: En el caso de _WMarkDown_ se corrige también la posibilidad de incluir el origen de la
|
|
"W", que viene siendo el proyecto _Whalers_. También quitiamos la posibilidad de siglas.
|
|
|
|
> **IMPORTANTE**: Es importante saber que el fichero solo constará del texto que se le dé, no
|
|
pudiendo poner textos alternativos como pudiera ser en un gestor de idiomas. Para dichos casos se
|
|
requerirá la creación de tantos ficheros como idiomas. También permite la división del contenido
|
|
como pudimos ver en el apartado de como llamar a los diccionarios.
|
|
|
|
## ¿Cómo iconificar un enlace?
|
|
|
|
Si te haces esta pregunta es porque estarás en un entorno de WMarkDown donde los enlaces son unos
|
|
círculos blancos vacíos donde algunos tienen un icono del sitio concreto como puede ser GitLab,
|
|
Wikipedia u otros. Si este es el caso decir que se hace en el propio WMarkDown o añadiendo un CSS
|
|
tal como se muestra a continuación:
|
|
|
|
<table style="width:100%;">
|
|
<thead>
|
|
<tr>
|
|
<th style="width:50%;">SASS (SCSS)</th>
|
|
<th style="width:50%;">CSS</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
|
|
```scss
|
|
.wmarkdown{
|
|
[data-site=wikipedia_org],[data-site=es_wikipedia_org],[data-site=en_wikipedia_org]{background-image : url("https://wikipedia.org/static/apple-touch/wikipedia.png");}
|
|
[data-site=git_a3do_net],[data-site=git_k3y_pw]{background-image : url("https://about.gitlab.com/ico/favicon-192x192.png");}
|
|
[data-site=youtube_com],[data-site=www_youtube_com]{background-image : url("https://www.youtube.com/s/desktop/c20c1e6c/img/favicon_144.png");}
|
|
[data-site=www_mediawiki_org]{background-image : url("https://www.mediawiki.org/static/apple-touch/mediawiki.png");}
|
|
[data-site=github_com]{background-image : url("https://github.com/fluidicon.png");}
|
|
}
|
|
```
|
|
|
|
</td>
|
|
<td>
|
|
|
|
```css
|
|
.wmarkdown [data-site=wikipedia_org],.wmarkdown [data-site=es_wikipedia_org],.wmarkdown [data-site=en_wikipedia_org]{background-image : url("https://wikipedia.org/static/apple-touch/wikipedia.png");}
|
|
.wmarkdown [data-site=git_a3do_net],.wmarkdown [data-site=git_k3y_pw]{background-image : url("https://about.gitlab.com/ico/favicon-192x192.png");}
|
|
.wmarkdown [data-site=youtube_com],.wmarkdown [data-site=www_youtube_com]{background-image : url("https://www.youtube.com/s/desktop/c20c1e6c/img/favicon_144.png");}
|
|
.wmarkdown [data-site=www_mediawiki_org]{background-image : url("https://www.mediawiki.org/static/apple-touch/mediawiki.png");}
|
|
.wmarkdown [data-site=github_com]{background-image : url("https://github.com/fluidicon.png");}
|
|
```
|
|
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
> **IMPORTANTE**: Los enlaces se formatean automáticamente quitando el protocolo y dejando solo
|
|
hasta el raíz de la URL, substituyendo cualquier caracter fuera del rango de la A-Z y de cualquier
|
|
dígito por guiones bajos. En caso de duda de como saldría, siempre queda la opción de inspeccionar
|
|
elemento.
|
|
|
|
[[html_data {
|
|
"title" : "WDictionaries - Manual",
|
|
"url" : "https://wmarkdown.k3y.pw/es/build.html",
|
|
"author" : "Tarsier, KyMAN, angelus",
|
|
"since" : 20210623,
|
|
"version" : 20210624,
|
|
"key_words" : "Whalers,MarkDown,MediaWiki,WMarkDown,dictionary,wdictioaries,manual,crear,construir",
|
|
"description" : "Manual del WDictionaries.",
|
|
"project" : "WDictionaries",
|
|
"logo" : "https://wdictionaries.k3y.pw/images/logo.png"
|
|
}]]
|