Skip to content

Organize legacy Russian content into content/ru/ directory structure#254

Merged
shorodilov merged 3 commits into
mainfrom
copilot/organize-legacy-russian-content
Jan 28, 2026
Merged

Organize legacy Russian content into content/ru/ directory structure#254
shorodilov merged 3 commits into
mainfrom
copilot/organize-legacy-russian-content

Conversation

Copilot AI commented Jan 28, 2026

Copy link
Copy Markdown

Legacy Russian lesson files and pictures scattered across repository root have been consolidated into a structured content/ru/ directory to clean the root and properly document the project's origins.

Changes

File organization

  • Moved 36 lesson files (lesson01.md - lesson36.md) → content/ru/lessons/
  • Moved 3 module files (module1.md - module3.md) → content/ru/modules/
  • Moved 3 task files (tasks_block1.md, tasks_block2.md, web_homeworks.md) → content/ru/tasks/
  • Moved 3 additional materials (before_postgres.md, pr_explanation.md, pr_explanation_django.md) → content/ru/extras/
  • Moved entire /pictures/ directory (3 lesson subdirectories + 8 PNG files) → content/ru/pictures/
  • Created content/ru/README.md documenting legacy status and upstream source

Repository cleanup

  • Root directory now free of all legacy content files
  • /pictures/ directory removed
  • /src/ and /assets/ untouched

History preservation

  • All moves performed via git mv (61 renames detected at 100%)
  • Full git history preserved with --follow

Structure

content/ru/
├── README.md           # Legacy status, upstream reference
├── lessons/            # 36 lesson files (lesson*.md)
├── modules/            # 3 module files (module*.md)
├── tasks/              # 3 task files (tasks_block*.md, web_homeworks.md)
├── extras/             # 3 additional materials (before_postgres.md, pr_explanation*.md)
└── pictures/           # 11 items (3 dirs, 8 images)

Part of #244 (ADR-003 implementation). Independent sub-package ready for merge.

Original prompt

This section details on the original issue you should resolve

<issue_title>[WP]: Organize Legacy Russian Content</issue_title>
<issue_description>Assigned To: project-administrator (Claude Code)
Assigned By: project-manager (Claude Chat)


Objective

Organize all legacy Russian course content by moving scattered root lesson files and pictures into a structured content/ru/ directory with proper documentation.


Backstory

The repository root contains 45+ legacy Russian lesson files (lesson*.md, module*.md) and legacy picture directories scattered in /pictures/. This creates clutter, makes the repository harder to navigate, and lacks respect for the project's historical origins. This sub-package focuses exclusively on organizing this legacy content into a clean, well-documented structure while leaving active English content untouched.


Branch Instructions

Work on feature branch:

git fetch origin
git checkout feature/wp-244a
# If branch doesn't exist yet:
# git branch feature/wp-content origin/main
# git checkout feature/wp-content
# git push --set-upstream origin feature/wp-content

All work happens on feature/wp-content branch. Do NOT merge to main until parent issue #244 is fully complete.


Definition of Done

  • All legacy lesson files moved from root to content/ru/lessons/
  • All legacy picture directories moved from /pictures/ to content/ru/pictures/
  • content/ru/README.md created explaining legacy status with upstream link
  • Repository root no longer contains lesson*.md or module*.md files
  • /pictures/ directory removed from root (or empty if used by active content)
  • Git history preserved for all moved files (verified with git log --follow)
  • Changes committed with clear commit message
  • No file corruption or loss during moves

Context

Reference Documents:

Key Context:

  • This is a sub-package of WP-244 (ADR-003 implementation)
  • Focuses ONLY on legacy Russian content
  • Independent from WP-244B (modern English content)
  • Can be executed in any order relative to WP-244B
  • Legacy content is in Markdown (.md) format already
  • These files are historical artifacts from the upstream Russian course

What This Covers:

  • Root directory lesson*.md files (lesson01.md through ~lesson45.md)
  • Root directory module*.md files
  • /pictures/lessonXX/ directories (lesson01, lesson02, lesson08, etc.)
  • Documentation explaining legacy status

What This Doesn't Cover:

  • Active English content in /src/ (that's WP-244B)
  • Sphinx configuration (that's WP-244B)
  • /assets/ directory (stays at root)
  • Any content format conversion

Current State:

  • Legacy lesson files scattered in repository root
  • Legacy picture directories in /pictures/lessonXX/
  • No clear organization or documentation of historical content

Desired State:

  • All legacy content in content/ru/ with clear structure
  • Repository root clean of legacy lesson files
  • Clear documentation explaining legacy status and upstream origin

Deliverables

1. Directory Structure

Create the following structure:

content/
  ru/
    lessons/          # All lesson*.md and module*.md files
    pictures/         # All lessonXX/ directories
    README.md         # Legacy status documentation

2. File Organization

Move lesson files:

  • All lesson*.md files from root → content/ru/lessons/
  • All module*.md files from root → content/ru/lessons/
  • Preserve filenames exactly as-is
  • Use git mv to preserve history

Move picture directories:

  • All /pictures/lesson01/, /pictures/lesson02/, /pictures/lesson08/ (and any others) → content/ru/pictures/
  • Preserve directory names and structure within each
  • Use git mv to preserve history

3. Legacy Documentation

Create content/ru/README.md:

# Legacy Russian Course Content

This directory contains the original Russian-language course materials that served as the foundation for the current English course.

## Status

**Legacy/Historical** - This content is preserved for historical reference and to honor the project's origins. It is not actively maintained.

## About

This course was originally created by Vladyslav Ponomaryov and contributors. The current project (pymastery-vp) is a derivative work that translates and adapts this content for English-speaking learners.

**Upstream Repository:** https://github.com/PonomaryovVladyslav/PythonCourses.git

## Structure

- `lessons/` - Original lesson files (`lesson*.md`, `module*.md`)
- `pictures/` - Images and diagrams for legacy lessons

## Active Content

For the current, actively maintained English course content, see `content/en/` (or `/src/` if not yet reorganized).
...

</details>



<!-- START COPILOT CODING AGENT SUFFIX -->

- Fixes OpenRoost/pymastery-vp#251

<!-- START COPILOT CODING AGENT TIPS -->
---

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs.

Part of #244 (ADR-003 Repository File Structure Reorganization)

Organize all legacy Russian course materials into structured content/ru/
directory to honor project origins and clean repository root.

Changes:
- Move lesson*.md and module*.md: root → content/ru/lessons/
- Move legacy pictures: /pictures/lessonXX/ → content/ru/pictures/
- Create content/ru/README.md documenting legacy status
- Add upstream repository reference

Git history preserved via 'git mv' for all operations.

Refs: #244, ADR-003

Co-authored-by: shorodilov <22391544+shorodilov@users.noreply.github.com>
Copilot AI changed the title [WIP] Organize legacy Russian course content structure Organize legacy Russian content into content/ru/ directory structure Jan 28, 2026
Copilot AI requested a review from shorodilov January 28, 2026 18:43
@shorodilov shorodilov marked this pull request as ready for review January 28, 2026 18:55
Copilot AI review requested due to automatic review settings January 28, 2026 18:55

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Consolidates legacy Russian course materials (lessons and images) into a structured content/ru/ subtree and adds documentation describing the legacy/upstream status.

Changes:

  • Added content/ru/lessons/ containing the full set of legacy lesson*.md and module*.md files.
  • Added content/ru/pictures/ containing legacy images reorganized under the new content root.
  • Added content/ru/README.md documenting legacy status and upstream source.

Reviewed changes

Copilot reviewed 1 out of 53 changed files in this pull request and generated no comments.

Show a summary per file
File Description
content/ru/README.md Documents legacy Russian content status and upstream reference
content/ru/lessons/lesson01.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson02.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson03.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson04.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson05.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson06.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson07.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson08.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson09.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson10.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson11.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson12.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson13.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson14.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson15.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson16.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson17.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson18.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson19.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson20.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson21.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson22.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson23.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson24.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson25.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson26.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson27.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson28.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson29.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson30.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson31.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson32.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson33.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson34.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson35.md Legacy lesson content moved under locale-based structure
content/ru/lessons/lesson36.md Legacy lesson content moved under locale-based structure
content/ru/lessons/module1.md Legacy module assignment content moved under locale-based structure
content/ru/lessons/module2.md Legacy module assignment content moved under locale-based structure
content/ru/lessons/module3.md Legacy module assignment content moved under locale-based structure
content/ru/pictures/RDBM.png Legacy image asset moved under locale-based structure
content/ru/pictures/cbv_meme.png Legacy image asset moved under locale-based structure
content/ru/pictures/mvc_cbv.png Legacy image asset moved under locale-based structure
content/ru/pictures/mvc_forms.png Legacy image asset moved under locale-based structure
content/ru/pictures/mvc_models.png Legacy image asset moved under locale-based structure
content/ru/pictures/mvc_orm.png Legacy image asset moved under locale-based structure
content/ru/pictures/mvc_templates.png Legacy image asset moved under locale-based structure
content/ru/pictures/mvc_urls.png Legacy image asset moved under locale-based structure
content/ru/pictures/lesson01/bool_george.png Legacy lesson image asset moved under locale-based structure
content/ru/pictures/lesson01/python.png Legacy lesson image asset moved under locale-based structure
content/ru/pictures/lesson01/vscode.png Legacy lesson image asset moved under locale-based structure
content/ru/pictures/lesson02/list_methods.png Legacy lesson image asset moved under locale-based structure
content/ru/pictures/lesson08/git_remote_team.png Legacy lesson image asset moved under locale-based structure

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@shorodilov shorodilov left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good in general.
Few requests to apply before merge:

  1. Move files from repository root to content/ru/extras
    • before_postgres.md
    • pr_explanation.md
    • pr_explanation_django.md
  2. Move files from repository root to content/ru/tasks
    • tasks_block1.md
    • tasks_block2.md
    • web_homeworks.md
  3. Move content/ru/module*.md files to content/ru/modules.
  4. Update content/ru/README.md accordingly

@shorodilov shorodilov linked an issue Jan 28, 2026 that may be closed by this pull request
18 tasks
…subdirectories

Addresses reviewer feedback to improve organization:
- Move module*.md files from lessons/ to modules/
- Move task files from root to tasks/
- Move additional materials from root to extras/
- Update README.md to reflect new structure

Changes:
- content/ru/lessons/module*.md → content/ru/modules/
- root/tasks_block*.md, web_homeworks.md → content/ru/tasks/
- root/before_postgres.md, pr_explanation*.md → content/ru/extras/
- Updated content/ru/README.md with new structure documentation

Git history preserved via 'git mv' for all operations.

Co-authored-by: shorodilov <22391544+shorodilov@users.noreply.github.com>

Copilot AI commented Jan 28, 2026

Copy link
Copy Markdown
Author

Looks good in general.
Few requests to apply before merge:
...

All requested changes have been applied in commit 84f4577:

  1. ✅ Moved before_postgres.md, pr_explanation.md, pr_explanation_django.mdcontent/ru/extras/
  2. ✅ Moved tasks_block1.md, tasks_block2.md, web_homeworks.mdcontent/ru/tasks/
  3. ✅ Moved module*.md files from content/ru/lessons/content/ru/modules/
  4. ✅ Updated content/ru/README.md to document the new structure

All moves performed using git mv to preserve history. The repository root is now clean of these files.

@shorodilov shorodilov left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@shorodilov shorodilov merged commit d9f52d6 into main Jan 28, 2026
@shorodilov shorodilov deleted the copilot/organize-legacy-russian-content branch January 28, 2026 19:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[WP]: Organize Legacy Russian Content

3 participants