feat: 初始化导航网站项目
添加 Flask 导航站应用,包含 Docker 部署配置、SQLite 数据库、静态资源及 CI/CD 流水线。
这个提交包含在:
@@ -0,0 +1,65 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
{% block head %}
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
|
||||
<meta name="built_at" content="2023-01-21T03:52:36+08:00">
|
||||
<meta name="established_at" content="2016-10-01T00:00+08:00">
|
||||
|
||||
<title>瓦力导航 · wali-Navi | A Navigation Website for wali</title>
|
||||
<meta property="og:title" content="瓦力导航 · wali-Navi" />
|
||||
<meta name="author" content="iROCKBUNNY" />
|
||||
<meta property="og:locale" content="zh_CN" />
|
||||
<meta name="description" content="A Navigation Website for wali" />
|
||||
<meta property="og:description" content="A Navigation Website for wali" />
|
||||
<link rel="canonical" href="https://nav.iwali.top/" />
|
||||
<meta property="og:url" content="https://nav.iwali.top/" />
|
||||
<meta property="og:site_name" content="瓦力导航 · wali-Navi" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<meta property="twitter:title" content="瓦力导航 · wali-Navi" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/static/fomantic-ui/semantic.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/static/css/common.css">
|
||||
<link rel="stylesheet" type="text/css" href="/static/css/masthead.css">
|
||||
<link rel="stylesheet" type="text/css" href="/static/css/home.css">
|
||||
<link rel="apple-touch-icon" type="image/png" href="/static/images/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/x-icon" href="/static/images/favicon.ico">
|
||||
{% endblock %}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
{% include 'base/menu-mobile.html' %}
|
||||
<div class="pusher">
|
||||
<div class="ui inverted vertical masthead center aligned segment zoomed">
|
||||
{% include 'base/menu.html' %}
|
||||
{% block header %}
|
||||
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% block content %}
|
||||
|
||||
{% endblock %}
|
||||
{% include 'base/footer.html' %}
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="/static/js/jquery/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="/static/js/jquery/jquery.lazyload.js"></script>
|
||||
<script type="text/javascript" src="/static/fomantic-ui/semantic.min.js"></script>
|
||||
<script type="text/javascript" src="/static/fomantic-ui/tablesort.js"></script>
|
||||
<script src="https://unpkg.com/masonry-layout@4/dist/masonry.pkgd.min.js"></script>
|
||||
<script type="text/javascript" src="/static/js/common.js"></script>
|
||||
<script type="text/javascript" src="/static/js/dayjs/dayjs.min.js"></script>
|
||||
<script type="text/javascript" src="/static/js/dayjs/zh-cn.js"></script>
|
||||
<script type="text/javascript" src="/static/js/dayjs/relativeTime.js"></script>
|
||||
<script type="text/javascript" src="/static/js/js.cookie.min.js"></script>
|
||||
<script type="text/javascript" src="/static/js/suggest-query.min.js"></script>
|
||||
<script type="text/javascript" src="/static/js/hitokoto.js"></script>
|
||||
{% block footer_script %}
|
||||
|
||||
{% endblock %}
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,37 @@
|
||||
<div class="ui inverted vertical footer segment">
|
||||
<div class="ui container">
|
||||
<div class="ui stackable inverted divided equal height stackable grid">
|
||||
<div class="six wide column">
|
||||
<h4 class="ui inverted header">站群</h4>
|
||||
<div class="ui inverted link list">
|
||||
<a class="ui mini label" href="https://iwali.top/" target="_blank">iwali</a>
|
||||
<a class="ui mini label" href="https://status.iwali.top/" target="_blank">监控</a>
|
||||
<a class="ui mini label" href="https://wakapi.iwali.top/" target="_blank">wakapi</a>
|
||||
<a class="ui mini label" href="https://disk.iwali.top/" target="_blank">云盘</a>
|
||||
<a class="ui mini label" href="https://kb.iwali.top/" target="_blank">看板</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="three wide column">
|
||||
<h4 class="ui inverted header">About</h4>
|
||||
<div class="ui inverted link list">
|
||||
<a class="item" href="https://iwali.top" target="_blank">iwali</a>
|
||||
<a class="item" href="/donate/">Donate</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="seven wide column">
|
||||
<h4 class="ui inverted header">瓦力导航 · wali-Navi</h4>
|
||||
<div class="ui inverted link list">
|
||||
<div class="item">© 2023 iwali</div>
|
||||
<div class="item">Designed and built by iwali.</div>
|
||||
<a class="item" href="/analytics/">
|
||||
Visits / Page Views:
|
||||
<span id="today-visits">{{ get_today_data()['views'] }}</span> / <span id="today-actions">{{ get_today_data()['online'] }}</span> (Today)
|
||||
·
|
||||
<span id="yesterday-visits">{{ get_yesterday_data()['views'] }}</span> / <span id="yesterday-actions">{{ get_yesterday_data()['online'] }}</span> (Yesterday)
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
<div class="ui large top fixed borderless hidden menu">
|
||||
<div class="ui container">
|
||||
<a class="header item" href="/">
|
||||
<div class="ui middle aligned image">
|
||||
<img class="logo-image" src="/static/images/logo-dark.svg" alt="Logo">
|
||||
</div>
|
||||
<div class="logo-text">Wali-Navi</div>
|
||||
</a>
|
||||
<a class="item" href="/"><i class="home icon"></i>首页</a>
|
||||
<a class="item" href="/customize.html"><i class="tools icon"></i>定制化</a>
|
||||
<a class="item" href="/analytics.html"><i class="chart bar icon"></i>访客分析</a>
|
||||
<div class="right menu">
|
||||
{% if get_user() == None %}
|
||||
<a class="item" href="/login" data-content="Login"><i class="sign in alternate icon"></i></a>
|
||||
<a class="item" href="/register" data-content="Sign-Up"><i class="user plus icon"></i></a>
|
||||
{% else %}
|
||||
<a id="username" class="item" href="/customize.html" target="_blank" data-user="{{ get_user() }}">
|
||||
<div id="user-avatar" style="width:30px;height:30px;"></div> {{ get_user() }}
|
||||
</a>
|
||||
<a class="item" href="/logout"><i class="icon sign out alternate"></i></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui vertical inverted sidebar menu">
|
||||
<a class="header item" href="/">
|
||||
<div class="ui middle aligned image">
|
||||
<img class="logo-image" src="/static/images/logo-white.svg" alt="Logo">
|
||||
</div>
|
||||
<div class="logo-text">Wali-Navi</div>
|
||||
</a>
|
||||
<a class="item" href="/"><i class="home icon"></i>首页</a>
|
||||
<a class="item" href="/customize.html"><i class="tools icon"></i>定制化</a>
|
||||
<a class="item" href="/analytics.html"><i class="chart bar icon"></i>访客分析</a>
|
||||
</div>
|
||||
@@ -0,0 +1,26 @@
|
||||
<!-- default -->
|
||||
<div class="ui container">
|
||||
<div class="ui large borderless inverted menu" style="border: none;">
|
||||
<div class="toc link icon item"><i class="sidebar icon"></i></div>
|
||||
<a class="header item" href="/">
|
||||
<div class="ui middle aligned image">
|
||||
<img class="logo-image" src="/static/images/logo-white.svg" alt="Logo">
|
||||
</div>
|
||||
<div class="logo-text">Wali-Navi</div>
|
||||
</a>
|
||||
<a class="item" href="/"><i class="home icon"></i>首页</a>
|
||||
<a class="item" href="/customize.html"><i class="tools icon"></i>定制化</a>
|
||||
<a class="item" href="/analytics.html"><i class="chart bar icon"></i>访客分析</a>
|
||||
<div class="right menu">
|
||||
{% if get_user() == None %}
|
||||
<a class="item" href="/login" data-content="Login"><i class="sign in alternate icon"></i></a>
|
||||
<a class="item" href="/register" data-content="Sign-Up"><i class="user plus icon"></i></a>
|
||||
{% else %}
|
||||
<a id="username" class="item" href="/customize.html" target="_blank" data-user="{{get_user()}}">
|
||||
<div id="user-avatar" style="width:30px;height:30px;"></div> {{ get_user() }}
|
||||
</a>
|
||||
<a class="item" href="/logout"><i class="icon sign out alternate"></i></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
在新工单中引用
屏蔽一个用户