diff --git a/.gitignore b/.gitignore index bca1a64..3ab65af 100755 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,6 @@ **/*.sql **/*.db.back databases/* -mirrors/* \ No newline at end of file +mirrors/* +blueprint/kami_views.py +templates/kami/* \ No newline at end of file diff --git a/blueprint/blog_views.py b/blueprint/blog_views.py index e606127..6581767 100755 --- a/blueprint/blog_views.py +++ b/blueprint/blog_views.py @@ -1,4 +1,4 @@ -from flask import Blueprint, render_template, request, url_for, flash, redirect +from flask import Blueprint, render_template, request, url_for, flash, redirect, send_from_directory, make_response, current_app from database import get_owp_db import os import sqlite3 @@ -57,4 +57,29 @@ def test_db(): except Exception as e: return f"连接失败: {str(e)}" +###### +## 网站地图 及其 robots 配置 +@blog_bp.route('/robots.txt/') +def robots(): + return send_from_directory(current_app.static_folder, 'robots.txt') + +@blog_bp.route('/google02f6a3f6004a32c6.html') +def google02f6a3f6004a32c6(): + return send_from_directory(blog_bp.static_folder, 'google02f6a3f6004a32c6.html') + + +@blog_bp.route('/sitemap.xml/') +def sitemap(): + conn = get_owp_db_conn() + sql_posts = "SELECT * from posts;" + posts = conn.execute(sql_posts).fetchall() + conn.close() + template = render_template('sitemap.xml', posts=posts[::-1], base_url="https://open-ww3-project.ww3.tw/blog/") + response = make_response(template) + response.headers['Content-Type'] = 'application/xml' + return response + +@blog_bp.errorhandler(404) +def not_found_error(error): + return '404 not found', 404 \ No newline at end of file diff --git a/main.py b/main.py index d507b03..d9da5ae 100755 --- a/main.py +++ b/main.py @@ -2,7 +2,7 @@ from flask import Flask, render_template, redirect, url_for, send_from_directory from blueprint.blog_views import blog_bp from blueprint.study_views import study_bp from flask_autoindex import AutoIndex -# from blueprint.admin_views import admin_bp +from blueprint.kami_views import kami_bp import os import sqlite3 @@ -25,7 +25,7 @@ app.secret_key = '玩鵬畝遜溉痕叛課還擇鼇粹拜溜泉聰倡效蘭鱅 # 注册蓝图 app.register_blueprint(blog_bp, url_prefix='/blog') app.register_blueprint(study_bp, url_prefix='/study') -# app.register_blueprint(admin_bp, url_prefix='/admin') +app.register_blueprint(kami_bp, url_prefix='/kami') @app.route('/') @@ -51,27 +51,64 @@ def close_connection(exception): def autoindex(path='.'): return index.render_autoindex(path, template='mirrors.html') -@app.route('/robots.txt/') -def robots(): - return send_from_directory(app.static_folder, 'robots.txt') - -@app.route('/google02f6a3f6004a32c6.html') -def google02f6a3f6004a32c6(): - return send_from_directory(app.static_folder, 'google02f6a3f6004a32c6.html') +@app.errorhandler(400) +def bad_request(error): + return ( + '400 Bad Request
' + '请求有误,请检查参数是否正确' + '400 Bad Request', + 400 + ) -@app.route('/sitemap.xml/') -def sitemap(): - conn = get_owp_db_conn() - sql_posts = "SELECT * from posts;" - posts = conn.execute(sql_posts).fetchall() - conn.close() - template = render_template('sitemap.xml', posts=posts[::-1], base_url="https://open-ww3-project.ww3.tw/blog/") - response = make_response(template) - response.headers['Content-Type'] = 'application/xml' - return response +@app.errorhandler(401) +def unauthorized(error): + return ( + '401 Unauthorized
' + '请先登录或提供有效凭证' + '401 Unauthorized', + 401 + ) +@app.errorhandler(403) +def forbidden(error): + return ( + '403 Forbidden
' + '你没有权限访问此资源' + '403 Forbidden', + 403 + ) + + +@app.errorhandler(404) +def not_found(error): + return ( + '404 Not Found
' + '这里什么都没有' + '404 Not Found', + 404 + ) + + +@app.errorhandler(405) +def method_not_allowed(error): + return ( + '405 Method Not Allowed
' + '请求方法不被允许' + '405 Method Not Allowed', + 405 + ) + + +@app.errorhandler(500) +def internal_server_error(error): + return ( + '500 Internal Server Error
' + '服务器开小差了,请稍后再试' + '500 Internal Server Error', + 500 + ) if __name__ == '__main__': app.run(host="0.0.0.0", port=8085, debug=True) \ No newline at end of file diff --git a/static/sitemap.xml b/static/sitemap.xml deleted file mode 100755 index f421a2d..0000000 --- a/static/sitemap.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - https://open-ww3-project.ww3.tw/blog/ - 2025-12-12 - 1.0 - - - https://open-ww3-project.ww3.tw/blog/about/ - 2025-12-12 - 0.8 - - - https://open-ww3-project.ww3.tw/blog/post/ - 2025-12-12 - 0.8 - - - https://open-ww3-project.ww3.tw/blog/test.html - 2025-12-13 - 0.1 - - \ No newline at end of file diff --git a/templates/about.html b/templates/about.html index 8db0de2..f5a0b0b 100755 --- a/templates/about.html +++ b/templates/about.html @@ -1,14 +1,31 @@ - - 不想写了 + + 关于 + 返回首页__网页地图 +
+ 本站建立于大概2025年8月前后
+ 差不多是个人博客多次重建后的成果
+ 如今我已经成长很多
+
+ 站长介绍 +

2025.12.22

+
+
+
忘记写了
所以暂时就不写了

2025.08.05

over

- \ No newline at end of file + + + \ No newline at end of file diff --git a/templates/home.html b/templates/home.html index 5250efd..9a57ff6 100755 --- a/templates/home.html +++ b/templates/home.html @@ -250,7 +250,7 @@