From 96458538597c77f9f32e191b20042039f8fbfcfe Mon Sep 17 00:00:00 2001
From: LZW <1358153906@qq.com>
Date: Sun, 23 Nov 2025 12:02:27 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A1=B9=E7=9B=AE=E6=96=87?=
=?UTF-8?q?=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/.gitignore | 8 +++++
.idea/DjangoBlog2.iml | 34 ++++++++++++++++++
.../inspectionProfiles/profiles_settings.xml | 6 ++++
.idea/misc.xml | 7 ++++
.idea/modules.xml | 8 +++++
.idea/vcs.xml | 7 ++++
README.md | 16 ++++-----
djangoblog/settings.py | 26 +++++++-------
djangoblog/urls.py | 12 +++----
.dockerignore => src/.dockerignore | 24 ++++++-------
.gitattributes => src/.gitattributes | 0
.gitignore => src/.gitignore | 4 +--
Dockerfile => src/Dockerfile | 2 +-
LICENSE => src/LICENSE | 0
{accounts => src}/__init__.py | 0
.../migrations => src/accounts}/__init__.py | 0
{accounts => src/accounts}/admin.py | 0
{accounts => src/accounts}/apps.py | 0
{accounts => src/accounts}/forms.py | 0
.../accounts}/migrations/0001_initial.py | 0
...s_remove_bloguser_created_time_and_more.py | 0
.../accounts/migrations}/__init__.py | 0
{accounts => src/accounts}/models.py | 0
.../accounts/templatetags}/__init__.py | 0
{accounts => src/accounts}/tests.py | 0
{accounts => src/accounts}/urls.py | 0
.../accounts}/user_login_backend.py | 0
{accounts => src/accounts}/utils.py | 0
{accounts => src/accounts}/views.py | 0
{blog/management => src/blog}/__init__.py | 0
{blog => src/blog}/admin.py | 0
{blog => src/blog}/apps.py | 0
{blog => src/blog}/context_processors.py | 0
{blog => src/blog}/documents.py | 0
{blog => src/blog}/forms.py | 0
.../blog/management}/__init__.py | 0
.../blog/management/commands}/__init__.py | 0
.../blog}/management/commands/build_index.py | 0
.../management/commands/build_search_words.py | 0
.../blog}/management/commands/clear_cache.py | 0
.../management/commands/create_testdata.py | 0
.../blog}/management/commands/ping_baidu.py | 0
.../management/commands/sync_user_avatar.py | 0
{blog => src/blog}/middleware.py | 0
{blog => src/blog}/migrations/0001_initial.py | 0
...002_blogsettings_global_footer_and_more.py | 0
.../0003_blogsettings_comment_need_review.py | 0
...de_blogsettings_analytics_code_and_more.py | 0
...options_alter_category_options_and_more.py | 0
.../0006_alter_blogsettings_options.py | 0
.../blog/migrations}/__init__.py | 0
{blog => src/blog}/models.py | 0
{blog => src/blog}/search_indexes.py | 0
.../blog}/static/account/css/account.css | 0
.../blog}/static/account/js/account.js | 0
.../blog}/static/assets/css/bootstrap.min.css | 0
.../blog}/static/assets/css/docs.min.css | 0
.../css/ie10-viewport-bug-workaround.css | 0
.../blog}/static/assets/css/signin.css | 0
.../static/assets/css/todc-bootstrap.min.css | 0
.../blog}/static/assets/img/checkmark.png | Bin
.../assets/js/ie-emulation-modes-warning.js | 0
.../assets/js/ie10-viewport-bug-workaround.js | 0
{blog => src/blog}/static/blog/css/ie.css | 0
.../blog}/static/blog/css/nprogress.css | 0
.../blog}/static/blog/css/oauth_style.css | 0
{blog => src/blog}/static/blog/css/style.css | 0
...MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2 | Bin
...MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2 | Bin
...MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2 | Bin
...MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2 | Bin
...MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2 | Bin
...MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2 | Bin
...126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2 | Bin
...MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2 | Bin
...MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2 | Bin
...MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2 | Bin
...Gs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 | Bin
...126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 | Bin
...126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 | Bin
...126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 | Bin
...126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 | Bin
...126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 | Bin
...126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 | Bin
...126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 | Bin
...126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2 | Bin
...126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2 | Bin
.../blog}/static/blog/fonts/open-sans.css | 0
{blog => src/blog}/static/blog/img/avatar.png | Bin
.../blog}/static/blog/img/icon-sn.svg | 0
{blog => src/blog}/static/blog/js/blog.js | 0
{blog => src/blog}/static/blog/js/html5.js | 0
.../blog}/static/blog/js/jquery-3.6.0.min.js | 0
.../blog}/static/blog/js/mathjax-loader.js | 0
.../blog}/static/blog/js/navigation.js | 0
.../blog}/static/blog/js/nprogress.js | 0
.../blog}/static/pygments/default.css | 0
.../blog/templatetags}/__init__.py | 0
{blog => src/blog}/templatetags/blog_tags.py | 0
{blog => src/blog}/tests.py | 0
{blog => src/blog}/urls.py | 0
{blog => src/blog}/views.py | 0
codecov.yml => src/codecov.yml | 0
.../migrations => src/comments}/__init__.py | 0
{comments => src/comments}/admin.py | 0
{comments => src/comments}/apps.py | 0
{comments => src/comments}/forms.py | 0
.../comments}/migrations/0001_initial.py | 0
.../0002_alter_comment_is_enable.py | 0
...ns_remove_comment_created_time_and_more.py | 0
.../comments/migrations}/__init__.py | 0
{comments => src/comments}/models.py | 0
.../comments/templatetags}/__init__.py | 0
.../comments}/templatetags/comments_tags.py | 0
{comments => src/comments}/tests.py | 0
{comments => src/comments}/urls.py | 0
{comments => src/comments}/utils.py | 0
{comments => src/comments}/views.py | 0
.../docker-compose/docker-compose.es.yml | 0
.../deploy}/docker-compose/docker-compose.yml | 2 +-
{deploy => src/deploy}/entrypoint.sh | 0
{deploy => src/deploy}/k8s/configmap.yaml | 0
{deploy => src/deploy}/k8s/deployment.yaml | 0
{deploy => src/deploy}/k8s/gateway.yaml | 0
{deploy => src/deploy}/k8s/pv.yaml | 0
{deploy => src/deploy}/k8s/pvc.yaml | 0
{deploy => src/deploy}/k8s/service.yaml | 0
{deploy => src/deploy}/k8s/storageclass.yaml | 0
{deploy => src/deploy}/nginx.conf | 0
{docs => src/docs}/README-en.md | 12 +++----
{docs => src/docs}/config-en.md | 0
{docs => src/docs}/config.md | 0
{docs => src/docs}/docker-en.md | 0
{docs => src/docs}/docker.md | 0
{docs => src/docs}/es.md | 0
{docs => src/docs}/imgs/alipay.jpg | Bin
{docs => src/docs}/imgs/pycharm_logo.png | Bin
{docs => src/docs}/imgs/wechat.jpg | Bin
{docs => src/docs}/k8s-en.md | 0
{docs => src/docs}/k8s.md | 0
.../locale}/en/LC_MESSAGES/django.mo | Bin
.../locale}/en/LC_MESSAGES/django.po | 0
.../locale}/zh_Hans/LC_MESSAGES/django.mo | Bin
.../locale}/zh_Hans/LC_MESSAGES/django.po | 0
.../locale}/zh_Hant/LC_MESSAGES/django.mo | Bin
.../locale}/zh_Hant/LC_MESSAGES/django.po | 0
manage.py => src/manage.py | 0
{oauth/migrations => src/oauth}/__init__.py | 0
{oauth => src/oauth}/admin.py | 0
{oauth => src/oauth}/apps.py | 0
{oauth => src/oauth}/forms.py | 0
.../oauth}/migrations/0001_initial.py | 0
...ptions_alter_oauthuser_options_and_more.py | 0
.../0003_alter_oauthuser_nickname.py | 0
.../oauth/migrations}/__init__.py | 0
{oauth => src/oauth}/models.py | 0
{oauth => src/oauth}/oauthmanager.py | 0
{oauth => src/oauth}/templatetags/__init__.py | 0
.../oauth}/templatetags/oauth_tags.py | 0
{oauth => src/oauth}/tests.py | 0
{oauth => src/oauth}/urls.py | 0
{oauth => src/oauth}/views.py | 0
.../migrations => src/owntracks}/__init__.py | 0
{owntracks => src/owntracks}/admin.py | 0
{owntracks => src/owntracks}/apps.py | 0
.../owntracks}/migrations/0001_initial.py | 0
...0002_alter_owntracklog_options_and_more.py | 0
.../owntracks/migrations}/__init__.py | 0
{owntracks => src/owntracks}/models.py | 0
{owntracks => src/owntracks}/tests.py | 0
{owntracks => src/owntracks}/urls.py | 0
{owntracks => src/owntracks}/views.py | 0
{plugins => src/plugins}/__init__.py | 0
.../plugins}/article_copyright/__init__.py | 0
.../plugins}/article_copyright/plugin.py | 0
.../article_recommendation/__init__.py | 0
.../plugins}/article_recommendation/plugin.py | 0
.../css/recommendation.css | 0
.../js/recommendation.js | 0
.../plugins}/external_links/__init__.py | 0
.../plugins}/external_links/plugin.py | 0
.../plugins}/image_lazy_loading/__init__.py | 0
.../plugins}/image_lazy_loading/plugin.py | 0
.../plugins}/reading_time/__init__.py | 0
.../plugins}/reading_time/plugin.py | 0
.../plugins}/seo_optimizer/__init__.py | 0
.../plugins}/seo_optimizer/plugin.py | 0
.../plugins}/view_count/__init__.py | 0
{plugins => src/plugins}/view_count/plugin.py | 0
requirements.txt => src/requirements.txt | 0
.../servermanager}/MemcacheStorage.py | 0
.../servermanager}/__init__.py | 0
{servermanager => src/servermanager}/admin.py | 0
.../servermanager}/api/__init__.py | 0
.../servermanager}/api/blogapi.py | 0
.../servermanager}/api/commonapi.py | 0
{servermanager => src/servermanager}/apps.py | 0
.../servermanager}/migrations/0001_initial.py | 0
...002_alter_emailsendlog_options_and_more.py | 0
src/servermanager/migrations/__init__.py | 0
.../servermanager}/models.py | 0
{servermanager => src/servermanager}/robot.py | 0
{servermanager => src/servermanager}/tests.py | 0
{servermanager => src/servermanager}/urls.py | 0
{servermanager => src/servermanager}/views.py | 0
src/templates/__init__.py | 0
.../templates}/account/forget_password.html | 2 +-
.../templates}/account/login.html | 2 +-
.../templates}/account/registration_form.html | 2 +-
.../templates}/account/result.html | 2 +-
.../templates}/blog/article_archives.html | 2 +-
.../templates}/blog/article_detail.html | 6 ++--
.../templates}/blog/article_index.html | 2 +-
.../templates}/blog/error_page.html | 2 +-
.../templates}/blog/links_list.html | 2 +-
.../templates}/blog/tags/article_info.html | 0
.../blog/tags/article_meta_info.html | 0
.../blog/tags/article_pagination.html | 0
.../blog/tags/article_tag_list.html | 0
.../templates}/blog/tags/breadcrumb.html | 0
.../templates}/blog/tags/sidebar.html | 0
.../comments/tags/comment_item.html | 0
.../comments/tags/comment_item_tree.html | 0
.../comments/tags/comment_list.html | 0
.../comments/tags/post_comment.html | 0
.../templates}/oauth/bindsuccess.html | 2 +-
.../templates}/oauth/oauth_applications.html | 0
.../templates}/oauth/require_email.html | 2 +-
.../templates}/owntracks/show_log_dates.html | 0
.../templates}/owntracks/show_maps.html | 0
src/templates/plugins/__init__.py | 0
.../article_recommendation/__init__.py | 0
.../article_recommendation/bottom_widget.html | 0
.../sidebar_widget.html | 0
.../templates}/plugins/css_includes.html | 0
.../templates}/plugins/js_includes.html | 0
.../search/indexes/blog/article_text.txt | 0
.../templates}/search/search.html | 2 +-
.../templates}/share_layout/adsense.html | 0
.../templates}/share_layout/base.html | 0
.../templates}/share_layout/base_account.html | 0
.../templates}/share_layout/footer.html | 0
.../templates}/share_layout/nav.html | 0
.../templates}/share_layout/nav_node.html | 0
244 files changed, 133 insertions(+), 63 deletions(-)
create mode 100644 .idea/.gitignore
create mode 100644 .idea/DjangoBlog2.iml
create mode 100644 .idea/inspectionProfiles/profiles_settings.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/modules.xml
create mode 100644 .idea/vcs.xml
rename .dockerignore => src/.dockerignore (91%)
rename .gitattributes => src/.gitattributes (100%)
rename .gitignore => src/.gitignore (97%)
rename Dockerfile => src/Dockerfile (98%)
rename LICENSE => src/LICENSE (100%)
rename {accounts => src}/__init__.py (100%)
rename {accounts/migrations => src/accounts}/__init__.py (100%)
rename {accounts => src/accounts}/admin.py (100%)
rename {accounts => src/accounts}/apps.py (100%)
rename {accounts => src/accounts}/forms.py (100%)
rename {accounts => src/accounts}/migrations/0001_initial.py (100%)
rename {accounts => src/accounts}/migrations/0002_alter_bloguser_options_remove_bloguser_created_time_and_more.py (100%)
rename {accounts/templatetags => src/accounts/migrations}/__init__.py (100%)
rename {accounts => src/accounts}/models.py (100%)
rename {blog => src/accounts/templatetags}/__init__.py (100%)
rename {accounts => src/accounts}/tests.py (100%)
rename {accounts => src/accounts}/urls.py (100%)
rename {accounts => src/accounts}/user_login_backend.py (100%)
rename {accounts => src/accounts}/utils.py (100%)
rename {accounts => src/accounts}/views.py (100%)
rename {blog/management => src/blog}/__init__.py (100%)
rename {blog => src/blog}/admin.py (100%)
rename {blog => src/blog}/apps.py (100%)
rename {blog => src/blog}/context_processors.py (100%)
rename {blog => src/blog}/documents.py (100%)
rename {blog => src/blog}/forms.py (100%)
rename {blog/management/commands => src/blog/management}/__init__.py (100%)
rename {blog/migrations => src/blog/management/commands}/__init__.py (100%)
rename {blog => src/blog}/management/commands/build_index.py (100%)
rename {blog => src/blog}/management/commands/build_search_words.py (100%)
rename {blog => src/blog}/management/commands/clear_cache.py (100%)
rename {blog => src/blog}/management/commands/create_testdata.py (100%)
rename {blog => src/blog}/management/commands/ping_baidu.py (100%)
rename {blog => src/blog}/management/commands/sync_user_avatar.py (100%)
rename {blog => src/blog}/middleware.py (100%)
rename {blog => src/blog}/migrations/0001_initial.py (100%)
rename {blog => src/blog}/migrations/0002_blogsettings_global_footer_and_more.py (100%)
rename {blog => src/blog}/migrations/0003_blogsettings_comment_need_review.py (100%)
rename {blog => src/blog}/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py (100%)
rename {blog => src/blog}/migrations/0005_alter_article_options_alter_category_options_and_more.py (100%)
rename {blog => src/blog}/migrations/0006_alter_blogsettings_options.py (100%)
rename {blog/templatetags => src/blog/migrations}/__init__.py (100%)
rename {blog => src/blog}/models.py (100%)
rename {blog => src/blog}/search_indexes.py (100%)
rename {blog => src/blog}/static/account/css/account.css (100%)
rename {blog => src/blog}/static/account/js/account.js (100%)
rename {blog => src/blog}/static/assets/css/bootstrap.min.css (100%)
rename {blog => src/blog}/static/assets/css/docs.min.css (100%)
rename {blog => src/blog}/static/assets/css/ie10-viewport-bug-workaround.css (100%)
rename {blog => src/blog}/static/assets/css/signin.css (100%)
rename {blog => src/blog}/static/assets/css/todc-bootstrap.min.css (100%)
rename {blog => src/blog}/static/assets/img/checkmark.png (100%)
rename {blog => src/blog}/static/assets/js/ie-emulation-modes-warning.js (100%)
rename {blog => src/blog}/static/assets/js/ie10-viewport-bug-workaround.js (100%)
rename {blog => src/blog}/static/blog/css/ie.css (100%)
rename {blog => src/blog}/static/blog/css/nprogress.css (100%)
rename {blog => src/blog}/static/blog/css/oauth_style.css (100%)
rename {blog => src/blog}/static/blog/css/style.css (100%)
rename {blog => src/blog}/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2 (100%)
rename {blog => src/blog}/static/blog/fonts/open-sans.css (100%)
rename {blog => src/blog}/static/blog/img/avatar.png (100%)
rename {blog => src/blog}/static/blog/img/icon-sn.svg (100%)
rename {blog => src/blog}/static/blog/js/blog.js (100%)
rename {blog => src/blog}/static/blog/js/html5.js (100%)
rename {blog => src/blog}/static/blog/js/jquery-3.6.0.min.js (100%)
rename {blog => src/blog}/static/blog/js/mathjax-loader.js (100%)
rename {blog => src/blog}/static/blog/js/navigation.js (100%)
rename {blog => src/blog}/static/blog/js/nprogress.js (100%)
rename {blog => src/blog}/static/pygments/default.css (100%)
mode change 100755 => 100644
rename {comments => src/blog/templatetags}/__init__.py (100%)
rename {blog => src/blog}/templatetags/blog_tags.py (100%)
rename {blog => src/blog}/tests.py (100%)
rename {blog => src/blog}/urls.py (100%)
rename {blog => src/blog}/views.py (100%)
rename codecov.yml => src/codecov.yml (100%)
rename {comments/migrations => src/comments}/__init__.py (100%)
rename {comments => src/comments}/admin.py (100%)
rename {comments => src/comments}/apps.py (100%)
rename {comments => src/comments}/forms.py (100%)
rename {comments => src/comments}/migrations/0001_initial.py (100%)
rename {comments => src/comments}/migrations/0002_alter_comment_is_enable.py (100%)
rename {comments => src/comments}/migrations/0003_alter_comment_options_remove_comment_created_time_and_more.py (100%)
rename {comments/templatetags => src/comments/migrations}/__init__.py (100%)
rename {comments => src/comments}/models.py (100%)
rename {oauth => src/comments/templatetags}/__init__.py (100%)
rename {comments => src/comments}/templatetags/comments_tags.py (100%)
rename {comments => src/comments}/tests.py (100%)
rename {comments => src/comments}/urls.py (100%)
rename {comments => src/comments}/utils.py (100%)
rename {comments => src/comments}/views.py (100%)
rename {deploy => src/deploy}/docker-compose/docker-compose.es.yml (100%)
rename {deploy => src/deploy}/docker-compose/docker-compose.yml (98%)
rename {deploy => src/deploy}/entrypoint.sh (100%)
rename {deploy => src/deploy}/k8s/configmap.yaml (100%)
rename {deploy => src/deploy}/k8s/deployment.yaml (100%)
rename {deploy => src/deploy}/k8s/gateway.yaml (100%)
rename {deploy => src/deploy}/k8s/pv.yaml (100%)
rename {deploy => src/deploy}/k8s/pvc.yaml (100%)
rename {deploy => src/deploy}/k8s/service.yaml (100%)
rename {deploy => src/deploy}/k8s/storageclass.yaml (100%)
rename {deploy => src/deploy}/nginx.conf (100%)
rename {docs => src/docs}/README-en.md (93%)
rename {docs => src/docs}/config-en.md (100%)
rename {docs => src/docs}/config.md (100%)
rename {docs => src/docs}/docker-en.md (100%)
rename {docs => src/docs}/docker.md (100%)
rename {docs => src/docs}/es.md (100%)
rename {docs => src/docs}/imgs/alipay.jpg (100%)
rename {docs => src/docs}/imgs/pycharm_logo.png (100%)
rename {docs => src/docs}/imgs/wechat.jpg (100%)
rename {docs => src/docs}/k8s-en.md (100%)
rename {docs => src/docs}/k8s.md (100%)
rename {locale => src/locale}/en/LC_MESSAGES/django.mo (100%)
rename {locale => src/locale}/en/LC_MESSAGES/django.po (100%)
rename {locale => src/locale}/zh_Hans/LC_MESSAGES/django.mo (100%)
rename {locale => src/locale}/zh_Hans/LC_MESSAGES/django.po (100%)
rename {locale => src/locale}/zh_Hant/LC_MESSAGES/django.mo (100%)
rename {locale => src/locale}/zh_Hant/LC_MESSAGES/django.po (100%)
rename manage.py => src/manage.py (100%)
mode change 100755 => 100644
rename {oauth/migrations => src/oauth}/__init__.py (100%)
rename {oauth => src/oauth}/admin.py (100%)
rename {oauth => src/oauth}/apps.py (100%)
rename {oauth => src/oauth}/forms.py (100%)
rename {oauth => src/oauth}/migrations/0001_initial.py (100%)
rename {oauth => src/oauth}/migrations/0002_alter_oauthconfig_options_alter_oauthuser_options_and_more.py (100%)
rename {oauth => src/oauth}/migrations/0003_alter_oauthuser_nickname.py (100%)
rename {owntracks => src/oauth/migrations}/__init__.py (100%)
rename {oauth => src/oauth}/models.py (100%)
rename {oauth => src/oauth}/oauthmanager.py (100%)
rename {oauth => src/oauth}/templatetags/__init__.py (100%)
rename {oauth => src/oauth}/templatetags/oauth_tags.py (100%)
rename {oauth => src/oauth}/tests.py (100%)
rename {oauth => src/oauth}/urls.py (100%)
rename {oauth => src/oauth}/views.py (100%)
rename {owntracks/migrations => src/owntracks}/__init__.py (100%)
rename {owntracks => src/owntracks}/admin.py (100%)
rename {owntracks => src/owntracks}/apps.py (100%)
rename {owntracks => src/owntracks}/migrations/0001_initial.py (100%)
rename {owntracks => src/owntracks}/migrations/0002_alter_owntracklog_options_and_more.py (100%)
rename {servermanager => src/owntracks/migrations}/__init__.py (100%)
rename {owntracks => src/owntracks}/models.py (100%)
rename {owntracks => src/owntracks}/tests.py (100%)
rename {owntracks => src/owntracks}/urls.py (100%)
rename {owntracks => src/owntracks}/views.py (100%)
rename {plugins => src/plugins}/__init__.py (100%)
rename {plugins => src/plugins}/article_copyright/__init__.py (100%)
rename {plugins => src/plugins}/article_copyright/plugin.py (100%)
rename {plugins => src/plugins}/article_recommendation/__init__.py (100%)
rename {plugins => src/plugins}/article_recommendation/plugin.py (100%)
rename {plugins => src/plugins}/article_recommendation/static/article_recommendation/css/recommendation.css (100%)
rename {plugins => src/plugins}/article_recommendation/static/article_recommendation/js/recommendation.js (100%)
rename {plugins => src/plugins}/external_links/__init__.py (100%)
rename {plugins => src/plugins}/external_links/plugin.py (100%)
rename {plugins => src/plugins}/image_lazy_loading/__init__.py (100%)
rename {plugins => src/plugins}/image_lazy_loading/plugin.py (100%)
rename {plugins => src/plugins}/reading_time/__init__.py (100%)
rename {plugins => src/plugins}/reading_time/plugin.py (100%)
rename {plugins => src/plugins}/seo_optimizer/__init__.py (100%)
rename {plugins => src/plugins}/seo_optimizer/plugin.py (100%)
rename {plugins => src/plugins}/view_count/__init__.py (100%)
rename {plugins => src/plugins}/view_count/plugin.py (100%)
rename requirements.txt => src/requirements.txt (100%)
rename {servermanager => src/servermanager}/MemcacheStorage.py (100%)
rename {servermanager/migrations => src/servermanager}/__init__.py (100%)
rename {servermanager => src/servermanager}/admin.py (100%)
rename {servermanager => src/servermanager}/api/__init__.py (100%)
rename {servermanager => src/servermanager}/api/blogapi.py (100%)
rename {servermanager => src/servermanager}/api/commonapi.py (100%)
rename {servermanager => src/servermanager}/apps.py (100%)
rename {servermanager => src/servermanager}/migrations/0001_initial.py (100%)
rename {servermanager => src/servermanager}/migrations/0002_alter_emailsendlog_options_and_more.py (100%)
create mode 100644 src/servermanager/migrations/__init__.py
rename {servermanager => src/servermanager}/models.py (100%)
rename {servermanager => src/servermanager}/robot.py (100%)
rename {servermanager => src/servermanager}/tests.py (100%)
rename {servermanager => src/servermanager}/urls.py (100%)
rename {servermanager => src/servermanager}/views.py (100%)
create mode 100644 src/templates/__init__.py
rename {templates => src/templates}/account/forget_password.html (93%)
rename {templates => src/templates}/account/login.html (95%)
rename {templates => src/templates}/account/registration_form.html (91%)
rename {templates => src/templates}/account/result.html (91%)
rename {templates => src/templates}/blog/article_archives.html (97%)
rename {templates => src/templates}/blog/article_detail.html (88%)
mode change 100755 => 100644
rename {templates => src/templates}/blog/article_index.html (95%)
rename {templates => src/templates}/blog/error_page.html (96%)
rename {templates => src/templates}/blog/links_list.html (95%)
rename {templates => src/templates}/blog/tags/article_info.html (100%)
rename {templates => src/templates}/blog/tags/article_meta_info.html (100%)
rename {templates => src/templates}/blog/tags/article_pagination.html (100%)
rename {templates => src/templates}/blog/tags/article_tag_list.html (100%)
rename {templates => src/templates}/blog/tags/breadcrumb.html (100%)
rename {templates => src/templates}/blog/tags/sidebar.html (100%)
mode change 100755 => 100644
rename {templates => src/templates}/comments/tags/comment_item.html (100%)
rename {templates => src/templates}/comments/tags/comment_item_tree.html (100%)
rename {templates => src/templates}/comments/tags/comment_list.html (100%)
rename {templates => src/templates}/comments/tags/post_comment.html (100%)
rename {templates => src/templates}/oauth/bindsuccess.html (89%)
rename {templates => src/templates}/oauth/oauth_applications.html (100%)
rename {templates => src/templates}/oauth/require_email.html (95%)
rename {templates => src/templates}/owntracks/show_log_dates.html (100%)
rename {templates => src/templates}/owntracks/show_maps.html (100%)
create mode 100644 src/templates/plugins/__init__.py
rename {templates => src/templates}/plugins/article_recommendation/__init__.py (100%)
rename {templates => src/templates}/plugins/article_recommendation/bottom_widget.html (100%)
rename {templates => src/templates}/plugins/article_recommendation/sidebar_widget.html (100%)
rename {templates => src/templates}/plugins/css_includes.html (100%)
rename {templates => src/templates}/plugins/js_includes.html (100%)
rename {templates => src/templates}/search/indexes/blog/article_text.txt (100%)
rename {templates => src/templates}/search/search.html (98%)
rename {templates => src/templates}/share_layout/adsense.html (100%)
rename {templates => src/templates}/share_layout/base.html (100%)
rename {templates => src/templates}/share_layout/base_account.html (100%)
rename {templates => src/templates}/share_layout/footer.html (100%)
rename {templates => src/templates}/share_layout/nav.html (100%)
rename {templates => src/templates}/share_layout/nav_node.html (100%)
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..35410ca
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/DjangoBlog2.iml b/.idea/DjangoBlog2.iml
new file mode 100644
index 0000000..5e03577
--- /dev/null
+++ b/.idea/DjangoBlog2.iml
@@ -0,0 +1,34 @@
+
+
一款功能强大、设计优雅的现代化博客系统
- English • 简体中文
+ English • 简体中文
-
-
+
+
(左) 支付宝 / (右) 微信 @@ -150,7 +150,7 @@ python manage.py runserver
diff --git a/djangoblog/settings.py b/djangoblog/settings.py index b755d24..9a0ee8a 100644 --- a/djangoblog/settings.py +++ b/djangoblog/settings.py @@ -54,12 +54,12 @@ INSTALLED_APPS = [ 'django.contrib.sitemaps', 'mdeditor', 'haystack', - 'blog', - 'accounts', - 'comments', - 'oauth', - 'servermanager', - 'owntracks', + 'src.blog', + 'src.accounts', + 'src.comments', + 'src.oauth', + 'src.servermanager', + 'src.owntracks', 'compressor', 'djangoblog' ] @@ -78,7 +78,7 @@ MIDDLEWARE = [ 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.http.ConditionalGetMiddleware', - 'blog.middleware.OnlineMiddleware' + 'src.blog.middleware.OnlineMiddleware' ] ROOT_URLCONF = 'djangoblog.urls' @@ -86,7 +86,7 @@ ROOT_URLCONF = 'djangoblog.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [os.path.join(BASE_DIR, 'templates')], + 'DIRS': [os.path.join(BASE_DIR, 'src/templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ @@ -94,7 +94,7 @@ TEMPLATES = [ 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', - 'blog.context_processors.seo_processor' + 'src.blog.context_processors.seo_processor' ], }, }, @@ -143,7 +143,7 @@ LANGUAGES = ( ('zh-hant', _('Traditional Chinese')), ) LOCALE_PATHS = ( - os.path.join(BASE_DIR, 'locale'), + os.path.join(BASE_DIR, 'src/locale'), ) LANGUAGE_CODE = 'zh-hans' @@ -170,7 +170,7 @@ HAYSTACK_CONNECTIONS = { HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor' # Allow user login with username and password AUTHENTICATION_BACKENDS = [ - 'accounts.user_login_backend.EmailOrUsernameModelBackend'] + 'src.accounts.user_login_backend.EmailOrUsernameModelBackend'] STATIC_ROOT = os.path.join(BASE_DIR, 'collectedstatic') @@ -179,10 +179,10 @@ STATICFILES = os.path.join(BASE_DIR, 'static') # 添加插件静态文件目录 STATICFILES_DIRS = [ - os.path.join(BASE_DIR, 'plugins'), # 让Django能找到插件的静态文件 + os.path.join(BASE_DIR, 'src/plugins'), # 让Django能找到插件的静态文件 ] -AUTH_USER_MODEL = 'accounts.BlogUser' +AUTH_USER_MODEL = 'src.accounts.BlogUser' LOGIN_URL = '/login/' TIME_FORMAT = '%Y-%m-%d %H:%M:%S' diff --git a/djangoblog/urls.py b/djangoblog/urls.py index 6a9e1de..69c3437 100644 --- a/djangoblog/urls.py +++ b/djangoblog/urls.py @@ -59,19 +59,19 @@ urlpatterns = [ ] urlpatterns += i18n_patterns( re_path(r'^admin/', admin_site.urls), - re_path(r'', include('blog.urls', namespace='blog')), + re_path(r'', include('src.blog.urls', namespace='blog')), re_path(r'mdeditor/', include('mdeditor.urls')), - re_path(r'', include('comments.urls', namespace='comment')), - re_path(r'', include('accounts.urls', namespace='account')), - re_path(r'', include('oauth.urls', namespace='oauth')), + re_path(r'', include('src.comments.urls', namespace='comment')), + re_path(r'', include('src.accounts.urls', namespace='account')), + re_path(r'', include('src.oauth.urls', namespace='oauth')), re_path(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'), re_path(r'^feed/$', DjangoBlogFeed()), re_path(r'^rss/$', DjangoBlogFeed()), re_path('^search', search_view_factory(view_class=EsSearchView, form_class=ElasticSearchModelSearchForm), name='search'), - re_path(r'', include('servermanager.urls', namespace='servermanager')), - re_path(r'', include('owntracks.urls', namespace='owntracks')) + re_path(r'', include('src.servermanager.urls', namespace='servermanager')), + re_path(r'', include('src.owntracks.urls', namespace='owntracks')) , prefix_default_language=False) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) if settings.DEBUG: urlpatterns += static(settings.MEDIA_URL, diff --git a/.dockerignore b/src/.dockerignore similarity index 91% rename from .dockerignore rename to src/.dockerignore index becd6f9..bd68a58 100644 --- a/.dockerignore +++ b/src/.dockerignore @@ -1,12 +1,12 @@ -bin/data/ -# virtualenv -venv/ -collectedstatic/ -djangoblog/whoosh_index/ -uploads/ -settings_production.py -*.md -docs/ -logs/ -static/ -.github/ +bin/data/ +# virtualenv +venv/ +collectedstatic/ +djangoblog/whoosh_index/ +uploads/ +settings_production.py +*.md +docs/ +logs/ +static/ +.github/ diff --git a/.gitattributes b/src/.gitattributes similarity index 100% rename from .gitattributes rename to src/.gitattributes diff --git a/.gitignore b/src/.gitignore similarity index 97% rename from .gitignore rename to src/.gitignore index 76302b1..1e088c4 100644 --- a/.gitignore +++ b/src/.gitignore @@ -52,7 +52,7 @@ coverage.xml logs/ # Sphinx documentation -docs/_build/ +src/docs/_build/ # PyBuilder target/ @@ -60,7 +60,7 @@ target/ # PyCharm # http://www.jetbrains.com/pycharm/webhelp/project.html -.idea +../.idea .iml # virtualenv venv/ diff --git a/Dockerfile b/src/Dockerfile similarity index 98% rename from Dockerfile rename to src/Dockerfile index 80b46ac..fee3225 100644 --- a/Dockerfile +++ b/src/Dockerfile @@ -10,6 +10,6 @@ RUN pip install --upgrade pip && \ pip install --no-cache-dir gunicorn[gevent] && \ pip cache purge -ADD . . +ADD .. . RUN chmod +x /code/djangoblog/deploy/entrypoint.sh ENTRYPOINT ["/code/djangoblog/deploy/entrypoint.sh"] diff --git a/LICENSE b/src/LICENSE similarity index 100% rename from LICENSE rename to src/LICENSE diff --git a/accounts/__init__.py b/src/__init__.py similarity index 100% rename from accounts/__init__.py rename to src/__init__.py diff --git a/accounts/migrations/__init__.py b/src/accounts/__init__.py similarity index 100% rename from accounts/migrations/__init__.py rename to src/accounts/__init__.py diff --git a/accounts/admin.py b/src/accounts/admin.py similarity index 100% rename from accounts/admin.py rename to src/accounts/admin.py diff --git a/accounts/apps.py b/src/accounts/apps.py similarity index 100% rename from accounts/apps.py rename to src/accounts/apps.py diff --git a/accounts/forms.py b/src/accounts/forms.py similarity index 100% rename from accounts/forms.py rename to src/accounts/forms.py diff --git a/accounts/migrations/0001_initial.py b/src/accounts/migrations/0001_initial.py similarity index 100% rename from accounts/migrations/0001_initial.py rename to src/accounts/migrations/0001_initial.py diff --git a/accounts/migrations/0002_alter_bloguser_options_remove_bloguser_created_time_and_more.py b/src/accounts/migrations/0002_alter_bloguser_options_remove_bloguser_created_time_and_more.py similarity index 100% rename from accounts/migrations/0002_alter_bloguser_options_remove_bloguser_created_time_and_more.py rename to src/accounts/migrations/0002_alter_bloguser_options_remove_bloguser_created_time_and_more.py diff --git a/accounts/templatetags/__init__.py b/src/accounts/migrations/__init__.py similarity index 100% rename from accounts/templatetags/__init__.py rename to src/accounts/migrations/__init__.py diff --git a/accounts/models.py b/src/accounts/models.py similarity index 100% rename from accounts/models.py rename to src/accounts/models.py diff --git a/blog/__init__.py b/src/accounts/templatetags/__init__.py similarity index 100% rename from blog/__init__.py rename to src/accounts/templatetags/__init__.py diff --git a/accounts/tests.py b/src/accounts/tests.py similarity index 100% rename from accounts/tests.py rename to src/accounts/tests.py diff --git a/accounts/urls.py b/src/accounts/urls.py similarity index 100% rename from accounts/urls.py rename to src/accounts/urls.py diff --git a/accounts/user_login_backend.py b/src/accounts/user_login_backend.py similarity index 100% rename from accounts/user_login_backend.py rename to src/accounts/user_login_backend.py diff --git a/accounts/utils.py b/src/accounts/utils.py similarity index 100% rename from accounts/utils.py rename to src/accounts/utils.py diff --git a/accounts/views.py b/src/accounts/views.py similarity index 100% rename from accounts/views.py rename to src/accounts/views.py diff --git a/blog/management/__init__.py b/src/blog/__init__.py similarity index 100% rename from blog/management/__init__.py rename to src/blog/__init__.py diff --git a/blog/admin.py b/src/blog/admin.py similarity index 100% rename from blog/admin.py rename to src/blog/admin.py diff --git a/blog/apps.py b/src/blog/apps.py similarity index 100% rename from blog/apps.py rename to src/blog/apps.py diff --git a/blog/context_processors.py b/src/blog/context_processors.py similarity index 100% rename from blog/context_processors.py rename to src/blog/context_processors.py diff --git a/blog/documents.py b/src/blog/documents.py similarity index 100% rename from blog/documents.py rename to src/blog/documents.py diff --git a/blog/forms.py b/src/blog/forms.py similarity index 100% rename from blog/forms.py rename to src/blog/forms.py diff --git a/blog/management/commands/__init__.py b/src/blog/management/__init__.py similarity index 100% rename from blog/management/commands/__init__.py rename to src/blog/management/__init__.py diff --git a/blog/migrations/__init__.py b/src/blog/management/commands/__init__.py similarity index 100% rename from blog/migrations/__init__.py rename to src/blog/management/commands/__init__.py diff --git a/blog/management/commands/build_index.py b/src/blog/management/commands/build_index.py similarity index 100% rename from blog/management/commands/build_index.py rename to src/blog/management/commands/build_index.py diff --git a/blog/management/commands/build_search_words.py b/src/blog/management/commands/build_search_words.py similarity index 100% rename from blog/management/commands/build_search_words.py rename to src/blog/management/commands/build_search_words.py diff --git a/blog/management/commands/clear_cache.py b/src/blog/management/commands/clear_cache.py similarity index 100% rename from blog/management/commands/clear_cache.py rename to src/blog/management/commands/clear_cache.py diff --git a/blog/management/commands/create_testdata.py b/src/blog/management/commands/create_testdata.py similarity index 100% rename from blog/management/commands/create_testdata.py rename to src/blog/management/commands/create_testdata.py diff --git a/blog/management/commands/ping_baidu.py b/src/blog/management/commands/ping_baidu.py similarity index 100% rename from blog/management/commands/ping_baidu.py rename to src/blog/management/commands/ping_baidu.py diff --git a/blog/management/commands/sync_user_avatar.py b/src/blog/management/commands/sync_user_avatar.py similarity index 100% rename from blog/management/commands/sync_user_avatar.py rename to src/blog/management/commands/sync_user_avatar.py diff --git a/blog/middleware.py b/src/blog/middleware.py similarity index 100% rename from blog/middleware.py rename to src/blog/middleware.py diff --git a/blog/migrations/0001_initial.py b/src/blog/migrations/0001_initial.py similarity index 100% rename from blog/migrations/0001_initial.py rename to src/blog/migrations/0001_initial.py diff --git a/blog/migrations/0002_blogsettings_global_footer_and_more.py b/src/blog/migrations/0002_blogsettings_global_footer_and_more.py similarity index 100% rename from blog/migrations/0002_blogsettings_global_footer_and_more.py rename to src/blog/migrations/0002_blogsettings_global_footer_and_more.py diff --git a/blog/migrations/0003_blogsettings_comment_need_review.py b/src/blog/migrations/0003_blogsettings_comment_need_review.py similarity index 100% rename from blog/migrations/0003_blogsettings_comment_need_review.py rename to src/blog/migrations/0003_blogsettings_comment_need_review.py diff --git a/blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py b/src/blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py similarity index 100% rename from blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py rename to src/blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py diff --git a/blog/migrations/0005_alter_article_options_alter_category_options_and_more.py b/src/blog/migrations/0005_alter_article_options_alter_category_options_and_more.py similarity index 100% rename from blog/migrations/0005_alter_article_options_alter_category_options_and_more.py rename to src/blog/migrations/0005_alter_article_options_alter_category_options_and_more.py diff --git a/blog/migrations/0006_alter_blogsettings_options.py b/src/blog/migrations/0006_alter_blogsettings_options.py similarity index 100% rename from blog/migrations/0006_alter_blogsettings_options.py rename to src/blog/migrations/0006_alter_blogsettings_options.py diff --git a/blog/templatetags/__init__.py b/src/blog/migrations/__init__.py similarity index 100% rename from blog/templatetags/__init__.py rename to src/blog/migrations/__init__.py diff --git a/blog/models.py b/src/blog/models.py similarity index 100% rename from blog/models.py rename to src/blog/models.py diff --git a/blog/search_indexes.py b/src/blog/search_indexes.py similarity index 100% rename from blog/search_indexes.py rename to src/blog/search_indexes.py diff --git a/blog/static/account/css/account.css b/src/blog/static/account/css/account.css similarity index 100% rename from blog/static/account/css/account.css rename to src/blog/static/account/css/account.css diff --git a/blog/static/account/js/account.js b/src/blog/static/account/js/account.js similarity index 100% rename from blog/static/account/js/account.js rename to src/blog/static/account/js/account.js diff --git a/blog/static/assets/css/bootstrap.min.css b/src/blog/static/assets/css/bootstrap.min.css similarity index 100% rename from blog/static/assets/css/bootstrap.min.css rename to src/blog/static/assets/css/bootstrap.min.css diff --git a/blog/static/assets/css/docs.min.css b/src/blog/static/assets/css/docs.min.css similarity index 100% rename from blog/static/assets/css/docs.min.css rename to src/blog/static/assets/css/docs.min.css diff --git a/blog/static/assets/css/ie10-viewport-bug-workaround.css b/src/blog/static/assets/css/ie10-viewport-bug-workaround.css similarity index 100% rename from blog/static/assets/css/ie10-viewport-bug-workaround.css rename to src/blog/static/assets/css/ie10-viewport-bug-workaround.css diff --git a/blog/static/assets/css/signin.css b/src/blog/static/assets/css/signin.css similarity index 100% rename from blog/static/assets/css/signin.css rename to src/blog/static/assets/css/signin.css diff --git a/blog/static/assets/css/todc-bootstrap.min.css b/src/blog/static/assets/css/todc-bootstrap.min.css similarity index 100% rename from blog/static/assets/css/todc-bootstrap.min.css rename to src/blog/static/assets/css/todc-bootstrap.min.css diff --git a/blog/static/assets/img/checkmark.png b/src/blog/static/assets/img/checkmark.png similarity index 100% rename from blog/static/assets/img/checkmark.png rename to src/blog/static/assets/img/checkmark.png diff --git a/blog/static/assets/js/ie-emulation-modes-warning.js b/src/blog/static/assets/js/ie-emulation-modes-warning.js similarity index 100% rename from blog/static/assets/js/ie-emulation-modes-warning.js rename to src/blog/static/assets/js/ie-emulation-modes-warning.js diff --git a/blog/static/assets/js/ie10-viewport-bug-workaround.js b/src/blog/static/assets/js/ie10-viewport-bug-workaround.js similarity index 100% rename from blog/static/assets/js/ie10-viewport-bug-workaround.js rename to src/blog/static/assets/js/ie10-viewport-bug-workaround.js diff --git a/blog/static/blog/css/ie.css b/src/blog/static/blog/css/ie.css similarity index 100% rename from blog/static/blog/css/ie.css rename to src/blog/static/blog/css/ie.css diff --git a/blog/static/blog/css/nprogress.css b/src/blog/static/blog/css/nprogress.css similarity index 100% rename from blog/static/blog/css/nprogress.css rename to src/blog/static/blog/css/nprogress.css diff --git a/blog/static/blog/css/oauth_style.css b/src/blog/static/blog/css/oauth_style.css similarity index 100% rename from blog/static/blog/css/oauth_style.css rename to src/blog/static/blog/css/oauth_style.css diff --git a/blog/static/blog/css/style.css b/src/blog/static/blog/css/style.css similarity index 100% rename from blog/static/blog/css/style.css rename to src/blog/static/blog/css/style.css diff --git a/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2 b/src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2 similarity index 100% rename from blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2 rename to src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2 diff --git a/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2 b/src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2 similarity index 100% rename from blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2 rename to src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2 diff --git a/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2 b/src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2 similarity index 100% rename from blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2 rename to src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2 diff --git a/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2 b/src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2 similarity index 100% rename from blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2 rename to src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2 diff --git a/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2 b/src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2 similarity index 100% rename from blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2 rename to src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2 diff --git a/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2 b/src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2 similarity index 100% rename from blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2 rename to src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2 diff --git a/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2 b/src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2 similarity index 100% rename from blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2 rename to src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2 diff --git a/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2 b/src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2 similarity index 100% rename from blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2 rename to src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2 diff --git a/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2 b/src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2 similarity index 100% rename from blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2 rename to src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2 diff --git a/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2 b/src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2 similarity index 100% rename from blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2 rename to src/blog/static/blog/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2 diff --git a/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 b/src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 similarity index 100% rename from blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 rename to src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 diff --git a/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 b/src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 similarity index 100% rename from blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 rename to src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 diff --git a/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 b/src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 similarity index 100% rename from blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 rename to src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 diff --git a/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 b/src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 similarity index 100% rename from blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 rename to src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 diff --git a/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 b/src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 similarity index 100% rename from blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 rename to src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 diff --git a/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 b/src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 similarity index 100% rename from blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 rename to src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 diff --git a/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 b/src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 similarity index 100% rename from blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 rename to src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 diff --git a/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 b/src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 similarity index 100% rename from blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 rename to src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 diff --git a/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2 b/src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2 similarity index 100% rename from blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2 rename to src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2 diff --git a/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2 b/src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2 similarity index 100% rename from blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2 rename to src/blog/static/blog/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2 diff --git a/blog/static/blog/fonts/open-sans.css b/src/blog/static/blog/fonts/open-sans.css similarity index 100% rename from blog/static/blog/fonts/open-sans.css rename to src/blog/static/blog/fonts/open-sans.css diff --git a/blog/static/blog/img/avatar.png b/src/blog/static/blog/img/avatar.png similarity index 100% rename from blog/static/blog/img/avatar.png rename to src/blog/static/blog/img/avatar.png diff --git a/blog/static/blog/img/icon-sn.svg b/src/blog/static/blog/img/icon-sn.svg similarity index 100% rename from blog/static/blog/img/icon-sn.svg rename to src/blog/static/blog/img/icon-sn.svg diff --git a/blog/static/blog/js/blog.js b/src/blog/static/blog/js/blog.js similarity index 100% rename from blog/static/blog/js/blog.js rename to src/blog/static/blog/js/blog.js diff --git a/blog/static/blog/js/html5.js b/src/blog/static/blog/js/html5.js similarity index 100% rename from blog/static/blog/js/html5.js rename to src/blog/static/blog/js/html5.js diff --git a/blog/static/blog/js/jquery-3.6.0.min.js b/src/blog/static/blog/js/jquery-3.6.0.min.js similarity index 100% rename from blog/static/blog/js/jquery-3.6.0.min.js rename to src/blog/static/blog/js/jquery-3.6.0.min.js diff --git a/blog/static/blog/js/mathjax-loader.js b/src/blog/static/blog/js/mathjax-loader.js similarity index 100% rename from blog/static/blog/js/mathjax-loader.js rename to src/blog/static/blog/js/mathjax-loader.js diff --git a/blog/static/blog/js/navigation.js b/src/blog/static/blog/js/navigation.js similarity index 100% rename from blog/static/blog/js/navigation.js rename to src/blog/static/blog/js/navigation.js diff --git a/blog/static/blog/js/nprogress.js b/src/blog/static/blog/js/nprogress.js similarity index 100% rename from blog/static/blog/js/nprogress.js rename to src/blog/static/blog/js/nprogress.js diff --git a/blog/static/pygments/default.css b/src/blog/static/pygments/default.css old mode 100755 new mode 100644 similarity index 100% rename from blog/static/pygments/default.css rename to src/blog/static/pygments/default.css diff --git a/comments/__init__.py b/src/blog/templatetags/__init__.py similarity index 100% rename from comments/__init__.py rename to src/blog/templatetags/__init__.py diff --git a/blog/templatetags/blog_tags.py b/src/blog/templatetags/blog_tags.py similarity index 100% rename from blog/templatetags/blog_tags.py rename to src/blog/templatetags/blog_tags.py diff --git a/blog/tests.py b/src/blog/tests.py similarity index 100% rename from blog/tests.py rename to src/blog/tests.py diff --git a/blog/urls.py b/src/blog/urls.py similarity index 100% rename from blog/urls.py rename to src/blog/urls.py diff --git a/blog/views.py b/src/blog/views.py similarity index 100% rename from blog/views.py rename to src/blog/views.py diff --git a/codecov.yml b/src/codecov.yml similarity index 100% rename from codecov.yml rename to src/codecov.yml diff --git a/comments/migrations/__init__.py b/src/comments/__init__.py similarity index 100% rename from comments/migrations/__init__.py rename to src/comments/__init__.py diff --git a/comments/admin.py b/src/comments/admin.py similarity index 100% rename from comments/admin.py rename to src/comments/admin.py diff --git a/comments/apps.py b/src/comments/apps.py similarity index 100% rename from comments/apps.py rename to src/comments/apps.py diff --git a/comments/forms.py b/src/comments/forms.py similarity index 100% rename from comments/forms.py rename to src/comments/forms.py diff --git a/comments/migrations/0001_initial.py b/src/comments/migrations/0001_initial.py similarity index 100% rename from comments/migrations/0001_initial.py rename to src/comments/migrations/0001_initial.py diff --git a/comments/migrations/0002_alter_comment_is_enable.py b/src/comments/migrations/0002_alter_comment_is_enable.py similarity index 100% rename from comments/migrations/0002_alter_comment_is_enable.py rename to src/comments/migrations/0002_alter_comment_is_enable.py diff --git a/comments/migrations/0003_alter_comment_options_remove_comment_created_time_and_more.py b/src/comments/migrations/0003_alter_comment_options_remove_comment_created_time_and_more.py similarity index 100% rename from comments/migrations/0003_alter_comment_options_remove_comment_created_time_and_more.py rename to src/comments/migrations/0003_alter_comment_options_remove_comment_created_time_and_more.py diff --git a/comments/templatetags/__init__.py b/src/comments/migrations/__init__.py similarity index 100% rename from comments/templatetags/__init__.py rename to src/comments/migrations/__init__.py diff --git a/comments/models.py b/src/comments/models.py similarity index 100% rename from comments/models.py rename to src/comments/models.py diff --git a/oauth/__init__.py b/src/comments/templatetags/__init__.py similarity index 100% rename from oauth/__init__.py rename to src/comments/templatetags/__init__.py diff --git a/comments/templatetags/comments_tags.py b/src/comments/templatetags/comments_tags.py similarity index 100% rename from comments/templatetags/comments_tags.py rename to src/comments/templatetags/comments_tags.py diff --git a/comments/tests.py b/src/comments/tests.py similarity index 100% rename from comments/tests.py rename to src/comments/tests.py diff --git a/comments/urls.py b/src/comments/urls.py similarity index 100% rename from comments/urls.py rename to src/comments/urls.py diff --git a/comments/utils.py b/src/comments/utils.py similarity index 100% rename from comments/utils.py rename to src/comments/utils.py diff --git a/comments/views.py b/src/comments/views.py similarity index 100% rename from comments/views.py rename to src/comments/views.py diff --git a/deploy/docker-compose/docker-compose.es.yml b/src/deploy/docker-compose/docker-compose.es.yml similarity index 100% rename from deploy/docker-compose/docker-compose.es.yml rename to src/deploy/docker-compose/docker-compose.es.yml diff --git a/deploy/docker-compose/docker-compose.yml b/src/deploy/docker-compose/docker-compose.yml similarity index 98% rename from deploy/docker-compose/docker-compose.yml rename to src/deploy/docker-compose/docker-compose.yml index 9609af3..6654dbc 100644 --- a/deploy/docker-compose/docker-compose.yml +++ b/src/deploy/docker-compose/docker-compose.yml @@ -17,7 +17,7 @@ services: djangoblog: build: - context: ../../ + context: ../../.. restart: always command: bash -c 'sh /code/djangoblog/bin/docker_start.sh' ports: diff --git a/deploy/entrypoint.sh b/src/deploy/entrypoint.sh similarity index 100% rename from deploy/entrypoint.sh rename to src/deploy/entrypoint.sh diff --git a/deploy/k8s/configmap.yaml b/src/deploy/k8s/configmap.yaml similarity index 100% rename from deploy/k8s/configmap.yaml rename to src/deploy/k8s/configmap.yaml diff --git a/deploy/k8s/deployment.yaml b/src/deploy/k8s/deployment.yaml similarity index 100% rename from deploy/k8s/deployment.yaml rename to src/deploy/k8s/deployment.yaml diff --git a/deploy/k8s/gateway.yaml b/src/deploy/k8s/gateway.yaml similarity index 100% rename from deploy/k8s/gateway.yaml rename to src/deploy/k8s/gateway.yaml diff --git a/deploy/k8s/pv.yaml b/src/deploy/k8s/pv.yaml similarity index 100% rename from deploy/k8s/pv.yaml rename to src/deploy/k8s/pv.yaml diff --git a/deploy/k8s/pvc.yaml b/src/deploy/k8s/pvc.yaml similarity index 100% rename from deploy/k8s/pvc.yaml rename to src/deploy/k8s/pvc.yaml diff --git a/deploy/k8s/service.yaml b/src/deploy/k8s/service.yaml similarity index 100% rename from deploy/k8s/service.yaml rename to src/deploy/k8s/service.yaml diff --git a/deploy/k8s/storageclass.yaml b/src/deploy/k8s/storageclass.yaml similarity index 100% rename from deploy/k8s/storageclass.yaml rename to src/deploy/k8s/storageclass.yaml diff --git a/deploy/nginx.conf b/src/deploy/nginx.conf similarity index 100% rename from deploy/nginx.conf rename to src/deploy/nginx.conf diff --git a/docs/README-en.md b/src/docs/README-en.md similarity index 93% rename from docs/README-en.md rename to src/docs/README-en.md index 37ea069..e14666f 100644 --- a/docs/README-en.md +++ b/src/docs/README-en.md @@ -80,7 +80,7 @@ pip install -r requirements.txt ``` - **More Configurations**: - For advanced settings such as email, OAuth, caching, and more, please refer to our [Detailed Configuration Guide](/docs/config-en.md). + For advanced settings such as email, OAuth, caching, and more, please refer to our [Detailed Configuration Guide](/src/docsdocs/config-en.md). ### 4. Database Initialization @@ -111,8 +111,8 @@ Now, open your browser and navigate to `http://127.0.0.1:8000/`. You should see ## Deployment - **Traditional Deployment**: A detailed guide for server deployment is available here: [Deployment Tutorial](https://www.lylinux.net/article/2019/8/5/58.html) (in Chinese). -- **Docker Deployment**: This project fully supports Docker. If you are familiar with containerization, please refer to the [Docker Deployment Guide](/docs/docker-en.md) for a quick start. -- **Kubernetes Deployment**: We also provide a complete [Kubernetes Deployment Guide](/docs/k8s-en.md) to help you go cloud-native easily. +- **Docker Deployment**: This project fully supports Docker. If you are familiar with containerization, please refer to the [Docker Deployment Guide](/src/docsdocs/docker-en.md) for a quick start. +- **Kubernetes Deployment**: We also provide a complete [Kubernetes Deployment Guide](/src/docsdocs/k8s-en.md) to help you go cloud-native easily. ## 🧩 Plugin System @@ -137,8 +137,8 @@ This project is open-sourced under the [MIT License](LICENSE). If you find this project helpful and wish to support its continued maintenance and development, please consider buying me a coffee! Your support is my greatest motivation.
-
-
+
+
(Left) Alipay / (Right) WeChat @@ -150,7 +150,7 @@ A special thanks to **JetBrains** for providing a free open-source license for t
diff --git a/docs/config-en.md b/src/docs/config-en.md similarity index 100% rename from docs/config-en.md rename to src/docs/config-en.md diff --git a/docs/config.md b/src/docs/config.md similarity index 100% rename from docs/config.md rename to src/docs/config.md diff --git a/docs/docker-en.md b/src/docs/docker-en.md similarity index 100% rename from docs/docker-en.md rename to src/docs/docker-en.md diff --git a/docs/docker.md b/src/docs/docker.md similarity index 100% rename from docs/docker.md rename to src/docs/docker.md diff --git a/docs/es.md b/src/docs/es.md similarity index 100% rename from docs/es.md rename to src/docs/es.md diff --git a/docs/imgs/alipay.jpg b/src/docs/imgs/alipay.jpg similarity index 100% rename from docs/imgs/alipay.jpg rename to src/docs/imgs/alipay.jpg diff --git a/docs/imgs/pycharm_logo.png b/src/docs/imgs/pycharm_logo.png similarity index 100% rename from docs/imgs/pycharm_logo.png rename to src/docs/imgs/pycharm_logo.png diff --git a/docs/imgs/wechat.jpg b/src/docs/imgs/wechat.jpg similarity index 100% rename from docs/imgs/wechat.jpg rename to src/docs/imgs/wechat.jpg diff --git a/docs/k8s-en.md b/src/docs/k8s-en.md similarity index 100% rename from docs/k8s-en.md rename to src/docs/k8s-en.md diff --git a/docs/k8s.md b/src/docs/k8s.md similarity index 100% rename from docs/k8s.md rename to src/docs/k8s.md diff --git a/locale/en/LC_MESSAGES/django.mo b/src/locale/en/LC_MESSAGES/django.mo similarity index 100% rename from locale/en/LC_MESSAGES/django.mo rename to src/locale/en/LC_MESSAGES/django.mo diff --git a/locale/en/LC_MESSAGES/django.po b/src/locale/en/LC_MESSAGES/django.po similarity index 100% rename from locale/en/LC_MESSAGES/django.po rename to src/locale/en/LC_MESSAGES/django.po diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/src/locale/zh_Hans/LC_MESSAGES/django.mo similarity index 100% rename from locale/zh_Hans/LC_MESSAGES/django.mo rename to src/locale/zh_Hans/LC_MESSAGES/django.mo diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/src/locale/zh_Hans/LC_MESSAGES/django.po similarity index 100% rename from locale/zh_Hans/LC_MESSAGES/django.po rename to src/locale/zh_Hans/LC_MESSAGES/django.po diff --git a/locale/zh_Hant/LC_MESSAGES/django.mo b/src/locale/zh_Hant/LC_MESSAGES/django.mo similarity index 100% rename from locale/zh_Hant/LC_MESSAGES/django.mo rename to src/locale/zh_Hant/LC_MESSAGES/django.mo diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/src/locale/zh_Hant/LC_MESSAGES/django.po similarity index 100% rename from locale/zh_Hant/LC_MESSAGES/django.po rename to src/locale/zh_Hant/LC_MESSAGES/django.po diff --git a/manage.py b/src/manage.py old mode 100755 new mode 100644 similarity index 100% rename from manage.py rename to src/manage.py diff --git a/oauth/migrations/__init__.py b/src/oauth/__init__.py similarity index 100% rename from oauth/migrations/__init__.py rename to src/oauth/__init__.py diff --git a/oauth/admin.py b/src/oauth/admin.py similarity index 100% rename from oauth/admin.py rename to src/oauth/admin.py diff --git a/oauth/apps.py b/src/oauth/apps.py similarity index 100% rename from oauth/apps.py rename to src/oauth/apps.py diff --git a/oauth/forms.py b/src/oauth/forms.py similarity index 100% rename from oauth/forms.py rename to src/oauth/forms.py diff --git a/oauth/migrations/0001_initial.py b/src/oauth/migrations/0001_initial.py similarity index 100% rename from oauth/migrations/0001_initial.py rename to src/oauth/migrations/0001_initial.py diff --git a/oauth/migrations/0002_alter_oauthconfig_options_alter_oauthuser_options_and_more.py b/src/oauth/migrations/0002_alter_oauthconfig_options_alter_oauthuser_options_and_more.py similarity index 100% rename from oauth/migrations/0002_alter_oauthconfig_options_alter_oauthuser_options_and_more.py rename to src/oauth/migrations/0002_alter_oauthconfig_options_alter_oauthuser_options_and_more.py diff --git a/oauth/migrations/0003_alter_oauthuser_nickname.py b/src/oauth/migrations/0003_alter_oauthuser_nickname.py similarity index 100% rename from oauth/migrations/0003_alter_oauthuser_nickname.py rename to src/oauth/migrations/0003_alter_oauthuser_nickname.py diff --git a/owntracks/__init__.py b/src/oauth/migrations/__init__.py similarity index 100% rename from owntracks/__init__.py rename to src/oauth/migrations/__init__.py diff --git a/oauth/models.py b/src/oauth/models.py similarity index 100% rename from oauth/models.py rename to src/oauth/models.py diff --git a/oauth/oauthmanager.py b/src/oauth/oauthmanager.py similarity index 100% rename from oauth/oauthmanager.py rename to src/oauth/oauthmanager.py diff --git a/oauth/templatetags/__init__.py b/src/oauth/templatetags/__init__.py similarity index 100% rename from oauth/templatetags/__init__.py rename to src/oauth/templatetags/__init__.py diff --git a/oauth/templatetags/oauth_tags.py b/src/oauth/templatetags/oauth_tags.py similarity index 100% rename from oauth/templatetags/oauth_tags.py rename to src/oauth/templatetags/oauth_tags.py diff --git a/oauth/tests.py b/src/oauth/tests.py similarity index 100% rename from oauth/tests.py rename to src/oauth/tests.py diff --git a/oauth/urls.py b/src/oauth/urls.py similarity index 100% rename from oauth/urls.py rename to src/oauth/urls.py diff --git a/oauth/views.py b/src/oauth/views.py similarity index 100% rename from oauth/views.py rename to src/oauth/views.py diff --git a/owntracks/migrations/__init__.py b/src/owntracks/__init__.py similarity index 100% rename from owntracks/migrations/__init__.py rename to src/owntracks/__init__.py diff --git a/owntracks/admin.py b/src/owntracks/admin.py similarity index 100% rename from owntracks/admin.py rename to src/owntracks/admin.py diff --git a/owntracks/apps.py b/src/owntracks/apps.py similarity index 100% rename from owntracks/apps.py rename to src/owntracks/apps.py diff --git a/owntracks/migrations/0001_initial.py b/src/owntracks/migrations/0001_initial.py similarity index 100% rename from owntracks/migrations/0001_initial.py rename to src/owntracks/migrations/0001_initial.py diff --git a/owntracks/migrations/0002_alter_owntracklog_options_and_more.py b/src/owntracks/migrations/0002_alter_owntracklog_options_and_more.py similarity index 100% rename from owntracks/migrations/0002_alter_owntracklog_options_and_more.py rename to src/owntracks/migrations/0002_alter_owntracklog_options_and_more.py diff --git a/servermanager/__init__.py b/src/owntracks/migrations/__init__.py similarity index 100% rename from servermanager/__init__.py rename to src/owntracks/migrations/__init__.py diff --git a/owntracks/models.py b/src/owntracks/models.py similarity index 100% rename from owntracks/models.py rename to src/owntracks/models.py diff --git a/owntracks/tests.py b/src/owntracks/tests.py similarity index 100% rename from owntracks/tests.py rename to src/owntracks/tests.py diff --git a/owntracks/urls.py b/src/owntracks/urls.py similarity index 100% rename from owntracks/urls.py rename to src/owntracks/urls.py diff --git a/owntracks/views.py b/src/owntracks/views.py similarity index 100% rename from owntracks/views.py rename to src/owntracks/views.py diff --git a/plugins/__init__.py b/src/plugins/__init__.py similarity index 100% rename from plugins/__init__.py rename to src/plugins/__init__.py diff --git a/plugins/article_copyright/__init__.py b/src/plugins/article_copyright/__init__.py similarity index 100% rename from plugins/article_copyright/__init__.py rename to src/plugins/article_copyright/__init__.py diff --git a/plugins/article_copyright/plugin.py b/src/plugins/article_copyright/plugin.py similarity index 100% rename from plugins/article_copyright/plugin.py rename to src/plugins/article_copyright/plugin.py diff --git a/plugins/article_recommendation/__init__.py b/src/plugins/article_recommendation/__init__.py similarity index 100% rename from plugins/article_recommendation/__init__.py rename to src/plugins/article_recommendation/__init__.py diff --git a/plugins/article_recommendation/plugin.py b/src/plugins/article_recommendation/plugin.py similarity index 100% rename from plugins/article_recommendation/plugin.py rename to src/plugins/article_recommendation/plugin.py diff --git a/plugins/article_recommendation/static/article_recommendation/css/recommendation.css b/src/plugins/article_recommendation/static/article_recommendation/css/recommendation.css similarity index 100% rename from plugins/article_recommendation/static/article_recommendation/css/recommendation.css rename to src/plugins/article_recommendation/static/article_recommendation/css/recommendation.css diff --git a/plugins/article_recommendation/static/article_recommendation/js/recommendation.js b/src/plugins/article_recommendation/static/article_recommendation/js/recommendation.js similarity index 100% rename from plugins/article_recommendation/static/article_recommendation/js/recommendation.js rename to src/plugins/article_recommendation/static/article_recommendation/js/recommendation.js diff --git a/plugins/external_links/__init__.py b/src/plugins/external_links/__init__.py similarity index 100% rename from plugins/external_links/__init__.py rename to src/plugins/external_links/__init__.py diff --git a/plugins/external_links/plugin.py b/src/plugins/external_links/plugin.py similarity index 100% rename from plugins/external_links/plugin.py rename to src/plugins/external_links/plugin.py diff --git a/plugins/image_lazy_loading/__init__.py b/src/plugins/image_lazy_loading/__init__.py similarity index 100% rename from plugins/image_lazy_loading/__init__.py rename to src/plugins/image_lazy_loading/__init__.py diff --git a/plugins/image_lazy_loading/plugin.py b/src/plugins/image_lazy_loading/plugin.py similarity index 100% rename from plugins/image_lazy_loading/plugin.py rename to src/plugins/image_lazy_loading/plugin.py diff --git a/plugins/reading_time/__init__.py b/src/plugins/reading_time/__init__.py similarity index 100% rename from plugins/reading_time/__init__.py rename to src/plugins/reading_time/__init__.py diff --git a/plugins/reading_time/plugin.py b/src/plugins/reading_time/plugin.py similarity index 100% rename from plugins/reading_time/plugin.py rename to src/plugins/reading_time/plugin.py diff --git a/plugins/seo_optimizer/__init__.py b/src/plugins/seo_optimizer/__init__.py similarity index 100% rename from plugins/seo_optimizer/__init__.py rename to src/plugins/seo_optimizer/__init__.py diff --git a/plugins/seo_optimizer/plugin.py b/src/plugins/seo_optimizer/plugin.py similarity index 100% rename from plugins/seo_optimizer/plugin.py rename to src/plugins/seo_optimizer/plugin.py diff --git a/plugins/view_count/__init__.py b/src/plugins/view_count/__init__.py similarity index 100% rename from plugins/view_count/__init__.py rename to src/plugins/view_count/__init__.py diff --git a/plugins/view_count/plugin.py b/src/plugins/view_count/plugin.py similarity index 100% rename from plugins/view_count/plugin.py rename to src/plugins/view_count/plugin.py diff --git a/requirements.txt b/src/requirements.txt similarity index 100% rename from requirements.txt rename to src/requirements.txt diff --git a/servermanager/MemcacheStorage.py b/src/servermanager/MemcacheStorage.py similarity index 100% rename from servermanager/MemcacheStorage.py rename to src/servermanager/MemcacheStorage.py diff --git a/servermanager/migrations/__init__.py b/src/servermanager/__init__.py similarity index 100% rename from servermanager/migrations/__init__.py rename to src/servermanager/__init__.py diff --git a/servermanager/admin.py b/src/servermanager/admin.py similarity index 100% rename from servermanager/admin.py rename to src/servermanager/admin.py diff --git a/servermanager/api/__init__.py b/src/servermanager/api/__init__.py similarity index 100% rename from servermanager/api/__init__.py rename to src/servermanager/api/__init__.py diff --git a/servermanager/api/blogapi.py b/src/servermanager/api/blogapi.py similarity index 100% rename from servermanager/api/blogapi.py rename to src/servermanager/api/blogapi.py diff --git a/servermanager/api/commonapi.py b/src/servermanager/api/commonapi.py similarity index 100% rename from servermanager/api/commonapi.py rename to src/servermanager/api/commonapi.py diff --git a/servermanager/apps.py b/src/servermanager/apps.py similarity index 100% rename from servermanager/apps.py rename to src/servermanager/apps.py diff --git a/servermanager/migrations/0001_initial.py b/src/servermanager/migrations/0001_initial.py similarity index 100% rename from servermanager/migrations/0001_initial.py rename to src/servermanager/migrations/0001_initial.py diff --git a/servermanager/migrations/0002_alter_emailsendlog_options_and_more.py b/src/servermanager/migrations/0002_alter_emailsendlog_options_and_more.py similarity index 100% rename from servermanager/migrations/0002_alter_emailsendlog_options_and_more.py rename to src/servermanager/migrations/0002_alter_emailsendlog_options_and_more.py diff --git a/src/servermanager/migrations/__init__.py b/src/servermanager/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/servermanager/models.py b/src/servermanager/models.py similarity index 100% rename from servermanager/models.py rename to src/servermanager/models.py diff --git a/servermanager/robot.py b/src/servermanager/robot.py similarity index 100% rename from servermanager/robot.py rename to src/servermanager/robot.py diff --git a/servermanager/tests.py b/src/servermanager/tests.py similarity index 100% rename from servermanager/tests.py rename to src/servermanager/tests.py diff --git a/servermanager/urls.py b/src/servermanager/urls.py similarity index 100% rename from servermanager/urls.py rename to src/servermanager/urls.py diff --git a/servermanager/views.py b/src/servermanager/views.py similarity index 100% rename from servermanager/views.py rename to src/servermanager/views.py diff --git a/src/templates/__init__.py b/src/templates/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/templates/account/forget_password.html b/src/templates/account/forget_password.html similarity index 93% rename from templates/account/forget_password.html rename to src/templates/account/forget_password.html index 3384531..8077270 100644 --- a/templates/account/forget_password.html +++ b/src/templates/account/forget_password.html @@ -1,4 +1,4 @@ -{% extends 'share_layout/base_account.html' %} +{% extends 'share_layout/../share_layout/base_account.html' %} {% load i18n %} {% load static %} {% block content %} diff --git a/templates/account/login.html b/src/templates/account/login.html similarity index 95% rename from templates/account/login.html rename to src/templates/account/login.html index cff8d33..3ed6d70 100644 --- a/templates/account/login.html +++ b/src/templates/account/login.html @@ -1,4 +1,4 @@ -{% extends 'share_layout/base_account.html' %} +{% extends 'share_layout/../share_layout/base_account.html' %} {% load static %} {% load i18n %} {% block content %} diff --git a/templates/account/registration_form.html b/src/templates/account/registration_form.html similarity index 91% rename from templates/account/registration_form.html rename to src/templates/account/registration_form.html index 65e7549..3725a4b 100644 --- a/templates/account/registration_form.html +++ b/src/templates/account/registration_form.html @@ -1,4 +1,4 @@ -{% extends 'share_layout/base_account.html' %} +{% extends 'share_layout/../share_layout/base_account.html' %} {% load static %} {% block content %}
您还没有登录,请您 {{ title }} {% endblock %} diff --git a/templates/oauth/oauth_applications.html b/src/templates/oauth/oauth_applications.html similarity index 100% rename from templates/oauth/oauth_applications.html rename to src/templates/oauth/oauth_applications.html diff --git a/templates/oauth/require_email.html b/src/templates/oauth/require_email.html similarity index 95% rename from templates/oauth/require_email.html rename to src/templates/oauth/require_email.html index 3adef12..d93d2bc 100644 --- a/templates/oauth/require_email.html +++ b/src/templates/oauth/require_email.html @@ -1,4 +1,4 @@ -{% extends 'share_layout/base_account.html' %} +{% extends 'share_layout/../share_layout/base_account.html' %} {% load static %} {% block content %} diff --git a/templates/owntracks/show_log_dates.html b/src/templates/owntracks/show_log_dates.html similarity index 100% rename from templates/owntracks/show_log_dates.html rename to src/templates/owntracks/show_log_dates.html diff --git a/templates/owntracks/show_maps.html b/src/templates/owntracks/show_maps.html similarity index 100% rename from templates/owntracks/show_maps.html rename to src/templates/owntracks/show_maps.html diff --git a/src/templates/plugins/__init__.py b/src/templates/plugins/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/templates/plugins/article_recommendation/__init__.py b/src/templates/plugins/article_recommendation/__init__.py similarity index 100% rename from templates/plugins/article_recommendation/__init__.py rename to src/templates/plugins/article_recommendation/__init__.py diff --git a/templates/plugins/article_recommendation/bottom_widget.html b/src/templates/plugins/article_recommendation/bottom_widget.html similarity index 100% rename from templates/plugins/article_recommendation/bottom_widget.html rename to src/templates/plugins/article_recommendation/bottom_widget.html diff --git a/templates/plugins/article_recommendation/sidebar_widget.html b/src/templates/plugins/article_recommendation/sidebar_widget.html similarity index 100% rename from templates/plugins/article_recommendation/sidebar_widget.html rename to src/templates/plugins/article_recommendation/sidebar_widget.html diff --git a/templates/plugins/css_includes.html b/src/templates/plugins/css_includes.html similarity index 100% rename from templates/plugins/css_includes.html rename to src/templates/plugins/css_includes.html diff --git a/templates/plugins/js_includes.html b/src/templates/plugins/js_includes.html similarity index 100% rename from templates/plugins/js_includes.html rename to src/templates/plugins/js_includes.html diff --git a/templates/search/indexes/blog/article_text.txt b/src/templates/search/indexes/blog/article_text.txt similarity index 100% rename from templates/search/indexes/blog/article_text.txt rename to src/templates/search/indexes/blog/article_text.txt diff --git a/templates/search/search.html b/src/templates/search/search.html similarity index 98% rename from templates/search/search.html rename to src/templates/search/search.html index 1404c60..208fc08 100644 --- a/templates/search/search.html +++ b/src/templates/search/search.html @@ -1,4 +1,4 @@ -{% extends 'share_layout/base.html' %} +{% extends 'share_layout/../share_layout/base.html' %} {% load blog_tags %} {% block header %}{{ SITE_NAME }} | {{ SITE_DESCRIPTION }}
diff --git a/templates/share_layout/adsense.html b/src/templates/share_layout/adsense.html
similarity index 100%
rename from templates/share_layout/adsense.html
rename to src/templates/share_layout/adsense.html
diff --git a/templates/share_layout/base.html b/src/templates/share_layout/base.html
similarity index 100%
rename from templates/share_layout/base.html
rename to src/templates/share_layout/base.html
diff --git a/templates/share_layout/base_account.html b/src/templates/share_layout/base_account.html
similarity index 100%
rename from templates/share_layout/base_account.html
rename to src/templates/share_layout/base_account.html
diff --git a/templates/share_layout/footer.html b/src/templates/share_layout/footer.html
similarity index 100%
rename from templates/share_layout/footer.html
rename to src/templates/share_layout/footer.html
diff --git a/templates/share_layout/nav.html b/src/templates/share_layout/nav.html
similarity index 100%
rename from templates/share_layout/nav.html
rename to src/templates/share_layout/nav.html
diff --git a/templates/share_layout/nav_node.html b/src/templates/share_layout/nav_node.html
similarity index 100%
rename from templates/share_layout/nav_node.html
rename to src/templates/share_layout/nav_node.html