#wip(w.json): Fix some bugs in SCSS and added new concepts in WDictionaries.

This commit is contained in:
KyMAN 2025-05-05 06:40:26 +02:00
parent 04252462e9
commit e8107b9569
6 changed files with 313 additions and 40 deletions

View File

@ -170,7 +170,7 @@ var Patterns PatternsModel = PatternsModel{
RE_TRACE_STACK: regexp.MustCompile(`[\n\r](([^\.\(\s]+|\..)+)\([^\n\r]+[\r\n]+\s+([^\:\s]+)\:([0-9]+)`),
}
var MAXIMUM_INTEGER int = 2<<31 - 1
var MAXIMUM_INTEGER int = (1 << 31) - 1
var LIST_MARKS []byte = []byte{'-', '*', '+'}
var LIST_LATIN_MARKS []byte = []byte{'a', 'A', 'i', 'I'}
var TABLE_MARKS []byte = []byte{'^', '_', '='}
@ -398,9 +398,9 @@ func ModuleSpecialCharacters(matches *PatternMatch, language int, path string) s
func GetDirectory(path string) string {
stat, _ := os.Stat(path)
stat, error := os.Stat(path)
if stat.IsDir() {
if error == nil && stat.IsDir() {
return path
}
return filepath.Dir(path)
@ -489,7 +489,8 @@ func ModulePresentationLinks(matches *PatternMatch, language int, path string) s
continue
}
var has_spaces bool = Patterns.Match(line, Patterns.RE_STARTED_WHITE_SPACES).Ok
var matches *PatternMatch = Patterns.Match(line, Patterns.RE_STARTED_WHITE_SPACES)
var has_spaces bool = matches.Ok && matches.Groups[0] != ""
if has_spaces {
if i == -1 {
@ -498,7 +499,11 @@ func ModulePresentationLinks(matches *PatternMatch, language int, path string) s
if data[0] == '*' {
items[i].avatars = append(items[i].avatars, data[1:])
if strings.Contains(data, ".k3y.pw/") {
items[i].avatars = append(items[i].avatars, strings.ReplaceAll(data[1:], ".k3y.pw/", ".local/"))
items[i].avatars = append(items[i].avatars,
strings.ReplaceAll(data[1:], ".k3y.pw/", ".local/"),
strings.ReplaceAll(data[1:], ".k3y.pw/", ".gocal/"),
strings.ReplaceAll(data[1:], ".k3y.pw/", ".cir/"),
)
}
} else {
items[i].links = append(items[i].links, data)
@ -673,12 +678,12 @@ func (_self *WMarkDown) ModuleTitle(matches *PatternMatch, language int, path st
level = strconv.FormatInt(int64(len(level)), 10)
if matches.Groups[2] != "" {
content = strings.ToLower(matches.Groups[2])
content = matches.Groups[2]
} else {
content = strings.ToLower(matches.Groups[4])
content = matches.Groups[4]
}
return `<h` + level + ` class="wmd-title" id="` + _self.Id(content) + `" title="` + content + `">` +
return `<h` + level + ` class="wmd-title" id="` + _self.Id(content) + `" title="` + content + `" data-test="jojo">` +
`<span>` + _self.Analyse(content, language, WMD.SUBITEM, path) + `<span>` +
`</h` + (level) + `>`
}
@ -824,7 +829,7 @@ func (_self *WMarkDown) ModuleList(matches *PatternMatch, language int, path str
var child_type byte = 'u'
if unordered {
if !unordered {
child_type = 'o'
}
@ -937,9 +942,9 @@ func (_self *WMarkDown) ModuleTable(matches *PatternMatch, language int, path st
for i, tag := range tags {
if i == 0 {
html[tag] = row + html[tag]
} else {
html[tag] += row
} else {
html[tag] = row + html[tag]
}
}

View File

@ -91,14 +91,24 @@ export const WMarkDown = (function(){
let loaded = 0;
/** @type {Array.<string>} */
const dictionaries = inputs.dictionary instanceof Array ? inputs.dictionary : [inputs.dictionary],
/**
* @returns {void}
*/
end = () => ++ loaded == dictionaries.length && (dictionary_loaded = true);
/** @type {Array.<Array.<Array.<string|Array.<string, string>>, string|Array.<string>, string|Array.<string>>>} */
sets = [],
/**
* @returns {void}
*/
end = () => {
if(++ loaded == dictionaries.length){
sets.forEach(subset => {
subset && self.add_to_dictionary(subset);
});
dictionary_loaded = true;
};
};
dictionaries.forEach(url => WMarkDown.get(url, data => {
dictionaries.forEach((url, i) => WMarkDown.get(url, data => {
try{
self.add_to_dictionary(JSON.parse(data));
sets[i] = JSON.parse(data);
// self.add_to_dictionary(JSON.parse(data));
}catch(exception){
console.error(exception);
};
@ -121,6 +131,8 @@ export const WMarkDown = (function(){
patterns[0] instanceof Array || (patterns = [patterns]);
console.log([patterns, definition]);
patterns.forEach(([pattern, text]) => {
if(!dictionary_done.includes(text)){
if(i === null)
@ -695,9 +707,27 @@ export const WMarkDown = (function(){
return dictionary_item_mark[0] + (own_keys.length - 1) + dictionary_item_mark[1];
})
), dictionary[i].definition).replace(dictionary_item_mark[2], (all, i) => `<b class="wmd-excluded">` + own_keys[i] + `</b>`) + `</div>
<nav class="links">` + dictionary[i].links.map(link => `<a href="` + link + `" target="_blank" title="` + link + `" data-type="` + (
link.toLowerCase().match(/^(http|ftp|ws)s?\:\/{2}(w+[a-z0-9]\.)?([^\/]+)/i)[3].replace(/[^a-z0-9]+/g, "_")
) + `" style="background-image:url('` + link.match(/^[^\:]+\:\/{2}[^\/]+/)[0] + `/favicon.ico');"></a>`).join("") + `</nav>
<nav class="links">` + dictionary[i].links.map(link => {
/** @type {string} */
const type = (
/^smb\:\/{2}/i.test(link) ? "samba" :
/^(tel\:)?\+?[0-9 p\-]+$/i.test(link) ? "phone" :
/^(mail(to)?\:)?[a-z0-9_\-\.]+\@[a-z0-9_\-\.]+/i.test(link) ? "mail" :
"web"),
/** @type {string} */
link_processed = (
type == "phone" ? "tel:" + link.replace(/(^tel\:| +)/gi, "") :
type == "mail" ? "mailto:" + link.replace(/^mail(to)?\:/i, "") :
link);
return `<a href="` + link_processed + `" target="_blank" title="` + link + `" data-type="` + (
["phone", "mail", "samba"].includes(type) ? type :
link.toLowerCase().match(/^(http|ftp|ws)s?\:\/{2}(w+[a-z0-9]\.)?([^\/]+)/i)[3].replace(/[^a-z0-9]+/g, "_")
) + `"` + (
type == "web" ? ` style="background-image:url('` + link_processed.match(/^[^\:]+\:\/{2}[^\/]+/)[0] + `/favicon.ico');"` :
``) + `></a>`;
}).join("") + `</nav>
`);
// box.style.zIndex = dictionary_z ++;

View File

@ -132,15 +132,19 @@
], []
], [
[
["/\\b(a[n&]p *|a\\.n\\.p\\.|a\\. +n\\. +p\\. +)lite\\b/ig", "AnP Lite"],
["/\\b(a[n&]p\\b|a\\.n\\.p\\.|a\\. +n\\. +p\\. +)/ig", "AnP"],
["/\\battach +and +play +lite\\b/gi", "Attach and Play Lite"],
["/\\battach +and +play\\b/gi", "Attach and Play"]
], [
"AnP (Attach and Play) es un proyecto a modo Framework para desarrollar aplicaciones, ",
"principalmente aplicaciones Web aunque se puede extender a juegos, aplicaciones de ",
"escritorio o de terminal/consola de comandos, desarrollado por KyMAN."
"escritorio o de terminal/consola de comandos, desarrollado por KyMAN. Su versión Lite ",
"es una versión ultraligera para altor rendimiento."
], [
"https://anp.k3y.pw/",
"https://git.k3y.pw/AnP/AnP"
"https://git.k3y.pw/AnP/AnP",
"https://git.k3y.pw/Lite/AnP"
]
], [
["/\\b((?<!\\.)xml\\b|x\\.m\\.l\\.|x\\. +m\\. +l\\. +)/ig", "XML"], [
@ -907,4 +911,189 @@
"https://github.com/mermaid-js/mermaid",
"https://mermaid.live/"
]
], [
["/\\bw[ \\-]*dictionar(y|ies)\\b/gi", "WDictionaries"], [
"El WDictionaries es una tecnología desarrollada por Srx01 y Srx00, originalmente independiente pero que al ",
"final fue absorbida por el proyecto WMarkDown como unificación de recursos del mismo por el hecho de sólo usarse ",
"por ésta última. Ésta permite hacer un diccionario JSON y luego buscar palabras clave en un entorno HTML a partir ",
"de un selector CSS, y de forma dinámica ir marcando dichas palabras a partir de los patrones para que en caso de ",
"Click, mostrar información anidada acerca de ésta y facilitar el acceso a definiciones y explicaciones ",
"centralizadas y unificadas."
], [
"https://wmarkdown.k3y.pw/#WDictionaries",
"https://wdictionaries.k3y.pw/"
]
], [
[
["/\\b(?<!\\.)(cpd|c\\. *p\\. *d\\. *)\\b/gi", "CPD"],
["/\\bcentro *(de *)?procesamiento *(de *)?datos\\b/gi", "Centro de Procesamiento de Datos"]
], [
"Un CPD o Centro de Procesamiento de Datos, es un entorno altamente controlado, unificado y centralizado para la ",
"gestión y procesamiento de servicios, datos, etc."
], [
"https://es.wikipedia.org/wiki/Centro_de_procesamiento_de_datos",
"https://www.xataka.com/pro/cpd-que-centro-procesamiento-datos-como-funciona"
]
], [
[
["/\\b(?<!\\.)(ide|i\\. *d\\. *e\\. *)\\b/gi", "IDE"],
["/\\bentorno *(de *)?desar+o(ll|y)o *h?integrado\\b/gi", "Entorno de Desarrollo Integrado"],
["/\\bintegrated *developt?ment *environment\\b/gi", "Integrated Development Environment"],
["/\\bintegrated *drive *electronics\\b/gi", "Integrated Drive Electronics"],
["/\\b(?<!\\.)(p\\-?ata|p\\. *a\\. *t\\. *a\\. *)\\b/gi", "P-ATA"],
["/\\bparal+el[\\- ]*(ata|a\\. *t\\. *a\\. *)\\b/gi", "Parallel-ATA"],
["/\\bparal+el *advanced *technology *at+achment\\b/gi", "Parallel Integrated Development Environment"]
], [
"Un IDE puede ser un conector actualmente obsoleto cuyo nombre parte de Integrated Drive Electronics. Sin embargo, ",
"también puede ser un Entorno de Desarrollo Integrado, cuyas siglas vienen del inglés, Integrated Development ",
"Environment. De los más conocidos nos encontramos Visual Studio, DBeaver, etc."
], [
"https://es.wikipedia.org/wiki/Integrated_Drive_Electronics",
"https://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado",
"https://www.jvs-informatica.com/blog/glosario/conector-ide/"
]
], [
[
["/\\bs[iy]ntax *hi(gh|hg)[ \\-]*li(gh|hg)ter\\b/gi", "Syntax Highlighter"],
["/\\bs[iy]ntax *hi(gh|hg)[ \\-]*li(gh|hg)ting?\\b/gi", "Syntax Highlighting"],
["/\\bresultado *(de *)?sintaxis\\b/gi", "Resultado de Sintaxis"]
], [
"El Syntax Highlighting es una tecnología orientada a facilitar la visualización de código, tanto para programadores ",
"como para entornos de lenguajes de marcas."
], [
"https://es.wikipedia.org/wiki/Resaltado_de_sintaxis"
]
], [
[
["/\\bm[áa][qk]u?ina(s)? *virtual(es)?\\b/gi", "Máquina$1 Virtual$2"],
["/\\bvirtuals? *machine(s)?\\b/gi", "Virtual Machine$1"],
["/\\b(?<!\\.)(vm|v\\. *m\\. *)\\b/gi", "VM"]
], [
"Una Máquina Virtual es la emulación de un equipo físico en un entorno lógico de Software, es decir, en un entorno ",
"Virtual."
], [
"https://es.wikipedia.org/wiki/M%C3%A1quina_virtual",
"https://www.oracle.com/uy/cloud/compute/virtual-machines/what-is-virtual-machine/",
"https://www.ibm.com/es-es/think/topics/virtual-machines",
"https://www.redhat.com/es/topics/virtualization/what-is-a-virtual-machine",
"https://azure.microsoft.com/es-es/resources/cloud-computing-dictionary/what-is-a-virtual-machine",
"https://cloud.google.com/learn/what-is-a-virtual-machine?hl=es",
"https://www.xataka.com/especiales/maquinas-virtuales-que-son-como-funcionan-y-como-utilizarlas"
]
], [
[
["/\\bh[iy]per[ \\-]*visor(es)?\\b/gi", "Hipervisor"],
["/\\bmonitor(es)? *(de *)?m[aá][kq]u?inas? *virtual(es)?\\b/gi", "Monitor de Máquina Virtual"],
["/\\bvirtuals? *machine(s) *monitor\\b/gi", "Virtual Machine$1 Monitor"]
], [
"Hipervisor es una capa de Software sobre la virtualización del Hardware para gestionar el uso simultáneo del Hardware ",
"físico sobre diferentes Sistemas Operativos corriendo en éste."
], [
"https://es.wikipedia.org/wiki/Hipervisor",
"https://es.wiktionary.org/wiki/hipervisor"
]
], [
["/\\bh[yi]per[\\- ]*v\\b/gi", "Hyper-V"], [
"Hyper-V es una tecnología de Virtualización de Microsoft para Windows 8 y Windows Server 2008 en adelante, todos sobre ",
"las arquitecturas x64."
], [
"https://learn.microsoft.com/es-es/windows-server/virtualization/hyper-v/get-started/create-a-virtual-machine-in-hyper-v?tabs=hyper-v-manager",
"https://es.wikipedia.org/wiki/Hyper-V"
]
], [
["/\\bvmware\\b/gi", "VMWare"], [
"VMWare es una empresa especializada en servicios virtualizados para gestión de Máquinas Virtuales."
], [
"https://www.vmware.com/",
"https://es.linkedin.com/company/vmware",
"https://x.com/VMware",
"https://www.ibm.com/es-es/topics/vmware",
"https://www.broadcom.com/blog/broadcom-announces-successful-acquisition-of-vmware",
"https://www.icm.es/"
]
], [
["/\\bunidad(es)? *rack(s)?\\b/gi", "Unidad$1 Rack$2"], [
"La Unidad Rack representa las medidas estándar para los fijadores de un Armario Rack según ",
"la especificación EIA-310."
], [
"https://es.wikipedia.org/wiki/Unidad_rack",
"https://www.wikidata.org/wiki/Q1427899",
"https://espacioscriticosdesign.blogspot.com/2014/12/norma-eiaeca-310-e-que-debemos-saber-de.html",
"https://ita.tech/estandar-eia-310",
"https://www.racksolutions.eu/news/data-center-optimization/eia-310-definition/",
"https://www.ibm.com/docs/es/power9"
]
], [
["/\\b((armario|gabinete|bastidore?)s? *)?rack(s)?\\b/gi", "Armario$3 Rack$3"], [
"Un Rack es una estructura similar a un armario pero con la finalidad de tener ordenados, ",
"unificados y estructurados los servidores y/u otros aparatos informáticos orientados a la ",
"gestión centralizada de datos y/o comunicación en un entorno concreto, aislado y seguro. ",
"Éstos pueden ser de múltiples formas y tamaños según necesidades y ubicación. Éstos poseen ",
"unos estándares de fijaciones para los equipos que se les vayan a instalar para unificar ",
"éstos para su instalación, facilitando tanto la instalación como la reutilización. La unidad ",
"de medida de los fijadores se llama Unidad Rack."
], [
"https://es.wikipedia.org/wiki/Bastidor_de_19_pulgadas",
"https://commons.wikimedia.org/wiki/Category:19%22-Racks",
"https://armariosrack.es/armarios-rack-19-pulgadas"
]
], [
[
["/\\b(?<!\\.)(sai(s)?|s\\. *a\\. *i\\. *)\\b/gi", "SAI$2"],
["/\\b(?<!\\.)(ups|u\\. *p\\. *s\\. *)\\b/gi", "UPS"],
["/\\bs[iy]stema(s)? *(de *)?h?alimentaci[óo]n *h?ininter+u[mn]pida\\b/gi", "Sistema$1 de Alimentación ininterrumpida"],
["/\\buninter+u[pm]ted *power *sup+l[yi]\\b/gi", "Uninterrupted Power Supply"]
], [
"Un SAI, o Sistema de Alimentación Ininterrumpida, UPS en inglés por sus siglas Uninterrupted ",
"Power Supply, es un componente informático con baterías con capacidad de autosuficiencia ",
"durante un tiempo limitado determinado por su carga para casos de cortes de electricidad o ",
"incluso para absorver picos y estabilizar la red eléctrica de entrada a los equipos informáticos. ",
"La carga puede ir condicionada a simples baterías o en casos ya más grandes, a depósitos diésel ",
"con un generador. La unidad de medida para extrapolar la potencia del mismo son los VA o ",
"Voltio-Amperio, el cual equivale a una media de 0.6 por unidad VA en Vatios."
], [
"https://es.wikipedia.org/wiki/Sistema_de_alimentaci%C3%B3n_ininterrumpida",
"https://todosai.com/27-SAI---UPS",
"https://commons.wikimedia.org/wiki/Category:Uninterruptible_power_supply",
"https://qrinet.com/que-es-un-sai-ups-y-como-saber-cual-necesito.htm",
"https://www.pccomponentes.com/que-es-un-sai-y-para-que-sirve"
]
], [
[
["/\\b(?<!\\.)VAs?\\b/g", "VA"],
["/\\b[vb]olti?(os?[ \\-]*)?h?a[mn]perio(s)?\\b/gi", "Voltio-Amperio$1"],
["/\\b[bv]olt-a[mn]pere\\b/gi", "Volt-Ampere"]
], [
"Un Voltio-Amperio es la unidad de medida cara la potencia resultante autónoma de un SAI. Éste ",
"equivale a 0.6 Vatios por VA."
], [
"https://es.wikipedia.org/wiki/Voltiamperio",
"https://www.wikidata.org/wiki/Q550341"
]
], [
[
["/\\bvoltaje(s)?\\b/gi", "Voltaje$1"],
["/\\bvoltio(s)?\\b/gi", "Voltio$1"],
["/\\btesi[oó]n\\b/gi", "Tensión"],
["/\\bdiferencia *(de *)potencial\\b/gi", "Diferencia de Potencial"],
["/\\b(?<!\\.)V\\b/g", "V"]
], [
"El voltaje es la diferencia de potencial elétrico entre dos puntos. Se mide el Voltios (V)."
], [
"https://es.wikipedia.org/wiki/Tensi%C3%B3n_(electricidad)"
]
], [
[
["/\\b(?<!\\.)(nas|n\\. *a\\. *s\\. *)\\b/gi", "NAS"],
["/\\bh?almacenami?ento *conectado *(en *)?red\\b/gi", "Almacenamiento Conectado en Red"],
["/\\bnetwork *at+ached *storage\\b/gi", "Network Attached Storage"]
], [
"Un NAS, Almacenamiento Conectado en Red de sus siglas en inglés Network Attached Storage, ",
"es un sistema de almacenamiento centralizado en un red dentro de un servicio de servidor que ",
"nos permite compartir el almacenamiento entre distintos terminales dentro de los privilegios ",
"que en la red se le otorgue."
], [
"https://es.wikipedia.org/wiki/Almacenamiento_conectado_en_red",
"https://www.xataka.com/basics/servidores-nas-que-como-funcionan-que-puedes-hacer-uno"
]
]]

View File

@ -64,7 +64,7 @@
}
.image{border-color : map-deep-get($color, grey);}
}
.wmd-dictionary-item{
.wmd-dictionary-item[data-role][data-i]{
color : mix(map-deep-get($color, $mode, primary), map-deep-get($color, $mode, fore), 50%);
}
[data-deployed]>[data-icon=deploy]{
@ -83,6 +83,42 @@
}
}
.wmd-icon.checkbox>input+span::before{content : unicode("f0c8"); font-family : "FA6FR";}
.wmd-icon.checkbox>input:disabled+span::before{content : unicode("f0c8"); font-family : "FA6FS"; opacity : .5;}
.wmd-icon.checkbox>input:checked+span::before{content : unicode("f14a"); font-family : "FA6FR";}
.wmd-icon.radio-button>input+span::before{content : unicode("f111"); font-family : "FA6FR";}
.wmd-icon.radio-button>input:disabled+span::before{content : unicode("f111"); font-family : "FA6FS"; opacity : .5;}
.wmd-icon.radio-button>input:checked+span::before{content : unicode("f192"); font-family : "FA6FR";}
.wmd-icon.tick>input+span::before{content : unicode("f00d"); font-family : "FA6FS";}
.wmd-icon.tick>input:disabled+span::before{content : unicode("f560"); font-family : "FA6FS";}
.wmd-icon.tick>input:checked+span::before{content : unicode("f00c"); font-family : "FA6FS";}
.wmarkdown [data-icon=warning]::before,.wmarkdown [data-icon=warn]::before{content : unicode("f071"); font-family : "FA6FS";}
.wmarkdown [data-icon=ask]::before,.wmarkdown [data-icon=question]::before{content : unicode("f059"); font-family : "FA6FS";}
.wmarkdown [data-icon=answer]::before{content : unicode("f138"); font-family : "FA6FS";}
.wmarkdown [data-icon=comment]::before{content : unicode("f075"); font-family : "FA6FR";}
.wmarkdown [data-icon=note]::before{content : unicode("f249"); font-family : "FA6FR";}
.wmarkdown [data-icon=characters]::before{content : unicode("f031"); font-family : "FA6FS";}
.wmarkdown [data-icon=lines]::before{content : unicode("f039"); font-family : "FA6FS";}
.wmd-code-block [data-icon=type]::before{content : unicode("f15b"); font-family : "FA6FR";}
.wmd-code-block[data-type=html] [data-icon]::before{content : unicode("f1c9"); font-family : "FA6FR";}
.wmarkdown [data-icon=link]::before{content : unicode("f0c1"); font-family : "FA6FS";}
.wmarkdown [data-deployed=true]>[data-icon=deploy]::before,
.wmd-main-menu [data-deployed=true]>[data-icon=deploy]::before{content : unicode("f146"); font-family : "FA6FR";}
.wmarkdown [data-deployed=false]>[data-icon=deploy]::before,
.wmd-main-menu [data-deployed=false]>[data-icon=deploy]::before{content : unicode("f0fe"); font-family : "FA6FR";}
.wmd-main-menu-button [data-icon=menu]::before{content : unicode("f0c9"); font-family : "FA6FS";}
.wmarkdown [data-icon=view_switch]::before{content : unicode("f074"); font-family : "FA6FS";}
.wmd-dictionary-box a{
&[data-type=phone],&[data-type=mail],&[data-type=samba]{&::before{
display : inline-block;
padding : .4em 0em;
font-family : "FA6FS";
}}
&[data-type=samba]::before{content : unicode("");}
&[data-type=phone]::before{content : unicode("f095");}
&[data-type=mail]::before{content : "@";}
}
.wmd-icon>input{display : none;}
.wmd-code-block{
display : block;
@ -212,22 +248,25 @@
}
}
[data-include]{
&>.link{
margin-top : 2em;
font-size : .9em;
opacity : .8;
.wmd{
[data-include]{
&>.link{
margin-top : 2em;
font-size : .9em;
opacity : .8;
}
@for $i from 1 through 6{
// font-size : (6 - $i) * 3em;
&+h#{$i}{margin-top : 0em;}
&>.wmarkdown{&>h#{$i}{&:first-child{margin-top : 0em;}}}
}
[data-include]>.link>a{display : none;}
}
@for $i from 1 through 6{
font-size : (6 - $i) * 3em;
&+h#{$i}{margin-top : 0em;}
&>.wmarkdown{&>h#{$i}{&:first-child{margin-top : 0em;}}}
}
[data-include]>.link>a{display : none;}
@for $i from 1 through 6{h#{$i}{font-size : (7 - $i) * .4 + 1em;}}
}
.wmd-title{
&>:last-child{
&>span+span:last-child{
margin-left : .3em;
font-size : .6em;
span{
@ -279,6 +318,15 @@
}
}
.wmd{
span{&[data-deployed=false],&[data-deployed=true]{cursor : pointer;}}
&>ul{margin : 1em 0em;}
ul{
padding : 0em 2em;
font-size : 1em;
}
}
.wmd-main-menu ul{list-style-type : none;}
.wmd-list,.wmd-main-menu{
[data-deployed=false]{&~ul,&~ol{display : none;}}
[data-icon=deploy]{
@ -287,7 +335,7 @@
}
}
.wmd,.wmd-dictionary-box{.wmd-dictionary-item[data-role]{cursor : help;}}
.wmd,.wmd-dictionary-box{.wmd-dictionary-item[data-role][data-i]{cursor : help;}}
.wmd-dictionary-box{
position : absolute;
max-width : 15em;
@ -306,6 +354,7 @@
margin : .3em;
border-width : .1em;
border-style : solid;
vertical-align : middle;
background-position : center center;
background-size : cover;
box-sizing : border-box;

View File

@ -1,6 +1,6 @@
@use "sass:map";
@use "sass:list";
@use "sass:meta";
// @use "sass:map";
// @use "sass:list";
// @use "sass:meta";
@function unicode($code){
@return unquote("\"") + unquote(str-insert($code, "\\", 1)) + unquote("\"");

View File

@ -1 +1 @@
0.0.3.9
0.0.3.10