Update
This commit is contained in:
commit
e3cf1eb82d
|
|
@ -0,0 +1,351 @@
|
|||
# HTML CSS JS
|
||||
|
||||
`html`
|
||||
`HyperText Markup Language`
|
||||
`css`
|
||||
`Cascading Style Sheets`
|
||||
`js`
|
||||
|
||||
## Basic reset
|
||||
|
||||
```css
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
```
|
||||
## !
|
||||
|
||||
```html
|
||||
|
||||
```
|
||||
|
||||
## div
|
||||
```html
|
||||
<header></header>
|
||||
<nav></nav>
|
||||
<aside></aside>
|
||||
<main></main>
|
||||
```
|
||||
|
||||
|
||||
<iframe alt="" src="" frameborder="0"></iframe>
|
||||
## Sources
|
||||
|
||||
### Link
|
||||
|
||||
```html
|
||||
<link rel="shortcut icon" href="favicon.ico" type="image/vnd.microsoft.icon">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="/main.css" />
|
||||
|
||||
<script src="/main.js"></script>
|
||||
|
||||
|
||||
```
|
||||
|
||||
### Video
|
||||
```html
|
||||
<video alt=>
|
||||
<source src="evento.mp4" type="video/mp4">
|
||||
<source src="evento.mp4" type="video/webm">
|
||||
</video>
|
||||
```
|
||||
|
||||
### Audio
|
||||
```html
|
||||
<audio src=""></audio>
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
```html
|
||||
<a href="" target="_blank" rel="noopener noreferrer"></a>
|
||||
|
||||
<a href="#" target="_blank" rel="noopener noreferrer"></a>
|
||||
|
||||
|
||||
|
||||
<img src="" alt="">
|
||||
<hr>
|
||||
<br>
|
||||
|
||||
<figure>
|
||||
<img src="" alt="">
|
||||
<figcaption></figcaption>
|
||||
</figure>
|
||||
|
||||
|
||||
<a href="" target="_blank" rel="noopener noreferrer"></a>
|
||||
<dl>
|
||||
<dt>HTML</dt>
|
||||
<dd>Lenguaje de marcado para crear páginas web</dd>
|
||||
|
||||
<dt>CSS</dt>
|
||||
<dd>Lenguaje para dar estilo a las páginas web</dd>
|
||||
</dl>
|
||||
|
||||
<h1>Título Principal</h1>
|
||||
<h2>Subtítulo</h2>
|
||||
<h3>Sección</h3>
|
||||
<h4>Subsección</h4>
|
||||
<h5>Apartado</h5>
|
||||
<h6>Subapartado</h6>
|
||||
|
||||
Formato de Texto
|
||||
<strong>Texto importante</strong>
|
||||
<em>Texto enfatizado</em>
|
||||
<mark>Texto resaltado</mark>
|
||||
<small>Texto pequeño</small>
|
||||
<del>Texto eliminado</del>
|
||||
<ins>Texto insertado</ins>
|
||||
<sub>subíndice</sub>
|
||||
<sup>superíndice</sup>
|
||||
|
||||
Enlaces y Navegación
|
||||
<!-- Enlace externo -->
|
||||
<a href="https://www.google.com">Ir a Google</a>
|
||||
|
||||
<!-- Enlace interno -->
|
||||
<a href="contacto.html">Contacto</a>
|
||||
|
||||
<!-- Enlace a sección de la misma página -->
|
||||
<a href="#seccion-importante">Ir a sección</a>
|
||||
|
||||
<!-- Enlace de correo -->
|
||||
<a href="mailto:correo@ejemplo.com">Enviar correo</a>
|
||||
|
||||
<!-- Enlace de teléfono -->
|
||||
<a href="tel:+5071234567">Llamar</a>
|
||||
|
||||
<i class="material-icons">cloud</i>
|
||||
|
||||
|
||||
|
||||
<a href="Your facebook link"><i class="fab fa-facebook"></i></a>
|
||||
|
||||
<a href="FB Link" class="fab fa-facebook"></a>
|
||||
|
||||
<span class="material-icons">home</span>
|
||||
|
||||
|
||||
https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/link
|
||||
|
||||
|
||||
<a href="https://example.com"><i class="fas fa-home"></i>Home</a>
|
||||
|
||||
|
||||
|
||||
<a href="https://example.com"><i class="fas fa-home"></i>Home</a>
|
||||
|
||||
|
||||
https://stackoverflow.com/questions/68838248/how-do-you-add-a-link-inside-an-svg-image-file
|
||||
|
||||
https://www.w3schools.com/graphics/svg_hyperlinks.asp
|
||||
```
|
||||
|
||||
(Noopener noreferrer)[https://stackoverflow.com/questions/79600136/when-adding-target-blank-to-a-html-link-is-it-still-necessary-to-add-rel-no]
|
||||
|
||||
|
||||
|
||||
|
||||
<form action="/submit_form" method="post">
|
||||
<label for="name">Name:</label><br>
|
||||
<input type="text" id="name" name="name"><br>
|
||||
<label for="email">Email:</label><br>
|
||||
<input type="email" id="email" name="email"><br><br>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<form action="">
|
||||
<fieldset>
|
||||
<legend>Ubicación</legend>
|
||||
<label for="facultades">Facultades</label>
|
||||
<input list="facultades" name="facultad">
|
||||
<datalist id="facultades">
|
||||
<option value="Ingeniería de Sistemas">
|
||||
<option value="Ingeniería Civil">
|
||||
<option value="Ingeniería Industrial">
|
||||
</datalist>
|
||||
<button type="submit">Buscar</button>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<input type="text" id="username" name="username" required>
|
||||
|
||||
|
||||
|
||||
<input type="text" id="username" name="username" required>
|
||||
|
||||
|
||||
|
||||
<a href="#" target="_blank" rel="noopener noreferrer"></a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Web
|
||||
|
||||
## Lang
|
||||
|
||||
- html
|
||||
- css
|
||||
- js
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Link:
|
||||
http://fngggljygpsc653xd22hyyvubyxeubymaomjqjwnd5tjo64mwo73fsad.onion
|
||||
http://fngggljygpsc653xd22hyyvubyxeubymaomjqjwnd5tjo64mwo73fsad.onion/public/
|
||||
|
||||
|
||||
---------------------------------------------
|
||||
|
||||
nginx
|
||||
https://nginx.org/en/
|
||||
|
||||
command:
|
||||
taskkill /IM nginx.exe /F
|
||||
|
||||
|
||||
Tor Browser
|
||||
https://www.torproject.org/
|
||||
https://www.torproject.org/download/
|
||||
|
||||
command:
|
||||
taskkill /IM tor.exe /F
|
||||
|
||||
---------------------------------------------
|
||||
|
||||
|
||||
Config:
|
||||
|
||||
Tor
|
||||
1:
|
||||
C:\root\src\zarga\TorBrowser\Browser\TorBrowser\Data\Tor\torrc
|
||||
|
||||
torrc.txt =
|
||||
HiddenServiceDir C:\root\src\zarga\TorBrowser\hidden_service
|
||||
HiddenServicePort 80 127.0.0.1:8080
|
||||
|
||||
|
||||
---------------------------------------------
|
||||
|
||||
nginx
|
||||
2:
|
||||
nginx/conf =
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Check url:
|
||||
|
||||
hidden_Service = Hotname = fngggljygpsc653xd22hyyvubyxeubymaomjqjwnd5tjo64mwo73fsad.onion
|
||||
|
||||
|
||||
|
||||
|
||||
Start:
|
||||
|
||||
win + r, sysdm.cpl
|
||||
|
||||
path =
|
||||
C:\root\src\zarga\nginx
|
||||
|
||||
Descartado [
|
||||
NGINX_CONF_PATH=C:\root\src\zarga\nginx\conf\nginx.conf
|
||||
Set Variable Name: NGINX_CONF_PATH
|
||||
Set Variable Value: C:\root\src\zarga\nginx\conf\nginx.conf
|
||||
|
||||
C:/root/src/zarga/nginx/conf/nginx.conf
|
||||
|
||||
C:\root\src\zarga\TorBrowser\Browser
|
||||
]
|
||||
|
||||
firefox.exe
|
||||
|
||||
cd C:\root\src\zarga\nginx
|
||||
nginx.exe
|
||||
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
path:
|
||||
C:\root\src\zarga\php-8.4.3-nts-Win32-vs17-x64
|
||||
|
||||
Build web server:
|
||||
|
||||
php:
|
||||
https://windows.php.net/download
|
||||
VS17 x64 Non Thread Safe (2025-Jan-15 11:07:36)
|
||||
|
||||
|
||||
php/php.ini-production
|
||||
|
||||
|
||||
cd C:\root\src\zarga\php-8.4.3-nts-Win32-vs17-x64
|
||||
|
||||
php-cgi.exe -b 127.0.0.1:9000
|
||||
|
||||
nginx -s reload
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Execute compile:
|
||||
|
||||
php-cgi.exe -b 127.0.0.1:9000
|
||||
|
||||
cd C:\root\src\zarga\nginx>
|
||||
nginx.exe
|
||||
|
||||
firefox.exe
|
||||
|
||||
|
||||
Stop run:
|
||||
|
||||
taskkill /IM nginx.exe /F
|
||||
taskkill /F /IM tor.exe
|
||||
|
||||
|
||||
|
||||
---------------------------------------------
|
||||
|
||||
https://www.apachefriends.org/es/index.html
|
||||
https://www.apachefriends.org/es/download_success.html
|
||||
https://www.apachefriends.org/es/download.html
|
||||
|
||||
|
||||
C:\xampp\htdocs\
|
||||
|
||||
taskkill /IM xampp-control.exe /F
|
||||
|
||||
DocumentRoot "C:/xampp/htdocs" to
|
||||
C:/root/src/php/htdocss
|
||||
|
||||
DocumentRoot "C:/root/src/php/htdocs"
|
||||
<Directory "C:/root/src/php/htdocs">
|
||||
|
||||
|
||||
Listen 80
|
||||
ServerName localhost:80
|
||||
|
||||
Listen 8080
|
||||
ServerName localhost:8080
|
||||
|
||||
|
||||
http://localhost:80/
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
# border
|
||||
|
||||
|
||||
```css
|
||||
border-radius
|
||||
```
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
# Flex
|
||||
|
||||
```css
|
||||
.div-flex {
|
||||
display: flex;
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## flex tag
|
||||
|
||||
`Flex equivalent`
|
||||
```css
|
||||
flex: 1;
|
||||
|
||||
flex: 1 1 0%;
|
||||
|
||||
flex-grow: 1;
|
||||
flex-shrink: 1;
|
||||
flex-basis: 0%;
|
||||
```
|
||||
|
||||
|
||||
## Order
|
||||
```css
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
```
|
||||
|
||||
### Example
|
||||
```css
|
||||
Center horizontal
|
||||
<--------x-------->
|
||||
justify-content: center;
|
||||
|
||||
|
||||
Center vertical
|
||||
^
|
||||
|
|
||||
|
|
||||
x
|
||||
|
|
||||
|
|
||||
v
|
||||
align-items: center;
|
||||
```
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
# Template
|
||||
```css
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
```
|
||||
|
||||
```css
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* Movil */
|
||||
|
||||
|
||||
/* Tablet */
|
||||
@media (min-width: 600px) {
|
||||
|
||||
}
|
||||
|
||||
/* Desktop 1 */
|
||||
@media (min-width: 900px) {
|
||||
|
||||
}
|
||||
|
||||
/* Desktop 2 */
|
||||
@media (min-width: 1200px) {
|
||||
|
||||
}
|
||||
```
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
# Zoom
|
||||
|
||||
```css
|
||||
/* <percentage> values */
|
||||
zoom: 50%;
|
||||
zoom: 200%;
|
||||
|
||||
/* <number> values */
|
||||
zoom: 1.1;
|
||||
zoom: 0.7;
|
||||
|
||||
/* Non-standard keyword values */
|
||||
zoom: normal;
|
||||
zoom: reset;
|
||||
|
||||
/* Global values */
|
||||
zoom: inherit;
|
||||
zoom: initial;
|
||||
zoom: revert;
|
||||
zoom: revert-layer;
|
||||
zoom: unset;
|
||||
```
|
||||
|
|
@ -0,0 +1 @@
|
|||
br
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
<header></header>
|
||||
<nav></nav>
|
||||
<aside></aside>
|
||||
<main></main>
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
|
||||
## Upload files
|
||||
|
||||
`multiple files`
|
||||
|
||||
```html
|
||||
<form action="upload.php" method="post" enctype="multipart/form-data">
|
||||
<input type="file" name="files[]" multiple>
|
||||
<button type="submit">Upload</button>
|
||||
</form>
|
||||
```
|
||||
|
||||
|
||||
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
<input type="file" name="file">
|
||||
<button type="submit">Upload & Get Hash</button>
|
||||
</form>
|
||||
|
||||
```html
|
||||
<form>
|
||||
</form>
|
||||
|
||||
<input type="date" required>
|
||||
<input type="date">
|
||||
<input type="time">
|
||||
<input type="email">
|
||||
<input type="tel">
|
||||
<input type="color">
|
||||
<input type="range">
|
||||
<input type="number">
|
||||
<input type="submit" value="Submit">
|
||||
|
||||
|
||||
<input type="email">
|
||||
<input type="tel">
|
||||
<input type="range">
|
||||
|
||||
<input type="submit" value="Submit">
|
||||
|
||||
<form>
|
||||
<input type="date" required>
|
||||
<input type="date">
|
||||
<input type="time">
|
||||
<input type="email">
|
||||
<input type="tel">
|
||||
<input type="color">
|
||||
<input type="range">
|
||||
<input type="number">
|
||||
<input list="facultades" name="facultad">
|
||||
<datalist id="facultades">
|
||||
<option value="Ingeniería de Sistemas">
|
||||
<option value="Ingeniería Civil">
|
||||
<option value="Ingeniería Industrial">
|
||||
</datalist>
|
||||
</form>
|
||||
|
||||
```
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
# CSS import
|
||||
|
||||
```html
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
```
|
||||
|
||||
|
||||
## Example
|
||||
```html
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<div class="main"></div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,321 @@
|
|||
# Caddy
|
||||
|
||||
## Remove
|
||||
|
||||
### Apache
|
||||
|
||||
```sh
|
||||
sudo lsof -i :80
|
||||
sudo systemctl stop apache2
|
||||
sudo systemctl disable apache2
|
||||
sudo apt remove --purge apache2 apache2-utils apache2-bin apache2.2-common -y
|
||||
sudo apt autoremove -y
|
||||
sudo rm -rf /etc/apache2
|
||||
```
|
||||
|
||||
## Install
|
||||
|
||||
```sh
|
||||
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
|
||||
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
|
||||
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \
|
||||
sudo tee /etc/apt/sources.list.d/caddy-stable.list
|
||||
sudo apt update
|
||||
sudo apt install caddy -y
|
||||
|
||||
sudo chown -R caddy:caddy /var/lib/caddy
|
||||
sudo chmod -R 700 /var/lib/caddy
|
||||
|
||||
sudo chown root:caddy /etc/caddy/Caddyfile
|
||||
sudo chmod 640 /etc/caddy/Caddyfile
|
||||
|
||||
ufw allow 80
|
||||
ufw allow 443
|
||||
```
|
||||
|
||||
|
||||
## Commands
|
||||
|
||||
```sh
|
||||
sudo systemctl start caddy
|
||||
sudo systemctl enable caddy
|
||||
sudo systemctl stop caddy
|
||||
|
||||
sudo systemctl daemon-reload
|
||||
|
||||
sudo systemctl status caddy
|
||||
sudo systemctl reload caddy
|
||||
sudo systemctl restart caddy
|
||||
|
||||
|
||||
sudo systemctl status caddy
|
||||
journalctl -u caddy -f
|
||||
|
||||
|
||||
sudo caddy validate --config /etc/caddy/Caddyfile
|
||||
sudo caddy fmt --overwrite /etc/caddy/Caddyfile
|
||||
sudo nano /etc/caddy/Caddyfile
|
||||
sudo systemctl stop caddy
|
||||
sudo caddy run --config /etc/caddy/Caddyfile --adapter caddyfile
|
||||
|
||||
|
||||
Server
|
||||
sudo nano /etc/caddy/Caddyfile
|
||||
|
||||
http://your.server.ip:8080 {
|
||||
root * /var/www/my-site
|
||||
file_server
|
||||
}
|
||||
|
||||
|
||||
|
||||
sudo chown -R caddy:caddy /var/www/xmpp.chat.local
|
||||
sudo chmod -R 755 /var/www/xmpp.chat.local
|
||||
|
||||
|
||||
sudo chown -R caddy:caddy /var/www/www.ts
|
||||
sudo chmod -R 755 /var/www/www.ts
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
echo Markdown::code("
|
||||
tls internal
|
||||
|
||||
tls /etc/caddy/certs/xmpp.chat.local.crt /etc/caddy/certs/xmpp.chat.local.key
|
||||
|
||||
|
||||
cd /var/lib/caddy
|
||||
|
||||
ls ~/.local/share/caddy/pki/authorities/local
|
||||
|
||||
sudo chown -R caddy:caddy /var/lib/caddy
|
||||
sudo chmod 700 /var/lib/caddy
|
||||
/var/lib/caddy
|
||||
|
||||
~/.local/share/caddy
|
||||
|
||||
|
||||
sudo chown caddy:caddy /etc/ssl/certs/yourcert.pem /etc/ssl/private/yourkey.pem
|
||||
sudo chmod 600 /etc/ssl/private/yourkey.pem
|
||||
sudo chmod 644 /etc/ssl/certs/yourcert.pem
|
||||
|
||||
|
||||
sudo chown -R navide:navide /home/navide/share/
|
||||
cp ~/.local/share/caddy/pki/authorities/local/root.crt /home/navide/share/root.crt
|
||||
");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
sudo caddy adapt --config /etc/caddy/Caddyfile --pretty
|
||||
|
||||
sudo cat ~/.ssh/id_ed25519.pub
|
||||
|
||||
|
||||
|
||||
|
||||
```shell
|
||||
nano /etc/caddy/Caddyfile
|
||||
|
||||
php_fastcgi unix//run/php/php8.2-fpm.sock
|
||||
|
||||
|
||||
|
||||
composer dump-autoload
|
||||
|
||||
composer --version
|
||||
-->
|
||||
|
||||
cp -r /home/nabide/code/www.ruchimi.panama_paradise /var/www/www.ruchimi.panama_paradise/
|
||||
rm -r /var/www/www.ruchimi.panama_paradise/
|
||||
|
||||
|
||||
|
||||
|
||||
caddy fmt --overwrite /home/nabide/code
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cp /home/nabide/code/Caddyfile /etc/caddy/
|
||||
sudo systemctl restart caddy
|
||||
|
||||
cd /var/www/
|
||||
|
||||
sudo nano /etc/hosts
|
||||
|
||||
cp -r /home/nabide/code/www.ruchimi.panama_paradise /var/www/www.ruchimi.panama_paradise/
|
||||
rm -r /var/www/www.ruchimi.panama_paradise/
|
||||
|
||||
|
||||
|
||||
sudo systemctl restart caddy
|
||||
|
||||
caddy fmt --overwrite /home/nabide/code
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cd /var/www/
|
||||
|
||||
sudo nano /etc/hosts
|
||||
|
||||
cp -r /home/nabide/code/www.ruchimi.panama_paradise /var/www/www.ruchimi.panama_paradise/
|
||||
rm -r /var/www/www.ruchimi.panama_paradise/
|
||||
|
||||
|
||||
|
||||
sudo systemctl restart caddy
|
||||
|
||||
caddy fmt --overwrite /home/nabide/code
|
||||
|
||||
|
||||
sudo chown -R nabide:nabide /home/nabide/code
|
||||
cp /home/nabide/code/Caddyfile /etc/caddy/
|
||||
|
||||
|
||||
|
||||
cp /etc/caddy/Caddyfile /home/nabide/code
|
||||
|
||||
cp /home/nabide/code/Caddyfile /etc/caddy/
|
||||
sudo systemctl restart caddy
|
||||
|
||||
cd /var/www/
|
||||
|
||||
sudo nano /etc/hosts
|
||||
cp -r /home/nabide/code/www.ruchimi.panama_paradise /var/www/www.ruchimi.panama_paradise/
|
||||
rm -r /var/www/www.ruchimi.panama_paradise/
|
||||
|
||||
|
||||
|
||||
sudo systemctl restart caddy
|
||||
|
||||
caddy fmt --overwrite /home/nabide/code
|
||||
|
||||
|
||||
sudo chown -R nabide:nabide /home/nabide/code
|
||||
cp /home/nabide/code/Caddyfile /etc/caddy/
|
||||
|
||||
|
||||
|
||||
cp /etc/caddy/Caddyfile /home/nabide/code
|
||||
|
||||
cp /home/nabide/code/Caddyfile /etc/caddy/
|
||||
sudo systemctl restart caddy
|
||||
|
||||
cd /var/www/
|
||||
|
||||
sudo nano /etc/hosts
|
||||
|
||||
|
||||
|
||||
|
||||
cp -r /home/nabide/code/www.ruchimi.panama_paradise /var/www/www.ruchimi.panama_paradise/
|
||||
rm -r /var/www/www.ruchimi.panama_paradise/
|
||||
|
||||
|
||||
|
||||
cp /etc/hosts /home/nabide/code/hosts
|
||||
cp /home/nabide/code/hosts /etc/hosts
|
||||
|
||||
|
||||
|
||||
sudo systemctl restart caddy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Caddy
|
||||
|
||||
```shell
|
||||
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
|
||||
|
||||
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
|
||||
|
||||
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \
|
||||
sudo tee /etc/apt/sources.list.d/caddy-stable.list
|
||||
|
||||
sudo apt update
|
||||
sudo apt install caddy -y
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
```shell
|
||||
mkdir -p /var/www/my-site
|
||||
echo "Hello from Caddy!" > /var/www/my-site/index.html
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Import the GPG key
|
||||
sudo apt install -y debian-keyring debian-archive-keyring curl
|
||||
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-archive-keyring.gpg
|
||||
|
||||
# Add the Caddy repo
|
||||
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \
|
||||
sed 's/^deb /deb [signed-by=\/usr\/share\/keyrings\/caddy-archive-keyring.gpg] /' | \
|
||||
sudo tee /etc/apt/sources.list.d/caddy-stable.list
|
||||
|
||||
|
||||
|
||||
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
|
||||
|
||||
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
|
||||
|
||||
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \
|
||||
sudo tee /etc/apt/sources.list.d/caddy-stable.list
|
||||
|
||||
sudo apt update
|
||||
sudo apt install caddy -y
|
||||
```
|
||||
|
||||
xmpp.chat.local {
|
||||
# encode gzip zstd
|
||||
tls internal
|
||||
root * /var/www/www.ts/src/public/xmpp
|
||||
file_server
|
||||
|
||||
reverse_proxy 127.0.0.1:5280
|
||||
|
||||
# WebSocket for Converse.js
|
||||
reverse_proxy /ws 127.0.0.1:5280 {
|
||||
transport http {
|
||||
versions 1.1
|
||||
}
|
||||
header_up -Origin
|
||||
}
|
||||
|
||||
reverse_proxy /bosh 127.0.0.1:5280
|
||||
reverse_proxy /upload 127.0.0.1:5280
|
||||
}
|
||||
|
||||
|
||||
|
||||
sudo systemctl restart caddy
|
||||
sudo systemctl reload caddy
|
||||
|
||||
|
||||
sudo nvim /etc/hosts
|
||||
sudo nvim /etc/caddy/Caddyfile
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
# Panama paradise
|
||||
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
<?php
|
||||
$site = "Panamá Paradise"
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title><?php echo $page . " - " . $site?></title>
|
||||
|
||||
<link rel="shortcut icon" href="/assets/img/Imagen2.webp">
|
||||
<link rel="preload" as="image" href="/assets/img/waterfall.webp">
|
||||
|
||||
<link rel="stylesheet" href="assets/css/base.css">
|
||||
<link rel="stylesheet" href="assets/css/header.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
|
||||
<div class="bg-wrap">
|
||||
<img src="/assets/img/waterfall.webp" alt="" class="bg-img">
|
||||
<div class="bg-cristal"> </div>
|
||||
</div>
|
||||
|
||||
<input type="checkbox" id="menu-toggle" hidden>
|
||||
|
||||
<header>
|
||||
<div class="logo"><a href="/"><img src="assets/img/panama-logo.png" alt="logo"></a></div>
|
||||
|
||||
|
||||
<nav>
|
||||
<ul>
|
||||
<li><a href="#">Sobre nosotros</a></li>
|
||||
<li><a href="planifica">Planifica</a></li>
|
||||
<li><a href="promociones">Promociones</a></li>
|
||||
<li><a href="#">Contactanos</a></li>
|
||||
<li><a href="#">Configuraciòn</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<label for="menu-toggle" class="menu-acordeon">☰</label>
|
||||
</header>
|
||||
|
||||
<aside>
|
||||
<ul>
|
||||
<li><a href="#">Sobre nosotros</a></li>
|
||||
<li><a href="planifica">Planifica</a></li>
|
||||
<li><a href="promociones">Promociones</a></li>
|
||||
<li><a href="#">Contactanos</a></li>
|
||||
<li><a href="#">Configuraciòn</a></li>
|
||||
</ul>
|
||||
</aside>
|
||||
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html, body {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
font-family: "Times New Roman", Times, serif;
|
||||
font-size: 12px;
|
||||
position: relative;
|
||||
overflow-x: hidden;
|
||||
color: whitesmoke;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.background-wrap {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
overflow: hidden;
|
||||
z-index: -1;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.background {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
filter: blur(2px);
|
||||
|
||||
|
||||
|
||||
background-image: url('../img/waterfall.webp');
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-color: #222;
|
||||
|
||||
|
||||
transform: scale(1.1);
|
||||
will-change: transform;
|
||||
|
||||
opacity: 0;
|
||||
animation: fadeIn 1.2s ease-in-out forwards;
|
||||
}
|
||||
|
||||
@keyframes fadeIn {
|
||||
to { opacity: 1; }
|
||||
}
|
||||
|
||||
|
||||
.background::after {
|
||||
background-color: rgba(0, 0, 0, 0.4);
|
||||
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
content: "";
|
||||
position: fixed;
|
||||
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.bg-cristal {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background-color: rgba(0, 0, 0, 0.4);
|
||||
backdrop-filter: blur(3px);
|
||||
-webkit-backdrop-filter: blur(3px);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.bg-wrap {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
z-index: -1;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
|
||||
.bg-img {
|
||||
position: absolute;
|
||||
top: -5%;
|
||||
left: -5%;
|
||||
width: 110%;
|
||||
height: 110%;
|
||||
object-fit: cover;
|
||||
|
||||
filter: blur(8px);
|
||||
transform: scale(1.05);
|
||||
|
||||
opacity: 0;
|
||||
animation: fadeIn 1.2s ease-in-out forwards;
|
||||
}
|
||||
|
|
@ -0,0 +1,148 @@
|
|||
header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
color: whitesmoke;
|
||||
position: relative;
|
||||
|
||||
background-color: #051F40;
|
||||
font-weight: bolder;
|
||||
padding: 0.8rem;
|
||||
padding-top: 0rem;
|
||||
padding-bottom: 0rem;
|
||||
z-index: 1002;
|
||||
}
|
||||
|
||||
header .logo img {
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
|
||||
header nav {
|
||||
display: none;
|
||||
}
|
||||
|
||||
header nav ul {
|
||||
display: flex;
|
||||
list-style: none;
|
||||
gap: 20px;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
|
||||
header nav ul a {
|
||||
color: whitesmoke;
|
||||
white-space: nowrap;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
font-size: 1.2em;
|
||||
padding: 18px 10px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
header .menu-acordeon {
|
||||
font-size: 3rem;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
aside {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: #051F40;
|
||||
color: whitesmoke;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
transform: translateX(-100%);
|
||||
transition: transform 0.3s ease;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
|
||||
aside ul {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
list-style: none;
|
||||
text-align: center;
|
||||
gap: 0.5rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
aside ul li {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
aside ul li a {
|
||||
padding: 0.4rem 1rem;
|
||||
text-decoration: none;
|
||||
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
|
||||
font-size: 1.7rem;
|
||||
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
aside ul li a:hover {
|
||||
background-color: #036;
|
||||
}
|
||||
|
||||
|
||||
.cristal {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
transition: opacity 0.3s ease;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
|
||||
#menu-toggle:checked ~ aside {
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
#menu-toggle:checked ~ .overlay {
|
||||
opacity: 1;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media (min-width: 768px) {
|
||||
header nav {
|
||||
display: block;
|
||||
}
|
||||
|
||||
header nav ul a:hover {
|
||||
background-color: #069;
|
||||
}
|
||||
|
||||
header .menu-acordeon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
header nav ul a {
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media (min-width: 1024px) {
|
||||
header nav ul a {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,305 @@
|
|||
main {
|
||||
display: flex;
|
||||
padding: 10px;
|
||||
height: 85%;
|
||||
gap: 25px;
|
||||
}
|
||||
|
||||
main .suscripcion {
|
||||
padding: 5px;
|
||||
padding-bottom: 0;
|
||||
|
||||
text-align: center;
|
||||
|
||||
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
|
||||
flex-grow: 1;
|
||||
flex-shrink: 1;
|
||||
flex-basis: 0;
|
||||
|
||||
gap: 15px;
|
||||
|
||||
color: whitesmoke;
|
||||
background: rgba(78, 78, 78, 0.514);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
main .suscripcion h2 {
|
||||
font-size: 2.2em;
|
||||
}
|
||||
|
||||
|
||||
main .suscripcion p {
|
||||
font-size: 1.4em;
|
||||
}
|
||||
|
||||
main .suscripcion-form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
|
||||
main .suscripcion-form input[type="email"] {
|
||||
padding: 14px 18px;
|
||||
font-size: 1.2em;
|
||||
|
||||
border-radius: 4px;
|
||||
outline: none;
|
||||
transition: border-color 0.3s, box-shadow 0.3s;
|
||||
}
|
||||
|
||||
main .suscripcion-form input[type="email"]:focus {
|
||||
border-color: #006BFF;
|
||||
box-shadow: 0 0 4px rgba(0, 123, 255, 0.5);
|
||||
}
|
||||
|
||||
|
||||
main .suscripcion-form button {
|
||||
border: none;
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
padding: 12px 16px;
|
||||
font-size: 1.4em;
|
||||
font-weight: bolder;
|
||||
background-color: #036;
|
||||
color: whitesmoke;
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
main .suscripcion-form button:hover {
|
||||
background-color: #0056b3;
|
||||
transform: scale(1.01);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
main .buscador {
|
||||
padding: 10px;
|
||||
|
||||
text-align: center;
|
||||
|
||||
display: flex;
|
||||
flex: 1;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
gap: 40%;
|
||||
|
||||
color: whitesmoke;
|
||||
/* background: rgba(78, 78, 78, 0.514); */
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
|
||||
main .buscador .buscador-buscar .buscador-titulo {
|
||||
margin-bottom: 0.5rem;
|
||||
white-space: nowrap;
|
||||
font-weight: bolder;
|
||||
font-size: 3.0em;
|
||||
}
|
||||
|
||||
main .buscador .buscador-buscar input[type="text"] {
|
||||
width: 70%;
|
||||
font-style: italic;
|
||||
|
||||
padding: 14px 18px;
|
||||
font-size: 1.2em;
|
||||
|
||||
border-radius: 4px;
|
||||
outline: none;
|
||||
transition: border-color 0.3s, box-shadow 0.3s;
|
||||
|
||||
border: none;
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
main .buscador .buscador-buscar button {
|
||||
border: none;
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
background-color: #036;
|
||||
color: whitesmoke;
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
|
||||
font-size: 1.4em;
|
||||
font-weight: bolder;
|
||||
|
||||
padding: 12px 16px;
|
||||
}
|
||||
|
||||
main .buscador .buscador-buscar button:hover {
|
||||
background-color: #069;
|
||||
transform: scale(1.01);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
footer {
|
||||
justify-content: center;
|
||||
display: flex;
|
||||
bottom: 2rem;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
footer .contacta-un-asesor {
|
||||
white-space: nowrap;
|
||||
background-color: #036;
|
||||
padding: 1rem 2rem;
|
||||
font-size: 1.5em;
|
||||
|
||||
border: none;
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
cursor: pointer;
|
||||
|
||||
flex-grow: 0;
|
||||
flex-shrink: 1;
|
||||
flex-basis: auto;
|
||||
|
||||
|
||||
color: whitesmoke;
|
||||
}
|
||||
|
||||
footer .contacta-un-asesor:hover {
|
||||
background-color: #096;
|
||||
}
|
||||
|
||||
|
||||
footer .contacta-un-asesor:hover .lucide-phone-icon {
|
||||
transform: translateY(4px);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.lucide-phone-icon {
|
||||
opacity: 0.6;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
color: whitesmoke;
|
||||
transition: opacity 0.3s ease;
|
||||
transform: translateY(2px);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media (orientation: landscape) {
|
||||
main {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
footer {
|
||||
position: fixed;
|
||||
bottom: 1rem;
|
||||
right: 1rem;
|
||||
z-index: 1000;
|
||||
}
|
||||
}
|
||||
|
||||
@media (orientation: portrait) {
|
||||
main {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
footer {
|
||||
position: fixed;
|
||||
bottom: 1rem;
|
||||
right: 1rem;
|
||||
z-index: 1000;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media (min-width: 768px) and (max-width: 1023px) and (orientation: portrait) {
|
||||
|
||||
main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
main .suscripcion {
|
||||
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
|
||||
flex-grow: 1;
|
||||
flex-shrink: 1;
|
||||
flex-basis: auto;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
main .suscripcion-form {
|
||||
gap: 22px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 820px) {
|
||||
main {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
main .suscripcion {
|
||||
flex-grow: 1;
|
||||
flex-shrink: 1;
|
||||
flex-basis: 0;
|
||||
gap: 22px;
|
||||
}
|
||||
|
||||
main .buscador {
|
||||
flex-basis: auto;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,216 @@
|
|||
main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
background: rgba(78, 78, 78, 0.514);
|
||||
|
||||
padding-top: 20px;
|
||||
padding: 30px;
|
||||
gap: 30px;
|
||||
}
|
||||
|
||||
textarea {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
min-height: 150px;
|
||||
|
||||
overflow-x: hidden;
|
||||
resize: vertical;
|
||||
|
||||
|
||||
border: 2px solid;
|
||||
transition: border-color 0.3s ease;
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
|
||||
background-color: whitesmoke;
|
||||
|
||||
padding: 10px 14px;
|
||||
font-size: 1.5em;
|
||||
|
||||
border-radius: 2px;
|
||||
|
||||
|
||||
}
|
||||
|
||||
textarea::placeholder {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
textarea:hover {
|
||||
border-color: #069;
|
||||
}
|
||||
|
||||
textarea:focus {
|
||||
border-color: #069;
|
||||
}
|
||||
|
||||
|
||||
h1 {
|
||||
font-weight: bold;
|
||||
font-size: 1.3em;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-weight: bold;
|
||||
font-size: 1.6em;
|
||||
padding-bottom: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.lista-de-deseos {
|
||||
display: flex;
|
||||
|
||||
flex-direction: column;
|
||||
|
||||
gap: 10px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.selector-multiple {
|
||||
max-width: 100%;
|
||||
position: relative;
|
||||
padding-top: 20px;
|
||||
|
||||
border-radius: 6px;
|
||||
|
||||
background-color: rgba(78, 78, 78, 0.514);
|
||||
}
|
||||
|
||||
|
||||
|
||||
.selector-multiple-label {
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
padding-bottom: 10px;
|
||||
width: 100%;
|
||||
font-size: 1.6em;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.multi-select-option {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
font-size: 20px;
|
||||
cursor: pointer;
|
||||
|
||||
white-space: nowrap;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.multi-select-option li {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.multi-select-option li label {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
padding: 12px 15px;
|
||||
cursor: pointer;
|
||||
font-size: 1em;
|
||||
gap: 20px;
|
||||
|
||||
width: 100%;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.multi-select-option li label:hover {
|
||||
background-color: #069;
|
||||
}
|
||||
|
||||
|
||||
.multi-select-option input[type="checkbox"] {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
accent-color: #007bff;
|
||||
}
|
||||
|
||||
.multi-select-option .checkbox {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.multi-select-option .txt {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
transform: translateX(-5%);
|
||||
}
|
||||
|
||||
|
||||
|
||||
main .mostrar-sugerencias button {
|
||||
width: 100%;
|
||||
|
||||
border: none;
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
padding: 12px 16px;
|
||||
font-size: 1.4em;
|
||||
font-weight: bolder;
|
||||
background-color: #036;
|
||||
color: whitesmoke;
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
|
||||
}
|
||||
|
||||
main .mostrar-sugerencias button:hover {
|
||||
background-color: #069;
|
||||
transform: scale(1.01);
|
||||
}
|
||||
|
||||
|
||||
.multi-select-option li label {
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
h2 {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.lista-de-deseos {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.multi-select-option li label {
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) and (orientation: portrait) {
|
||||
.lista-de-deseos {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.multi-select-option li label {
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,381 @@
|
|||
main {
|
||||
|
||||
display: flex;
|
||||
/* height: 90vh; */
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
}
|
||||
|
||||
main .section-promo {
|
||||
|
||||
flex: 1;
|
||||
padding: 10px;
|
||||
|
||||
background: rgba(78, 78, 78, 0.514);
|
||||
background: rgba(70, 70, 85, 0.6);
|
||||
|
||||
}
|
||||
|
||||
|
||||
main .section-promo .promo {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
|
||||
border-radius: 10px;
|
||||
padding: 15px;
|
||||
margin-bottom: 10px;
|
||||
|
||||
|
||||
background-color: rgba(100, 138, 160, 0.95);
|
||||
background-color: #051c3a52;
|
||||
|
||||
}
|
||||
|
||||
a {
|
||||
color: whitesmoke;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: whitesmoke;
|
||||
font-size: 2em;
|
||||
display: inline;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.filtro {
|
||||
flex: 0;
|
||||
display: flex;
|
||||
color: whitesmoke;
|
||||
background: rgba(70, 70, 85, 0.6);
|
||||
background-color: #051c3a52;
|
||||
}
|
||||
|
||||
.form-filtro {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.buscar-btn {
|
||||
width: 100%;
|
||||
border: none;
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
padding: 12px 16px;
|
||||
font-size: 1.4em;
|
||||
font-weight: bolder;
|
||||
background-color: #036;
|
||||
color: whitesmoke;
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.buscar-btn button:hover {
|
||||
background-color: #069;
|
||||
transform: scale(1.01);
|
||||
}
|
||||
|
||||
|
||||
|
||||
input::placeholder {
|
||||
font-style: italic;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-size: 1.7em;
|
||||
}
|
||||
|
||||
.fecha-title {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
|
||||
.div-fecha {
|
||||
padding-top: 4px;
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
|
||||
.labell {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
main .section-promo .promo .promo-contenido {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.puntuacion {
|
||||
color: gold;
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
.promo-img {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
object-fit: cover;
|
||||
|
||||
border-radius: 1px;
|
||||
transform: translateY(10px);
|
||||
}
|
||||
|
||||
|
||||
.promo-contenido-txt {
|
||||
font-size: 1.5em;
|
||||
|
||||
}
|
||||
|
||||
.promo-content-a {
|
||||
display: flex
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* --------------------------------------------------- */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
a {
|
||||
color: whitesmoke;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: whitesmoke;
|
||||
font-size: 2.2em;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
|
||||
.puntuacion {
|
||||
color: gold;
|
||||
font-size: 2.2em;
|
||||
}
|
||||
|
||||
.promo-img {
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
object-fit: cover;
|
||||
padding: 10px;
|
||||
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
|
||||
.promo-contenido-txt {
|
||||
font-size: 1.5em;
|
||||
|
||||
}
|
||||
|
||||
.promo-content-a {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: 100%;
|
||||
font-size: 0.5em;
|
||||
}
|
||||
|
||||
|
||||
.promo-contenido-mostrar {
|
||||
font-size: 1.3em;
|
||||
font-style: italic;
|
||||
text-align: end;
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
text-align: justify;
|
||||
font-size: 0.1em;
|
||||
max-height: 85px;
|
||||
overflow: hidden;
|
||||
|
||||
}
|
||||
|
||||
.promo-contenido-titulo {
|
||||
font-size: 0.6em;
|
||||
}
|
||||
|
||||
|
||||
.filtro {
|
||||
/* display: none; */
|
||||
color: whitesmoke;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
input[type="text"],
|
||||
input[type="number"],
|
||||
input[type="date"] {
|
||||
width: 100%;
|
||||
padding: 10px 14px;
|
||||
font-size: 1em;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 8px;
|
||||
background: whitesmoke;
|
||||
transition: border-color 0.3s, box-shadow 0.3s;
|
||||
}
|
||||
|
||||
input[type="date"] {
|
||||
padding: 10px 14px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
background-color: whitesmoke;
|
||||
font-size: 12px;
|
||||
box-shadow: 0.2px 4px rgba(78, 78, 78, 0.5);
|
||||
transition: border-color 0.3s, box-shadow 0.3s;
|
||||
width: 100%;
|
||||
max-width: 100px;
|
||||
}
|
||||
|
||||
input[type="date"]focus {
|
||||
border-color: #069;
|
||||
outline: none;
|
||||
background-color: rgba(78, 78, 78, 0.8);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.selector-multiple {
|
||||
max-width: 100%;
|
||||
position: relative;
|
||||
padding-top: 20px;
|
||||
|
||||
border-radius: 6px;
|
||||
|
||||
background-color: rgba(78, 78, 78, 0.514);
|
||||
}
|
||||
|
||||
|
||||
|
||||
.selector-multiple-label {
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
padding-bottom: 10px;
|
||||
width: 100%;
|
||||
font-size: 1.3em;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.multi-select-option {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
|
||||
font-size: 20px;
|
||||
cursor: pointer;
|
||||
|
||||
white-space: nowrap;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.multi-select-option li {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.multi-select-option li label {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
padding: 12px 15px;
|
||||
cursor: pointer;
|
||||
font-size: 1em;
|
||||
gap: 20px;
|
||||
|
||||
width: 100%;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.multi-select-option li label:hover {
|
||||
background-color: #069;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.filtro-titulo {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
|
||||
.multi-select-option input[type="checkbox"] {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
accent-color: #007bff;
|
||||
}
|
||||
|
||||
.multi-select-option .checkbox {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.multi-select-option .txt {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
transform: translateX(-5%);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media (min-width: 768px) {
|
||||
main {
|
||||
/* overflow: hidden; */
|
||||
flex-direction: row;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
|
||||
.promo-contenido-txt {
|
||||
font-size: 3em;
|
||||
}
|
||||
|
||||
.promo-contenido-mostrar {
|
||||
font-size: 1.7em;
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: whitesmoke;
|
||||
font-size: 2.7em;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
|
||||
.filtro {
|
||||
/* overflow-y: auto; */
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.puntuacion {
|
||||
color: gold;
|
||||
font-size: 2.6em;
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 6.2 KiB |
|
|
@ -0,0 +1 @@
|
|||
404
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
<?php
|
||||
$page = "Inicio";
|
||||
include_once "../private/template/header.php";
|
||||
|
||||
?>
|
||||
|
||||
<link rel="stylesheet" href="assets/css/page-home.css">
|
||||
|
||||
<label for="menu-toggle" class="cristal"></label>
|
||||
|
||||
<main>
|
||||
<section class="suscripcion">
|
||||
<div>
|
||||
<h2>"Panamá es tu casa"</h2>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p>Suscríbete y recibe las últimas notificaciones directamente en tu correo: eventos especiales, temporadas de viaje, promociones exclusivas y mucho más. ¡Viaja con comodidad y descubre todo lo que Panamá tiene para ti!.</p>
|
||||
</div>
|
||||
|
||||
<form class="suscripcion-form" action="" method="post" enctype="multipart/form-data" name="suscribirse">
|
||||
<input type="email" name="" id="" placeholder="Ejemplo@suscribete.com" required>
|
||||
<button type="submit">suscribirse</button>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="buscador">
|
||||
<div class="buscador-buscar">
|
||||
<div class="buscador-titulo">Todos los destinos</div>
|
||||
|
||||
<form action="" method="post" name="todos_los_destinos">
|
||||
<input type="text" name="" id="">
|
||||
<button type="submit">Buscar</button>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<button class="contacta-un-asesor">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-phone-icon lucide-phone"><path d="M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384"/></svg>
|
||||
<span>Contacta un asesor</span>
|
||||
</button>
|
||||
</footer>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
<?php
|
||||
$page = "Planifica";
|
||||
include_once "../private/template/header.php";
|
||||
?>
|
||||
|
||||
<link rel="stylesheet" href="assets/css/page-planifica.css">
|
||||
|
||||
|
||||
<main>
|
||||
<h1>Planea las vacaciones de tus sueños</h1>
|
||||
|
||||
<form>
|
||||
<div>
|
||||
<h2>¿Que estas buscando?</h2>
|
||||
</div>
|
||||
<div>
|
||||
<textarea name="" id="" placeholder="Describe lo que buscas en tus próximas vacaciones..."></textarea>
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<h2>Lista de deseos</h2>
|
||||
</div>
|
||||
|
||||
<div class="lista-de-deseos">
|
||||
<div class="selector-multiple">
|
||||
<label for="multi-select-option" class="selector-multiple-label">Lista de destinos</label>
|
||||
<ul class="multi-select-option">
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="destino[]" value="1"></span><span class="txt">Destino 1</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="destino[]" value="1"></span><span class="txt">Destino 2</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="destino[]" value="1"></span><span class="txt">Destino 3</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="destino[]" value="1"></span><span class="txt">Destino 4</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="destino[]" value="1"></span><span class="txt">Destino 5</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="destino[]" value="1"></span><span class="txt">Destino 6</span></label></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="selector-multiple">
|
||||
<label for="Temporada" class="selector-multiple-label">Temporada</label>
|
||||
<ul class="multi-select-option" >
|
||||
<li>
|
||||
<label class="multi-select-option-date">
|
||||
<input type="date" name="emporada[]" value="1">
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="selector-multiple">
|
||||
<label for="quiero" class="selector-multiple-label">Quiero</label>
|
||||
<ul class="multi-select-option">
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="quiero[]" value="1"></span><span class="txt">Tortugas</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="quiero[]" value="2"></span><span class="txt">Cascada</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="quiero[]" value="3"></span><span class="txt">Naturaleza</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="quiero[]" value="4"></span><span class="txt">Comida Típica</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="quiero[]" value="5"></span><span class="txt">Viaje en lancha</span></label></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="selector-multiple">
|
||||
<label for="servicios-extras" class="selector-multiple-label">Servicios extras</label>
|
||||
<ul class="multi-select-option">
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="servicios-extras[]" value="1"></span><span class="txt">Guarderia</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="servicios-extras[]" value="2"></span><span class="txt">Atención a capacidades diferentes</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="servicios-extras[]" value="3"></span><span class="txt">Dieta especial</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="servicios-extras[]" value="4"></span><span class="txt">Cuidado de mascotas</span></label></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="mostrar-sugerencias">
|
||||
<button type="submit">Mostrar sugerencias</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
<?php
|
||||
$page = "Promociones";
|
||||
include_once "../private/template/header.php";
|
||||
?>
|
||||
|
||||
<link rel="stylesheet" href="assets/css/page-promociones.css">
|
||||
|
||||
<main>
|
||||
<section class="filtro">
|
||||
<h2 class="filtro-titulo">Filtros de busqueda</h2>
|
||||
|
||||
<form class="form-filtro" action="">
|
||||
<div>
|
||||
<label class="labell" for="">
|
||||
<strong>Destino</strong>
|
||||
<input type="text" name="" id="" placeholder="Ejemplo: Playa">
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label class="labell" for="">
|
||||
<strong>Precio minimo</strong>
|
||||
<input type="number" name="" id="" placeholder="100$ - 1000$">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label class="labell" for="">
|
||||
<strong>Precio maximo</strong>
|
||||
<input type="number" name="" id="" placeholder="2000$ - 5000$">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="div-fecha">
|
||||
<label class="labell" for="">
|
||||
<strong class="fecha-title">Fecha por reservar</strong>
|
||||
<input type="date" name="" id="">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label class="labell" for="">
|
||||
<strong>Numero de acompañantes</strong>
|
||||
<input type="number" name="" id="" placeholder="1 - 5">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<label for="Temporada" class="selector-multiple-label"><strong>Etiquetas</strong></label>
|
||||
<div class="selector-multiple">
|
||||
<ul class="multi-select-option">
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="emporada[]" value="1"></span><span class="txt">Tortuga</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="emporada[]" value="2"></span><span class="txt">Zoo</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="emporada[]" value="3"></span><span class="txt">Cascada</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="emporada[]" value="4"></span><span class="txt">Viaje en lancha</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="emporada[]" value="5"></span><span class="txt">Comida</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="emporada[]" value="6"></span><span class="txt">Historia</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="emporada[]" value="7"></span><span class="txt">Acampar</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="emporada[]" value="8"></span><span class="txt">En oferta</span></label></li>
|
||||
<li><label><span class="checkbox"><input type="checkbox" name="emporada[]" value="9"></span><span class="txt">Lechuga</span></label></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<button class="buscar-btn" type="submit">Buscar</button>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<section class="section-promo">
|
||||
|
||||
|
||||
<?php
|
||||
for($i = 1; $i <= 9; $i++) {
|
||||
echo "
|
||||
<div class='promo'>
|
||||
<div class='promo-contenido'>
|
||||
<div class='promo-contenido-titulo'>
|
||||
<a href='#'>
|
||||
<h3>Promo $i</h3>
|
||||
<span class='puntuacion'>⭐️ 5</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class='promo-content-a'>
|
||||
<a href='#'><p class='promo-contenido-txt'>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Corporis, dolores tempora, distinctio sed maiores nemo odio dignissimos voluptate dolorum asperiores velit neque illum suscipit nam, sit ratione dolore dolor minima. Lorem ipsum dolor sit amet consectetur adipisicing elit. Sed nihil quisquam accusamus sint</p></a>
|
||||
|
||||
|
||||
<a href='#'><p class='promo-contenido-mostrar'>Mostrar mas</p></a>
|
||||
</div>
|
||||
</div>
|
||||
<a href='#'>
|
||||
<img class='promo-img' src='/assets/img/promo/$i.webp' alt='preview'>
|
||||
</a>
|
||||
</div>
|
||||
";
|
||||
}?>
|
||||
|
||||
</section>
|
||||
</main>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
|
||||
|
||||
|
||||
npm init -y
|
||||
|
||||
|
||||
npm -v
|
||||
|
||||
sudo npm install -g npm@latest
|
||||
|
||||
|
||||
sudo npm install -g npm@latest
|
||||
|
||||
|
||||
|
||||
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
|
||||
sudo apt-get install -y nodejs
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
# Responsively
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
[Responsively](https://responsively.app/)
|
||||
|
||||
```sh
|
||||
wget https://github.com/responsively-org/responsively-app-releases/releases/download/v1.16.0/ResponsivelyApp-1.16.0.AppImage
|
||||
|
||||
chmod +x ResponsivelyApp-1.16.0.AppImage
|
||||
mv ResponsivelyApp-1.16.0.AppImage ResponsivelyApp.AppImage
|
||||
mkdir -p ~/.local/bin/
|
||||
mv ResponsivelyApp.AppImage ~/.local/bin/
|
||||
```
|
||||
|
||||
## Config
|
||||
|
||||
```sh
|
||||
nano ~/.local/share/applications/responsively.desktop
|
||||
|
||||
|
||||
[Desktop Entry]
|
||||
Name=Responsively App
|
||||
Exec=/home/your-username/.local/bin/ResponsivelyApp.AppImage
|
||||
Icon=web
|
||||
Type=Application
|
||||
Categories=Development;
|
||||
```
|
||||
|
||||
## Execute
|
||||
```
|
||||
~/.local/bin/ResponsivelyApp.AppImage
|
||||
```
|
||||
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
# Selenium
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```sh
|
||||
pip install selenium
|
||||
pip3 install selenium
|
||||
```
|
||||
|
||||
|
||||
https://www.selenium.dev/
|
||||
|
||||
https://sites.google.com/chromium.org/driver/
|
||||
|
||||
the Chrome for Testing availability dashboard.
|
||||
|
||||
https://googlechromelabs.github.io/chrome-for-testing/#stable
|
||||
|
||||
chromedriver
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
* {
|
||||
background-color: brown;
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
import '../css/style.css'
|
||||
|
||||
|
||||
console.log("VIte php");
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
// import { Strophe } from "strophe.js";
|
||||
|
||||
// const connection = new Strophe.Connection("wss://xmpp.chat.local/xmpp-websocket");
|
||||
|
||||
// connection.connect("user@xmpp.chat.local", "password", function (status) {
|
||||
// console.log("Status:", status);
|
||||
// });
|
||||
|
||||
// <link rel="stylesheet" href="https://cdn.conversejs.org/10.1.6/converse.min.css">
|
||||
// <script src="https://cdn.conversejs.org/10.1.6/converse.min.js"></script>
|
||||
|
||||
|
||||
// import '/node_modules/converse.js/dist/converse.min.css';
|
||||
// import converse from '/node_modules/converse.js/dist/converse.min.js';
|
||||
// // import '/node_modules/converse.js/dist/converse-omemo.min.js';
|
||||
|
||||
// import './plugins/omemo';
|
||||
|
||||
// <link rel="stylesheet" href="https://cdn.conversejs.org/dist/converse.min.css">
|
||||
// <script src="https://cdn.conversejs.org/dist/converse.min.js"></script>
|
||||
// <script src="https://cdn.conversejs.org/dist/converse-omemo.min.js"></script>
|
||||
|
||||
|
||||
// converse.initialize({
|
||||
// bosh_service_url: 'https://xmpp.chat.local/http-bind',
|
||||
// authentication: 'login',
|
||||
// auto_login: false,
|
||||
// allow_omemo: true,
|
||||
// whitelisted_plugins: ['converse-omemo'],
|
||||
// view_mode: 'fullscreen'
|
||||
// });
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Vite App</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/src/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,971 @@
|
|||
{
|
||||
"name": "vite",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "vite",
|
||||
"version": "0.0.0",
|
||||
"devDependencies": {
|
||||
"vite": "^7.1.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/aix-ppc64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz",
|
||||
"integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"aix"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-arm": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz",
|
||||
"integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-arm64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz",
|
||||
"integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-x64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz",
|
||||
"integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/darwin-arm64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz",
|
||||
"integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/darwin-x64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz",
|
||||
"integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/freebsd-arm64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz",
|
||||
"integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/freebsd-x64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz",
|
||||
"integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-arm": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz",
|
||||
"integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-arm64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz",
|
||||
"integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-ia32": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz",
|
||||
"integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-loong64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz",
|
||||
"integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==",
|
||||
"cpu": [
|
||||
"loong64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-mips64el": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz",
|
||||
"integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==",
|
||||
"cpu": [
|
||||
"mips64el"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-ppc64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz",
|
||||
"integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-riscv64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz",
|
||||
"integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-s390x": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz",
|
||||
"integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-x64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz",
|
||||
"integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/netbsd-arm64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz",
|
||||
"integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"netbsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/netbsd-x64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz",
|
||||
"integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"netbsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/openbsd-arm64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz",
|
||||
"integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"openbsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/openbsd-x64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz",
|
||||
"integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"openbsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/openharmony-arm64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz",
|
||||
"integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"openharmony"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/sunos-x64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz",
|
||||
"integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"sunos"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-arm64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz",
|
||||
"integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-ia32": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz",
|
||||
"integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-x64": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz",
|
||||
"integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@rollup/rollup-android-arm-eabi": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.2.tgz",
|
||||
"integrity": "sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-android-arm64": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.2.tgz",
|
||||
"integrity": "sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-darwin-arm64": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.2.tgz",
|
||||
"integrity": "sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-darwin-x64": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.2.tgz",
|
||||
"integrity": "sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-freebsd-arm64": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.2.tgz",
|
||||
"integrity": "sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-freebsd-x64": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.2.tgz",
|
||||
"integrity": "sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.2.tgz",
|
||||
"integrity": "sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.2.tgz",
|
||||
"integrity": "sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.2.tgz",
|
||||
"integrity": "sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.2.tgz",
|
||||
"integrity": "sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.2.tgz",
|
||||
"integrity": "sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==",
|
||||
"cpu": [
|
||||
"loong64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-ppc64-gnu": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.2.tgz",
|
||||
"integrity": "sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.2.tgz",
|
||||
"integrity": "sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-riscv64-musl": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.2.tgz",
|
||||
"integrity": "sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-s390x-gnu": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.2.tgz",
|
||||
"integrity": "sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.2.tgz",
|
||||
"integrity": "sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-x64-musl": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.2.tgz",
|
||||
"integrity": "sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.2.tgz",
|
||||
"integrity": "sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.2.tgz",
|
||||
"integrity": "sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.2.tgz",
|
||||
"integrity": "sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
]
|
||||
},
|
||||
"node_modules/@types/estree": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
|
||||
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/esbuild": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz",
|
||||
"integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"bin": {
|
||||
"esbuild": "bin/esbuild"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@esbuild/aix-ppc64": "0.25.9",
|
||||
"@esbuild/android-arm": "0.25.9",
|
||||
"@esbuild/android-arm64": "0.25.9",
|
||||
"@esbuild/android-x64": "0.25.9",
|
||||
"@esbuild/darwin-arm64": "0.25.9",
|
||||
"@esbuild/darwin-x64": "0.25.9",
|
||||
"@esbuild/freebsd-arm64": "0.25.9",
|
||||
"@esbuild/freebsd-x64": "0.25.9",
|
||||
"@esbuild/linux-arm": "0.25.9",
|
||||
"@esbuild/linux-arm64": "0.25.9",
|
||||
"@esbuild/linux-ia32": "0.25.9",
|
||||
"@esbuild/linux-loong64": "0.25.9",
|
||||
"@esbuild/linux-mips64el": "0.25.9",
|
||||
"@esbuild/linux-ppc64": "0.25.9",
|
||||
"@esbuild/linux-riscv64": "0.25.9",
|
||||
"@esbuild/linux-s390x": "0.25.9",
|
||||
"@esbuild/linux-x64": "0.25.9",
|
||||
"@esbuild/netbsd-arm64": "0.25.9",
|
||||
"@esbuild/netbsd-x64": "0.25.9",
|
||||
"@esbuild/openbsd-arm64": "0.25.9",
|
||||
"@esbuild/openbsd-x64": "0.25.9",
|
||||
"@esbuild/openharmony-arm64": "0.25.9",
|
||||
"@esbuild/sunos-x64": "0.25.9",
|
||||
"@esbuild/win32-arm64": "0.25.9",
|
||||
"@esbuild/win32-ia32": "0.25.9",
|
||||
"@esbuild/win32-x64": "0.25.9"
|
||||
}
|
||||
},
|
||||
"node_modules/fdir": {
|
||||
"version": "6.5.0",
|
||||
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
|
||||
"integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"picomatch": "^3 || ^4"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"picomatch": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/fsevents": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
|
||||
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
|
||||
"integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
],
|
||||
"bin": {
|
||||
"nanoid": "bin/nanoid.cjs"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/picocolors": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
|
||||
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/picomatch": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
|
||||
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/jonschlinkert"
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.6",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
|
||||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/postcss/"
|
||||
},
|
||||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/postcss"
|
||||
},
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.11",
|
||||
"picocolors": "^1.1.1",
|
||||
"source-map-js": "^1.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^10 || ^12 || >=14"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup": {
|
||||
"version": "4.46.2",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.46.2.tgz",
|
||||
"integrity": "sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/estree": "1.0.8"
|
||||
},
|
||||
"bin": {
|
||||
"rollup": "dist/bin/rollup"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.0.0",
|
||||
"npm": ">=8.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@rollup/rollup-android-arm-eabi": "4.46.2",
|
||||
"@rollup/rollup-android-arm64": "4.46.2",
|
||||
"@rollup/rollup-darwin-arm64": "4.46.2",
|
||||
"@rollup/rollup-darwin-x64": "4.46.2",
|
||||
"@rollup/rollup-freebsd-arm64": "4.46.2",
|
||||
"@rollup/rollup-freebsd-x64": "4.46.2",
|
||||
"@rollup/rollup-linux-arm-gnueabihf": "4.46.2",
|
||||
"@rollup/rollup-linux-arm-musleabihf": "4.46.2",
|
||||
"@rollup/rollup-linux-arm64-gnu": "4.46.2",
|
||||
"@rollup/rollup-linux-arm64-musl": "4.46.2",
|
||||
"@rollup/rollup-linux-loongarch64-gnu": "4.46.2",
|
||||
"@rollup/rollup-linux-ppc64-gnu": "4.46.2",
|
||||
"@rollup/rollup-linux-riscv64-gnu": "4.46.2",
|
||||
"@rollup/rollup-linux-riscv64-musl": "4.46.2",
|
||||
"@rollup/rollup-linux-s390x-gnu": "4.46.2",
|
||||
"@rollup/rollup-linux-x64-gnu": "4.46.2",
|
||||
"@rollup/rollup-linux-x64-musl": "4.46.2",
|
||||
"@rollup/rollup-win32-arm64-msvc": "4.46.2",
|
||||
"@rollup/rollup-win32-ia32-msvc": "4.46.2",
|
||||
"@rollup/rollup-win32-x64-msvc": "4.46.2",
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/source-map-js": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
|
||||
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/tinyglobby": {
|
||||
"version": "0.2.14",
|
||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
|
||||
"integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fdir": "^6.4.4",
|
||||
"picomatch": "^4.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/SuperchupuDev"
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-7.1.2.tgz",
|
||||
"integrity": "sha512-J0SQBPlQiEXAF7tajiH+rUooJPo0l8KQgyg4/aMunNtrOa7bwuZJsJbDWzeljqQpgftxuq5yNJxQ91O9ts29UQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"esbuild": "^0.25.0",
|
||||
"fdir": "^6.4.6",
|
||||
"picomatch": "^4.0.3",
|
||||
"postcss": "^8.5.6",
|
||||
"rollup": "^4.43.0",
|
||||
"tinyglobby": "^0.2.14"
|
||||
},
|
||||
"bin": {
|
||||
"vite": "bin/vite.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.19.0 || >=22.12.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/vitejs/vite?sponsor=1"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "~2.3.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/node": "^20.19.0 || >=22.12.0",
|
||||
"jiti": ">=1.21.0",
|
||||
"less": "^4.0.0",
|
||||
"lightningcss": "^1.21.0",
|
||||
"sass": "^1.70.0",
|
||||
"sass-embedded": "^1.70.0",
|
||||
"stylus": ">=0.54.8",
|
||||
"sugarss": "^5.0.0",
|
||||
"terser": "^5.16.0",
|
||||
"tsx": "^4.8.1",
|
||||
"yaml": "^2.4.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/node": {
|
||||
"optional": true
|
||||
},
|
||||
"jiti": {
|
||||
"optional": true
|
||||
},
|
||||
"less": {
|
||||
"optional": true
|
||||
},
|
||||
"lightningcss": {
|
||||
"optional": true
|
||||
},
|
||||
"sass": {
|
||||
"optional": true
|
||||
},
|
||||
"sass-embedded": {
|
||||
"optional": true
|
||||
},
|
||||
"stylus": {
|
||||
"optional": true
|
||||
},
|
||||
"sugarss": {
|
||||
"optional": true
|
||||
},
|
||||
"terser": {
|
||||
"optional": true
|
||||
},
|
||||
"tsx": {
|
||||
"optional": true
|
||||
},
|
||||
"yaml": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"name": "vite",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"devDependencies": {
|
||||
"vite": "^7.1.2"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
|
|
@ -0,0 +1,9 @@
|
|||
export function setupCounter(element) {
|
||||
let counter = 0
|
||||
const setCounter = (count) => {
|
||||
counter = count
|
||||
element.innerHTML = `count is ${counter}`
|
||||
}
|
||||
element.addEventListener('click', () => setCounter(counter + 1))
|
||||
setCounter(0)
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="32" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path fill="#F7DF1E" d="M0 0h256v256H0V0Z"></path><path d="m67.312 213.932l19.59-11.856c3.78 6.701 7.218 12.371 15.465 12.371c7.905 0 12.89-3.092 12.89-15.12v-81.798h24.057v82.138c0 24.917-14.606 36.259-35.916 36.259c-19.245 0-30.416-9.967-36.087-21.996m85.07-2.576l19.588-11.341c5.157 8.421 11.859 14.607 23.715 14.607c9.969 0 16.325-4.984 16.325-11.858c0-8.248-6.53-11.17-17.528-15.98l-6.013-2.58c-17.357-7.387-28.87-16.667-28.87-36.257c0-18.044 13.747-31.792 35.228-31.792c15.294 0 26.292 5.328 34.196 19.247l-18.732 12.03c-4.125-7.389-8.591-10.31-15.465-10.31c-7.046 0-11.514 4.468-11.514 10.31c0 7.217 4.468 10.14 14.778 14.608l6.014 2.577c20.45 8.765 31.963 17.7 31.963 37.804c0 21.654-17.012 33.51-39.867 33.51c-22.339 0-36.774-10.654-43.819-24.574"></path></svg>
|
||||
|
After Width: | Height: | Size: 995 B |
|
|
@ -0,0 +1,24 @@
|
|||
import './style.css'
|
||||
import javascriptLogo from './javascript.svg'
|
||||
import viteLogo from '/vite.svg'
|
||||
import { setupCounter } from './counter.js'
|
||||
|
||||
document.querySelector('#app').innerHTML = `
|
||||
<div>
|
||||
<a href="https://vite.dev" target="_blank">
|
||||
<img src="${viteLogo}" class="logo" alt="Vite logo" />
|
||||
</a>
|
||||
<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript" target="_blank">
|
||||
<img src="${javascriptLogo}" class="logo vanilla" alt="JavaScript logo" />
|
||||
</a>
|
||||
<h1>Hello Vite!</h1>
|
||||
<div class="card">
|
||||
<button id="counter" type="button"></button>
|
||||
</div>
|
||||
<p class="read-the-docs">
|
||||
Click on the Vite logo to learn more
|
||||
</p>
|
||||
</div>
|
||||
`
|
||||
|
||||
setupCounter(document.querySelector('#counter'))
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
:root {
|
||||
font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
|
||||
line-height: 1.5;
|
||||
font-weight: 400;
|
||||
|
||||
color-scheme: light dark;
|
||||
color: rgba(255, 255, 255, 0.87);
|
||||
background-color: #242424;
|
||||
|
||||
font-synthesis: none;
|
||||
text-rendering: optimizeLegibility;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
a {
|
||||
font-weight: 500;
|
||||
color: #646cff;
|
||||
text-decoration: inherit;
|
||||
}
|
||||
a:hover {
|
||||
color: #535bf2;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
display: flex;
|
||||
place-items: center;
|
||||
min-width: 320px;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 3.2em;
|
||||
line-height: 1.1;
|
||||
}
|
||||
|
||||
#app {
|
||||
max-width: 1280px;
|
||||
margin: 0 auto;
|
||||
padding: 2rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.logo {
|
||||
height: 6em;
|
||||
padding: 1.5em;
|
||||
will-change: filter;
|
||||
transition: filter 300ms;
|
||||
}
|
||||
.logo:hover {
|
||||
filter: drop-shadow(0 0 2em #646cffaa);
|
||||
}
|
||||
.logo.vanilla:hover {
|
||||
filter: drop-shadow(0 0 2em #f7df1eaa);
|
||||
}
|
||||
|
||||
.card {
|
||||
padding: 2em;
|
||||
}
|
||||
|
||||
.read-the-docs {
|
||||
color: #888;
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 8px;
|
||||
border: 1px solid transparent;
|
||||
padding: 0.6em 1.2em;
|
||||
font-size: 1em;
|
||||
font-weight: 500;
|
||||
font-family: inherit;
|
||||
background-color: #1a1a1a;
|
||||
cursor: pointer;
|
||||
transition: border-color 0.25s;
|
||||
}
|
||||
button:hover {
|
||||
border-color: #646cff;
|
||||
}
|
||||
button:focus,
|
||||
button:focus-visible {
|
||||
outline: 4px auto -webkit-focus-ring-color;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: light) {
|
||||
:root {
|
||||
color: #213547;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
a:hover {
|
||||
color: #747bff;
|
||||
}
|
||||
button {
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
import { defineConfig } from 'vite';
|
||||
import path from 'path';
|
||||
|
||||
export default defineConfig({
|
||||
build: {
|
||||
manifest: true,
|
||||
outDir: './dist',
|
||||
rollupOptions: {
|
||||
input: {
|
||||
'main.js': path.resolve(__dirname, './assets/js/main.js'),
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
regex101
|
||||
|
||||
wappalyze.com
|
||||
|
||||
https://builtwith.com/es/
|
||||
|
||||
whois.domaintools.com
|
||||
|
||||
ipinfo
|
||||
Loading…
Reference in New Issue