save
This commit is contained in:
@@ -2,81 +2,51 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.png"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<title>Type Words - 词文记 | 单词跟打 · 文章跟打</title>
|
||||
<title>Type Words 官网 - 词文记 | 单词跟打 · 文章跟打</title>
|
||||
<!-- 搜索引擎描述 -->
|
||||
<meta name="description"
|
||||
content="Type Words:在线英语练习平台,支持单词、文章跟打练习,提升打字与语言能力。Practice English, one keystroke at a time.">
|
||||
content="Type Words 官方网站 - 在线英语练习平台,支持单词、文章跟打练习,提升英语学习效率。Practice English, one strike, one step forward">
|
||||
<!-- 关键词(可选,搜索引擎基本不用,但能补充信息) -->
|
||||
<meta name="keywords"
|
||||
content="Type Words, Typing Word, 英语打字练习, 单词跟打, 文章跟打, 键盘练习, 英语学习, 文章学习">
|
||||
content="Type Words, Typing Word, Type Words 官网, 官方网站, 英语打字练习, 单词跟打, 文章跟打, 键盘练习, 英语学习, 文章学习, 打字练习软件, 单词记忆工具, 英语学习软件, 背单词神器, 英语肌肉记忆, 键盘工作者, 免费英语学习, 音标发音, 默写练习, 在线学英语, CET-4, CET-6, TOEFL, IELTS, GRE, GMAT, SAT, 考研英语, 专四专八, 程序员英语, JavaScript API, Node.js API, Java API, Linux命令, 编程词汇, 技术英语, VSCode插件, 开源项目, GitHub趋势榜, V2EX热搜, Gitee GVP, 少数派推荐, 英语打字训练, WPM统计, 准确率分析, 商务英语, BEC, 雅思听力, 日语学习, 多语言学习, 英语口语练习, 单词拼写训练">
|
||||
|
||||
<meta name="author" content="zyronon" />
|
||||
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
|
||||
<link rel="canonical" href="https://2study.top/" />
|
||||
|
||||
<!-- Open Graph(用于社交媒体分享,微信/QQ/知乎/Facebook 等) -->
|
||||
<meta property="og:title" content="Type Words - 英语打字练习平台">
|
||||
<meta property="og:title" content="Type Words 官网 - 英语打字练习平台">
|
||||
<meta property="og:description"
|
||||
content="在线英语打字练习平台,支持单词跟打与文章跟打,帮助提升打字速度与英语学习效率。">
|
||||
content="Type Words 官方网站 - 在线英语练习平台,支持单词、文章跟打练习,提升英语学习效率。Practice English, one strike, one step forward">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://2study.top/">
|
||||
<meta property="og:image" content="https://2study.top/favicon.png">
|
||||
|
||||
<!-- Twitter Card(用于 Twitter 分享) -->
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Type Words - 英语打字练习平台">
|
||||
<meta name="twitter:title" content="Type Words 官网 - 英语打字练习平台">
|
||||
<meta name="twitter:description"
|
||||
content="Type Words:在线英语练习平台,支持单词跟打、文章练习,提升打字速度与英语水平。">
|
||||
content="Type Words 官方网站 - 在线英语练习平台,支持单词、文章跟打练习,提升英语学习效率。Practice English, one strike, one step forward">
|
||||
<meta name="twitter:image" content="https://2study.top/favicon.png">
|
||||
|
||||
<script>
|
||||
if ('serviceWorker' in navigator) {
|
||||
window.addEventListener('load', () => {
|
||||
navigator.serviceWorker.register('/service-worker.js').then(registration => {
|
||||
console.log('ServiceWorker registration successful with scope: ', registration.scope);
|
||||
}).catch(error => {
|
||||
console.log('ServiceWorker registration failed: ', error);
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
function nav(url) {
|
||||
window.location.href = url;
|
||||
// history.pushState(null, "", url);
|
||||
}
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.png"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<!-- 苹果设备(iOS Safari)在用户添加到主屏时显示的图标-->
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/favicon.png" />
|
||||
<!-- 设置浏览器地址栏颜色(在 Android Chrome 特别明显)。-->
|
||||
<meta name="theme-color" content="#818CF8" />
|
||||
|
||||
function toggleEl(val, close = false) {
|
||||
let le = document.querySelector(val)
|
||||
if (le) {
|
||||
if (['none', ''].includes(le.style.display) && !close) {
|
||||
le.style.display = 'block';
|
||||
setTimeout(function () {
|
||||
le.style.opacity = 1;
|
||||
}, 10)
|
||||
} else {
|
||||
le.style.opacity = 0;
|
||||
setTimeout(function () {
|
||||
le.style.display = 'none';
|
||||
}, 300)
|
||||
}
|
||||
}
|
||||
}
|
||||
<!-- 阻止 iOS 自动把数字识别为电话号码。-->
|
||||
<!-- HandheldFriendly 和 MobileOptimized 是旧手机浏览器的优化提示(现在作用不大)。-->
|
||||
<meta name="format-detection" content="telephone=no" />
|
||||
<meta name="HandheldFriendly" content="True" />
|
||||
<meta name="MobileOptimized" content="320" />
|
||||
|
||||
function toggleWechatDialog() {
|
||||
toggleEl('.mask')
|
||||
toggleEl('#wechatDialog')
|
||||
}
|
||||
<!-- referrer 控制请求来源信息-->
|
||||
<meta name="referrer" content="origin-when-cross-origin" />
|
||||
<!-- color-scheme 告诉浏览器支持亮/暗模式-->
|
||||
<meta name="color-scheme" content="light dark" />
|
||||
|
||||
function toggleXhsDialog() {
|
||||
toggleEl('.mask')
|
||||
toggleEl('#xhsDialog')
|
||||
}
|
||||
|
||||
function closeDialog() {
|
||||
toggleEl('.mask')
|
||||
toggleEl('#wechatDialog', true)
|
||||
toggleEl('#xhsDialog', true)
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
background: rgb(231, 232, 235);
|
||||
@@ -95,7 +65,7 @@
|
||||
|
||||
h2 {
|
||||
font-size: 1.4rem !important;
|
||||
font-weight: bold !important;
|
||||
font-weight: normal !important;
|
||||
color: rgb(91, 91, 91);
|
||||
margin: 0;
|
||||
}
|
||||
@@ -108,7 +78,7 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 0.8rem;
|
||||
gap: 0.6rem;
|
||||
margin-bottom: 0;
|
||||
width: 25%;
|
||||
background: rgb(247, 247, 247);
|
||||
@@ -149,9 +119,9 @@
|
||||
white-space: nowrap;
|
||||
border-radius: 0.3rem;
|
||||
color: white;
|
||||
background: rgb(75, 85, 99);
|
||||
background: rgb(12, 140, 233);
|
||||
padding: 0 1.3rem;
|
||||
height: 2.4rem;
|
||||
height: 2.5rem;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
@@ -228,6 +198,7 @@
|
||||
}
|
||||
|
||||
.content {
|
||||
margin-top: 6rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
@@ -240,11 +211,15 @@
|
||||
}
|
||||
|
||||
.sky {
|
||||
margin-top: 3rem;
|
||||
border-top: 1px solid #cecece;
|
||||
border-bottom: 1px solid #cecece;
|
||||
padding: 1.2rem 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
gap: 1rem;
|
||||
gap: 0.4rem;
|
||||
width: 100%;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
@@ -267,9 +242,9 @@
|
||||
.bottom {
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
margin: 2rem 0;
|
||||
margin:1rem 0 2rem 0;
|
||||
width: 100%;
|
||||
padding-top: 2rem;
|
||||
padding-top: 1.5rem;
|
||||
border-top: 1px solid #c4c4c4;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
@@ -291,14 +266,69 @@
|
||||
margin-top: 1.2rem;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
if ('serviceWorker' in navigator) {
|
||||
window.addEventListener('load', () => {
|
||||
navigator.serviceWorker.register('/service-worker.js').then(registration => {
|
||||
console.log('ServiceWorker registration successful with scope: ', registration.scope);
|
||||
}).catch(error => {
|
||||
console.log('ServiceWorker registration failed: ', error);
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
function nav(url) {
|
||||
window.location.href = url;
|
||||
// history.pushState(null, "", url);
|
||||
}
|
||||
|
||||
function toggleEl(val, close = false) {
|
||||
let le = document.querySelector(val)
|
||||
if (le) {
|
||||
if (['none', ''].includes(le.style.display) && !close) {
|
||||
le.style.display = 'block';
|
||||
setTimeout(function () {
|
||||
le.style.opacity = 1;
|
||||
}, 10)
|
||||
} else {
|
||||
le.style.opacity = 0;
|
||||
setTimeout(function () {
|
||||
le.style.display = 'none';
|
||||
}, 300)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function toggleWechatDialog() {
|
||||
toggleEl('.mask')
|
||||
toggleEl('#wechatDialog')
|
||||
}
|
||||
function toggleQQDialog() {
|
||||
toggleEl('.mask')
|
||||
toggleEl('#qqDialog')
|
||||
}
|
||||
|
||||
function toggleXhsDialog() {
|
||||
toggleEl('.mask')
|
||||
toggleEl('#xhsDialog')
|
||||
}
|
||||
|
||||
function closeDialog() {
|
||||
toggleEl('.mask')
|
||||
toggleEl('#wechatDialog', true)
|
||||
toggleEl('#xhsDialog', true)
|
||||
toggleEl('#qqDialog', true)
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<div class="content">
|
||||
<h1>Type Words</h1>
|
||||
<div class="text-center">
|
||||
<h2>学习英语,一次敲击,一点进步</h2>
|
||||
<h2>记忆不再盲目,学习更高效,开源单词与文章练习工具</h2>
|
||||
<h2>学习英语,一次敲击,一点进步,开源单词与文章练习工具</h2>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="base-button" onclick="nav('/words')">单词练习</div>
|
||||
@@ -306,11 +336,11 @@
|
||||
</div>
|
||||
|
||||
<div class="sky">
|
||||
<a href="https://skywork.ai/p/GrXQb4" class="w" target="_blank">
|
||||
<img src="/skywork-ai.png"
|
||||
<a href="https://skywork.ai/p/GrXQb4" style="width: 40%;" target="_blank">
|
||||
<img src="https://2study.top/skywork-ai.png"
|
||||
alt="Skywork.AI"
|
||||
class="sky-img"></a>
|
||||
<span>Skywork.AI:<a href="https://skywork.ai/p/GrXQb4" class="color-blue!" target="_blank">10 tasks in 1 hour, not 10 hours →Limited free spots: 127 left</a></span>
|
||||
<span>赞助:<a href="https://skywork.ai/p/GrXQb4" class="color-blue!" target="_blank">Skywork.AI: 10 tasks in 1 hour, not 10 hours →Limited free spots: 127 left</a></span>
|
||||
</div>
|
||||
<div class="w">
|
||||
<div class="card-wrap">
|
||||
@@ -383,7 +413,7 @@
|
||||
<div class="title">简洁高效</div>
|
||||
<div class="desc">
|
||||
<ul>
|
||||
<li>简洁设计,现代化UI,无广告</li>
|
||||
<li>简洁设计,现代化UI</li>
|
||||
<li>界面清爽,操作简单</li>
|
||||
<li>不强制关注任何平台</li>
|
||||
</ul>
|
||||
@@ -425,6 +455,10 @@
|
||||
d="M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 0 1 .213.665l-.39 1.48c-.019.07-.048.141-.048.213c0 .163.13.295.29.295a.33.33 0 0 0 .167-.054l1.903-1.114a.86.86 0 0 1 .717-.098a10.2 10.2 0 0 0 2.837.403c.276 0 .543-.027.811-.05c-.857-2.578.157-4.972 1.932-6.446c1.703-1.415 3.882-1.98 5.853-1.838c-.576-3.583-4.196-6.348-8.596-6.348M5.785 5.991c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178A1.17 1.17 0 0 1 4.623 7.17c0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178a1.17 1.17 0 0 1-1.162-1.178c0-.651.52-1.18 1.162-1.18m5.34 2.867c-1.797-.052-3.746.512-5.28 1.786c-1.72 1.428-2.687 3.72-1.78 6.22c.942 2.453 3.666 4.229 6.884 4.229c.826 0 1.622-.12 2.361-.336a.72.72 0 0 1 .598.082l1.584.926a.3.3 0 0 0 .14.047c.134 0 .24-.111.24-.247c0-.06-.023-.12-.038-.177l-.327-1.233a.6.6 0 0 1-.023-.156a.49.49 0 0 1 .201-.398C23.024 18.48 24 16.82 24 14.98c0-3.21-2.931-5.837-6.656-6.088V8.89c-.135-.01-.27-.027-.407-.03zm-2.53 3.274c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983a.976.976 0 0 1-.969-.983c0-.542.434-.982.97-.982zm4.844 0c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983a.976.976 0 0 1-.969-.983c0-.542.434-.982.969-.982"></path>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<div class="icon" onclick="toggleQQDialog()">
|
||||
<svg viewBox="0 0 24 24" width="1.4em" height="1.4em"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"/><path fill="currentColor" d="M12 2a6.285 6.285 0 0 0-6.276 5.937l-.146 2.63a28 28 0 0 0-.615 1.41c-1.24 3.073-1.728 5.773-1.088 6.032c.335.135.913-.426 1.566-1.432a6.67 6.67 0 0 0 1.968 3.593c-1.027.35-1.91.828-1.91 1.33c0 .509 2.48.503 4.239.5h.001c.549-.002 1.01-.008 1.38-.057a6.7 6.7 0 0 0 1.76 0c.37.05.833.055 1.382.056c1.76.004 4.239.01 4.239-.499c0-.502-.883-.979-1.909-1.33a6.67 6.67 0 0 0 1.967-3.586c.65 1.002 1.227 1.56 1.56 1.425c.64-.259.154-2.96-1.088-6.032a28 28 0 0 0-.607-1.395l-.147-2.645A6.285 6.285 0 0 0 12 2"/></g></svg>
|
||||
</div>
|
||||
<div class="icon" onclick="toggleXhsDialog()">
|
||||
<svg viewBox="0 0 24 24" width="1.4em" height="1.4em">
|
||||
<path fill="currentColor"
|
||||
@@ -464,7 +498,7 @@
|
||||
|
||||
<div class="dialog" id="wechatDialog">
|
||||
<header>
|
||||
<div class="title">Type Words 交流群</div>
|
||||
<div class="title">微信群</div>
|
||||
<svg
|
||||
onclick="toggleWechatDialog()"
|
||||
viewBox="0 0 20 20" width="24" height="1.2em" class="cursor-pointer">
|
||||
@@ -473,9 +507,7 @@
|
||||
</svg>
|
||||
</header>
|
||||
<div class="dialog-body">
|
||||
<span>
|
||||
加入我们的用户社群后,您可以与我们的开发团队进行沟通,分享您的使用体验和建议,帮助我们改进产品,同时也能够及时了解我们的最新动态和更新内容。
|
||||
</span>
|
||||
<span>加入我们的用户社群后,您可以与我们的开发团队进行沟通,分享您的使用体验和建议,帮助我们改进产品,同时也能够及时了解我们的最新动态和更新内容。</span>
|
||||
<div class="center">
|
||||
<img src="/wechat.png" alt="微信群二维码" class="img">
|
||||
</div>
|
||||
@@ -499,6 +531,24 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dialog" id="qqDialog">
|
||||
<header>
|
||||
<div class="title">QQ群</div>
|
||||
<svg
|
||||
onclick="toggleXhsDialog()"
|
||||
viewBox="0 0 20 20" width="24" height="1.2em" class="cursor-pointer">
|
||||
<path fill="currentColor"
|
||||
d="m4.089 4.216l.057-.07a.5.5 0 0 1 .638-.057l.07.057L10 9.293l5.146-5.147a.5.5 0 0 1 .638-.057l.07.057a.5.5 0 0 1 .057.638l-.057.07L10.707 10l5.147 5.146a.5.5 0 0 1 .057.638l-.057.07a.5.5 0 0 1-.638.057l-.07-.057L10 10.707l-5.146 5.147a.5.5 0 0 1-.638.057l-.07-.057a.5.5 0 0 1-.057-.638l.057-.07L9.293 10L4.146 4.854a.5.5 0 0 1-.057-.638l.057-.07z"></path>
|
||||
</svg>
|
||||
</header>
|
||||
<div class="dialog-body">
|
||||
<span>加入我们的用户社群后,您可以与我们的开发团队进行沟通,分享您的使用体验和建议,帮助我们改进产品,同时也能够及时了解我们的最新动态和更新内容。</span>
|
||||
<div class="center">
|
||||
<img src="/qq.jpg" alt="QQ群二维码" class="img">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user