mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-05-05 13:57:10 -04:00
🔒 SUPPORT SSR SITE REBUILD && DECLARE FORK TARGET REPO:IT-TOOL
This commit is contained in:
parent
61035dd088
commit
80aa4292a5
6 changed files with 7019 additions and 5530 deletions
28
index.html
28
index.html
|
@ -4,18 +4,18 @@
|
|||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="favicon.ico" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>IT Tools</title>
|
||||
<meta itemprop="name" content="IT Tools" />
|
||||
<title>极客日志 - 在线工具箱 - zeeklog</title>
|
||||
<meta itemprop="name" content="Zeeklog online tools" />
|
||||
<meta
|
||||
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
|
||||
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="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="icon" type="image/png" sizes="32x32" href="favicon-32x32.png" />
|
||||
|
@ -24,32 +24,30 @@
|
|||
<meta name="msapplication-TileColor" content="#da532c" />
|
||||
<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:title" content="IT Tools" />
|
||||
<meta property="og:title" content="Zeeklog online tools" />
|
||||
<meta
|
||||
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:site" content="@ittoolsdottech" />
|
||||
<meta name="twitter:creator" content="@cthmsst" />
|
||||
|
||||
<meta name="twitter:title" content="IT Tools" />
|
||||
<meta name="twitter:title" content="Zeeklog online tools" />
|
||||
<meta
|
||||
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:alt" content="IT Tools" />
|
||||
<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/main.ts"></script>-->
|
||||
<script type="module" src="/src/entry-client.ts"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
},
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vue-tsc --noEmit && NODE_OPTIONS=--max_old_space_size=4096 vite build",
|
||||
"build": "vue-tsc --noEmit && vite build",
|
||||
"build:ssr": "node server.js",
|
||||
"preview": "vite preview --port 5050",
|
||||
"test": "npm run test:unit",
|
||||
|
|
11721
pnpm-lock.yaml
generated
11721
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load diff
|
@ -7,37 +7,37 @@ const { isDarkTheme } = toRefs(styleStore);
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<c-tooltip :tooltip="$t('home.nav.github')" position="bottom">
|
||||
<c-button
|
||||
circle
|
||||
variant="text"
|
||||
href="https://github.com/CorentinTh/it-tools"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
:aria-label="$t('home.nav.githubRepository')"
|
||||
>
|
||||
<n-icon size="25" :component="BrandGithub" />
|
||||
</c-button>
|
||||
</c-tooltip>
|
||||
<!-- <c-tooltip :tooltip="$t('home.nav.github')" position="bottom">-->
|
||||
<!-- <c-button-->
|
||||
<!-- circle-->
|
||||
<!-- variant="text"-->
|
||||
<!-- href="https://github.com/CorentinTh/it-tools"-->
|
||||
<!-- target="_blank"-->
|
||||
<!-- rel="noopener noreferrer"-->
|
||||
<!-- :aria-label="$t('home.nav.githubRepository')"-->
|
||||
<!-- >-->
|
||||
<!-- <n-icon size="25" :component="BrandGithub" />-->
|
||||
<!-- </c-button>-->
|
||||
<!-- </c-tooltip>-->
|
||||
|
||||
<c-tooltip :tooltip="$t('home.nav.twitter')" position="bottom">
|
||||
<c-button
|
||||
circle
|
||||
variant="text"
|
||||
href="https://twitter.com/ittoolsdottech"
|
||||
rel="noopener"
|
||||
target="_blank"
|
||||
:aria-label="$t('home.nav.twitterAccount')"
|
||||
>
|
||||
<n-icon size="25" :component="BrandTwitter" />
|
||||
</c-button>
|
||||
</c-tooltip>
|
||||
<!-- <c-tooltip :tooltip="$t('home.nav.twitter')" position="bottom">-->
|
||||
<!-- <c-button-->
|
||||
<!-- circle-->
|
||||
<!-- variant="text"-->
|
||||
<!-- href="https://twitter.com/ittoolsdottech"-->
|
||||
<!-- rel="noopener"-->
|
||||
<!-- target="_blank"-->
|
||||
<!-- :aria-label="$t('home.nav.twitterAccount')"-->
|
||||
<!-- >-->
|
||||
<!-- <n-icon size="25" :component="BrandTwitter" />-->
|
||||
<!-- </c-button>-->
|
||||
<!-- </c-tooltip>-->
|
||||
|
||||
<c-tooltip :tooltip="$t('home.nav.about')" position="bottom">
|
||||
<c-button circle variant="text" to="/about" :aria-label="$t('home.nav.aboutLabel')">
|
||||
<n-icon size="25" :component="InfoCircle" />
|
||||
</c-button>
|
||||
</c-tooltip>
|
||||
<!-- <c-tooltip :tooltip="$t('home.nav.about')" position="bottom">-->
|
||||
<!-- <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" />-->
|
||||
<!-- </c-button>-->
|
||||
<!-- </c-tooltip>-->
|
||||
<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()">
|
||||
<n-icon v-if="isDarkTheme" size="25" :component="Sun" />
|
||||
|
|
|
@ -1,38 +1,42 @@
|
|||
// // entry-client.js
|
||||
// import { createApp } from './main';
|
||||
//
|
||||
// const { app, router } = createApp();
|
||||
//
|
||||
// router.isReady().then(() => {
|
||||
// app.mount('#app', true);
|
||||
// });
|
||||
|
||||
// entry-client.js
|
||||
import { createApp } from './main';
|
||||
// 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);
|
||||
const { app, router } = createApp();
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
//
|
||||
// // 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);
|
||||
// });
|
||||
|
|
|
@ -41,7 +41,7 @@ const tools = computed<ToolCategory[]>(() => [
|
|||
<MenuLayout class="menu-layout" :class="{ isSmallScreen: styleStore.isSmallScreen }">
|
||||
<template #sider>
|
||||
<RouterLink to="/" class="hero-wrapper">
|
||||
<HeroGradient class="gradient" />
|
||||
<!-- <HeroGradient class="gradient" />-->
|
||||
<div class="text-wrapper">
|
||||
<div class="title">
|
||||
IT - TOOLS
|
||||
|
@ -96,14 +96,14 @@ const tools = computed<ToolCategory[]>(() => [
|
|||
|
||||
<template #content>
|
||||
<div flex items-center justify-center gap-2>
|
||||
<CButton
|
||||
circle
|
||||
variant="text"
|
||||
:aria-label="$t('home.toggleMenu')"
|
||||
@click="styleStore.isMenuCollapsed = !styleStore.isMenuCollapsed"
|
||||
>
|
||||
<NIcon size="25" :component="Menu2" />
|
||||
</CButton>
|
||||
<!-- <CButton-->
|
||||
<!-- circle-->
|
||||
<!-- variant="text"-->
|
||||
<!-- :aria-label="$t('home.toggleMenu')"-->
|
||||
<!-- @click="styleStore.isMenuCollapsed = !styleStore.isMenuCollapsed"-->
|
||||
<!-- >-->
|
||||
<!-- <NIcon size="25" :component="Menu2" />-->
|
||||
<!-- </CButton>-->
|
||||
|
||||
<CTooltip :tooltip="$t('home.home')" position="bottom">
|
||||
<CButton to="/" circle variant="text" :aria-label="$t('home.home')">
|
||||
|
@ -125,20 +125,20 @@ const tools = computed<ToolCategory[]>(() => [
|
|||
<NavbarButtons v-if="!styleStore.isSmallScreen" />
|
||||
</div>
|
||||
|
||||
<CTooltip position="bottom" :tooltip="$t('home.support')">
|
||||
<CButton
|
||||
round
|
||||
href="https://www.buymeacoffee.com/cthmsst"
|
||||
rel="noopener"
|
||||
target="_blank"
|
||||
class="support-button"
|
||||
:bordered="false"
|
||||
@click="() => tracker.trackEvent({ eventName: 'Support button clicked' })"
|
||||
>
|
||||
{{ $t('home.buyMeACoffee') }}
|
||||
<NIcon v-if="!styleStore.isSmallScreen" :component="Heart" ml-2 />
|
||||
</CButton>
|
||||
</CTooltip>
|
||||
<!-- <CTooltip position="bottom" :tooltip="$t('home.support')">-->
|
||||
<!-- <CButton-->
|
||||
<!-- round-->
|
||||
<!-- href="https://www.buymeacoffee.com/cthmsst"-->
|
||||
<!-- rel="noopener"-->
|
||||
<!-- target="_blank"-->
|
||||
<!-- class="support-button"-->
|
||||
<!-- :bordered="false"-->
|
||||
<!-- @click="() => tracker.trackEvent({ eventName: 'Support button clicked' })"-->
|
||||
<!-- >-->
|
||||
<!-- {{ $t('home.buyMeACoffee') }}-->
|
||||
<!-- <NIcon v-if="!styleStore.isSmallScreen" :component="Heart" ml-2 />-->
|
||||
<!-- </CButton>-->
|
||||
<!-- </CTooltip>-->
|
||||
</div>
|
||||
<slot />
|
||||
</template>
|
||||
|
@ -178,7 +178,7 @@ const tools = computed<ToolCategory[]>(() => [
|
|||
}
|
||||
|
||||
.sider-content {
|
||||
padding-top: 160px;
|
||||
//padding-top: 160px;
|
||||
padding-bottom: 200px;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue