# Bienvenido a ##https://milibreria.neocities.org/:MiLibrería;!
## Descripcion:
En esta página web, subo diversos códigos orientados a alguna función específica para facilitar ciertas tareas a la hora de programar. El objetivo es el de proporcionar funciones lo mas óptimas y cortas posibles.
Como sabrás, hay muchas formas de hacer lo mismo, por lo que cada función es sometida a repetidas ejecuciones para ver cual es la mejor versión de la misma.
## Categorias:
### incluir
Esta librería es muy importante, ya que ___permite agregar las demás librerías de una forma mas sencilla___. Para agregarla, debes pegar la siguiente etiqueta dentro del head:
<script src="https://milibreria.neocities.org/incluir.js"></script>
<script>/* AQUI HAZ USO DE LA FUNCION include() PARA INCLUIR LAS LIBRERIAS QUE NECESITES */</script>
Una vez agregado, al final del body necesitarás hacer uso de las funciones que traen las librerías que incluiste, para ello debes hacerlo dentro de lo siguiente:
<script>
window.onload=()=>{
// HAZ USO DE LAS FUNCIONES INCLUIDAS AQUI
}
</script>
Nota: no es obligatorio incluir esta libreria para agregar a las demás.
### html
En esta categoría se encuentran aquellas librerías que ___afectan la estructura del documento HTML___.
#### simpleHTML
El objetivo de esta librería es la de ___simplificar la forma en la que se escriben estructuras HTML___.
Para incluirla, solo debes pegar lo siguiente en el head de tu página web:
´´<script src="https://milibreria.neocities.org/html/simpleHTML.js"></script>´´
Y al final del body deberás pegar el siguiente script:
<script>
window.onload=()=>{
simpleHTML();
}
</script>
##### Esta libreria agrega:
´´simpleHTML(eInp=null, eOut=null)´´:
´´eInp´´: este atributo recojerá el contenido de un elemento donde se supone que está escrito de forma abrebiada, lo procesará y convertirá en código HTML. Por defecto, si se deja vacio, se coloca ´´null´´ o ´´false´´, este parámetro hará referencia al body.
´´eOut´´: este atributo aplicará el código resultante dentro del elemento espesificado.
##### Ejemplos:
<head>
<script src="https://milibreria.neocities.org/html/simpleHTML.js"></script>
</head>
<body>
<script>
window.onload=()=>{
simpleHTML();
}
</script>
</body>
#### https
Este script fuerza al cliente a hacer uso del protocolo __https__.
##### Incluir libreria:
´´<script src="https://milibreria.neocities.org/html/https.js"></script>´´
##### Recomendacion:
Incluya este script al principio del head.
#### cargando
Esta libreria permite colocar y quitar puntos de carga para indicarle al usuario cuando se está cargando alguna parte en la página web.
##### Incluir libreria:
´´<script src="https://milibreria.neocities.org/html/cargando.js"></script>´´
##### Esta libreria agrega:
´´cargando(e, color = "rgba(0, 0, 0, 0.22)", t = 446, zoom = 1.2)´´:
´´e´´: ingresa en este atributo el elemento donde quieres mostrar la interfaz de carga.
´´color´´: este atributo ingresa el color CSS para los puntos de carga.
´´t´´: ingresa cada cuantos milisegundos debe variar la interfaz.
´´zoom´´: espesifica que nivel de zoom tendrá el punto focalizado.
Esta función returna un objeto (array) con el elemento donde fue aplicada la interfaz y la ID del intervalo de animación.
´´eliminarCargando(obj)´´:
´´obj´´: ingresa el objeto devuelto por la función ´´cargando(...)´´ para eliminar su interfaz de carga.
´´cargandoCSS()´´:
Ejecute una vez esta función para establecer un aspecto CSS recomendado.
#### css
El objetivo de esta librería es la de ___agregar o modificar código CSS a la página web___.
Para incluirla, solo debes pegar lo siguiente en el head de tu página web:
´´<script src="https://milibreria.neocities.org/html/css.js"></script>´´
##### Esta libreria agrega:
´´css(className, contenido, sobrescribir = true)´´:
´´className´´: espesifica la ´´class´´ que le corresponde al elemento style que debe ser creado o modificado en caso de existir.
´´contenido´´: en este atributo deberá ir el código CSS que irá dentro del elemento style.
´´sobrescribir´´: si es ´´true´´, el código dentro de un elemento style será sobrescrito por uno nuevo. Si es ´´false´´, el código dentro de un elemento style no será sobrescrito por lo que permanecerá y se le agregará el contenido nuevo a continuación.
### hardware
En esta categoría se encuentran aquellas librerías que ___tienen alguna relacion con el dispositivo desde el que se está cargando la página___.
#### tipoDispositivo
El objetivo de esta librería es la de ___detectar desde que dispositivos se está cargando la página___.
Para incluirla, solo debes pegar lo siguiente en el head de tu página web:
´´<script src="https://milibreria.neocities.org/hardware/dispositivo.js"></script>´´
##### Esta libreria agrega:
´´tipoDispositivo(especifico = false)´´:
´´especifico´´: este parametro se usa para detectar de forma general, específica o espesífica formal de que dispositivo se trata. ___Al ser 1___ (valor por defecto) entregará 2 posibles ___resultados generales___ ´´movil´´(telefono movil) o ´´pc´´. ___Al ser 2___ entregará 8 posibles ___resultados especificos___ ´´android´´, ´´webos´´, ´´iphone´´, ´´ipad´´, ´´ipod´´, ´´black berry´´, ´´windows phone´´ o ´´pc´´. ___Al ser 3___ entregará 8 posibles ___resultados especificos formales___ ´´Android´´, ´´webOS´´, ´´iPhone´´, ´´iPad´´, ´´iPod´´, ´´Black Berry´´, ´´Windows Phone´´ o ´´PC´´.
##### Ejemplos:
<head>
<script src="https://milibreria.neocities.org/hardware/dispositivo.js"></script>
<script>
if (tipoDispositivo() === 'movil') {
alert("Usted está usando un celular " + tipoDispositivo(3));
} else {
alert("Usted está ingresando desde una PC");
}
</script>
</head>
### inputs
En esta categoría se encuentran aquellas librerías que ___realizan acciones cuando el usuario modifica el velor de los inputs___.
### matematica
En esta categoría se encuentran aquellas librerías que ___permiten realizar ejercicios matemáticos___.
#### relacion
Esta libreria calcula la relación mínima posible entre dos números (Mínimo Común Múltiple). Un uso común sería el de emplearla para descubrir la relación de una imágen ingresando su resolución.
##### Incluir libreria:
´´<script src="https://milibreria.neocities.org/numeros/relacion.js"></script>´´
##### Esta libreria agrega:
´´relacion(a, b)´´:
´´a´´: primer número.
´´b´´: segundo número.
Esta función returna un array con el valor ´´a´´ y ´´b´´ reducidos al máximo pero sin perder la relación.
### string
En esta categoría se encuentran aquellas librerías que ___modifican, buscan y cambian cadenas de texto___.
### tiempo
En esta categoría se encuentran aquellas librerías que ___calculan fechas o permiten el pasaje de unidades de tiempo___.
#### diaCronologico
El objetivo de esta librería es la de ___entregar un valor cronologico de una lista___, dependiendo del día, entregará un valor u otro.
Para incluirla, solo debes pegar lo siguiente en el head de tu página web:
´´<script src="https://milibreria.neocities.org/tiempo/diaCronologico.js"></script>´´
##### Esta libreria agrega:
´´diaCronologico(lista, fecha)´´:
´´lista´´: introduce una lista (array) y la funcion devolverá el valor que le corresponde al dia en que se encuentre y usando de referencia la fecha establecida en el segundo atributo.
´´fecha´´: especifica una fecha de partida para la secuencia cronológica.
##### Ejemplos:
<head>
<script src="https://milibreria.neocities.org/tiempo/diaCronologico.js"></script>
<script>
var fondos = ["lunes.jpg", "martes.jpg", "miercoles.jpg", "jueves.jpg", "viernes.jpg", "sabado.jpg", "domingo.jpg"];
var diaLunes = new Date("2022/2/7");
document.body.style.bacground = "url('" + diaCronologico(fondos, diaLunes) + "')";
</script>
</head>
#### simpleCronometro
El objetivo de esta librería es la de ___agregar un simple cronómetro___, que permita contar el tiempo, pausar, reiniciar y establecer un límite máximo.
Para incluirla, solo debes pegar lo siguiente en el head de tu página web:
´´<script src="https://milibreria.neocities.org/tiempo/simpleCronometro.js"></script>´´
##### Esta libreria agrega:
´´diaCronologico(lista, fecha)´´:
´´lista´´: introduce una lista (array) y la funcion devolverá el valor que le corresponde al dia en que se encuentre y usando de referencia la fecha establecida en el segundo atributo.
´´fecha´´: especifica una fecha de partida para la secuencia cronológica.
##### Ejemplos:
<head>
<script src="https://milibreria.neocities.org/tiempo/diaCronologico.js"></script>
<script>
var fondos = ["lunes.jpg", "martes.jpg", "miercoles.jpg", "jueves.jpg", "viernes.jpg", "sabado.jpg", "domingo.jpg"];
var diaLunes = new Date("2022/2/7");
document.body.style.bacground = "url('" + diaCronologico(fondos, diaLunes) + "')";
</script>
</head>
### servidor
#### ajax
Esta libreria simplifica la conexión con el servidor mediante el uso de ajax.
##### Incluir libreria:
´´<script src="https://milibreria.neocities.org/servidor/ajax.js"></script>´´
##### Esta libreria agrega:
´´ajax(archivoPHP, variable=null, valor=null, funcion=false, asincro=true, metodo='POST')´´:
´´archivoPHP´´: aquí debes especificar la __ubicación del archivo PHP con el que te quieres comunicar__.
´´variable´´: especifica el __nombre de la variable a la que quieras acceder__.
´´valor´´: a partir de este parámetro, no es obligatorio especificar valores. __Si este parametro recibe un valor distinto a ´´null´´, entonces la comunicación será de cliente a servidor__. Deje vacío este parametro o establezcalo en ´´null´´ para que la comunicación sea de servidor a cliente, si es así, la función ´´ajax´´ devolverá un valor entregado por el servidor, como si devolviera el valor almacenado en una variable cuyo nombre se especifica en el parametro ´´variable´´.
´´funcion´´: en este parametro puede introducir una __función que será ejecutada en cuanto se finalice la comunicación con el servidor__. Si no quiere hacer uso de este parámetro, para saltearlo introduzca ´´false´´, ´´0´´(cero), ´´null´´ o ´´undefine´´ como valor.
´´asincro´´: por defecto este parametro está en ´´true´´. __Si la comunicación es asincrona, la latencia__ (tardanza resultante entre el envio y recepcion de información con un servidor) __no afectará a las ejecuciónes del documento__. __Si la comunicación no es asincrona__ (si es sincrona), __la ejecución del documento se pausará hasta que finalice la comunicación entre cliente y servidor__.
´´metodo´´: por defecto, el metodo de comunicación con el servidor será ´´'POST'´´. __Puede tomar el valor de ´´POST´´ o ´´GET´´__ (###https://developer.mozilla.org/es/docs/Web/HTTP/Methods:Mas informacion sobre los metodos de comunicación;).