diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index ccaabf9..0000000 --- a/.dockerignore +++ /dev/null @@ -1,11 +0,0 @@ -bin/data/ -# virtualenv -venv/ -collectedstatic/ -djangoblog/whoosh_index/ -uploads/ -settings_production.py -*.md -docs/ -logs/ -static/ \ No newline at end of file diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index fd52ece..0000000 --- a/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -blog/static/* linguist-vendored -*.js linguist-vendored -*.css linguist-vendored -* text=auto -*.sh text eol=lf -*.conf text eol=lf \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 2b5b7aa..0000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,18 +0,0 @@ - - -**我确定我已经查看了** (标注`[ ]`为`[x]`) - -- [ ] [DjangoBlog的readme](https://github.com/liangliangyy/DjangoBlog/blob/master/README.md) -- [ ] [配置说明](https://github.com/liangliangyy/DjangoBlog/blob/master/bin/config.md) -- [ ] [其他 Issues](https://github.com/liangliangyy/DjangoBlog/issues) - ----- - -**我要申请** (标注`[ ]`为`[x]`) - -- [ ] BUG 反馈 -- [ ] 添加新的特性或者功能 -- [ ] 请求技术支持 diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index 52775e0..0000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: "CodeQL" - -on: - push: - branches: - - master - - dev - paths-ignore: - - '**/*.md' - - '**/*.css' - - '**/*.js' - - '**/*.yml' - - '**/*.txt' - pull_request: - branches: - - master - - dev - paths-ignore: - - '**/*.md' - - '**/*.css' - - '**/*.js' - - '**/*.yml' - - '**/*.txt' - schedule: - - cron: '30 1 * * 0' - - -jobs: - CodeQL-Build: - runs-on: ubuntu-latest - permissions: - security-events: write - actions: read - contents: read - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: python - - - name: Autobuild - uses: github/codeql-action/autobuild@v3 - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 \ No newline at end of file diff --git a/.github/workflows/django.yml b/.github/workflows/django.yml deleted file mode 100644 index 5ab0423..0000000 --- a/.github/workflows/django.yml +++ /dev/null @@ -1,153 +0,0 @@ -name: Django CI - -on: - push: - branches: - - master - - dev - paths-ignore: - - '**/*.md' - - '**/*.css' - - '**/*.js' - pull_request: - branches: - - master - - dev - paths-ignore: - - '**/*.md' - - '**/*.css' - - '**/*.js' - -jobs: - build-normal: - runs-on: ubuntu-latest - strategy: - max-parallel: 4 - matrix: - python-version: ["3.10","3.11" ] - - steps: - - name: Start MySQL - uses: samin/mysql-action@v1.3 - with: - host port: 3306 - container port: 3306 - character set server: utf8mb4 - collation server: utf8mb4_general_ci - mysql version: latest - mysql root password: root - mysql database: djangoblog - mysql user: root - mysql password: root - - - uses: actions/checkout@v4 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - cache: 'pip' - - name: Install Dependencies - run: | - python -m pip install --upgrade pip - pip install -r requirements.txt - - name: Run Tests - env: - DJANGO_MYSQL_PASSWORD: root - DJANGO_MYSQL_HOST: 127.0.0.1 - run: | - python manage.py makemigrations - python manage.py migrate - python manage.py test - - build-with-es: - runs-on: ubuntu-latest - strategy: - max-parallel: 4 - matrix: - python-version: ["3.10","3.11" ] - - steps: - - name: Start MySQL - uses: samin/mysql-action@v1.3 - with: - host port: 3306 - container port: 3306 - character set server: utf8mb4 - collation server: utf8mb4_general_ci - mysql version: latest - mysql root password: root - mysql database: djangoblog - mysql user: root - mysql password: root - - - name: Configure sysctl limits - run: | - sudo swapoff -a - sudo sysctl -w vm.swappiness=1 - sudo sysctl -w fs.file-max=262144 - sudo sysctl -w vm.max_map_count=262144 - - - uses: miyataka/elasticsearch-github-actions@1 - - with: - stack-version: '7.12.1' - plugins: 'https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-7.12.1.zip' - - - - uses: actions/checkout@v4 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - cache: 'pip' - - name: Install Dependencies - run: | - python -m pip install --upgrade pip - pip install -r requirements.txt - - name: Run Tests - env: - DJANGO_MYSQL_PASSWORD: root - DJANGO_MYSQL_HOST: 127.0.0.1 - DJANGO_ELASTICSEARCH_HOST: 127.0.0.1:9200 - run: | - python manage.py makemigrations - python manage.py migrate - coverage run manage.py test - coverage xml - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - file: ./coverage.xml - flags: unittests - name: codecov-umbrella - fail_ci_if_error: false - verbose: true - - - name: Upload coverage to Codecov (fallback) - if: failure() - uses: codecov/codecov-action@v4 - with: - file: ./coverage.xml - flags: unittests - name: codecov-umbrella-fallback - fail_ci_if_error: false - verbose: true - - docker: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: . - push: false - tags: djangoblog/djangoblog:dev diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml deleted file mode 100644 index 904fef5..0000000 --- a/.github/workflows/docker.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: docker - -on: - push: - paths-ignore: - - '**/*.md' - - '**/*.yml' - branches: - - 'master' - - 'dev' - -jobs: - docker: - runs-on: ubuntu-latest - steps: - - name: Set env to docker dev tag - if: endsWith(github.ref, '/dev') - run: | - echo "DOCKER_TAG=test" >> $GITHUB_ENV - - name: Set env to docker latest tag - if: endsWith(github.ref, '/master') - run: | - echo "DOCKER_TAG=latest" >> $GITHUB_ENV - - name: Checkout - uses: actions/checkout@v4 - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: . - push: true - tags: ${{ secrets.DOCKERHUB_USERNAME }}/djangoblog:${{env.DOCKER_TAG}} - - diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml deleted file mode 100644 index 5eb0853..0000000 --- a/.github/workflows/publish-release.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: publish release - -on: - release: - types: [ published ] - -jobs: - docker: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v3 - with: - images: name/app - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v3 - with: - context: . - push: true - platforms: | - linux/amd64 - linux/arm64 - linux/arm/v7 - linux/arm/v6 - linux/386 - tags: ${{ secrets.DOCKERHUB_USERNAME }}/djangoblog:${{ github.event.release.tag_name }} diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 3015816..0000000 --- a/.gitignore +++ /dev/null @@ -1,80 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -env/ -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -*.egg-info/ -.installed.cfg -*.egg - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*,cover - -# Translations -*.pot - -# Django stuff: -*.log -logs/ - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - - -# PyCharm -# http://www.jetbrains.com/pycharm/webhelp/project.html -.idea -.iml -static/ -# virtualenv -venv/ - -collectedstatic/ -djangoblog/whoosh_index/ -google93fd32dbd906620a.html -baidu_verify_FlHL7cUyC9.html -BingSiteAuth.xml -cb9339dbe2ff86a5aa169d28dba5f615.txt -werobot_session.* -django.jpg -uploads/ -settings_production.py -werobot_session.db -bin/datas/ diff --git a/README.md b/doc/README.md similarity index 100% rename from README.md rename to doc/README.md diff --git a/Dockerfile b/src/Dockerfile similarity index 100% rename from Dockerfile rename to src/Dockerfile 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/accounts/__init__.py similarity index 100% rename from accounts/__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/migrations/__init__.py b/src/accounts/migrations/__init__.py similarity index 100% rename from accounts/migrations/__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/accounts/templatetags/__init__.py b/src/accounts/templatetags/__init__.py similarity index 100% rename from accounts/templatetags/__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/__init__.py b/src/blog/__init__.py similarity index 100% rename from blog/__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/__init__.py b/src/blog/management/__init__.py similarity index 100% rename from blog/management/__init__.py rename to src/blog/management/__init__.py diff --git a/blog/management/commands/__init__.py b/src/blog/management/commands/__init__.py similarity index 100% rename from blog/management/commands/__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/migrations/__init__.py b/src/blog/migrations/__init__.py similarity index 100% rename from blog/migrations/__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/fonts.css b/src/blog/static/blog/fonts/fonts.css similarity index 100% rename from blog/static/blog/fonts/fonts.css rename to src/blog/static/blog/fonts/fonts.css diff --git a/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff2 b/src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff2 similarity index 100% rename from blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff2 rename to src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff2 diff --git a/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2 b/src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2 similarity index 100% rename from blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2 rename to src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2 diff --git a/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff2 b/src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff2 similarity index 100% rename from blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff2 rename to src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff2 diff --git a/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff2 b/src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff2 similarity index 100% rename from blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff2 rename to src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff2 diff --git a/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2 b/src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2 similarity index 100% rename from blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2 rename to src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2 diff --git a/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff2 b/src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff2 similarity index 100% rename from blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff2 rename to src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff2 diff --git a/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff2 b/src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff2 similarity index 100% rename from blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff2 rename to src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff2 diff --git a/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff2 b/src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff2 similarity index 100% rename from blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff2 rename to src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff2 diff --git a/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOUuhp.woff2 b/src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOUuhp.woff2 similarity index 100% rename from blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOUuhp.woff2 rename to src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOUuhp.woff2 diff --git a/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff2 b/src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff2 similarity index 100% rename from blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff2 rename to src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff2 diff --git a/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff2 b/src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff2 similarity index 100% rename from blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff2 rename to src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff2 diff --git a/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2 b/src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2 similarity index 100% rename from blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2 rename to src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2 diff --git a/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff2 b/src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff2 similarity index 100% rename from blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff2 rename to src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff2 diff --git a/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff2 b/src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff2 similarity index 100% rename from blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff2 rename to src/blog/static/blog/fonts/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff2 diff --git a/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Udc1UAw.woff2 b/src/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Udc1UAw.woff2 similarity index 100% rename from blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Udc1UAw.woff2 rename to src/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Udc1UAw.woff2 diff --git a/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Vdc1UAw.woff2 b/src/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Vdc1UAw.woff2 similarity index 100% rename from blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Vdc1UAw.woff2 rename to src/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Vdc1UAw.woff2 diff --git a/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.woff2 b/src/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.woff2 similarity index 100% rename from blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.woff2 rename to src/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.woff2 diff --git a/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.woff2 b/src/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.woff2 similarity index 100% rename from blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.woff2 rename to src/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.woff2 diff --git a/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Zdc0.woff2 b/src/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Zdc0.woff2 similarity index 100% rename from blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Zdc0.woff2 rename to src/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0Zdc0.woff2 diff --git a/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0adc1UAw.woff2 b/src/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0adc1UAw.woff2 similarity index 100% rename from blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0adc1UAw.woff2 rename to src/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0adc1UAw.woff2 diff --git a/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0ddc1UAw.woff2 b/src/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0ddc1UAw.woff2 similarity index 100% rename from blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0ddc1UAw.woff2 rename to src/blog/static/blog/fonts/mem6YaGs126MiZpBA-UFUK0ddc1UAw.woff2 diff --git a/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFUZ0bbck.woff2 b/src/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFUZ0bbck.woff2 similarity index 100% rename from blog/static/blog/fonts/mem8YaGs126MiZpBA-UFUZ0bbck.woff2 rename to src/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFUZ0bbck.woff2 diff --git a/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFVZ0b.woff2 b/src/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFVZ0b.woff2 similarity index 100% rename from blog/static/blog/fonts/mem8YaGs126MiZpBA-UFVZ0b.woff2 rename to src/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFVZ0b.woff2 diff --git a/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFVp0bbck.woff2 b/src/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFVp0bbck.woff2 similarity index 100% rename from blog/static/blog/fonts/mem8YaGs126MiZpBA-UFVp0bbck.woff2 rename to src/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFVp0bbck.woff2 diff --git a/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFW50bbck.woff2 b/src/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFW50bbck.woff2 similarity index 100% rename from blog/static/blog/fonts/mem8YaGs126MiZpBA-UFW50bbck.woff2 rename to src/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFW50bbck.woff2 diff --git a/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFWJ0bbck.woff2 b/src/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFWJ0bbck.woff2 similarity index 100% rename from blog/static/blog/fonts/mem8YaGs126MiZpBA-UFWJ0bbck.woff2 rename to src/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFWJ0bbck.woff2 diff --git a/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFWZ0bbck.woff2 b/src/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFWZ0bbck.woff2 similarity index 100% rename from blog/static/blog/fonts/mem8YaGs126MiZpBA-UFWZ0bbck.woff2 rename to src/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFWZ0bbck.woff2 diff --git a/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFWp0bbck.woff2 b/src/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFWp0bbck.woff2 similarity index 100% rename from blog/static/blog/fonts/mem8YaGs126MiZpBA-UFWp0bbck.woff2 rename to src/blog/static/blog/fonts/mem8YaGs126MiZpBA-UFWp0bbck.woff2 diff --git a/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hkIqOjjg.woff2 b/src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hkIqOjjg.woff2 similarity index 100% rename from blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hkIqOjjg.woff2 rename to src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hkIqOjjg.woff2 diff --git a/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hlIqOjjg.woff2 b/src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hlIqOjjg.woff2 similarity index 100% rename from blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hlIqOjjg.woff2 rename to src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hlIqOjjg.woff2 diff --git a/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hmIqOjjg.woff2 b/src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hmIqOjjg.woff2 similarity index 100% rename from blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hmIqOjjg.woff2 rename to src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hmIqOjjg.woff2 diff --git a/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hnIqOjjg.woff2 b/src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hnIqOjjg.woff2 similarity index 100% rename from blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hnIqOjjg.woff2 rename to src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hnIqOjjg.woff2 diff --git a/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hoIqOjjg.woff2 b/src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hoIqOjjg.woff2 similarity index 100% rename from blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hoIqOjjg.woff2 rename to src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hoIqOjjg.woff2 diff --git a/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hrIqM.woff2 b/src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hrIqM.woff2 similarity index 100% rename from blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hrIqM.woff2 rename to src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hrIqM.woff2 diff --git a/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hvIqOjjg.woff2 b/src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hvIqOjjg.woff2 similarity index 100% rename from blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hvIqOjjg.woff2 rename to src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKWyV9hvIqOjjg.woff2 diff --git a/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhkIqOjjg.woff2 b/src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhkIqOjjg.woff2 similarity index 100% rename from blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhkIqOjjg.woff2 rename to src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhkIqOjjg.woff2 diff --git a/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhlIqOjjg.woff2 b/src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhlIqOjjg.woff2 similarity index 100% rename from blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhlIqOjjg.woff2 rename to src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhlIqOjjg.woff2 diff --git a/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhmIqOjjg.woff2 b/src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhmIqOjjg.woff2 similarity index 100% rename from blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhmIqOjjg.woff2 rename to src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhmIqOjjg.woff2 diff --git a/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhnIqOjjg.woff2 b/src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhnIqOjjg.woff2 similarity index 100% rename from blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhnIqOjjg.woff2 rename to src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhnIqOjjg.woff2 diff --git a/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhoIqOjjg.woff2 b/src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhoIqOjjg.woff2 similarity index 100% rename from blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhoIqOjjg.woff2 rename to src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhoIqOjjg.woff2 diff --git a/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhrIqM.woff2 b/src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhrIqM.woff2 similarity index 100% rename from blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhrIqM.woff2 rename to src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhrIqM.woff2 diff --git a/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhvIqOjjg.woff2 b/src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhvIqOjjg.woff2 similarity index 100% rename from blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhvIqOjjg.woff2 rename to src/blog/static/blog/fonts/memnYaGs126MiZpBA-UFUKXGUdhvIqOjjg.woff2 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 similarity index 100% rename from blog/static/pygments/default.css rename to src/blog/static/pygments/default.css diff --git a/blog/templatetags/__init__.py b/src/blog/templatetags/__init__.py similarity index 100% rename from blog/templatetags/__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/__init__.py b/src/comments/__init__.py similarity index 100% rename from comments/__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/migrations/__init__.py b/src/comments/migrations/__init__.py similarity index 100% rename from comments/migrations/__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/comments/templatetags/__init__.py b/src/comments/templatetags/__init__.py similarity index 100% rename from comments/templatetags/__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 100% rename from deploy/docker-compose/docker-compose.yml rename to src/deploy/docker-compose/docker-compose.yml 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/djangoblog/__init__.py b/src/djangoblog/__init__.py similarity index 100% rename from djangoblog/__init__.py rename to src/djangoblog/__init__.py diff --git a/djangoblog/admin_site.py b/src/djangoblog/admin_site.py similarity index 100% rename from djangoblog/admin_site.py rename to src/djangoblog/admin_site.py diff --git a/djangoblog/apps.py b/src/djangoblog/apps.py similarity index 100% rename from djangoblog/apps.py rename to src/djangoblog/apps.py diff --git a/djangoblog/blog_signals.py b/src/djangoblog/blog_signals.py similarity index 100% rename from djangoblog/blog_signals.py rename to src/djangoblog/blog_signals.py diff --git a/djangoblog/elasticsearch_backend.py b/src/djangoblog/elasticsearch_backend.py similarity index 100% rename from djangoblog/elasticsearch_backend.py rename to src/djangoblog/elasticsearch_backend.py diff --git a/djangoblog/feeds.py b/src/djangoblog/feeds.py similarity index 100% rename from djangoblog/feeds.py rename to src/djangoblog/feeds.py diff --git a/djangoblog/logentryadmin.py b/src/djangoblog/logentryadmin.py similarity index 100% rename from djangoblog/logentryadmin.py rename to src/djangoblog/logentryadmin.py diff --git a/djangoblog/plugin_manage/base_plugin.py b/src/djangoblog/plugin_manage/base_plugin.py similarity index 100% rename from djangoblog/plugin_manage/base_plugin.py rename to src/djangoblog/plugin_manage/base_plugin.py diff --git a/djangoblog/plugin_manage/hook_constants.py b/src/djangoblog/plugin_manage/hook_constants.py similarity index 100% rename from djangoblog/plugin_manage/hook_constants.py rename to src/djangoblog/plugin_manage/hook_constants.py diff --git a/djangoblog/plugin_manage/hooks.py b/src/djangoblog/plugin_manage/hooks.py similarity index 100% rename from djangoblog/plugin_manage/hooks.py rename to src/djangoblog/plugin_manage/hooks.py diff --git a/djangoblog/plugin_manage/loader.py b/src/djangoblog/plugin_manage/loader.py similarity index 100% rename from djangoblog/plugin_manage/loader.py rename to src/djangoblog/plugin_manage/loader.py diff --git a/djangoblog/settings.py b/src/djangoblog/settings.py similarity index 100% rename from djangoblog/settings.py rename to src/djangoblog/settings.py diff --git a/djangoblog/sitemap.py b/src/djangoblog/sitemap.py similarity index 100% rename from djangoblog/sitemap.py rename to src/djangoblog/sitemap.py diff --git a/djangoblog/spider_notify.py b/src/djangoblog/spider_notify.py similarity index 100% rename from djangoblog/spider_notify.py rename to src/djangoblog/spider_notify.py diff --git a/djangoblog/tests.py b/src/djangoblog/tests.py similarity index 100% rename from djangoblog/tests.py rename to src/djangoblog/tests.py diff --git a/djangoblog/urls.py b/src/djangoblog/urls.py similarity index 100% rename from djangoblog/urls.py rename to src/djangoblog/urls.py diff --git a/djangoblog/utils.py b/src/djangoblog/utils.py similarity index 100% rename from djangoblog/utils.py rename to src/djangoblog/utils.py diff --git a/djangoblog/whoosh_cn_backend.py b/src/djangoblog/whoosh_cn_backend.py similarity index 100% rename from djangoblog/whoosh_cn_backend.py rename to src/djangoblog/whoosh_cn_backend.py diff --git a/djangoblog/wsgi.py b/src/djangoblog/wsgi.py similarity index 100% rename from djangoblog/wsgi.py rename to src/djangoblog/wsgi.py diff --git a/docs/README-en.md b/src/docs/README-en.md similarity index 100% rename from docs/README-en.md rename to src/docs/README-en.md 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 similarity index 100% rename from manage.py rename to src/manage.py diff --git a/oauth/__init__.py b/src/oauth/__init__.py similarity index 100% rename from oauth/__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/oauth/migrations/__init__.py b/src/oauth/migrations/__init__.py similarity index 100% rename from oauth/migrations/__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/__init__.py b/src/owntracks/__init__.py similarity index 100% rename from owntracks/__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/owntracks/migrations/__init__.py b/src/owntracks/migrations/__init__.py similarity index 100% rename from owntracks/migrations/__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/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/__init__.py b/src/servermanager/__init__.py similarity index 100% rename from servermanager/__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/servermanager/migrations/__init__.py b/src/servermanager/migrations/__init__.py similarity index 100% rename from servermanager/migrations/__init__.py rename to src/servermanager/migrations/__init__.py 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/templates/account/forget_password.html b/src/templates/account/forget_password.html similarity index 100% rename from templates/account/forget_password.html rename to src/templates/account/forget_password.html diff --git a/templates/account/login.html b/src/templates/account/login.html similarity index 100% rename from templates/account/login.html rename to src/templates/account/login.html diff --git a/templates/account/registration_form.html b/src/templates/account/registration_form.html similarity index 100% rename from templates/account/registration_form.html rename to src/templates/account/registration_form.html diff --git a/templates/account/result.html b/src/templates/account/result.html similarity index 100% rename from templates/account/result.html rename to src/templates/account/result.html diff --git a/templates/blog/article_archives.html b/src/templates/blog/article_archives.html similarity index 100% rename from templates/blog/article_archives.html rename to src/templates/blog/article_archives.html diff --git a/templates/blog/article_detail.html b/src/templates/blog/article_detail.html similarity index 100% rename from templates/blog/article_detail.html rename to src/templates/blog/article_detail.html diff --git a/templates/blog/article_index.html b/src/templates/blog/article_index.html similarity index 100% rename from templates/blog/article_index.html rename to src/templates/blog/article_index.html diff --git a/templates/blog/error_page.html b/src/templates/blog/error_page.html similarity index 100% rename from templates/blog/error_page.html rename to src/templates/blog/error_page.html diff --git a/templates/blog/links_list.html b/src/templates/blog/links_list.html similarity index 100% rename from templates/blog/links_list.html rename to src/templates/blog/links_list.html diff --git a/templates/blog/tags/article_info.html b/src/templates/blog/tags/article_info.html similarity index 100% rename from templates/blog/tags/article_info.html rename to src/templates/blog/tags/article_info.html diff --git a/templates/blog/tags/article_meta_info.html b/src/templates/blog/tags/article_meta_info.html similarity index 100% rename from templates/blog/tags/article_meta_info.html rename to src/templates/blog/tags/article_meta_info.html diff --git a/templates/blog/tags/article_pagination.html b/src/templates/blog/tags/article_pagination.html similarity index 100% rename from templates/blog/tags/article_pagination.html rename to src/templates/blog/tags/article_pagination.html diff --git a/templates/blog/tags/article_tag_list.html b/src/templates/blog/tags/article_tag_list.html similarity index 100% rename from templates/blog/tags/article_tag_list.html rename to src/templates/blog/tags/article_tag_list.html diff --git a/templates/blog/tags/breadcrumb.html b/src/templates/blog/tags/breadcrumb.html similarity index 100% rename from templates/blog/tags/breadcrumb.html rename to src/templates/blog/tags/breadcrumb.html diff --git a/templates/blog/tags/sidebar.html b/src/templates/blog/tags/sidebar.html similarity index 100% rename from templates/blog/tags/sidebar.html rename to src/templates/blog/tags/sidebar.html diff --git a/templates/comments/tags/comment_item.html b/src/templates/comments/tags/comment_item.html similarity index 100% rename from templates/comments/tags/comment_item.html rename to src/templates/comments/tags/comment_item.html diff --git a/templates/comments/tags/comment_item_tree.html b/src/templates/comments/tags/comment_item_tree.html similarity index 100% rename from templates/comments/tags/comment_item_tree.html rename to src/templates/comments/tags/comment_item_tree.html diff --git a/templates/comments/tags/comment_list.html b/src/templates/comments/tags/comment_list.html similarity index 100% rename from templates/comments/tags/comment_list.html rename to src/templates/comments/tags/comment_list.html diff --git a/templates/comments/tags/post_comment.html b/src/templates/comments/tags/post_comment.html similarity index 100% rename from templates/comments/tags/post_comment.html rename to src/templates/comments/tags/post_comment.html diff --git a/templates/oauth/bindsuccess.html b/src/templates/oauth/bindsuccess.html similarity index 100% rename from templates/oauth/bindsuccess.html rename to src/templates/oauth/bindsuccess.html 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 100% rename from templates/oauth/require_email.html rename to src/templates/oauth/require_email.html 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/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 100% rename from templates/search/search.html rename to src/templates/search/search.html 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