front/index.html
2025-02-22 02:30:50 +08:00

814 lines
24 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN" dir="auto">
<head>
<meta name="generator" content="Hugo 0.127.0"><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="index, follow">
<title>NEU小站</title>
<meta name="description" content="">
<meta name="author" content="
V
V
">
<link rel="canonical" href="https://xn--xhq44jb2fzpc.com/">
<link rel="stylesheet" href="/css/custom.css">
<link rel="stylesheet" href="/css/dl.css">
<link crossorigin="anonymous" href="/assets/css/stylesheet.css" rel="preload stylesheet" as="style">
<link rel="icon" href="https://xn--xhq44jb2fzpc.com/icons/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="https://xn--xhq44jb2fzpc.com/icons/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://xn--xhq44jb2fzpc.com/icons/favicon-32x32.png">
<link rel="apple-touch-icon" href="https://xn--xhq44jb2fzpc.com/icons/apple-touch-icon.png">
<link rel="mask-icon" href="https://xn--xhq44jb2fzpc.com/safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="https://xn--xhq44jb2fzpc.com/index.xml">
<link rel="alternate" type="application/json" href="https://xn--xhq44jb2fzpc.com/index.json">
<link rel="alternate" hreflang="en" href="https://xn--xhq44jb2fzpc.com/">
<noscript>
<style>
#theme-toggle,
.top-link {
display: none;
}
</style>
<style>
@media (prefers-color-scheme: dark) {
:root {
--theme: rgb(29, 30, 32);
--entry: rgb(46, 46, 51);
--primary: rgb(218, 218, 219);
--secondary: rgb(155, 156, 157);
--tertiary: rgb(65, 66, 68);
--content: rgb(196, 196, 197);
--code-block-bg: rgb(46, 46, 51);
--code-bg: rgb(55, 56, 62);
--border: rgb(51, 51, 51);
}
.list {
background: var(--theme);
}
.list:not(.dark)::-webkit-scrollbar-track {
background: 0 0;
}
.list:not(.dark)::-webkit-scrollbar-thumb {
border-color: var(--theme);
}
}
</style>
</noscript>
<meta property="og:title" content="NEU小站" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://xn--xhq44jb2fzpc.com/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="NEU小站"/>
<meta name="twitter:description" content=""/>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "NEU小站",
"url": "https://xn--xhq44jb2fzpc.com/",
"description": "",
"thumbnailUrl": "https://xn--xhq44jb2fzpc.com/icons/favicon.ico",
"sameAs": [
]
}
</script>
<link rel="stylesheet" href="/css/custom.css">
</head>
<body class="list" id="top">
<script>
if (localStorage.getItem("pref-theme") === "dark") {
document.body.classList.add('dark');
} else if (localStorage.getItem("pref-theme") === "light") {
document.body.classList.remove('dark')
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
document.body.classList.add('dark');
}
</script>
<header class="header">
<nav class="nav">
<div class="logo">
<a href="https://xn--xhq44jb2fzpc.com/" accesskey="h" title="NEU小站 (Alt + H)">
<img src="https://download.东北大学.com/images/logo-hd.png" alt="" style="height: 1.5em; vertical-align: middle; margin-right: 10px;">NEU小站</a>
<div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</div>
</div>
<ul id="menu">
<li>
<a href="https://xn--xhq44jb2fzpc.com/" title="主页">
<span class="active">主页</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/rapidlinks/%E5%BF%AB%E9%80%9F%E9%93%BE%E6%8E%A5/" title="快速链接">
<span>快速链接</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/strategy/" title="攻略指南">
<span>攻略指南</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/resources/" title="资源共享">
<span>资源共享</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/search/" title="搜索">
<span>搜索</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/feedback/" title="意见反馈">
<span>意见反馈</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/submission/" title="用户中心">
<span>用户中心</span>
</a>
</li>
<li>
<a href="https://course.%e4%b8%9c%e5%8c%97%e5%a4%a7%e5%ad%a6.com" title="课程评分"target="_blank">
<span>课程评分</span>&nbsp;
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
<path d="M15 3h6v6"></path>
<path d="M10 14L21 3"></path>
</svg>
</a>
</li>
<li>
<a href="https://oj.%e4%b8%9c%e5%8c%97%e5%a4%a7%e5%ad%a6.com" title="小站OJ题库"target="_blank">
<span>小站OJ题库</span>&nbsp;
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
<path d="M15 3h6v6"></path>
<path d="M10 14L21 3"></path>
</svg>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/log/" title="更新日志">
<span>更新日志</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/intro/" title="关于">
<span>关于</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<div class="container">
<div class="top-row">
<div class="text-container first">
<h1>🤗 欢迎访问</h1>
<h2>NEU小站</h2>
</div>
<div class="image-container">
<img src="https://download.xn--xhq44jb2fzpc.com/images/neucartoon.png" alt="NEU小站 LOGO" class="logo-image">
<div class="overlay">
本站已获得图片作者授权。<br>作者:<a href="https://www.zhihu.com/people/tou-ming-skjun" target="_blank" class="author-link">大连七院贵宾一位</a>
</div>
</div>
</div>
<div class="text-container">
<h1>这是什么网站?</h1>
<p><strong>NEU小站</strong>由东北大学的学生开发和维护,旨在为大家提供丰富的学习资源和实用的工具,助您在学业和生活中更加得心应手。</p>
</div>
<div class="text-container" style="text-align: left;">
<p>
⬇️网站资源均已接入<strong>高速下载带宽</strong><strong>优质CDN</strong>⬇️<br>
🛡️配置多重<strong>资源安全保护措施</strong>🛡️<br>
⭐致力于为大家提供优质、安全的用户体验⭐
</p>
</div>
<div class="text-container">
<h3>🎓 课程评分 <sup class="new-tag">[New]</sup><a href="https://course.xn--xhq44jb2fzpc.com/" class="my-button">前往</a></h3>
<p>给你喜欢的老师和课程打个分吧!推荐使用电脑访问,以获得最佳体验。</p>
</div>
<div class="text-container">
<h3>🎒 攻略指南<a href="/strategy/" class="my-button">前往</a></h3>
<p>收集各种常见问题的解答和各种校园生活攻略~每个帖子下都设评论区供大家交流。</p>
</div>
<div class="text-container">
<h3>📚 资源共享<a href="/resources/" class="my-button">前往</a></h3>
<p>获取丰富的学习资料。您也是分享者,可以投稿任何资源。</p>
</div>
<div class="text-container centered-text">
<p>更多功能正在开发中,敬请期待……</p>
</div>
</div>
<style>
body {
position: relative;
overflow: hidden;
margin: 0;
height: 100%;
}
body::before {
content: "";
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('https://download.xn--xhq44jb2fzpc.com/images/bg_l.jpeg') no-repeat center center;
background-size: cover;
opacity: 0.9;
z-index: -1;
}
body.dark::before {
background: #01010186;
}
.container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 20px;
position: relative;
border-radius: 15px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
width: 98%;
height: auto;
overflow: hidden;
margin: 0 auto;
}
.container::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(245, 245, 245, 0.3);
border-radius: 15px;
z-index: -1;
}
.top-row {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
}
.new-tag {
color: red;
vertical-align: super;
font-size: smaller;
font-weight: bold;
}
.wrapper {
position: relative;
width: 98%;
height: 164.39px;
padding: 20px;
}
.image-wrapper {
position: absolute;
top: 0;
left: 12px;
padding: 0px;
border-radius: 15px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
width: calc(100% - 25px);
height: 145px;
overflow: hidden;
z-index: 1;
opacity: 0.75;
transition: opacity 0.5s ease;
}
.image-wrapper img {
width: 100%;
height: 100%;
object-fit: cover;
}
.guide-text-container {
position: absolute;
top: 0;
left: 0;
padding: 20px;
border-radius: 15px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
width: calc(100% - 25px);
height: auto;
overflow: hidden;
z-index: 1;
opacity: 0;
}
.guide-text-container {
left: 100%;
}
.guide-text-container {
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
transition: left 0.5s ease, opacity 0.5s ease;
margin-left: 12px;
}
.image-wrapper img {
width: 100%;
height: auto;
border-radius: 15px;
}
.text-container, .text-container-beta {
margin-bottom: 20px;
padding: 20px;
position: relative;
border-radius: 15px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
width: calc(100% - 40px);
height: auto;
overflow: hidden;
text-align: center;
}
.text-container::before, .guide-text-container::before, .text-container-beta::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.7);
border-radius: 15px;
z-index: -1;
}
.text-container.first {
margin-left: 17px;
width: calc(100% - 200px);
margin-right: -6px;
text-align: center;
}
.text-container.first::before {
background-color: rgba(255, 255, 255, 0.7);
}
.logo-image {
margin-right: 20px;
margin-left: 20px;
max-width: 145px;
height: auto;
border-radius: 15px;
position: relative;
top: -9px;
}
.text-container-beta {
display: none;
}
.text-container h1, .text-container-beta h1 {
margin: 0;
font-size: 32px;
margin-bottom: 12px;
}
.text-container h2, .text-container-beta h2 {
margin: 0;
font-size: 54px;
font-weight: bold;
}
.text-container h3, .text-container-beta h3 {
margin-top: 0px;
font-size: 28px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 6px;
}
.text-container p, .text-container-beta p {
margin: 0;
font-size: 18px;
}
.guide-text-container h1 {
margin: 0;
font-size: 32px;
margin-bottom: 12px;
}
.guide-text-container h2 {
margin: 0;
font-size: 54px;
font-weight: bold;
}
.guide-text-container h3 {
margin-top: 0px;
font-size: 28px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 6px;
}
.guide-text-container p {
margin: 0;
font-size: 18px;
}
.my-button {
display: inline-flex;
align-items: center;
justify-content: center;
margin-left: 12px;
padding: 0;
background-color: #007bff;
color: white;
text-decoration: none;
border-radius: 5px;
transition: background-color 0.3s, color 0.3s;
width: 70px;
height: 40px;
font-size: 20px;
position: relative;
top: 1px;
}
.my-button:hover {
background-color: #0056b3;
}
.my-button:active {
background-color: #003d80;
}
.dark .container,
.dark .text-container,
.dark .guide-text-container,
.dark .text-container-beta,
.dark .image-wrapper {
background-color: #333;
color: white;
box-shadow: 0 4px 8px rgba(255, 255, 255, 0.2);
}
.dark .guide-text-container::before{
background-color: #333;
}
.dark .logo-image {
box-shadow: 0 4px 8px rgba(255, 255, 255, 0.2);
}
.dark .my-button {
background-color: #73767a;
color: white;
box-shadow: 0 4px 8px #73767a;
}
.dark .my-button:hover {
background-color: #161b21;
}
.dark .my-button:active {
background-color: #020203;
}
.centered-text {
text-align: center;
}
@media (max-width: 768px) {
.logo-image {
display: none;
}
.text-container.first {
width: calc(100% - 40px);
margin-left: 0;
margin-right: 0px;
}
.overlay{
display: none;
}
.text-container-beta{
display: block;
}
.wrapper {
display: none;
}
}
.image-container {
position: relative;
display: inline-block;
}
.overlay {
position: absolute;
bottom: 0;
left: 20px;
right: 0;
background-color: rgba(0, 0, 0, 0.7);
color: white;
text-align: center;
padding: 6px;
opacity: 0;
transition: opacity 0.5s;
font-size: 11px;
width: 145px;
}
.image-container:hover .overlay, .image-container:active .overlay {
opacity: 1;
}
.author-link {
color: #ff6347;
text-decoration: none;
}
.author-link:hover {
}
</style>
<script>
document.querySelector('.wrapper').addEventListener('mouseenter', function() {
const imageWrapper = this.querySelector('.image-wrapper');
const textContainer = this.querySelector('.guide-text-container');
imageWrapper.style.opacity = '0';
textContainer.style.left = '0';
textContainer.style.opacity = '1';
});
document.querySelector('.wrapper').addEventListener('mouseleave', function() {
const imageWrapper = this.querySelector('.image-wrapper');
const textContainer = this.querySelector('.guide-text-container');
imageWrapper.style.opacity = '0.75';
textContainer.style.left = '100%';
textContainer.style.opacity = '0';
});
</script>
</main>
<footer class="footer">
<div>
<span>&copy; 2025 <a href="https://xn--xhq44jb2fzpc.com/">NEU小站</a></span> ·
<a href="/intro" target="_blank">联系网站管理员</a>
<span> | </span>
<a href="https://git.东北大学.com" target="_blank">Git服务</a>
</div>
<div>
<span style="white-space: nowrap;">
<img src="https://beian.mps.gov.cn/web/assets/logo01.6189a29f.png" alt="公安标识" style="vertical-align: middle; height: 16px; display: inline-block;">
<a href="https://beian.mps.gov.cn/" target="_blank">
赣公网安备36090202000259号</a>
&nbsp;|&nbsp;
<a href="https://beian.miit.gov.cn/" target="_blank">赣ICP备2024039267号-1</a>
</span>
</div>
</footer>
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
<path d="M12 6H0l6-6z" />
</svg>
</a>
<style>
</style>
<script>
let menu = document.getElementById('menu')
if (menu) {
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
menu.onscroll = function () {
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
}
}
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener("click", function (e) {
e.preventDefault();
var id = this.getAttribute("href").substr(1);
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
behavior: "smooth"
});
} else {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
}
if (id === "top") {
history.replaceState(null, null, " ");
} else {
history.pushState(null, null, `#${id}`);
}
});
});
document.addEventListener('DOMContentLoaded', function() {
var emberContainer = document.getElementById('ember-container');
emberContainer.addEventListener('mouseenter', function() {
var qrCode = document.getElementById('qr-code');
qrCode.classList.remove('hidden');
});
emberContainer.addEventListener('mouseleave', function() {
var qrCode = document.getElementById('qr-code');
qrCode.classList.add('hidden');
});
});
</script>
<script>
var mybutton = document.getElementById("top-link");
window.onscroll = function () {
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
mybutton.style.visibility = "visible";
mybutton.style.opacity = "1";
} else {
mybutton.style.visibility = "hidden";
mybutton.style.opacity = "0";
}
};
</script>
<script>
document.getElementById("theme-toggle").addEventListener("click", () => {
if (document.body.className.includes("dark")) {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
} else {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
}
})
</script>
<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$']],
displayMath: [['$$','$$']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
MathJax.Hub.Queue(function() {
var all = MathJax.Hub.getAllJax(), i;
for(i = 0; i < all.length; i += 1) {
all[i].SourceElement().parentNode.className += ' has-jax';
}
});
</script>
<style>
code.has-jax {
font: inherit;
font-size: 100%;
background: inherit;
border: inherit;
color: #515151;
}
</style>
</body>
</html>