Skip to content

Commit 0c0cbb7

Browse files
Merge pull request #2 from gabriele-ciccotelli/rtl-ltr-linter into main
- Update RTL/LTR linter workflow and script: run only on RTL file changes or "RTL" label, fail only on errors. - Fix issues in markdown files with mixed RTL/LTR text. - Add guidelines to CONTRIBUTING.md and CONTRIBUTING-it.md for fixing RTL/LTR linter errors.
2 parents 7d6d12f + 64581fc commit 0c0cbb7

14 files changed

+663
-482
lines changed

.github/workflows/rtl-ltr-linter.yml

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,34 +45,57 @@ jobs:
4545
files: |
4646
**/*.md
4747
48+
# Check if the PR has the "RTL" label
49+
- name: Check for RTL label
50+
id: rtl_label
51+
run: |
52+
gh pr view ${{ github.event.pull_request.number }} --json labels --jq '.labels[].name' | grep -q '^RTL$' && echo "has_labels=true" >> $GITHUB_OUTPUT || echo "has_labels=false" >> $GITHUB_OUTPUT
53+
env:
54+
GH_TOKEN: ${{ github.token }}
55+
56+
# Check if any changed file is in ar, he, fa, ur
57+
- name: Check for RTL language file changes
58+
id: rtl_lang_files
59+
run: |
60+
RTL_CHANGED=false
61+
for f in ${{ steps.changed_md_files.outputs.all_changed_files }}; do
62+
if [[ "$f" =~ (ar|he|fa|ur) ]]; then
63+
RTL_CHANGED=true
64+
break
65+
fi
66+
done
67+
echo "rtl_changed=$RTL_CHANGED" >> $GITHUB_OUTPUT
68+
4869
# Run the RTL/LTR Markdown linter:
4970
# - Scans all Markdown files for issues and writes a full log
5071
# - Prints GitHub Actions annotations only for issues on changed lines in changed files
5172
# - Fails the job if any error or warning is found on changed lines
5273
- name: Run RTL/LTR Markdown linter
5374
id: run_linter
75+
if: steps.rtl_label.outputs.has_labels == 'true' || steps.rtl_lang_files.outputs.rtl_changed == 'true'
76+
continue-on-error: true
5477
run: |
5578
echo "Scanning all specified paths for full log..."
5679
echo "Changed Markdown files for PR annotations: ${{ steps.changed_md_files.outputs.all_changed_files }}"
5780
5881
CHANGED_FILES_ARGS=""
5982
if [ "${{ steps.changed_md_files.outputs.all_changed_files_count }}" -gt 0 ]; then
6083
# Pass changed files to the script for PR annotation generation
61-
# The paths from tj-actions/changed-files are space-separated
6284
CHANGED_FILES_ARGS="--changed-files ${{ steps.changed_md_files.outputs.all_changed_files }}"
6385
fi
6486
6587
# Execute the linter.
6688
# Annotations for changed files will be printed to stdout by the script.
6789
# The script will also write a full log to 'rtl-linter-output.log'.
68-
# If the script exits with a non-zero code (issues found), this step will fail.
90+
# If the script exits with a non-zero code (error found), this step will fail.
6991
python3 scripts/rtl_ltr_linter.py books casts courses more ${CHANGED_FILES_ARGS} --log-file rtl-linter-output.log
70-
71-
# Upload the linter output log as a workflow artifact for further inspection
92+
93+
# Upload the linter output log as a workflow artifact
94+
# Only if the linter step was executed (success or failure)
7295
- name: Upload linter output artifact
96+
if: steps.run_linter.conclusion == 'success' || steps.run_linter.conclusion == 'failure'
7397
uses: actions/upload-artifact@v4
74-
if: always() # Upload artifact even if the linter step failed
7598
with:
7699
name: rtl-linter-output # Name of the artifact
77100
path: rtl-linter-output.log # Path to the output file
78-
retention-days: 7 # How long to keep the artifact
101+
if-no-files-found: ignore # Ignore if no files are found

books/free-programming-books-ar.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
* [احترف الأردوينو](https://www.ev-center.com/uploads/2/1/2/6/21261678/arduino.pdf) - Working Group‏ (PDF)
2626
* [اردوينو ببساطة](https://simplyarduino.com/%D9%83%D8%AA%D8%A7%D8%A8-%D8%A7%D8%B1%D8%AF%D9%88%D9%8A%D9%86%D9%88-%D8%A8%D8%A8%D8%B3%D8%A7%D8%B7%D8%A9/) - عبدالله علي عبدالله, Abdallah Ali Abdallah Elmasry‏ (PDF)
27-
* [AVR ببساطة: من تشغيل دايود ضوئي إلى أنظمة الوقت الحقيقي](https://github.com/abdallah-ali-abdallah/Simply-AVR-Book) - عبدالله علي عبدالله, Abdallah Ali Abdallah Elmasry‏ (ODT, PDF)
27+
* [AVR‏ ببساطة: من تشغيل دايود ضوئي إلى أنظمة الوقت الحقيقي](https://github.com/abdallah-ali-abdallah/Simply-AVR-Book) - عبدالله علي عبدالله, Abdallah Ali Abdallah Elmasry‏ (ODT, PDF‏)
2828

2929

3030
### Artificial Intelligence
@@ -34,7 +34,7 @@
3434

3535
### DB & DBMS
3636

37-
* [تصميم قواعد البيانات](https://academy.hsoub.com/files/26-تصميم-قواعد-البيانات/) - Adrienne Watt, Nelson Eng، ترجمة أيمن طارق وعلا عباس (PDF)
37+
* [تصميم قواعد البيانات](https://academy.hsoub.com/files/26-تصميم-قواعد-البيانات/) - Adrienne Watt, Nelson Eng‏، ترجمة أيمن طارق وعلا عباس‏ (PDF)
3838

3939

4040
### HTML and CSS
@@ -50,31 +50,31 @@
5050

5151
### JavaScript
5252

53-
* [تعلم JavaScript‏](https://itwadi.com/node/3002) - Cody Lindley, عبداللطيف ايمش (PDF)
54-
* [سلسلة تعلم Next.js بالعربية](https://blog.abdelhadi.org/learn-nextjs-in-arabic/) - Flavio Copes, عبدالهادي الأندلسي
53+
* [تعلم JavaScript‏](https://itwadi.com/node/3002) - Cody Lindley,‏ عبداللطيف ايمش‏ (PDF)
54+
* [سلسلة تعلم Next.js‏ بالعربية](https://blog.abdelhadi.org/learn-nextjs-in-arabic/) - Flavio Copes,‏ عبدالهادي الأندلسي
5555

5656

5757
#### Vue.js
5858

59-
* [أساسيات إطار العمل Vue.js](https://academy.hsoub.com/files/22-أساسيات-إطار-العمل-vuejs/) - حسام برهان (PDF)
59+
* [أساسيات إطار العمل Vue.js‏](https://academy.hsoub.com/files/22-أساسيات-إطار-العمل-vuejs/) - حسام برهان‏ (PDF)
6060

6161

6262
### Linux
6363

6464
* [أوبنتو ببساطة](https://www.simplyubuntu.com) - Ahmed AbouZaid‏ (PDF)
65-
* [دفتر مدير دبيان](https://ar.debian-handbook.info) - Raphaël Hertzog, Roland Mas, MUHAMMET SAİT Muhammet Sait‏ (PDF, HTML)
66-
* [دليل إدارة خواديم أوبنتو 14.04](https://academy.hsoub.com/files/10-دليل-إدارة-خواديم-أوبنتو/) - Ubuntu documentation team, Abdullatif Eymash‏ (PDF)
67-
* [سطر أوامر لينكس](https://itwadi.com/node/2765) - Willam E. Shotts Jr., ترجمة عبد اللطيف ايمش (PDF)
65+
* [دفتر مدير دبيان](https://ar.debian-handbook.info) - Raphaël Hertzog, Roland Mas, MUHAMMET SAİT Muhammet Sait‏ (PDF, HTML‏)
66+
* [دليل إدارة خواديم أوبنتو 14.04‏](https://academy.hsoub.com/files/10-دليل-إدارة-خواديم-أوبنتو/) - Ubuntu documentation team, Abdullatif Eymash‏ (PDF)
67+
* [سطر أوامر لينكس](https://itwadi.com/node/2765) - Willam E. Shotts Jr.‎, ترجمة عبد اللطيف ايمش‏ (PDF)
6868

6969

7070
### Open Source Software
7171

72-
* [دليل البرمجيات الحرة مفتوحة](https://www.freeopensourceguide.com) - أحمد م. أبوزيد (PDF)
72+
* [دليل البرمجيات الحرة مفتوحة](https://www.freeopensourceguide.com) - أحمد م. أبوزيد‏ (PDF)
7373

7474

7575
### Operating Systems
7676

77-
* [أنظمة التشغيل للمبرمجين](https://academy.hsoub.com/files/24-أنظمة-التشغيل-للمبرمجين/) - Allen B. Downey ,ترجمة علا عباس (PDF)
77+
* [أنظمة التشغيل للمبرمجين](https://academy.hsoub.com/files/24-أنظمة-التشغيل-للمبرمجين/) - Allen B. Downey,‏ ترجمة علا عباس‏ (PDF)
7878

7979

8080
### Python
@@ -100,12 +100,12 @@
100100

101101
### SQL
102102

103-
* [ملاحظات للعاملين بلغة SQL](https://academy.hsoub.com/files/16-%D9%85%D9%84%D8%A7%D8%AD%D8%B8%D8%A7%D8%AA-%D9%84%D9%84%D8%B9%D8%A7%D9%85%D9%84%D9%8A%D9%86-%D8%A8%D9%84%D8%BA%D8%A9-sql/)
103+
* [ملاحظات للعاملين بلغة SQL‏](https://academy.hsoub.com/files/16-%D9%85%D9%84%D8%A7%D8%AD%D8%B8%D8%A7%D8%AA-%D9%84%D9%84%D8%B9%D8%A7%D9%85%D9%84%D9%8A%D9%86-%D8%A8%D9%84%D8%BA%D8%A9-sql/)
104104

105105

106106
#### PostgreSQL
107107

108-
* [الدليل العملي إلى قواعد بيانات PostgreSQL‏](https://academy.hsoub.com/files/18-%D8%A7%D9%84%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%B9%D9%85%D9%84%D9%8A-%D8%A5%D9%84%D9%89-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-postgresql/) - Craig Kerstiens، مصطفى عطا العايش (PDF)
108+
* [الدليل العملي إلى قواعد بيانات PostgreSQL‏](https://academy.hsoub.com/files/18-%D8%A7%D9%84%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%B9%D9%85%D9%84%D9%8A-%D8%A5%D9%84%D9%89-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-postgresql/) - Craig Kerstiens،‏ مصطفى عطا العايش‏ (PDF)
109109
* [بوستجريسكل كتاب الوصفات](https://itwadi.com/PostgreSQL_Cookbook) - Chitij Chauhan‏ (PDF)
110110

111111

books/free-programming-books-fa_IR.md

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
<div dir="rtl" markdown="1">
2+
13
### فهرست
24

35
* [رایانش ابری](#%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D8%B4-%D8%A7%D8%A8%D8%B1%DB%8C)
@@ -8,9 +10,13 @@
810
* [LaTeX](#latex)
911
* [Linux](#linux)
1012
* [PHP](#php)
11-
* [Symfony](#symfony)
13+
<ul dir="rtl">
14+
<li><a href="#symfony">Symfony</a></li>
15+
</ul>
1216
* [Python](#python)
13-
* [Django](#django)
17+
<ul dir="rtl">
18+
<li><a href="#django">Django</a></li>
19+
</ul>
1420
* [R](#r)
1521

1622

@@ -26,14 +32,14 @@
2632

2733
### مهندسی نرم‌افزار
2834

29-
* [الگوهای طراحی](https://holosen.net/what-is-design-pattern/) - Hossein Badrnezhad *(نیاز به ثبت نام دارد)*
35+
* [الگوهای طراحی](https://holosen.net/what-is-design-pattern/) - Hossein Badrnezhad&rlm; *(نیاز به ثبت نام دارد)*
3036
* [الگوهای طراحی در برنامه‌نویسی شیء‌گرا](https://github.com/khajavi/Practical-Design-Patterns)
31-
* [ترجمه آزاد کتاب کد تمیز](https://codetamiz.vercel.app) - Robert C. Martin, et al.
37+
* [ترجمه آزاد کتاب کد تمیز](https://codetamiz.vercel.app) - Robert C. Martin, et al.&lrm;
3238

3339

3440
### HTML and CSS
3541

36-
* [یادگیری پیکربندی با CSS](http://fa.learnlayout.com)
42+
* [یادگیری پیکربندی با CSS&rlm;](http://fa.learnlayout.com)
3743

3844

3945
### Java
@@ -45,14 +51,14 @@
4551

4652
### JavaScript
4753

48-
* [جاوااسکریپت شیوا](http://eloquentjs.ir) - مارین هاوربک, مهران عفتی (HTML)
54+
* [جاوااسکریپت شیوا](http://eloquentjs.ir) - مارین هاوربک, مهران عفتی&rlm; (HTML)
4955
* [ریکت جی اس](https://github.com/reactjs/fa.reactjs.org)
5056
* [یادگیری اصولی جاوااسکریپت](https://github.com/Mariotek/BetterUnderstandingOfJavascript)
5157

5258

5359
### LaTeX
5460

55-
* [مقدمه‌ای نه چندان کوتاه بر LaTeX](http://www.ctan.org/tex-archive/info/lshort/persian)
61+
* [مقدمه‌ای نه چندان کوتاه بر LaTeX&rlm;](http://www.ctan.org/tex-archive/info/lshort/persian)
5662

5763

5864
### Linux
@@ -66,24 +72,27 @@
6672

6773
#### Symfony
6874

69-
* [سیمفونی ۵: سریع‌ترین مسیر](https://web.archive.org/web/20210122133755/https://symfony.com/doc/current/the-fast-track/fa/index.html) *(:card_file_box: archived)*
75+
* [سیمفونی ۵: سریع‌ترین مسیر&rlm;](https://web.archive.org/web/20210122133755/https://symfony.com/doc/current/the-fast-track/fa/index.html) - *(:card_file_box: archived)*
7076

7177

7278
### Python
7379

74-
* [پایتون به پارسی](https://python.coderz.ir) - سعید درویش (HTML)
75-
* [ترجمه آزاد کتاب Asyncio in Python](https://github.com/ftg-iran/aip-persian)
80+
* [پایتون به پارسی](https://python.coderz.ir) - سعید درویش&rlm; (HTML)
81+
* [ترجمه آزاد کتاب Asyncio in Python&rlm;](https://github.com/ftg-iran/aip-persian)
7682

7783

7884
#### Django
7985

80-
* [ترجمه آزاد کتاب Django Design Patterns and Best Practices](https://github.com/ftg-iran/ddpabp-persian)
86+
* [ترجمه آزاد کتاب Django Design Patterns and Best Practices&rlm;](https://github.com/ftg-iran/ddpabp-persian)
8187
* [کتاب جنگو برای حرفه‌ای‌ها](https://github.com/mthri/dfp-persian)
82-
* [کتاب جنگو برای API](https://github.com/ftg-iran/dfa-persian)
88+
* [کتاب جنگو برای API&rlm;](https://github.com/ftg-iran/dfa-persian)
8389

8490

8591
### R
8692

87-
* [تحلیل شبکه‌های اجتماعی در R](http://cran.r-project.org/doc/contrib/Raeesi-SNA_in_R_in_Farsi.pdf) (PDF)
88-
* [راهنمای زبان R](http://cran.r-project.org/doc/contrib/Mousavi-R-lang_in_Farsi.pdf) (PDF)
89-
* [مباحث ویژه در R](http://cran.r-project.org/doc/contrib/Mousavi-R_topics_in_Farsi.pdf) (PDF)
93+
* [تحلیل شبکه‌های اجتماعی در R&rlm;](http://cran.r-project.org/doc/contrib/Raeesi-SNA_in_R_in_Farsi.pdf) (PDF)
94+
* [راهنمای زبان R&rlm;](http://cran.r-project.org/doc/contrib/Mousavi-R-lang_in_Farsi.pdf) (PDF)
95+
* [مباحث ویژه در R&rlm;](http://cran.r-project.org/doc/contrib/Mousavi-R_topics_in_Farsi.pdf) (PDF)
96+
97+
98+
</div>

books/free-programming-books-he.md

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,51 @@
1+
<div dir="rtl" markdown="1">
2+
13
### Index
24

35
* [ללא תלות בשפה](#ללא-תלות-בשפה)
46
* [מערכות הפעלה](#מערכות-הפעלה)
57
* [רשתות](#רשתות)
68
* [Assembly](#assembly)
79
* [C](#c)
8-
* [C#](#csharp)
10+
* [C#&lrm;](#csharp)
911
* [Python](#python)
1012

1113

1214
### ללא תלות בשפה
1315

1416
#### מערכות הפעלה
1517

16-
* [מערכות הפעלה](https://data.cyber.org.il/os/os_book.pdf) – ברק גונן, המרכז לחינוך סייבר (PDF)
18+
* [מערכות הפעלה](https://data.cyber.org.il/os/os_book.pdf) – ברק גונן&rlm;, המרכז לחינוך סייבר&rlm; (PDF)
1719

1820

1921
#### רשתות
2022

21-
* [רשתות מחשבים](https://data.cyber.org.il/networks/networks.pdf) – עומר רוזנבוים, ברק גונן, שלומי הוד, המרכז לחינוך סייבר (PDF)
23+
* [רשתות מחשבים](https://data.cyber.org.il/networks/networks.pdf) – עומר רוזנבוים&rlm;, ברק גונן&rlm;, שלומי הוד&rlm;, המרכז לחינוך סייבר&rlm; (PDF)
2224

2325

2426
### Assembly
2527

26-
* [ארגון המחשב ושפת סף](https://data.cyber.org.il/assembly/assembly_book.pdf) – ברק גונן, המרכז לחינוך סייבר (PDF)
28+
* [ארגון המחשב ושפת סף](https://data.cyber.org.il/assembly/assembly_book.pdf) – ברק גונן&rlm;, המרכז לחינוך סייבר&rlm; (PDF)
2729

2830

29-
### C
31+
### C
3032

31-
* [ספר לימוד שפה עילית (שפת C)](https://moked.education.gov.il/MafmarFiles/C_LangIG_3Version.pdf) - מרק טסליצקי (PDF)
33+
* [ספר לימוד שפה עילית (שפת C&lrm;)](https://moked.education.gov.il/MafmarFiles/C_LangIG_3Version.pdf) מרק טסליצקי&rlm; (PDF)
3234

3335

34-
### <a id="csharp"></a>C\#
36+
### <a id="csharp"></a>C#&lrm;
3537

36-
* [מבוא לתכנות בסביבת האינטרנט בשפת C#](https://meyda.education.gov.il/files/free%20books/%D7%9E%D7%91%D7%95%D7%90%20%D7%9C%D7%AA%D7%9B%D7%A0%D7%95%D7%AA%20%D7%91%D7%A1%D7%91%D7%99%D7%91%D7%AA%20%D7%94%D7%90%D7%99%D7%A0%D7%98%D7%A8%D7%A0%D7%98%20090216.pdf) – מט״ח (PDF)
38+
* [מבוא לתכנות בסביבת האינטרנט בשפת C#&lrm;](https://meyda.education.gov.il/files/free%20books/%D7%9E%D7%91%D7%95%D7%90%20%D7%9C%D7%AA%D7%9B%D7%A0%D7%95%D7%AA%20%D7%91%D7%A1%D7%91%D7%99%D7%91%D7%AA%20%D7%94%D7%90%D7%99%D7%A0%D7%98%D7%A8%D7%A0%D7%98%20090216.pdf) – מט״ח&rlm; (PDF)
3739

3840

3941
### Deep-Learning
4042

41-
* [ספר על למידת מכונה ולמידה עמוקה](https://github.com/AvrahamRaviv/Deep-Learning-in-Hebrew) – אברהם רביב ומייק ארליסון
43+
* [ספר על למידת מכונה ולמידה עמוקה](https://github.com/AvrahamRaviv/Deep-Learning-in-Hebrew) – אברהם רביב&rlm; ומייק ארליסון&rlm;
4244

4345

4446
### Python
4547

46-
* [תכנות בשפת פייתון](https://data.cyber.org.il/python/python_book.pdf) – ברק גונן, המרכז לחינוך סייבר (PDF)
48+
* [תכנות בשפת פייתון](https://data.cyber.org.il/python/python_book.pdf) – ברק גונן&rlm;, המרכז לחינוך סייבר&rlm; (PDF)
49+
50+
51+
</div>

casts/free-podcasts-screencasts-ar.md

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
1+
<div dir="rtl" markdown="1">
2+
13
### Index
24

35
* [Miscellaneous](#miscellaneous)
46

57

68
### Miscellaneous
79

8-
* [أخوك الكبير متولي](https://anchor.fm/metwally) - Ahmed Metwally (podcast)
9-
* [برمجة ستريم](https://youtube.com/playlist?list=PL0_C_32YKLpx7K88481CY3J21cw85oFCM) - Mohamed Abusrea (podcast)
10-
* [بودكاست](https://youtube.com/playlist?list=PLvGNfY-tFUN-mGlfovyGACjPVmkzAsQFJ) - Ghareeb Elshaikh (podcast)
11-
* [AskDeveloper Podcast](http://www.askdeveloper.com) - Mohamed Elsherif (podcast)
12-
* [Codezilla Codecast - بودكاست البرمجة](https://youtube.com/playlist?list=PLsqPSxnrsWLuE-O3IKIUWy6Hmelz3bMWy) - Islam Hesham (podcast)
13-
* [Essam Cafe - قهوة عصام](https://essamcafe.com) - Ahmed Essam (podcast)
14-
* [Nakerah Podcast](https://nakerah.net/podcast) - Nakerah Network (podcast)
15-
* [null++: بالعربي](https://nullplus.plus) - Mohamed Luay, Ahmad Alfy (podcast)
16-
* [Tech Podcast بالعربي](https://anchor.fm/ahmdelemam) - Ahmed Elemam (podcast)
17-
* [The Egyptian Guy](https://anchor.fm/refaie) - Mohamed Refaie (podcast)
18-
* [The Weekly Noob](https://theweeklynoob.netlify.app) - Nabil Tharwat (podcast)
19-
* [Untyped Podcast](https://logaretm.com/untyped/) - Abdelrahman Awad (podcast)
20-
10+
* [أخوك الكبير متولي](https://anchor.fm/metwally) - Ahmed Metwally&rlm; (podcast)
11+
* [برمجة ستريم](https://youtube.com/playlist?list=PL0_C_32YKLpx7K88481CY3J21cw85oFCM) - Mohamed Abusrea&rlm; (podcast)
12+
* [بودكاست](https://youtube.com/playlist?list=PLvGNfY-tFUN-mGlfovyGACjPVmkzAsQFJ) - Ghareeb Elshaikh&rlm; (podcast)
13+
* [AskDeveloper Podcast&rlm;](http://www.askdeveloper.com) - Mohamed Elsherif&rlm; (podcast)
14+
* [Codezilla Codecast -&rlm; بودكاست البرمجة](https://youtube.com/playlist?list=PLsqPSxnrsWLuE-O3IKIUWy6Hmelz3bMWy) - Islam Hesham&rlm; (podcast)
15+
* [Essam Cafe -&rlm; قهوة عصام](https://essamcafe.com) - Ahmed Essam&rlm; (podcast)
16+
* [Nakerah Podcast&rlm;](https://nakerah.net/podcast) - Nakerah Network&rlm; (podcast)
17+
* [null++:&lrm; بالعربي](https://nullplus.plus) - Mohamed Luay, Ahmad Alfy&rlm; (podcast)
18+
* [Tech Podcast&rlm; بالعربي](https://anchor.fm/ahmdelemam) - Ahmed Elemam&rlm; (podcast)
19+
* [The Egyptian Guy&rlm;](https://anchor.fm/refaie) - Mohamed Refaie&rlm; (podcast)
20+
* [The Weekly Noob&rlm;](https://theweeklynoob.netlify.app) - Nabil Tharwat&rlm; (podcast)
21+
* [Untyped Podcast&rlm;](https://logaretm.com/untyped/) - Abdelrahman Awad&rlm; (podcast)
22+
23+
24+
</div>
Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
<div dir="rtl" markdown="1">
2+
13
### Index
24

35
* [Programming News](#programming-news)
@@ -6,15 +8,18 @@
68

79
### Programming News
810

9-
* [پادکست کافه برنامه نویس](https://anchor.fm/codemy) - CafeCodemy (podcast)
11+
* [پادکست کافه برنامه نویس](https://anchor.fm/codemy) - CafeCodemy&rlm; (podcast)
1012

1113

1214
### Technology
1315

14-
* [پارس کلیک](https://anchor.fm/parsclick/) - Amir Azimi (podcast)
16+
* [پارس کلیک](https://anchor.fm/parsclick/) - Amir Azimi&rlm; (podcast)
1517
* [رادیو گیک](https://soundcloud.com/jadijadi) (podcast)
16-
* [رادیو گیک](https://anchor.fm/radiojadi) - Jadi (podcast)
18+
* [رادیو گیک](https://anchor.fm/radiojadi) - Jadi&rlm; (podcast)
1719
* [رادیو گیک](https://www.youtube.com/playlist?list=PL-tKrPVkKKE1peHomci9EH7BmafxdXKGn) (videocast)
18-
* [CodeNaline \| کدنالین](https://castbox.fm/channel/id5066732) - Torham (podcast)
19-
* [Radio Developer - رادیو دولوپر](https://castbox.fm/channel/id4407294) (podcast)
20-
* [Radio Mi \| رادیو میــ](https://www.youtube.com/playlist?list=PLRmRAhVbjeHqrc6Gf5DKu2eRJGkfo9A-Z) - Milad Nouri (videocast)
20+
* [CodeNaline \|&rlm; کدنالین](https://castbox.fm/channel/id5066732) - Torham&rlm; (podcast)
21+
* [Radio Developer -&rlm; رادیو دولوپر](https://castbox.fm/channel/id4407294) (podcast)
22+
* [Radio Mi \|&rlm; رادیو میــ](https://www.youtube.com/playlist?list=PLRmRAhVbjeHqrc6Gf5DKu2eRJGkfo9A-Z) - Milad Nouri&rlm; (videocast)
23+
24+
25+
</div>

0 commit comments

Comments
 (0)