From 156a30f786e630fa1cdc203382bb3b18df92d5ff Mon Sep 17 00:00:00 2001 From: dendencat Date: Sun, 19 Oct 2025 22:20:00 +0900 Subject: [PATCH 1/3] feat: enhance header navigation with user authentication links and improve layout in login and dashboard templates --- techblog_cms/templates/base.html | 1 + techblog_cms/templates/components/header.html | 16 +++++++++++++++- techblog_cms/templates/dashboard.html | 4 +++- techblog_cms/templates/login.html | 18 +++++++++++++++++- 4 files changed, 36 insertions(+), 3 deletions(-) diff --git a/techblog_cms/templates/base.html b/techblog_cms/templates/base.html index 608fddf..35dc3a3 100644 --- a/techblog_cms/templates/base.html +++ b/techblog_cms/templates/base.html @@ -5,6 +5,7 @@ {% block title %}TechBlog CMS{% endblock %} + diff --git a/techblog_cms/templates/components/header.html b/techblog_cms/templates/components/header.html index 45c2679..8c44a1c 100644 --- a/techblog_cms/templates/components/header.html +++ b/techblog_cms/templates/components/header.html @@ -18,10 +18,17 @@ Home Articles Categories + {% if request.user.is_authenticated %} + + Submit Article + + ログアウト + {% else %} ログイン ユーザー登録 + {% endif %} @@ -45,10 +52,17 @@ diff --git a/techblog_cms/templates/dashboard.html b/techblog_cms/templates/dashboard.html index cbe8201..e3102b7 100644 --- a/techblog_cms/templates/dashboard.html +++ b/techblog_cms/templates/dashboard.html @@ -1,5 +1,7 @@ {% extends 'base.html' %} -{% block header %}{% endblock %} +{% block header %} + {% include 'components/header.html' %} +{% endblock %} {% block sidebar %}{% endblock %} {% block content %} diff --git a/techblog_cms/templates/login.html b/techblog_cms/templates/login.html index affefb8..088435a 100644 --- a/techblog_cms/templates/login.html +++ b/techblog_cms/templates/login.html @@ -1,5 +1,21 @@ {% extends 'base.html' %} -{% block header %}{% endblock %} +{% block header %} +
+ +
+{% endblock %} {% block sidebar %}{% endblock %} {% block content %}
From bc475fb88106024d551bfa6a183342c86dbc20a2 Mon Sep 17 00:00:00 2001 From: dendencat Date: Sun, 19 Oct 2025 22:20:18 +0900 Subject: [PATCH 2/3] feat: add favicon image to enhance site branding --- techblog_cms/static/favicon.png | Bin 0 -> 30087 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 techblog_cms/static/favicon.png diff --git a/techblog_cms/static/favicon.png b/techblog_cms/static/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..636e2d80c8920313b5ac76f9eb3bfce17c9274ff GIT binary patch literal 30087 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 Date: Sun, 19 Oct 2025 22:21:13 +0900 Subject: [PATCH 3/3] feat: update Copilot instructions to include new tools and model --- .github/workflows/copilot-instructions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/copilot-instructions.md b/.github/workflows/copilot-instructions.md index 7499d5e..5aea2d1 100644 --- a/.github/workflows/copilot-instructions.md +++ b/.github/workflows/copilot-instructions.md @@ -1,8 +1,8 @@ --- description: TechBlog CMS repository-wide Copilot instructions mode: agent -tools: ['extensions', 'codebase', 'usages', 'vscodeAPI', 'problems', 'changes', 'testFailure', 'terminalSelection', 'terminalLastCommand', 'openSimpleBrowser', 'fetch', 'findTestFiles', 'searchResults', 'githubRepo', 'getPythonEnvironmentInfo', 'getPythonExecutableCommand', 'installPythonPackage', 'configurePythonEnvironment', 'runTests', 'runCommands', 'runTasks', 'editFiles', 'runNotebooks', 'search'] -model: Grok Code Fast 1 (Preview) +tools: ['edit', 'runNotebooks', 'search', 'new', 'runCommands', 'runTasks', 'github/add_comment_to_pending_review', 'github/add_issue_comment', 'github/add_sub_issue', 'github/assign_copilot_to_issue', 'github/cancel_workflow_run', 'github/create_and_submit_pull_request_review', 'github/create_branch', 'github/create_gist', 'github/create_issue', 'github/create_pull_request', 'github/create_pull_request_with_copilot', 'github/create_repository', 'github/delete_file', 'github/delete_pending_pull_request_review', 'github/delete_workflow_run_logs', 'github/get_commit', 'github/get_dependabot_alert', 'github/get_discussion', 'github/get_issue', 'github/get_issue_comments', 'github/get_job_logs', 'github/get_latest_release', 'github/get_pull_request', 'github/get_pull_request_comments', 'github/get_pull_request_diff', 'github/get_pull_request_files', 'upstash/context7/*', 'github/github-mcp-server/get_code_scanning_alert', 'github/github-mcp-server/get_commit', 'github/github-mcp-server/get_copilot_space', 'github/github-mcp-server/get_dependabot_alert', 'github/github-mcp-server/get_file_contents', 'github/github-mcp-server/get_global_security_advisory', 'github/github-mcp-server/get_issue', 'github/github-mcp-server/get_issue_comments', 'github/github-mcp-server/get_job_logs', 'github/github-mcp-server/get_label', 'github/github-mcp-server/get_latest_release', 'github/github-mcp-server/get_me', 'github/github-mcp-server/get_notification_details', 'github/github-mcp-server/get_project', 'github/github-mcp-server/get_project_field', 'github/github-mcp-server/get_project_item', 'github/github-mcp-server/get_release_by_tag', 'github/github-mcp-server/get_secret_scanning_alert', 'github/github-mcp-server/get_tag', 'github/github-mcp-server/get_team_members', 'github/github-mcp-server/get_teams', 'github/github-mcp-server/get_workflow_run', 'github/github-mcp-server/get_workflow_run_logs', 'github/github-mcp-server/get_workflow_run_usage', 'github/github-mcp-server/list_branches', 'github/github-mcp-server/list_code_scanning_alerts', 'github/github-mcp-server/list_commits', 'github/github-mcp-server/list_copilot_spaces', 'github/github-mcp-server/list_dependabot_alerts', 'github/github-mcp-server/list_discussion_categories', 'github/github-mcp-server/list_discussions', 'github/github-mcp-server/list_gists', 'github/github-mcp-server/list_global_security_advisories', 'github/github-mcp-server/list_issue_types', 'github/github-mcp-server/list_issues', 'github/github-mcp-server/list_label', 'github/github-mcp-server/list_notifications', 'github/github-mcp-server/list_org_repository_security_advisories', 'github/github-mcp-server/list_project_fields', 'github/github-mcp-server/list_project_items', 'github/github-mcp-server/list_projects', 'github/github-mcp-server/list_pull_requests', 'github/github-mcp-server/list_releases', 'github/github-mcp-server/list_repository_security_advisories', 'github/github-mcp-server/list_secret_scanning_alerts', 'github/github-mcp-server/list_starred_repositories', 'github/github-mcp-server/list_sub_issues', 'github/github-mcp-server/list_tags', 'github/github-mcp-server/list_workflow_jobs', 'github/github-mcp-server/list_workflow_run_artifacts', 'github/github-mcp-server/list_workflow_runs', 'github/github-mcp-server/list_workflows', 'github/github-mcp-server/pull_request_read', 'github/github-mcp-server/push_files', 'github/github-mcp-server/run_workflow', 'github/github-mcp-server/search_code', 'github/github-mcp-server/search_issues', 'github/github-mcp-server/search_pull_requests', 'github/github-mcp-server/search_repositories', 'github/github-mcp-server/update_issue', 'github/github-mcp-server/update_project_item', 'github/github-mcp-server/update_pull_request', 'github/github-mcp-server/update_pull_request_branch', 'github/github-mcp-server/web_search', 'usages', 'vscodeAPI', 'problems', 'changes', 'testFailure', 'openSimpleBrowser', 'fetch', 'githubRepo', 'extensions', 'todos', 'runTests'] +model: Copilot SWE (Preview) --- # .github/copilot-instructions.md