mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-05-05 13:57:10 -04:00
🔒 ADD VITE SSR PROD ENV AND SUPPORT DEPLOY PM2
This commit is contained in:
commit
4593414fba
52 changed files with 293 additions and 257 deletions
|
@ -4,9 +4,9 @@ Useful tools for developer and people working in IT. [Have a look !](https://it-
|
||||||
|
|
||||||
## Functionalities and roadmap
|
## Functionalities and roadmap
|
||||||
|
|
||||||
Please check the [issues](https://github.com/CorentinTh/it-tools/issues) to see if some feature listed to be implemented.
|
Please check the [issues](https://github.com/zeeklog/it-tools/issues) to see if some feature listed to be implemented.
|
||||||
|
|
||||||
You have an idea of a tool? Submit a [feature request](https://github.com/CorentinTh/it-tools/issues/new/choose)!
|
You have an idea of a tool? Submit a [feature request](https://github.com/zeeklog/it-tools/issues/new/choose)!
|
||||||
|
|
||||||
## Self host
|
## Self host
|
||||||
|
|
||||||
|
@ -109,11 +109,11 @@ It will create a directory in `src/tools` with the correct files, and a the impo
|
||||||
|
|
||||||
Big thanks to all the people who have already contributed!
|
Big thanks to all the people who have already contributed!
|
||||||
|
|
||||||
[](https://github.com/corentinth/it-tools/graphs/contributors)
|
[](https://github.com/zeeklog/it-tools/graphs/contributors)
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
Coded with ❤️ by [Corentin Thomasset](//corentin-thomasset.fr).
|
Coded with ❤️ by [Ne0inHK](//corentin-thomasset.fr).
|
||||||
|
|
||||||
This project is continuously deployed using [vercel.com](https://vercel.com).
|
This project is continuously deployed using [vercel.com](https://vercel.com).
|
||||||
|
|
||||||
|
|
29
index.html
29
index.html
|
@ -4,18 +4,18 @@
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="icon" href="favicon.ico" />
|
<link rel="icon" href="favicon.ico" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>IT Tools</title>
|
<title>极客日志 - 在线工具箱 - zeeklog</title>
|
||||||
<meta itemprop="name" content="IT Tools" />
|
<meta itemprop="name" content="Zeeklog online tools" />
|
||||||
<meta
|
<meta
|
||||||
name="description"
|
name="description"
|
||||||
content="Collection of handy online tools for developers, with great UX. IT Tools is a free and open-source collection of handy online tools for developers & people working in IT."
|
content="极客日志 在线工具 编码/解码url格式的字符串 JWT解析器 XML格式化 在线二维码生成器 在线JSON美化 在线JSON格式化 JSON转YAML转换器 TOML转YAML 在线 Base64 字符串编码/解码图片转base64 Base64 文件转换器 BIP39密码生成器 Hmac 生成器 罗马数字转换器 ETA 计算器 YAML美化和格式化 随机端口生成 加密/解密文本 打乱字符串 Git 备忘录 基准生成器 HTTP 状态码 SQL 美化和格式化 Crontab 表达式生成 密码强度分析仪 计时器 Token 生成器 百分比计算器 SVG 占位符生成器 JSON 转 CSV 摄像机记录器 Keycode 信息 Emoji 选择器 Color 选择器 加密 "
|
||||||
/>
|
/>
|
||||||
<meta
|
<meta
|
||||||
itemprop="description"
|
itemprop="description"
|
||||||
content="Collection of handy online tools for developers, with great UX. IT Tools is a free and open-source collection of handy online tools for developers & people working in IT."
|
content="极客日志 在线工具 编码/解码url格式的字符串 JWT解析器 XML格式化 在线二维码生成器 在线JSON美化 在线JSON格式化 JSON转YAML转换器 TOML转YAML 在线 Base64 字符串编码/解码图片转base64 Base64 文件转换器 BIP39密码生成器 Hmac 生成器 罗马数字转换器 ETA 计算器 YAML美化和格式化 随机端口生成 加密/解密文本 打乱字符串 Git 备忘录 基准生成器 HTTP 状态码 SQL 美化和格式化 Crontab 表达式生成 密码强度分析仪 计时器 Token 生成器 百分比计算器 SVG 占位符生成器 JSON 转 CSV 摄像机记录器 Keycode 信息 Emoji 选择器 Color 选择器 加密 "
|
||||||
/>
|
/>
|
||||||
<link rel="author" href="humans.txt" />
|
<link rel="author" href="humans.txt" />
|
||||||
<link rel="canonical" href="https://it-tools.tech" />
|
<link rel="canonical" href="https://tool.zeeklog.com" />
|
||||||
|
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png" />
|
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png" />
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png" />
|
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png" />
|
||||||
|
@ -24,32 +24,29 @@
|
||||||
<meta name="msapplication-TileColor" content="#da532c" />
|
<meta name="msapplication-TileColor" content="#da532c" />
|
||||||
<meta name="theme-color" content="#ffffff" />
|
<meta name="theme-color" content="#ffffff" />
|
||||||
|
|
||||||
<meta property="og:url" content="https://it-tools.tech/" />
|
<meta property="og:url" content="https://tool.zeeklog.com/" />
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:title" content="IT Tools" />
|
<meta property="og:title" content="Zeeklog online tools" />
|
||||||
<meta
|
<meta
|
||||||
property="og:description"
|
property="og:description"
|
||||||
content="Collection of handy online tools for developers, with great UX. IT Tools is a free and open-source collection of handy online tools for developers & people working in IT."
|
content="极客日志 在线工具 编码/解码url格式的字符串 JWT解析器 XML格式化 在线二维码生成器 在线JSON美化 在线JSON格式化 JSON转YAML转换器 TOML转YAML 在线 Base64 字符串编码/解码图片转base64 Base64 文件转换器 BIP39密码生成器 Hmac 生成器 罗马数字转换器 ETA 计算器 YAML美化和格式化 随机端口生成 加密/解密文本 打乱字符串 Git 备忘录 基准生成器 HTTP 状态码 SQL 美化和格式化 Crontab 表达式生成 密码强度分析仪 计时器 Token 生成器 百分比计算器 SVG 占位符生成器 JSON 转 CSV 摄像机记录器 Keycode 信息 Emoji 选择器 Color 选择器 加密 "
|
||||||
/>
|
/>
|
||||||
<meta property="og:image" content="https://it-tools.tech/banner.png?v=2" />
|
<meta property="og:image" content="https://tool.zeeklog.com/banner.png?v=2" />
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary_large_image" />
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
<meta name="twitter:site" content="@ittoolsdottech" />
|
<meta name="twitter:site" content="@ittoolsdottech" />
|
||||||
<meta name="twitter:creator" content="@cthmsst" />
|
<meta name="twitter:creator" content="@cthmsst" />
|
||||||
|
|
||||||
<meta name="twitter:title" content="IT Tools" />
|
<meta name="twitter:title" content="Zeeklog online tools" />
|
||||||
<meta
|
<meta
|
||||||
name="twitter:description"
|
name="twitter:description"
|
||||||
content="Collection of handy online tools for developers, with great UX. IT Tools is a free and open-source collection of handy online tools for developers & people working in IT."
|
content="极客日志 在线工具 编码/解码url格式的字符串 JWT解析器 XML格式化 在线二维码生成器 在线JSON美化 在线JSON格式化 JSON转YAML转换器 TOML转YAML 在线 Base64 字符串编码/解码图片转base64 Base64 文件转换器 BIP39密码生成器 Hmac 生成器 罗马数字转换器 ETA 计算器 YAML美化和格式化 随机端口生成 加密/解密文本 打乱字符串 Git 备忘录 基准生成器 HTTP 状态码 SQL 美化和格式化 Crontab 表达式生成 密码强度分析仪 计时器 Token 生成器 百分比计算器 SVG 占位符生成器 JSON 转 CSV 摄像机记录器 Keycode 信息 Emoji 选择器 Color 选择器 加密 "
|
||||||
/>
|
/>
|
||||||
<meta name="twitter:image" content="https://it-tools.tech/banner.png?v=2" />
|
<meta name="twitter:image" content="https://tool.zeeklog.com/banner.png?v=2" />
|
||||||
<meta name="twitter:image:alt" content="IT Tools" />
|
<meta name="twitter:image:alt" content="Zeeklog online tools" />
|
||||||
<style><!--app-css--></style>
|
<style><!--app-css--></style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"><!--app-html--></div>
|
<div id="app"><!--app-html--></div>
|
||||||
<!-- <script type="module" src="/src/main.ts"></script>-->
|
|
||||||
<script type="module" src="/src/entry-client.ts"></script>
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -7,7 +7,7 @@ home:
|
||||||
toggleMenu: 'Toggle menu'
|
toggleMenu: 'Toggle menu'
|
||||||
home: Home
|
home: Home
|
||||||
uiLib: 'UI Lib'
|
uiLib: 'UI Lib'
|
||||||
support: 'Support IT Tools development'
|
support: 'Support Zeeklog Online Tools development'
|
||||||
buyMeACoffee: 'Buy me a coffee'
|
buyMeACoffee: 'Buy me a coffee'
|
||||||
follow:
|
follow:
|
||||||
title: 'You like it-tools?'
|
title: 'You like it-tools?'
|
||||||
|
@ -20,7 +20,7 @@ home:
|
||||||
github: 'GitHub repository'
|
github: 'GitHub repository'
|
||||||
githubRepository: 'IT-Tools GitHub repository'
|
githubRepository: 'IT-Tools GitHub repository'
|
||||||
twitter: 'Twitter account'
|
twitter: 'Twitter account'
|
||||||
twitterAccount: 'IT Tools Twitter account'
|
twitterAccount: 'Zeeklog Online Tools Twitter account'
|
||||||
about: 'About IT-Tools'
|
about: 'About IT-Tools'
|
||||||
aboutLabel: 'About'
|
aboutLabel: 'About'
|
||||||
darkMode: 'Dark mode'
|
darkMode: 'Dark mode'
|
||||||
|
@ -30,19 +30,19 @@ about:
|
||||||
content: >
|
content: >
|
||||||
# About IT-Tools
|
# About IT-Tools
|
||||||
|
|
||||||
This wonderful website, made with ❤ by [Corentin Thomasset](https://github.com/CorentinTh) , aggregates useful tools for developer and people working in IT. If you find it useful, please feel free to share it to people you think may find it useful too and don't forget to bookmark it in your shortcut bar!
|
This wonderful website, made with ❤ by [Ne0inHK](https://github.com/zeeklog) , aggregates useful tools for developer and people working in IT. If you find it useful, please feel free to share it to people you think may find it useful too and don't forget to bookmark it in your shortcut bar!
|
||||||
|
|
||||||
IT Tools is open-source (under the MIT license) and free, and will always be, but it costs me money to host and renew the domain name. If you want to support my work, and encourage me to add more tools, please consider supporting by [sponsoring me](https://www.buymeacoffee.com/cthmsst).
|
Zeeklog Online Tools is open-source (under the MIT license) and free, and will always be, but it costs me money to host and renew the domain name. If you want to support my work, and encourage me to add more tools, please consider supporting by [sponsoring me](https://www.buymeacoffee.com/cthmsst).
|
||||||
|
|
||||||
## Technologies
|
## Technologies
|
||||||
|
|
||||||
IT Tools is made in Vue.js (Vue 3) with the the Naive UI component library and is hosted and continuously deployed by Vercel. Third-party open-source libraries are used in some tools, you may find the complete list in the [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) file of the repository.
|
Zeeklog Online Tools is made in Vue.js (Vue 3) with the the Naive UI component library and is hosted and continuously deployed by Vercel. Third-party open-source libraries are used in some tools, you may find the complete list in the [package.json](https://github.com/zeeklog/it-tools/blob/main/package.json) file of the repository.
|
||||||
|
|
||||||
## Found a bug? A tool is missing?
|
## Found a bug? A tool is missing?
|
||||||
|
|
||||||
If you need a tool that is currently not present here, and you think can be useful, you are welcome to submit a feature request in the [issues section](https://github.com/CorentinTh/it-tools/issues/new/choose) in the GitHub repository.
|
If you need a tool that is currently not present here, and you think can be useful, you are welcome to submit a feature request in the [issues section](https://github.com/zeeklog/it-tools/issues/new/choose) in the GitHub repository.
|
||||||
|
|
||||||
And if you found a bug, or something doesn't work as expected, please file a bug report in the [issues section](https://github.com/CorentinTh/it-tools/issues/new/choose) in the GitHub repository.
|
And if you found a bug, or something doesn't work as expected, please file a bug report in the [issues section](https://github.com/zeeklog/it-tools/issues/new/choose) in the GitHub repository.
|
||||||
|
|
||||||
404:
|
404:
|
||||||
notFound: '404 Not Found'
|
notFound: '404 Not Found'
|
||||||
|
|
|
@ -20,7 +20,7 @@ home:
|
||||||
github: 'Repositorio en github'
|
github: 'Repositorio en github'
|
||||||
githubRepository: 'IT-Tools GitHub repository'
|
githubRepository: 'IT-Tools GitHub repository'
|
||||||
twitter: 'Cuenta de Twitter'
|
twitter: 'Cuenta de Twitter'
|
||||||
twitterAccount: 'Cuenta de twitter de IT Tools'
|
twitterAccount: 'Cuenta de twitter de Zeeklog Online Tools'
|
||||||
about: 'Sobre IT-Tools'
|
about: 'Sobre IT-Tools'
|
||||||
aboutLabel: 'Sobre'
|
aboutLabel: 'Sobre'
|
||||||
darkMode: 'Modo obscuro'
|
darkMode: 'Modo obscuro'
|
||||||
|
@ -30,19 +30,19 @@ about:
|
||||||
content: >
|
content: >
|
||||||
# Sobre IT-Tools
|
# Sobre IT-Tools
|
||||||
|
|
||||||
Este maravilloso sitio web, hecho con ❤ por [Corentin Thomasset](https://github.com/CorentinTh) , agrega herramientas útiles para desarrolladores y personas que trabajan en IT. Si lo encuentra útil, no dude en compartirlo con las personas que crea que también pueden encontrarlo útil y ¡no olvide marcarlo como favorito en su barra de accesos directos!
|
Este maravilloso sitio web, hecho con ❤ por [Ne0inHK](https://github.com/zeeklog) , agrega herramientas útiles para desarrolladores y personas que trabajan en IT. Si lo encuentra útil, no dude en compartirlo con las personas que crea que también pueden encontrarlo útil y ¡no olvide marcarlo como favorito en su barra de accesos directos!
|
||||||
|
|
||||||
IT Tools es de código abierto (under the MIT license) y gratis, y siempre lo será, pero me cuesta dinero alojar y renovar el nombre de dominio. Si desea apoyar mi trabajo y animarme a agregar más herramientas, considere apoyarme a través de[sponsoring me](https://www.buymeacoffee.com/cthmsst).
|
Zeeklog Online Tools es de código abierto (under the MIT license) y gratis, y siempre lo será, pero me cuesta dinero alojar y renovar el nombre de dominio. Si desea apoyar mi trabajo y animarme a agregar más herramientas, considere apoyarme a través de[sponsoring me](https://www.buymeacoffee.com/cthmsst).
|
||||||
|
|
||||||
## Tecnologías
|
## Tecnologías
|
||||||
|
|
||||||
IT Tools está creado en Vue.js (Vue 3) con la biblioteca de componentes Naive UI y Vercel lo aloja y lo implementa continuamente. En algunas herramientas se utilizan bibliotecas de código abierto de terceros; puede encontrar la lista completa en [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) archivo del repositorio.
|
Zeeklog Online Tools está creado en Vue.js (Vue 3) con la biblioteca de componentes Naive UI y Vercel lo aloja y lo implementa continuamente. En algunas herramientas se utilizan bibliotecas de código abierto de terceros; puede encontrar la lista completa en [package.json](https://github.com/zeeklog/it-tools/blob/main/package.json) archivo del repositorio.
|
||||||
|
|
||||||
## ¿Encontraste un error? ¿Falta una herramienta?
|
## ¿Encontraste un error? ¿Falta una herramienta?
|
||||||
|
|
||||||
Si necesita una herramienta que actualmente no está presente aquí y cree que puede ser útil, puede enviar una solicitud de función en el [issues section](https://github.com/CorentinTh/it-tools/issues/new/choose) en el repositorio de GitHub.
|
|
||||||
|
|
||||||
Y si encontró un error o algo no funciona como se esperaba, presente un reporte de error en el [issues section](https://github.com/CorentinTh/it-tools/issues/new/choose) en el repositorio de GitHub.
|
Si necesita una herramienta que actualmente no está presente aquí y cree que puede ser útil, puede enviar una solicitud de función en el [issues section](https://github.com/zeeklog/it-tools/issues/new/choose) en el repositorio de GitHub.
|
||||||
|
|
||||||
|
Y si encontró un error o algo no funciona como se esperaba, presente un reporte de error en el [issues section](https://github.com/zeeklog/it-tools/issues/new/choose) en el repositorio de GitHub.
|
||||||
|
|
||||||
404:
|
404:
|
||||||
notFound: '404 Not Found'
|
notFound: '404 Not Found'
|
||||||
|
@ -68,4 +68,4 @@ tools:
|
||||||
math: Math
|
math: Math
|
||||||
measurement: Measurement
|
measurement: Measurement
|
||||||
text: Text
|
text: Text
|
||||||
data: Data
|
data: Data
|
||||||
|
|
|
@ -29,17 +29,17 @@ about:
|
||||||
content: >
|
content: >
|
||||||
# À propos de IT-Tools
|
# À propos de IT-Tools
|
||||||
|
|
||||||
Ce merveilleux site, fait avec ❤ par [Corentin Thomasset](https://github.com/CorentinTh), regroupe des outils utiles pour les développeurs et les personnes travaillant dans l'informatique. Si vous le trouvez utile, n'hésitez pas à le partager et n'oubliez pas de le mettre dans vos favoris !
|
Ce merveilleux site, fait avec ❤ par [Ne0inHK](https://github.com/zeeklog), regroupe des outils utiles pour les développeurs et les personnes travaillant dans l'informatique. Si vous le trouvez utile, n'hésitez pas à le partager et n'oubliez pas de le mettre dans vos favoris !
|
||||||
|
|
||||||
IT Tools est open-source (sous licence MIT) et gratuit, et le restera toujours, mais cela me coûte de l'argent pour l'héberger et renouveler le nom de domaine. Si vous voulez soutenir mon travail, et m'encourager à ajouter plus d'outils, n'hésitez pas à me [soutenir](https://www.buymeacoffee.com/cthmsst).
|
Zeeklog Online Tools est open-source (sous licence MIT) et gratuit, et le restera toujours, mais cela me coûte de l'argent pour l'héberger et renouveler le nom de domaine. Si vous voulez soutenir mon travail, et m'encourager à ajouter plus d'outils, n'hésitez pas à me [soutenir](https://www.buymeacoffee.com/cthmsst).
|
||||||
|
|
||||||
## Technologies
|
## Technologies
|
||||||
|
|
||||||
IT Tools est fait en Vue.js (Vue 3) avec la bibliothèque de composants Naive UI et est hébergé et déployé en continu par Vercel. Des bibliothèques open-source tierces sont utilisées dans certains outils, vous pouvez trouver la liste complète dans le fichier [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) du dépôt.
|
Zeeklog Online Tools est fait en Vue.js (Vue 3) avec la bibliothèque de composants Naive UI et est hébergé et déployé en continu par Vercel. Des bibliothèques open-source tierces sont utilisées dans certains outils, vous pouvez trouver la liste complète dans le fichier [package.json](https://github.com/zeeklog/it-tools/blob/main/package.json) du dépôt.
|
||||||
|
|
||||||
## Vous avez trouvé un bug ? Un outil manque ?
|
## Vous avez trouvé un bug ? Un outil manque ?
|
||||||
|
|
||||||
Si vous avez besoin d'un outil qui n'est pas encore présent ici, et que vous pensez qu'il peut être utile, vous êtes invité à soumettre une demande de fonctionnalité dans la [section issue](https://github.com/CorentinTh/it-tools/issues/new/choose) du dépôt GitHub.
|
Si vous avez besoin d'un outil qui n'est pas encore présent ici, et que vous pensez qu'il peut être utile, vous êtes invité à soumettre une demande de fonctionnalité dans la [section issue](https://github.com/zeeklog/it-tools/issues/new/choose) du dépôt GitHub.
|
||||||
|
|
||||||
404:
|
404:
|
||||||
notFound: '404 Not Found'
|
notFound: '404 Not Found'
|
||||||
|
|
|
@ -7,7 +7,7 @@ home:
|
||||||
toggleMenu: 'Menu'
|
toggleMenu: 'Menu'
|
||||||
home: 'Início'
|
home: 'Início'
|
||||||
uiLib: 'Biblioteca de UI'
|
uiLib: 'Biblioteca de UI'
|
||||||
support: 'Apoie o desenvolvimento do IT Tools'
|
support: 'Apoie o desenvolvimento do Zeeklog Online Tools'
|
||||||
buyMeACoffee: 'Pague-me um café'
|
buyMeACoffee: 'Pague-me um café'
|
||||||
follow:
|
follow:
|
||||||
title: 'Gostou do it-tools?'
|
title: 'Gostou do it-tools?'
|
||||||
|
@ -20,7 +20,7 @@ home:
|
||||||
github: 'Repositório no GitHub'
|
github: 'Repositório no GitHub'
|
||||||
githubRepository: 'repositório do IT-Tools no GitHub'
|
githubRepository: 'repositório do IT-Tools no GitHub'
|
||||||
twitter: 'Conta no Twitter'
|
twitter: 'Conta no Twitter'
|
||||||
twitterAccount: 'conta do IT Tools no Twitter'
|
twitterAccount: 'conta do Zeeklog Online Tools no Twitter'
|
||||||
about: 'Sobre o IT-Tools'
|
about: 'Sobre o IT-Tools'
|
||||||
aboutLabel: 'Sobre'
|
aboutLabel: 'Sobre'
|
||||||
darkMode: 'Modo Escuro'
|
darkMode: 'Modo Escuro'
|
||||||
|
@ -30,19 +30,19 @@ about:
|
||||||
content: >
|
content: >
|
||||||
# Sobre o IT-Tools
|
# Sobre o IT-Tools
|
||||||
|
|
||||||
Este site maravilhoso, feito com ❤ por [Corentin Thomasset](https://github.com/CorentinTh), junta ferramentas úteis para desenvolvedores e outras pessoas que trabalham com TI. Se você achar o site útil, fique à vontade para compartilhar com quem também possa gostar e não esqueça de salvar o bookmark na sua barra de atalhos!
|
Este site maravilhoso, feito com ❤ por [Ne0inHK](https://github.com/zeeklog), junta ferramentas úteis para desenvolvedores e outras pessoas que trabalham com TI. Se você achar o site útil, fique à vontade para compartilhar com quem também possa gostar e não esqueça de salvar o bookmark na sua barra de atalhos!
|
||||||
|
|
||||||
O IT Tools é código aberto (sob a licença MIT), é gratuito, e sempre será, mas custa dinheiro para hospedar e renovar o domínio. Se quiser apoiar meu trabalho e me encorajar a adicionar mais ferramentas, por favor considere [ser patrocinador](https://www.buymeacoffee.com/cthmsst).
|
O Zeeklog Online Tools é código aberto (sob a licença MIT), é gratuito, e sempre será, mas custa dinheiro para hospedar e renovar o domínio. Se quiser apoiar meu trabalho e me encorajar a adicionar mais ferramentas, por favor considere [ser patrocinador](https://www.buymeacoffee.com/cthmsst).
|
||||||
|
|
||||||
## Tecnologias
|
## Tecnologias
|
||||||
|
|
||||||
O IT Tools é feito em Vue.js (Vue 3) com a biblioteca de componentes Naive UI e é hospedado pela Vercel. Bibliotecas de código aberto de terceiros são usadas em algumas ferramentas e você pode encontrar a lista completa no arquivo [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) do repositório.
|
O Zeeklog Online Tools é feito em Vue.js (Vue 3) com a biblioteca de componentes Naive UI e é hospedado pela Vercel. Bibliotecas de código aberto de terceiros são usadas em algumas ferramentas e você pode encontrar a lista completa no arquivo [package.json](https://github.com/zeeklog/it-tools/blob/main/package.json) do repositório.
|
||||||
|
|
||||||
## Achou um bug? Está faltando uma ferramenta?
|
## Achou um bug? Está faltando uma ferramenta?
|
||||||
|
|
||||||
Se você precisa de uma ferramenta que ainda não existe aqui e acha que pode ser útil, seu pedido será bem vindo na [seção de issues](https://github.com/CorentinTh/it-tools/issues/new/choose) no repositório do GitHub.
|
Se você precisa de uma ferramenta que ainda não existe aqui e acha que pode ser útil, seu pedido será bem vindo na [seção de issues](https://github.com/zeeklog/it-tools/issues/new/choose) no repositório do GitHub.
|
||||||
|
|
||||||
E se você encontrar um bug ou se algo não funcionar como esperado, por favor registre um relato de bug na [seção de issues](https://github.com/CorentinTh/it-tools/issues/new/choose) no GitHub.
|
E se você encontrar um bug ou se algo não funcionar como esperado, por favor registre um relato de bug na [seção de issues](https://github.com/zeeklog/it-tools/issues/new/choose) no GitHub.
|
||||||
|
|
||||||
404:
|
404:
|
||||||
notFound: '404 Não Encontrado'
|
notFound: '404 Não Encontrado'
|
||||||
|
|
|
@ -7,7 +7,7 @@ home:
|
||||||
toggleMenu: 'Перемикання меню'
|
toggleMenu: 'Перемикання меню'
|
||||||
home: Головна
|
home: Головна
|
||||||
uiLib: 'UI Бібліотека'
|
uiLib: 'UI Бібліотека'
|
||||||
support: 'Підтримка розробки IT Tools'
|
support: 'Підтримка розробки Zeeklog Online Tools'
|
||||||
buyMeACoffee: 'Купи мені каву'
|
buyMeACoffee: 'Купи мені каву'
|
||||||
follow:
|
follow:
|
||||||
title: 'Вам подобаються інструменти IT?'
|
title: 'Вам подобаються інструменти IT?'
|
||||||
|
@ -30,19 +30,19 @@ about:
|
||||||
content: >
|
content: >
|
||||||
# Про IT-Tools
|
# Про IT-Tools
|
||||||
|
|
||||||
Цей чудовий вебсайт, створений з ❤ [Corentin Thomasset](https://github.com/CorentinTh), агрегує корисні інструменти для розробників і людей, які працюють в сфері IT. Якщо вам це корисно, будь ласка, поділіться цим з людьми, які, на вашу думку, також можуть знайти його корисним, і не забудьте додати його до закладок у вашій панелі швидкого доступу!
|
Цей чудовий вебсайт, створений з ❤ [Ne0inHK](https://github.com/zeeklog), агрегує корисні інструменти для розробників і людей, які працюють в сфері IT. Якщо вам це корисно, будь ласка, поділіться цим з людьми, які, на вашу думку, також можуть знайти його корисним, і не забудьте додати його до закладок у вашій панелі швидкого доступу!
|
||||||
|
|
||||||
IT Tools є відкритим програмним забезпеченням (під ліцензією MIT) і безкоштовним, і завжди буде таким, але мені коштує гроші для хостингу і продовження доменного імені. Якщо ви хочете підтримати мою роботу і підтримати мене у додаванні нових інструментів, розгляньте можливість підтримки, [спонсоруючи мене](https://www.buymeacoffee.com/cthmsst).
|
Zeeklog Online Tools є відкритим програмним забезпеченням (під ліцензією MIT) і безкоштовним, і завжди буде таким, але мені коштує гроші для хостингу і продовження доменного імені. Якщо ви хочете підтримати мою роботу і підтримати мене у додаванні нових інструментів, розгляньте можливість підтримки, [спонсоруючи мене](https://www.buymeacoffee.com/cthmsst).
|
||||||
|
|
||||||
## Технології
|
## Технології
|
||||||
|
|
||||||
IT Tools виконаний на Vue.js (Vue 3) з використанням бібліотеки компонентів Naive UI і розгортаний за допомогою Vercel. У деяких інструментах використовуються сторонні відкриті бібліотеки, повний список яких ви можете знайти в файлі [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) репозиторію.
|
Zeeklog Online Tools виконаний на Vue.js (Vue 3) з використанням бібліотеки компонентів Naive UI і розгортаний за допомогою Vercel. У деяких інструментах використовуються сторонні відкриті бібліотеки, повний список яких ви можете знайти в файлі [package.json](https://github.com/zeeklog/it-tools/blob/main/package.json) репозиторію.
|
||||||
|
|
||||||
## Знайшли баг? Відсутній інструмент?
|
## Знайшли баг? Відсутній інструмент?
|
||||||
|
|
||||||
Якщо вам потрібен інструмент, якого наразі немає тут, і ви вважаєте, що він може бути корисним, ви можете подати запит на додавання функції в [розділі проблем](https://github.com/CorentinTh/it-tools/issues/new/choose) у репозиторії GitHub.
|
Якщо вам потрібен інструмент, якого наразі немає тут, і ви вважаєте, що він може бути корисним, ви можете подати запит на додавання функції в [розділі проблем](https://github.com/zeeklog/it-tools/issues/new/choose) у репозиторії GitHub.
|
||||||
|
|
||||||
А якщо ви знайшли баг або щось не працює, як очікувалося, будь ласка, подайте звіт про баг в [розділі проблем](https://github.com/CorentinTh/it-tools/issues/new/choose) у репозиторії GitHub.
|
А якщо ви знайшли баг або щось не працює, як очікувалося, будь ласка, подайте звіт про баг в [розділі проблем](https://github.com/zeeklog/it-tools/issues/new/choose) у репозиторії GitHub.
|
||||||
|
|
||||||
404:
|
404:
|
||||||
notFound: '404 Сторінка не знайдена'
|
notFound: '404 Сторінка не знайдена'
|
||||||
|
|
|
@ -7,7 +7,7 @@ home:
|
||||||
toggleMenu: 'Chuyển đổi menu'
|
toggleMenu: 'Chuyển đổi menu'
|
||||||
home: Trang chủ
|
home: Trang chủ
|
||||||
uiLib: 'Thư viện UI'
|
uiLib: 'Thư viện UI'
|
||||||
support: 'Hỗ trợ phát triển IT Tools'
|
support: 'Hỗ trợ phát triển Zeeklog Online Tools'
|
||||||
buyMeACoffee: 'Ủng hộ tác giả'
|
buyMeACoffee: 'Ủng hộ tác giả'
|
||||||
follow:
|
follow:
|
||||||
title: 'Bạn thích IT-tools?'
|
title: 'Bạn thích IT-tools?'
|
||||||
|
@ -20,7 +20,7 @@ home:
|
||||||
github: 'Kho GitHub'
|
github: 'Kho GitHub'
|
||||||
githubRepository: 'Kho GitHub IT-Tools'
|
githubRepository: 'Kho GitHub IT-Tools'
|
||||||
twitter: 'Tài khoản Twitter'
|
twitter: 'Tài khoản Twitter'
|
||||||
twitterAccount: 'Tài khoản Twitter IT Tools'
|
twitterAccount: 'Tài khoản Twitter Zeeklog Online Tools'
|
||||||
about: 'Về IT-Tools'
|
about: 'Về IT-Tools'
|
||||||
aboutLabel: 'Giới thiệu'
|
aboutLabel: 'Giới thiệu'
|
||||||
darkMode: 'Chế độ tối'
|
darkMode: 'Chế độ tối'
|
||||||
|
@ -30,19 +30,19 @@ about:
|
||||||
content: >
|
content: >
|
||||||
# Về IT-Tools
|
# Về IT-Tools
|
||||||
|
|
||||||
Website tuyệt vời này, được tạo ra bằng ❤ bởi [Corentin Thomasset](https://github.com/CorentinTh), tổng hợp các công cụ hữu ích cho nhà phát triển và những người làm việc trong lĩnh vực IT. Nếu bạn thấy nó hữu ích, xin đừng ngần ngại chia sẻ cho những người mà bạn nghĩ sẽ thấy nó hữu ích và đừng quên đánh dấu nó trong thanh lối tắt của bạn!
|
Website tuyệt vời này, được tạo ra bằng ❤ bởi [Ne0inHK](https://github.com/zeeklog), tổng hợp các công cụ hữu ích cho nhà phát triển và những người làm việc trong lĩnh vực IT. Nếu bạn thấy nó hữu ích, xin đừng ngần ngại chia sẻ cho những người mà bạn nghĩ sẽ thấy nó hữu ích và đừng quên đánh dấu nó trong thanh lối tắt của bạn!
|
||||||
|
|
||||||
IT Tools là mã nguồn mở (dưới giấy phép MIT) và miễn phí, và sẽ luôn như vậy, nhưng tôi phải trả tiền để lưu trữ và gia hạn tên miền. Nếu bạn muốn hỗ trợ công việc của tôi, và khích lệ tôi thêm nhiều công cụ hơn, hãy xem xét hỗ trợ bằng cách [tài trợ cho tôi](https://www.buymeacoffee.com/cthmsst).
|
Zeeklog Online Tools là mã nguồn mở (dưới giấy phép MIT) và miễn phí, và sẽ luôn như vậy, nhưng tôi phải trả tiền để lưu trữ và gia hạn tên miền. Nếu bạn muốn hỗ trợ công việc của tôi, và khích lệ tôi thêm nhiều công cụ hơn, hãy xem xét hỗ trợ bằng cách [tài trợ cho tôi](https://www.buymeacoffee.com/cthmsst).
|
||||||
|
|
||||||
## Công nghệ
|
## Công nghệ
|
||||||
|
|
||||||
IT Tools được tạo ra bằng Vue.js (Vue 3) với thư viện thành phần Naive UI và được lưu trữ và triển khai liên tục bởi Vercel. Các thư viện mã nguồn mở của bên thứ ba được sử dụng trong một số công cụ, bạn có thể tìm danh sách đầy đủ trong file [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) của kho lưu trữ.
|
Zeeklog Online Tools được tạo ra bằng Vue.js (Vue 3) với thư viện thành phần Naive UI và được lưu trữ và triển khai liên tục bởi Vercel. Các thư viện mã nguồn mở của bên thứ ba được sử dụng trong một số công cụ, bạn có thể tìm danh sách đầy đủ trong file [package.json](https://github.com/zeeklog/it-tools/blob/main/package.json) của kho lưu trữ.
|
||||||
|
|
||||||
## Phát hiện lỗi? Một công cụ bị thiếu?
|
## Phát hiện lỗi? Một công cụ bị thiếu?
|
||||||
|
|
||||||
Nếu bạn cần một công cụ hiện không có ở đây, và bạn nghĩ rằng nó có thể hữu ích, bạn được chào đón để gửi một yêu cầu tính năng trong [phần vấn đề](https://github.com/CorentinTh/it-tools/issues/new/choose) trong kho GitHub.
|
Nếu bạn cần một công cụ hiện không có ở đây, và bạn nghĩ rằng nó có thể hữu ích, bạn được chào đón để gửi một yêu cầu tính năng trong [phần vấn đề](https://github.com/zeeklog/it-tools/issues/new/choose) trong kho GitHub.
|
||||||
|
|
||||||
Và nếu bạn phát hiện ra một lỗi, hoặc điều gì đó không hoạt động như mong đợi, xin vui lòng gửi báo cáo lỗi trong [phần vấn đề](https://github.com/CorentinTh/it-tools/issues/new/choose) trong kho GitHub.
|
Và nếu bạn phát hiện ra một lỗi, hoặc điều gì đó không hoạt động như mong đợi, xin vui lòng gửi báo cáo lỗi trong [phần vấn đề](https://github.com/zeeklog/it-tools/issues/new/choose) trong kho GitHub.
|
||||||
|
|
||||||
404:
|
404:
|
||||||
notFound: '404 Không Tìm Thấy'
|
notFound: '404 Không Tìm Thấy'
|
||||||
|
|
|
@ -30,19 +30,19 @@ about:
|
||||||
content: >
|
content: >
|
||||||
# 关于 IT-Tools
|
# 关于 IT-Tools
|
||||||
|
|
||||||
IT-Tools 由 [Corentin Thomasset](https://github.com/CorentinTh) 用 ❤ 开发,汇集了对开发人员和 IT 从业者有用的工具。如果对您有帮助,请将其分享给您的朋友,并且添加到收藏夹中!
|
IT-Tools 由 [Ne0inHK](https://github.com/zeeklog) 用 ❤ 开发,汇集了对开发人员和 IT 从业者有用的工具。如果对您有帮助,请将其分享给您的朋友,并且添加到收藏夹中!
|
||||||
|
|
||||||
IT-Tools 永久免费且开源(MIT 许可证),但需要资金用于托管和续订域名。如果您想支持我的工作,并鼓励我添加更多工具,请考虑通过 [赞助我](https://www.buymeacoffee.com/cthmsst) 进行支持。
|
IT-Tools 永久免费且开源(MIT 许可证),但需要资金用于托管和续订域名。如果您想支持我的工作,并鼓励我添加更多工具,请考虑通过 [赞助我](https://www.buymeacoffee.com/cthmsst) 进行支持。
|
||||||
|
|
||||||
## 技术
|
## 技术
|
||||||
|
|
||||||
IT-Tools 采用 Vue.js(Vue 3)和 Naive UI 组件库开发,并由 Vercel 托管和持续部署。某些工具使用了第三方开源库,您可以在仓库的 [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) 文件中找到完整的列表。
|
IT-Tools 采用 Vue.js(Vue 3)和 Naive UI 组件库开发,并由 Vercel 托管和持续部署。某些工具使用了第三方开源库,您可以在仓库的 [package.json](https://github.com/zeeklog/it-tools/blob/main/package.json) 文件中找到完整的列表。
|
||||||
|
|
||||||
## 发现了 Bug?缺少工具?
|
## 发现了 Bug?缺少工具?
|
||||||
|
|
||||||
如果目前这里没有您需要的工具,并且您认为它可能有用,欢迎在 GitHub 仓库的 [issues](https://github.com/CorentinTh/it-tools/issues/new/choose) 中提交新增功能的请求。
|
如果目前这里没有您需要的工具,并且您认为它可能有用,欢迎在 GitHub 仓库的 [issues](https://github.com/zeeklog/it-tools/issues/new/choose) 中提交新增功能的请求。
|
||||||
|
|
||||||
如果您发现了 Bug,或者某些功能未能按预期工作,请在 GitHub 仓库的 [issues](https://github.com/CorentinTh/it-tools/issues/new/choose) 中提交错误报告。
|
如果您发现了 Bug,或者某些功能未能按预期工作,请在 GitHub 仓库的 [issues](https://github.com/zeeklog/it-tools/issues/new/choose) 中提交错误报告。
|
||||||
|
|
||||||
404:
|
404:
|
||||||
notFound: '404 页面不存在'
|
notFound: '404 页面不存在'
|
||||||
|
|
27
package.json
27
package.json
|
@ -2,39 +2,32 @@
|
||||||
"name": "it-tools",
|
"name": "it-tools",
|
||||||
"version": "2023.12.21-5ed3693",
|
"version": "2023.12.21-5ed3693",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"description": "Collection of handy online tools for developers, with great UX. ",
|
"description": "Collection of handy online tools for developers, with great UX and SSR",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"productivity",
|
"productivity",
|
||||||
"converter",
|
"converter",
|
||||||
"website",
|
"website",
|
||||||
"vuejs",
|
"vuejs",
|
||||||
"tools",
|
"tools",
|
||||||
"frontend",
|
"online tools",
|
||||||
"tool",
|
"tool",
|
||||||
"developer-tools",
|
"developer-tools",
|
||||||
"developer-productivity"
|
"developer-productivity"
|
||||||
],
|
],
|
||||||
"author": "Corentin Th <corentin.thomasset74+it-tools@gmail.com> (https://github.com/CorentinTh)",
|
"author": "Corentin Th <corentin.thomasset74+it-tools@gmail.com> (https://github.com/zeeklog)",
|
||||||
"license": "GNU GPLv3",
|
"license": "GNU GPLv3",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/CorentinTh/it-tools"
|
"url": "https://github.com/zeeklog/it-tools"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
"build": "vue-tsc --noEmit && NODE_OPTIONS=--max_old_space_size=4096 vite build",
|
"build": "npm run build:client && npm run build:server",
|
||||||
"build:ssr": "node server.js",
|
"build:client": "vue-tsc --noEmit && vite build",
|
||||||
"preview": "vite preview --port 5050",
|
"build:server": "vue-tsc --noEmit && vite build --ssr src/entry-server.ts",
|
||||||
"test": "npm run test:unit",
|
"build:ssr": "vue-tsc --noEmit && vite build --outDir dist",
|
||||||
"test:unit": "vitest --environment jsdom",
|
"serve": "cross-env NODE_ENV=production node server.js",
|
||||||
"test:e2e": "playwright test",
|
"preview": "vite preview --port 5050"
|
||||||
"test:e2e:dev": "BASE_URL=http://localhost:5173 NO_WEB_SERVER=true playwright test",
|
|
||||||
"coverage": "vitest run --coverage",
|
|
||||||
"typecheck": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false",
|
|
||||||
"lint": "eslint src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --ignore-path .gitignore",
|
|
||||||
"script:create:tool": "node scripts/create-tool.mjs",
|
|
||||||
"script:create:ui": "hygen generator ui-component",
|
|
||||||
"release": "node ./scripts/release.mjs"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@css-render/vue3-ssr": "^0.15.12",
|
"@css-render/vue3-ssr": "^0.15.12",
|
||||||
|
|
17
pnpm-lock.yaml
generated
17
pnpm-lock.yaml
generated
|
@ -68,6 +68,9 @@ dependencies:
|
||||||
cronstrue:
|
cronstrue:
|
||||||
specifier: ^2.26.0
|
specifier: ^2.26.0
|
||||||
version: 2.26.0
|
version: 2.26.0
|
||||||
|
cross-env:
|
||||||
|
specifier: ^7.0.3
|
||||||
|
version: 7.0.3
|
||||||
crypto-js:
|
crypto-js:
|
||||||
specifier: ^4.1.1
|
specifier: ^4.1.1
|
||||||
version: 4.1.1
|
version: 4.1.1
|
||||||
|
@ -4894,6 +4897,14 @@ packages:
|
||||||
resolution: {integrity: sha512-M1VdV3hpBAsd1Zzvqcvf63wgDpcwCuS4WiNEVFpJ0s33MGO2sVDTfswYq0EPypCmESrCzmgL8h68DTzJuSDbVA==}
|
resolution: {integrity: sha512-M1VdV3hpBAsd1Zzvqcvf63wgDpcwCuS4WiNEVFpJ0s33MGO2sVDTfswYq0EPypCmESrCzmgL8h68DTzJuSDbVA==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/cross-env@7.0.3:
|
||||||
|
resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
|
||||||
|
engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
cross-spawn: 7.0.3
|
||||||
|
dev: false
|
||||||
|
|
||||||
/cross-spawn@7.0.3:
|
/cross-spawn@7.0.3:
|
||||||
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
|
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
|
@ -4901,7 +4912,6 @@ packages:
|
||||||
path-key: 3.1.1
|
path-key: 3.1.1
|
||||||
shebang-command: 2.0.0
|
shebang-command: 2.0.0
|
||||||
which: 2.0.2
|
which: 2.0.2
|
||||||
dev: true
|
|
||||||
|
|
||||||
/crypto-js@4.1.1:
|
/crypto-js@4.1.1:
|
||||||
resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==}
|
resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==}
|
||||||
|
@ -6848,7 +6858,6 @@ packages:
|
||||||
|
|
||||||
/isexe@2.0.0:
|
/isexe@2.0.0:
|
||||||
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/isobject@3.0.1:
|
/isobject@3.0.1:
|
||||||
resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
|
resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
|
||||||
|
@ -7793,7 +7802,6 @@ packages:
|
||||||
/path-key@3.1.1:
|
/path-key@3.1.1:
|
||||||
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
|
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/path-parse@1.0.7:
|
/path-parse@1.0.7:
|
||||||
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
|
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
|
||||||
|
@ -8587,12 +8595,10 @@ packages:
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dependencies:
|
dependencies:
|
||||||
shebang-regex: 3.0.0
|
shebang-regex: 3.0.0
|
||||||
dev: true
|
|
||||||
|
|
||||||
/shebang-regex@3.0.0:
|
/shebang-regex@3.0.0:
|
||||||
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
|
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/side-channel@1.0.4:
|
/side-channel@1.0.4:
|
||||||
resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
|
resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
|
||||||
|
@ -9945,7 +9951,6 @@ packages:
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
dependencies:
|
dependencies:
|
||||||
isexe: 2.0.0
|
isexe: 2.0.0
|
||||||
dev: true
|
|
||||||
|
|
||||||
/which@3.0.0:
|
/which@3.0.0:
|
||||||
resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==}
|
resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==}
|
||||||
|
|
53
public/index.html
Normal file
53
public/index.html
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="icon" href="favicon.ico" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>极客日志 - 在线工具箱 - zeeklog</title>
|
||||||
|
<meta itemprop="name" content="Zeeklog online tools" />
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="极客日志 在线工具 编码/解码url格式的字符串 JWT解析器 XML格式化 在线二维码生成器 在线JSON美化 在线JSON格式化 JSON转YAML转换器 TOML转YAML 在线 Base64 字符串编码/解码图片转base64 Base64 文件转换器 BIP39密码生成器 Hmac 生成器 罗马数字转换器 ETA 计算器 YAML美化和格式化 随机端口生成 加密/解密文本 打乱字符串 Git 备忘录 基准生成器 HTTP 状态码 SQL 美化和格式化 Crontab 表达式生成 密码强度分析仪 计时器 Token 生成器 百分比计算器 SVG 占位符生成器 JSON 转 CSV 摄像机记录器 Keycode 信息 Emoji 选择器 Color 选择器 加密 "
|
||||||
|
/>
|
||||||
|
<meta
|
||||||
|
itemprop="description"
|
||||||
|
content="极客日志 在线工具 编码/解码url格式的字符串 JWT解析器 XML格式化 在线二维码生成器 在线JSON美化 在线JSON格式化 JSON转YAML转换器 TOML转YAML 在线 Base64 字符串编码/解码图片转base64 Base64 文件转换器 BIP39密码生成器 Hmac 生成器 罗马数字转换器 ETA 计算器 YAML美化和格式化 随机端口生成 加密/解密文本 打乱字符串 Git 备忘录 基准生成器 HTTP 状态码 SQL 美化和格式化 Crontab 表达式生成 密码强度分析仪 计时器 Token 生成器 百分比计算器 SVG 占位符生成器 JSON 转 CSV 摄像机记录器 Keycode 信息 Emoji 选择器 Color 选择器 加密 "
|
||||||
|
/>
|
||||||
|
<link rel="author" href="humans.txt" />
|
||||||
|
<link rel="canonical" href="https://tool.zeeklog.com" />
|
||||||
|
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png" />
|
||||||
|
<link rel="mask-icon" href="safari-pinned-tab.svg" color="#18a058" />
|
||||||
|
<meta name="msapplication-TileColor" content="#da532c" />
|
||||||
|
<meta name="theme-color" content="#ffffff" />
|
||||||
|
|
||||||
|
<meta property="og:url" content="https://tool.zeeklog.com/" />
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:title" content="Zeeklog online tools" />
|
||||||
|
<meta
|
||||||
|
property="og:description"
|
||||||
|
content="极客日志 在线工具 编码/解码url格式的字符串 JWT解析器 XML格式化 在线二维码生成器 在线JSON美化 在线JSON格式化 JSON转YAML转换器 TOML转YAML 在线 Base64 字符串编码/解码图片转base64 Base64 文件转换器 BIP39密码生成器 Hmac 生成器 罗马数字转换器 ETA 计算器 YAML美化和格式化 随机端口生成 加密/解密文本 打乱字符串 Git 备忘录 基准生成器 HTTP 状态码 SQL 美化和格式化 Crontab 表达式生成 密码强度分析仪 计时器 Token 生成器 百分比计算器 SVG 占位符生成器 JSON 转 CSV 摄像机记录器 Keycode 信息 Emoji 选择器 Color 选择器 加密 "
|
||||||
|
/>
|
||||||
|
<meta property="og:image" content="https://tool.zeeklog.com/banner.png?v=2" />
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:site" content="@ittoolsdottech" />
|
||||||
|
<meta name="twitter:creator" content="@cthmsst" />
|
||||||
|
|
||||||
|
<meta name="twitter:title" content="Zeeklog online tools" />
|
||||||
|
<meta
|
||||||
|
name="twitter:description"
|
||||||
|
content="极客日志 在线工具 编码/解码url格式的字符串 JWT解析器 XML格式化 在线二维码生成器 在线JSON美化 在线JSON格式化 JSON转YAML转换器 TOML转YAML 在线 Base64 字符串编码/解码图片转base64 Base64 文件转换器 BIP39密码生成器 Hmac 生成器 罗马数字转换器 ETA 计算器 YAML美化和格式化 随机端口生成 加密/解密文本 打乱字符串 Git 备忘录 基准生成器 HTTP 状态码 SQL 美化和格式化 Crontab 表达式生成 密码强度分析仪 计时器 Token 生成器 百分比计算器 SVG 占位符生成器 JSON 转 CSV 摄像机记录器 Keycode 信息 Emoji 选择器 Color 选择器 加密 "
|
||||||
|
/>
|
||||||
|
<meta name="twitter:image" content="https://tool.zeeklog.com/banner.png?v=2" />
|
||||||
|
<meta name="twitter:image:alt" content="Zeeklog online tools" />
|
||||||
|
<style><!--app-css--></style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app"><!--app-html--></div>
|
||||||
|
<script type="module" src="/src/entry-client.ts"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -85,7 +85,7 @@ test.describe('Tool - ${toolNameTitleCase}', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('${toolNameTitleCase} - IT Tools');
|
await expect(page).toHaveTitle('${toolNameTitleCase} - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('', async ({ page }) => {
|
test('', async ({ page }) => {
|
||||||
|
|
79
server.js
79
server.js
|
@ -7,10 +7,12 @@ import { createServer as createViteServer } from 'vite';
|
||||||
|
|
||||||
const __filename = fileURLToPath(import.meta.url);
|
const __filename = fileURLToPath(import.meta.url);
|
||||||
const __dirname = path.dirname(__filename);
|
const __dirname = path.dirname(__filename);
|
||||||
|
// eslint-disable-next-line n/prefer-global/process
|
||||||
|
const isProd = process.env.NODE_ENV === 'production';
|
||||||
|
const resolve = p => path.resolve(__dirname, p);
|
||||||
|
|
||||||
async function startServer() {
|
async function startServer() {
|
||||||
const app = express();
|
const app = express();
|
||||||
|
|
||||||
// 创建Vite服务器实例
|
// 创建Vite服务器实例
|
||||||
const vite = await createViteServer({
|
const vite = await createViteServer({
|
||||||
server: { middlewareMode: true },
|
server: { middlewareMode: true },
|
||||||
|
@ -19,43 +21,54 @@ async function startServer() {
|
||||||
// 使用Vite的中间件
|
// 使用Vite的中间件
|
||||||
app.use(vite.middlewares);
|
app.use(vite.middlewares);
|
||||||
|
|
||||||
app.use('*', async (req, res) => {
|
if (isProd) {
|
||||||
try {
|
// 生产环境: 提供构建后的静态资源
|
||||||
// 读取index.html文件
|
app.use(express.static(resolve('dist/client'), { index: false }));
|
||||||
const indexProd = fs.readFileSync(path.resolve(__dirname, 'index.html'), 'utf-8');
|
|
||||||
// 应用Vite HTML转换。重要:在生产环境中,这将由Vite自己处理。
|
|
||||||
const indexHtml = await vite.transformIndexHtml(req.originalUrl, indexProd);
|
|
||||||
|
|
||||||
// 加载服务器入口。vite.ssrLoadModule会自动转换ECS模块为CommonJS,可直接被Node.js导入
|
app.use('*', async (req, res) => {
|
||||||
const { render } = await vite.ssrLoadModule('/src/entry-server.ts');
|
let indexHtml = fs.readFileSync(resolve('dist/client/index.html'), 'utf-8');
|
||||||
const {
|
indexHtml = await vite.transformIndexHtml(req.originalUrl, indexHtml);
|
||||||
app, router, pinia, i18n,
|
res.status(200).set({ 'Content-Type': 'text/html' }).end(indexHtml);
|
||||||
cssHtml,
|
});
|
||||||
appHtml,
|
}
|
||||||
} = await render(req, res);
|
else {
|
||||||
|
app.use('*', async (req, res) => {
|
||||||
|
try {
|
||||||
|
// 读取index.html文件
|
||||||
|
const indexProd = fs.readFileSync(path.resolve(__dirname, 'dist/client/index.html'), 'utf-8');
|
||||||
|
// 应用Vite HTML转换。重要:在生产环境中,这将由Vite自己处理。
|
||||||
|
const indexHtml = await vite.transformIndexHtml(req.originalUrl, indexProd);
|
||||||
|
|
||||||
// 设置服务器端路由位置
|
// 加载服务器入口。vite.ssrLoadModule会自动转换ECS模块为CommonJS,可直接被Node.js导入
|
||||||
router.push(req.originalUrl);
|
const { render } = await vite.ssrLoadModule('/src/entry-server.ts');
|
||||||
// 等待路由准备就绪
|
const {
|
||||||
await router.isReady();
|
app, router, pinia, i18n,
|
||||||
|
cssHtml,
|
||||||
|
appHtml,
|
||||||
|
} = await render(req, res);
|
||||||
|
|
||||||
// 注入应用内容到模板中
|
// 设置服务器端路由位置
|
||||||
const html = indexHtml
|
router.push(req.originalUrl);
|
||||||
.replace('<!--app-html-->', appHtml)
|
// 等待路由准备就绪
|
||||||
.replace('<!--app-css-->', cssHtml);
|
await router.isReady();
|
||||||
|
|
||||||
// 发送渲染后的HTML回客户端
|
// 注入应用内容到模板中
|
||||||
res.status(200).set({ 'Content-Type': 'text/html' }).end(html);
|
const html = indexHtml
|
||||||
}
|
.replace('<!--app-html-->', appHtml)
|
||||||
catch (e) {
|
.replace('<!--app-css-->', cssHtml);
|
||||||
// 如果捕获到错误,则使用Vite修复堆栈追踪,并发送500错误
|
|
||||||
vite.ssrFixStacktrace(e);
|
|
||||||
console.error(e);
|
|
||||||
res.status(500).end(e.message);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
app.listen(3000, () => {
|
// 发送渲染后的HTML回客户端
|
||||||
|
res.status(200).set({ 'Content-Type': 'text/html' }).end(html);
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
// 如果捕获到错误,则使用Vite修复堆栈追踪,并发送500错误
|
||||||
|
vite.ssrFixStacktrace(e);
|
||||||
|
console.error(e);
|
||||||
|
res.status(500).end(e.message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
app.listen(3000, '0.0.0.0', () => {
|
||||||
console.log('Server is running on http://localhost:3000');
|
console.log('Server is running on http://localhost:3000');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,37 +7,37 @@ const { isDarkTheme } = toRefs(styleStore);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<c-tooltip :tooltip="$t('home.nav.github')" position="bottom">
|
<!-- <c-tooltip :tooltip="$t('home.nav.github')" position="bottom">-->
|
||||||
<c-button
|
<!-- <c-button-->
|
||||||
circle
|
<!-- circle-->
|
||||||
variant="text"
|
<!-- variant="text"-->
|
||||||
href="https://github.com/CorentinTh/it-tools"
|
<!-- href="https://github.com/zeeklog/it-tools"-->
|
||||||
target="_blank"
|
<!-- target="_blank"-->
|
||||||
rel="noopener noreferrer"
|
<!-- rel="noopener noreferrer"-->
|
||||||
:aria-label="$t('home.nav.githubRepository')"
|
<!-- :aria-label="$t('home.nav.githubRepository')"-->
|
||||||
>
|
<!-- >-->
|
||||||
<n-icon size="25" :component="BrandGithub" />
|
<!-- <n-icon size="25" :component="BrandGithub" />-->
|
||||||
</c-button>
|
<!-- </c-button>-->
|
||||||
</c-tooltip>
|
<!-- </c-tooltip>-->
|
||||||
|
|
||||||
<c-tooltip :tooltip="$t('home.nav.twitter')" position="bottom">
|
<!-- <c-tooltip :tooltip="$t('home.nav.twitter')" position="bottom">-->
|
||||||
<c-button
|
<!-- <c-button-->
|
||||||
circle
|
<!-- circle-->
|
||||||
variant="text"
|
<!-- variant="text"-->
|
||||||
href="https://twitter.com/ittoolsdottech"
|
<!-- href="https://twitter.com/ittoolsdottech"-->
|
||||||
rel="noopener"
|
<!-- rel="noopener"-->
|
||||||
target="_blank"
|
<!-- target="_blank"-->
|
||||||
:aria-label="$t('home.nav.twitterAccount')"
|
<!-- :aria-label="$t('home.nav.twitterAccount')"-->
|
||||||
>
|
<!-- >-->
|
||||||
<n-icon size="25" :component="BrandTwitter" />
|
<!-- <n-icon size="25" :component="BrandTwitter" />-->
|
||||||
</c-button>
|
<!-- </c-button>-->
|
||||||
</c-tooltip>
|
<!-- </c-tooltip>-->
|
||||||
|
|
||||||
<c-tooltip :tooltip="$t('home.nav.about')" position="bottom">
|
<!-- <c-tooltip :tooltip="$t('home.nav.about')" position="bottom">-->
|
||||||
<c-button circle variant="text" to="/about" :aria-label="$t('home.nav.aboutLabel')">
|
<!-- <c-button circle variant="text" @click='window.open("https://zeeklog.com/about-ne0")' :aria-label="$t('home.nav.aboutLabel')">-->
|
||||||
<n-icon size="25" :component="InfoCircle" />
|
<!-- <n-icon size="25" :component="InfoCircle" />-->
|
||||||
</c-button>
|
<!-- </c-button>-->
|
||||||
</c-tooltip>
|
<!-- </c-tooltip>-->
|
||||||
<c-tooltip :tooltip="isDarkTheme ? $t('home.nav.lightMode') : $t('home.nav.darkMode')" position="bottom">
|
<c-tooltip :tooltip="isDarkTheme ? $t('home.nav.lightMode') : $t('home.nav.darkMode')" position="bottom">
|
||||||
<c-button circle variant="text" :aria-label="$t('home.nav.mode')" @click="() => styleStore.toggleDark()">
|
<c-button circle variant="text" :aria-label="$t('home.nav.mode')" @click="() => styleStore.toggleDark()">
|
||||||
<n-icon v-if="isDarkTheme" size="25" :component="Sun" />
|
<n-icon v-if="isDarkTheme" size="25" :component="Sun" />
|
||||||
|
|
|
@ -1,38 +1,11 @@
|
||||||
// entry-client.js
|
// entry-client.js
|
||||||
import { createApp } from './main';
|
import { createApp } from './main';
|
||||||
|
import 'virtual:uno.css';
|
||||||
|
|
||||||
const { app, router } = createApp();
|
const { app, router } = createApp();
|
||||||
|
|
||||||
router.isReady().then(() => {
|
router.isReady().then(() => {
|
||||||
app.mount('#app', true);
|
app.mount('#app', true);
|
||||||
|
}).catch((err) => {
|
||||||
|
console.log(err);
|
||||||
});
|
});
|
||||||
//
|
|
||||||
// // import 'uno.css'; // 确保这是你的 UnoCSS 生成的样式文件
|
|
||||||
//
|
|
||||||
// import { createHead } from '@vueuse/head';
|
|
||||||
//
|
|
||||||
// // src/entry-client.js
|
|
||||||
// import { createApp } from 'vue';
|
|
||||||
// import { createPinia } from 'pinia';
|
|
||||||
// import App from './App.vue';
|
|
||||||
// import router from '@/router';
|
|
||||||
// import { plausible } from '@/plugins/plausible.plugin';
|
|
||||||
// import { naive } from '@/plugins/naive.plugin';
|
|
||||||
// import { i18nPlugin } from '@/plugins/i18n.plugin';
|
|
||||||
//
|
|
||||||
// const app = createApp(App);
|
|
||||||
// const pinia = createPinia();
|
|
||||||
// app.use(pinia);
|
|
||||||
// app.use(createHead());
|
|
||||||
// app.use(i18nPlugin);
|
|
||||||
// app.use(router);
|
|
||||||
// app.use(plausible);
|
|
||||||
// app.use(naive);
|
|
||||||
//
|
|
||||||
// router.isReady().then(() => {
|
|
||||||
// console.log('---- Router is ready, now mounting the app...');
|
|
||||||
// app.mount('#app', true);
|
|
||||||
// console.log('---- App has been mounted successfully.');
|
|
||||||
// }).catch((err) => {
|
|
||||||
// console.log(err);
|
|
||||||
// });
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { renderToString } from '@vue/server-renderer';
|
import { renderToString } from '@vue/server-renderer';
|
||||||
import { setup } from '@css-render/vue3-ssr';
|
import { setup } from '@css-render/vue3-ssr';
|
||||||
import { createApp } from './main';
|
import { createApp } from './main';
|
||||||
// import 'virtual:uno.css';
|
import 'virtual:uno.css';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Render page with naive ui
|
* Render page with naive ui
|
||||||
|
|
|
@ -41,16 +41,15 @@ const tools = computed<ToolCategory[]>(() => [
|
||||||
<MenuLayout class="menu-layout" :class="{ isSmallScreen: styleStore.isSmallScreen }">
|
<MenuLayout class="menu-layout" :class="{ isSmallScreen: styleStore.isSmallScreen }">
|
||||||
<template #sider>
|
<template #sider>
|
||||||
<RouterLink to="/" class="hero-wrapper">
|
<RouterLink to="/" class="hero-wrapper">
|
||||||
<HeroGradient class="gradient" />
|
<!-- <div class="text-wrapper">-->
|
||||||
<div class="text-wrapper">
|
<!-- <div class="title">-->
|
||||||
<div class="title">
|
<!-- IT - TOOLS-->
|
||||||
IT - TOOLS
|
<!-- </div>-->
|
||||||
</div>
|
<!-- <div class="divider" />-->
|
||||||
<div class="divider" />
|
<!-- <div class="subtitle">-->
|
||||||
<div class="subtitle">
|
<!-- {{ $t('home.subtitle') }}-->
|
||||||
{{ $t('home.subtitle') }}
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
|
|
||||||
<div class="sider-content">
|
<div class="sider-content">
|
||||||
|
@ -68,7 +67,7 @@ const tools = computed<ToolCategory[]>(() => [
|
||||||
<div>
|
<div>
|
||||||
IT-Tools
|
IT-Tools
|
||||||
|
|
||||||
<CLink target="_blank" rel="noopener" :href="`https://github.com/CorentinTh/it-tools/tree/v${version}`">
|
<CLink target="_blank" rel="noopener" :href="`https://github.com/zeeklog/it-tools/tree/v${version}`">
|
||||||
v{{ version }}
|
v{{ version }}
|
||||||
</CLink>
|
</CLink>
|
||||||
|
|
||||||
|
@ -78,7 +77,7 @@ const tools = computed<ToolCategory[]>(() => [
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener"
|
rel="noopener"
|
||||||
type="primary"
|
type="primary"
|
||||||
:href="`https://github.com/CorentinTh/it-tools/tree/${commitSha}`"
|
:href="`https://github.com/zeeklog/it-tools/tree/${commitSha}`"
|
||||||
>
|
>
|
||||||
{{ commitSha }}
|
{{ commitSha }}
|
||||||
</CLink>
|
</CLink>
|
||||||
|
@ -86,8 +85,8 @@ const tools = computed<ToolCategory[]>(() => [
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
© {{ new Date().getFullYear() }}
|
© {{ new Date().getFullYear() }}
|
||||||
<CLink target="_blank" rel="noopener" href="https://github.com/CorentinTh">
|
<CLink target="_blank" rel="noopener" href="https://github.com/zeeklog">
|
||||||
Corentin Thomasset
|
Ne0inHK
|
||||||
</CLink>
|
</CLink>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -96,14 +95,14 @@ const tools = computed<ToolCategory[]>(() => [
|
||||||
|
|
||||||
<template #content>
|
<template #content>
|
||||||
<div flex items-center justify-center gap-2>
|
<div flex items-center justify-center gap-2>
|
||||||
<CButton
|
<!-- <CButton-->
|
||||||
circle
|
<!-- circle-->
|
||||||
variant="text"
|
<!-- variant="text"-->
|
||||||
:aria-label="$t('home.toggleMenu')"
|
<!-- :aria-label="$t('home.toggleMenu')"-->
|
||||||
@click="styleStore.isMenuCollapsed = !styleStore.isMenuCollapsed"
|
<!-- @click="styleStore.isMenuCollapsed = !styleStore.isMenuCollapsed"-->
|
||||||
>
|
<!-- >-->
|
||||||
<NIcon size="25" :component="Menu2" />
|
<!-- <NIcon size="25" :component="Menu2" />-->
|
||||||
</CButton>
|
<!-- </CButton>-->
|
||||||
|
|
||||||
<CTooltip :tooltip="$t('home.home')" position="bottom">
|
<CTooltip :tooltip="$t('home.home')" position="bottom">
|
||||||
<CButton to="/" circle variant="text" :aria-label="$t('home.home')">
|
<CButton to="/" circle variant="text" :aria-label="$t('home.home')">
|
||||||
|
@ -125,20 +124,20 @@ const tools = computed<ToolCategory[]>(() => [
|
||||||
<NavbarButtons v-if="!styleStore.isSmallScreen" />
|
<NavbarButtons v-if="!styleStore.isSmallScreen" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<CTooltip position="bottom" :tooltip="$t('home.support')">
|
<!-- <CTooltip position="bottom" :tooltip="$t('home.support')">-->
|
||||||
<CButton
|
<!-- <CButton-->
|
||||||
round
|
<!-- round-->
|
||||||
href="https://www.buymeacoffee.com/cthmsst"
|
<!-- href="https://www.buymeacoffee.com/cthmsst"-->
|
||||||
rel="noopener"
|
<!-- rel="noopener"-->
|
||||||
target="_blank"
|
<!-- target="_blank"-->
|
||||||
class="support-button"
|
<!-- class="support-button"-->
|
||||||
:bordered="false"
|
<!-- :bordered="false"-->
|
||||||
@click="() => tracker.trackEvent({ eventName: 'Support button clicked' })"
|
<!-- @click="() => tracker.trackEvent({ eventName: 'Support button clicked' })"-->
|
||||||
>
|
<!-- >-->
|
||||||
{{ $t('home.buyMeACoffee') }}
|
<!-- {{ $t('home.buyMeACoffee') }}-->
|
||||||
<NIcon v-if="!styleStore.isSmallScreen" :component="Heart" ml-2 />
|
<!-- <NIcon v-if="!styleStore.isSmallScreen" :component="Heart" ml-2 />-->
|
||||||
</CButton>
|
<!-- </CButton>-->
|
||||||
</CTooltip>
|
<!-- </CTooltip>-->
|
||||||
</div>
|
</div>
|
||||||
<slot />
|
<slot />
|
||||||
</template>
|
</template>
|
||||||
|
@ -146,6 +145,10 @@ const tools = computed<ToolCategory[]>(() => [
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
.logo {
|
||||||
|
text-decoration: unset;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
// ::v-deep(.n-layout-scroll-container) {
|
// ::v-deep(.n-layout-scroll-container) {
|
||||||
// @percent: 4%;
|
// @percent: 4%;
|
||||||
// @position: 25px;
|
// @position: 25px;
|
||||||
|
@ -178,14 +181,14 @@ const tools = computed<ToolCategory[]>(() => [
|
||||||
}
|
}
|
||||||
|
|
||||||
.sider-content {
|
.sider-content {
|
||||||
padding-top: 160px;
|
//padding-top: 3em;
|
||||||
padding-bottom: 200px;
|
padding-bottom: 200px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hero-wrapper {
|
.hero-wrapper {
|
||||||
position: absolute;
|
//position: absolute;
|
||||||
display: block;
|
display: block;
|
||||||
left: 0;
|
//left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
|
@ -10,7 +10,7 @@ import type { Tool } from '@/tools/tools.types';
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
|
||||||
const head = computed<HeadObject>(() => ({
|
const head = computed<HeadObject>(() => ({
|
||||||
title: `${route.meta.name} - IT Tools`,
|
title: `${route.meta.name} - Zeeklog Online Tools`,
|
||||||
meta: [
|
meta: [
|
||||||
{
|
{
|
||||||
name: 'description',
|
name: 'description',
|
||||||
|
|
|
@ -5,8 +5,6 @@ import { createHead } from '@vueuse/head';
|
||||||
// import { registerSW } from 'virtual:pwa-register';
|
// import { registerSW } from 'virtual:pwa-register';
|
||||||
import { plausible } from './plugins/plausible.plugin';
|
import { plausible } from './plugins/plausible.plugin';
|
||||||
|
|
||||||
import 'virtual:uno.css';
|
|
||||||
|
|
||||||
import { naive } from './plugins/naive.plugin';
|
import { naive } from './plugins/naive.plugin';
|
||||||
|
|
||||||
import App from './App.vue';
|
import App from './App.vue';
|
||||||
|
|
|
@ -48,7 +48,7 @@ export const useCommandPaletteStore = defineStore('command-palette', () => {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Github repository',
|
name: 'Github repository',
|
||||||
href: 'https://github.com/CorentinTh/it-tools',
|
href: 'https://github.com/zeeklog/it-tools',
|
||||||
category: 'External',
|
category: 'External',
|
||||||
description: 'View the source code of it-tools on Github.',
|
description: 'View the source code of it-tools on Github.',
|
||||||
keywords: ['github', 'repo', 'repository', 'source', 'code'],
|
keywords: ['github', 'repo', 'repository', 'source', 'code'],
|
||||||
|
@ -57,7 +57,7 @@ export const useCommandPaletteStore = defineStore('command-palette', () => {
|
||||||
{
|
{
|
||||||
name: 'Report a bug or an issue',
|
name: 'Report a bug or an issue',
|
||||||
description: 'Report a bug or an issue to help improve it-tools.',
|
description: 'Report a bug or an issue to help improve it-tools.',
|
||||||
href: 'https://github.com/CorentinTh/it-tools/issues/new/choose',
|
href: 'https://github.com/zeeklog/it-tools/issues/new/choose',
|
||||||
category: 'Actions',
|
category: 'Actions',
|
||||||
keywords: ['report', 'issue', 'bug', 'problem', 'error'],
|
keywords: ['report', 'issue', 'bug', 'problem', 'error'],
|
||||||
icon: BugIcon,
|
icon: BugIcon,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useHead } from '@vueuse/head';
|
import { useHead } from '@vueuse/head';
|
||||||
|
|
||||||
useHead({ title: 'Page not found - IT Tools' });
|
useHead({ title: 'Page not found - Zeeklog Online Tools' });
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useHead } from '@vueuse/head';
|
import { useHead } from '@vueuse/head';
|
||||||
|
|
||||||
useHead({ title: 'About - IT Tools' });
|
useHead({ title: 'About - Zeeklog Online Tools' });
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
|
@ -8,7 +8,7 @@ import { config } from '@/config';
|
||||||
|
|
||||||
const toolStore = useToolStore();
|
const toolStore = useToolStore();
|
||||||
|
|
||||||
useHead({ title: 'IT Tools - Handy online tools for developers' });
|
useHead({ title: 'Zeeklog Online Tools - Handy online tools for developers' });
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ const { t } = useI18n();
|
||||||
<ColoredCard :title="$t('home.follow.title')" :icon="Heart">
|
<ColoredCard :title="$t('home.follow.title')" :icon="Heart">
|
||||||
{{ $t('home.follow.p1') }}
|
{{ $t('home.follow.p1') }}
|
||||||
<a
|
<a
|
||||||
href="https://github.com/CorentinTh/it-tools"
|
href="https://github.com/zeeklog/it-tools"
|
||||||
rel="noopener"
|
rel="noopener"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
:aria-label="$t('home.follow.githubRepository')"
|
:aria-label="$t('home.follow.githubRepository')"
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - Color converter', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has title', async ({ page }) => {
|
test('Has title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('Color converter - IT Tools');
|
await expect(page).toHaveTitle('Color converter - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Color is converted from its name to other formats', async ({ page }) => {
|
test('Color is converted from its name to other formats', async ({ page }) => {
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Date time converter - json to yaml', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('Date-time converter - IT Tools');
|
await expect(page).toHaveTitle('Date-time converter - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Format is auto detected from a date and the date is correctly converted', async ({ page }) => {
|
test('Format is auto detected from a date and the date is correctly converted', async ({ page }) => {
|
||||||
|
|
|
@ -6,6 +6,6 @@ test.describe('Tool - Http status codes', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('HTTP status codes - IT Tools');
|
await expect(page).toHaveTitle('HTTP status codes - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -18,7 +18,7 @@ test.describe('Tool - Iban validator and parser', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('IBAN validator and parser - IT Tools');
|
await expect(page).toHaveTitle('IBAN validator and parser - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('iban info are extracted from a valid iban', async ({ page }) => {
|
test('iban info are extracted from a valid iban', async ({ page }) => {
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - IPv4 range expander', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('IPv4 range expander - IT Tools');
|
await expect(page).toHaveTitle('IPv4 range expander - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Calculates correct for valid input', async ({ page }) => {
|
test('Calculates correct for valid input', async ({ page }) => {
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - JSON diff', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('JSON diff - IT Tools');
|
await expect(page).toHaveTitle('JSON diff - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Identical JSONs have a custom result message', async ({ page }) => {
|
test('Identical JSONs have a custom result message', async ({ page }) => {
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - JSON to CSV', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('JSON to CSV - IT Tools');
|
await expect(page).toHaveTitle('JSON to CSV - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Provided json is converted to csv', async ({ page }) => {
|
test('Provided json is converted to csv', async ({ page }) => {
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - JSON to TOML', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('JSON to TOML - IT Tools');
|
await expect(page).toHaveTitle('JSON to TOML - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('JSON is parsed and outputs clean TOML', async ({ page }) => {
|
test('JSON is parsed and outputs clean TOML', async ({ page }) => {
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - json to yaml', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('JSON to YAML converter - IT Tools');
|
await expect(page).toHaveTitle('JSON to YAML converter - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('json is parsed and output clean yaml', async ({ page }) => {
|
test('json is parsed and output clean yaml', async ({ page }) => {
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - List converter', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('List converter - IT Tools');
|
await expect(page).toHaveTitle('List converter - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Simple list should be converted with default settings', async ({ page }) => {
|
test('Simple list should be converted with default settings', async ({ page }) => {
|
||||||
|
|
|
@ -6,6 +6,6 @@ test.describe('Tool - MAC address generator', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('MAC address generator - IT Tools');
|
await expect(page).toHaveTitle('MAC address generator - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - Numeronym generator', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('Numeronym generator - IT Tools');
|
await expect(page).toHaveTitle('Numeronym generator - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('a numeronym is generated when a word is entered', async ({ page }) => {
|
test('a numeronym is generated when a word is entered', async ({ page }) => {
|
||||||
|
|
|
@ -9,7 +9,7 @@ test.describe('Tool - OTP code generator', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has title', async ({ page }) => {
|
test('Has title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('OTP code generator - IT Tools');
|
await expect(page).toHaveTitle('OTP code generator - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Secret hexa value is computed from provided secret', async ({ page }) => {
|
test('Secret hexa value is computed from provided secret', async ({ page }) => {
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - Password strength analyser', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('Password strength analyser - IT Tools');
|
await expect(page).toHaveTitle('Password strength analyser - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Computes the brute force attack time of a password', async ({ page }) => {
|
test('Computes the brute force attack time of a password', async ({ page }) => {
|
||||||
|
|
|
@ -6,6 +6,6 @@ test.describe('Tool - Pdf signature checker', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('PDF signature checker - IT Tools');
|
await expect(page).toHaveTitle('PDF signature checker - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - Percentage calculator', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('Percentage calculator - IT Tools');
|
await expect(page).toHaveTitle('Percentage calculator - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Correctly works out percentages', async ({ page }) => {
|
test('Correctly works out percentages', async ({ page }) => {
|
||||||
|
|
|
@ -6,6 +6,6 @@ test.describe('Tool - Phone parser and formatter', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('Phone parser and formatter - IT Tools');
|
await expect(page).toHaveTitle('Phone parser and formatter - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - Text to ASCII binary', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('Text to ASCII binary - IT Tools');
|
await expect(page).toHaveTitle('Text to ASCII binary - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Text to binary conversion', async ({ page }) => {
|
test('Text to binary conversion', async ({ page }) => {
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - Text to Unicode', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('Text to Unicode - IT Tools');
|
await expect(page).toHaveTitle('Text to Unicode - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Text to unicode conversion', async ({ page }) => {
|
test('Text to unicode conversion', async ({ page }) => {
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - Token generator', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has title', async ({ page }) => {
|
test('Has title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('Token generator - IT Tools');
|
await expect(page).toHaveTitle('Token generator - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('New token on refresh', async ({ page }) => {
|
test('New token on refresh', async ({ page }) => {
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - TOML to JSON', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('TOML to JSON - IT Tools');
|
await expect(page).toHaveTitle('TOML to JSON - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('TOML is parsed and outputs clean JSON', async ({ page }) => {
|
test('TOML is parsed and outputs clean JSON', async ({ page }) => {
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - TOML to YAML', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('TOML to YAML - IT Tools');
|
await expect(page).toHaveTitle('TOML to YAML - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('TOML is parsed and outputs clean YAML', async ({ page }) => {
|
test('TOML is parsed and outputs clean YAML', async ({ page }) => {
|
||||||
|
|
|
@ -8,7 +8,7 @@ test.describe('Tool - ULID generator', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('ULID generator - IT Tools');
|
await expect(page).toHaveTitle('ULID generator - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('the refresh button generates a new ulid', async ({ page }) => {
|
test('the refresh button generates a new ulid', async ({ page }) => {
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - XML formatter', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('XML formatter - IT Tools');
|
await expect(page).toHaveTitle('XML formatter - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('XML is converted into a human readable format', async ({ page }) => {
|
test('XML is converted into a human readable format', async ({ page }) => {
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - Yaml to json', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('YAML to JSON converter - IT Tools');
|
await expect(page).toHaveTitle('YAML to JSON converter - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Yaml is parsed and output clean json', async ({ page }) => {
|
test('Yaml is parsed and output clean json', async ({ page }) => {
|
||||||
|
|
|
@ -6,7 +6,7 @@ test.describe('Tool - YAML to TOML', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Has correct title', async ({ page }) => {
|
test('Has correct title', async ({ page }) => {
|
||||||
await expect(page).toHaveTitle('YAML to TOML - IT Tools');
|
await expect(page).toHaveTitle('YAML to TOML - Zeeklog Online Tools');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('JSON is parsed and outputs clean TOML', async ({ page }) => {
|
test('JSON is parsed and outputs clean TOML', async ({ page }) => {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
const md = `
|
const md = `
|
||||||
# IT Tools
|
# Zeeklog Online Tools
|
||||||
|
|
||||||
## About
|
## About
|
||||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, nisl quis
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, nisl quis
|
||||||
|
|
|
@ -16,7 +16,8 @@ import { defineConfig } from 'vite';
|
||||||
import markdown from 'vite-plugin-vue-markdown';
|
import markdown from 'vite-plugin-vue-markdown';
|
||||||
import svgLoader from 'vite-svg-loader';
|
import svgLoader from 'vite-svg-loader';
|
||||||
import { configDefaults } from 'vitest/config';
|
import { configDefaults } from 'vitest/config';
|
||||||
import ssr from 'vite-plugin-ssr/plugin';
|
|
||||||
|
import { ssr } from 'vite-plugin-ssr/plugin';
|
||||||
|
|
||||||
const baseUrl = process.env.BASE_URL ?? '/';
|
const baseUrl = process.env.BASE_URL ?? '/';
|
||||||
|
|
||||||
|
@ -59,7 +60,7 @@ export default defineConfig({
|
||||||
// registerType: 'autoUpdate',
|
// registerType: 'autoUpdate',
|
||||||
// strategies: 'generateSW',
|
// strategies: 'generateSW',
|
||||||
// manifest: {
|
// manifest: {
|
||||||
// name: 'IT Tools',
|
// name: 'Zeeklog Online Tools',
|
||||||
// description: 'Aggregated set of useful tools for developers.',
|
// description: 'Aggregated set of useful tools for developers.',
|
||||||
// display: 'standalone',
|
// display: 'standalone',
|
||||||
// lang: 'fr-FR',
|
// lang: 'fr-FR',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue