Skip to content

Conversation

@ramanverse
Copy link

just tidied up your list — removed duplicates, grouped things properly under each topic, and made the format consistent so it’s easier to read. Basically, it’s the same content but more organized and clear.

What does this PR do?

Add resource(s) | Remove resource(s) | Add info | Improve repo

IMPORTANT

  • Read our contributing guidelines.
  • Is this a revision of a previously submitted PR? If so, STOP! Go back, reopen the PR, and add commit(s) the branch you previously submitted. Please don't make the job of reviewing more difficult by hiding previous work.

For resources

Description

Why is this valuable (or not)?

How do we know it's really free?

For book lists, is it a book? For course lists, is it a course? etc.

Checklist:

  • Search for duplicates.
  • Include author(s) and platform where appropriate.
  • Put lists in alphabetical order, correct spacing.
  • Add needed indications (PDF, access notes, under construction).
  • Used an informative name for this pull request.

Follow-up

  • Check the status of GitHub Actions and resolve any reported warnings!

just tidied up your list — removed duplicates, grouped things properly under each topic, and made the format consistent so it’s easier to read. Basically, it’s the same content but more organized and clear.
@github-actions
Copy link

github-actions bot commented Oct 3, 2025

Linter failed, fix the error(s):

free-programming-books/courses/free-courses-fa_IR.md
   24:3-26:24  warning  Alphabetical ordering: swap l.26 and l.25                              alphabetize-lists  remark-lint
   33:1-33:12  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  34:1-34:116  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   36:1-36:15  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  37:1-37:130  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
    39:1-39:6  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  40:1-42:221  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   44:1-44:17  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  45:1-46:154  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
    48:1-48:8  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  49:1-49:143  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   51:1-51:17  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  52:1-53:162  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
    55:1-55:9  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  56:1-59:289  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   61:1-61:15  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  62:1-63:137  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   65:1-65:20  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  66:1-66:111  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   68:1-68:21  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  69:1-69:116  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   71:1-71:11  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  72:1-74:131  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   76:1-76:10  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  77:1-80:119  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   82:1-82:21  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  83:1-84:184  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   86:1-86:12  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  87:1-87:113  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
    89:1-89:8  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
   90:1-91:79  warning  Alphabetical ordering: swap l.91 and l.90                              alphabetize-lists  remark-lint
   90:1-91:79  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   93:1-93:32  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  94:1-94:126  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   96:1-96:24  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
   97:1-98:78  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 100:1-100:16  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
101:1-101:134  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 103:1-103:11  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
 104:1-107:71  warning  Alphabetical ordering: swap l.106 and l.105                            alphabetize-lists  remark-lint
 104:1-107:71  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 109:1-109:22  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
110:1-113:138  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 115:1-115:20  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
116:1-116:123  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 118:1-118:24  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
119:1-119:123  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 121:1-121:12  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
122:1-122:116  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 124:1-124:20  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint

@github-actions github-actions bot added the linter error Please, correct build errors found by linter! label Oct 3, 2025
@github-actions
Copy link

github-actions bot commented Oct 8, 2025

Oh no 😟! Conflicts have been found.

Please 🙏, take a moment and address the merge conflicts of your pull request before we can evaluate it again.

Thanks in advance for your effort and patience ❤️!

@github-actions github-actions bot added the conflicts Conflict(s) need to be resolved label Oct 8, 2025
@ramanverse
Copy link
Author

I have updated the PR to fix the BIDI mismatch issue by adding the ‏ marker. The linter checks should pass now.

@github-actions github-actions bot removed the conflicts Conflict(s) need to be resolved label Nov 30, 2025
@github-actions
Copy link

Linter failed, fix the error(s):

free-programming-books/courses/free-courses-fa_IR.md
   24:3-26:24  warning  Alphabetical ordering: swap l.26 and l.25                              alphabetize-lists  remark-lint
   33:1-33:12  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  34:1-34:116  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   36:1-36:15  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  37:1-37:130  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
    39:1-39:6  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  40:1-42:221  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   44:1-44:17  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  45:1-46:154  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
    48:1-48:8  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  49:1-49:143  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   51:1-51:17  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  52:1-53:162  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
    55:1-55:9  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  56:1-59:289  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   61:1-61:15  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  62:1-63:137  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   65:1-65:20  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  66:1-66:111  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   68:1-68:21  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  69:1-69:116  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   71:1-71:11  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  72:1-74:131  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   76:1-76:10  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  77:1-80:119  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   82:1-82:21  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  83:1-84:184  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   86:1-86:12  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  87:1-87:113  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
    89:1-89:8  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
   90:1-91:79  warning  Alphabetical ordering: swap l.91 and l.90                              alphabetize-lists  remark-lint
   90:1-91:79  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   93:1-93:32  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
  94:1-94:126  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
   96:1-96:24  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
   97:1-98:78  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 100:1-100:16  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
101:1-101:134  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 103:1-103:11  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
 104:1-107:71  warning  Alphabetical ordering: swap l.106 and l.105                            alphabetize-lists  remark-lint
 104:1-107:71  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 109:1-109:22  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
110:1-113:138  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 115:1-115:20  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
116:1-116:123  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 118:1-118:24  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
119:1-119:123  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 121:1-121:12  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint
122:1-122:116  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 124:1-124:20  warning  Incorrect number of blank lines between heading and section            blank-lines-1-0-2  remark-lint

- Fix alphabetical ordering in TOC (Django, FastAPI, Flask)
- Swap PHP entries (سبز before سکان)
- Reorder Python entries alphabetically
- Add blank lines after all section headings
- Remove trailing spaces from list items
@github-actions
Copy link

Linter failed, fix the error(s):

free-programming-books/courses/free-courses-fa_IR.md
  35:1-35:116  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  39:1-39:130  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  43:1-45:219  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  49:1-50:152  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  54:1-54:141  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  58:1-59:160  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  63:1-66:287  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  70:1-71:135  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  75:1-75:109  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  79:1-79:114  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  83:1-85:129  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  89:1-92:117  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  96:1-97:182  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
101:1-101:111  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
105:1-106:117  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
110:1-110:124  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 114:1-115:76  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
119:1-119:132  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 123:1-126:69  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
130:1-133:136  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
137:1-137:121  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
141:1-141:121  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
145:1-145:114  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint

@ramanverse
Copy link
Author

All CI issues have been resolved. The PR is now ready for review.

This fixes the remaining fpb-lint blank line warnings.
@github-actions
Copy link

Linter failed, fix the error(s):

free-programming-books/courses/free-courses-fa_IR.md
  35:1-35:116  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  39:1-39:130  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  43:1-45:219  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  49:1-50:152  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  54:1-54:141  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  58:1-59:160  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  63:1-66:287  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  70:1-71:135  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  75:1-75:109  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  79:1-79:114  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  83:1-85:129  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  89:1-92:117  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
  96:1-97:182  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
101:1-101:111  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
105:1-106:117  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
110:1-110:124  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 114:1-115:76  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
119:1-119:132  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
 123:1-126:69  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
130:1-133:136  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
137:1-137:121  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
141:1-141:121  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint
145:1-145:114  warning  Incorrect number of blank lines between last section and next heading  blank-lines-1-0-2  remark-lint

@ramanverse ramanverse closed this by deleting the head repository Dec 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

linter error Please, correct build errors found by linter!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant