130 Commits

Author SHA1 Message Date
Gabriele Ciccotelli
caa05be694 Add RTL/LTR Markdown linter for mixed-direction text consistency and PR annotation (#11877)
* Add RTL/LTR Markdown linter for mixed-direction text consistency and PR annotation

Introduce a Python-based linter (scripts/rtl_ltr_linter.py) to automatically detect and annotate issues related to mixed Right-To-Left (RTL) and Left-To-Right (LTR) text in Markdown files. The linter analyzes list items, book entries, and metadata for potential bidirectional text rendering problems, such as missing Unicode directionality markers (RLM/LRM) and improper handling of LTR keywords or symbols in RTL contexts.

Key features:
- Scans all Markdown files in the repository, with full logs saved as workflow artifacts.
- Annotates only changed or added lines in pull requests, providing targeted feedback in the GitHub Actions Job Summary.
- Detects common RTL/LTR issues, including:
  - Missing directionality markers after LTR keywords (e.g., "HTML") or symbols (e.g., "C#") in RTL text.
  - BIDI (bidirectional) mismatches that may affect text display.
  - Incorrect ordering of author names and metadata in RTL contexts.
- Configurable via rtl_linter_config.yml for keywords, symbols, and severity levels.
- Includes a GitHub Actions workflow (rtl-ltr-linter.yml) for automated checks on PRs.

* Add test cases for RTL/LTR linter in English and Arabic book lists

Add sample entries to free-programming-books-en.md and free-programming-books-ar.md to test the RTL/LTR Markdown linter.
These test cases include various combinations of RTL and LTR text, keywords, symbols, and metadata to verify that the linter correctly detects directionality issues and outputs the expected logs and annotations.

* Restore original book lists after RTL/LTR linter test cases

Revert test entries in free-programming-books-en.md and free-programming-books-ar.md, restoring the original book lists. This commit removes temporary test data used for validating the RTL/LTR Markdown linter, preparing the repository for merging the PR with a clean state.

No functional changes to the linter or configuration files; only test content has been removed.

* Update RTL/LTR linter workflow and script: run only on RTL file changes or "RTL" label, fail only on errors

The GitHub Actions workflow for the RTL/LTR Markdown linter now runs only if:
- The PR modifies .md files related to RTL languages (ar, he, fa, ur), or
- The PR has the "RTL" label.
The linter script has been updated to fail the check only if errors are found on changed lines, not for warnings.

* Only upload linter artifact if linter step runs

Prevent warning about missing artifact by uploading the linter output log only if the linter step was executed (success or failure). This avoids unnecessary warnings when the linter is skipped because no RTL files were changed and no RTL label is present.

* Test workflow: modify non-RTL markdown file

Modified free-programming-books-en.md to verify that the RTL/LTR linter workflow does not run when only non-RTL markdown files are changed and the "RTL" label is not present.

* Test workflow: modify RTL markdown file to trigger linter

Modified free-programming-books-ar.md to verify that the RTL/LTR linter workflow runs as expected when an RTL markdown file is changed.

* Fix RTL/LTR BIDI issues in some markdown files

Applied directional markers (‎, ‏) and other formatting fixes to resolve BIDI (bidirectional text) errors and warnings reported by the linter in several .md files.

* Fix workflow: upload linter log only if linter step has not been skipped

Updated the workflow to upload the linter output artifact only when the linter step was actually executed (not skipped)

* Add debug step to check linter outcome in workflow

Added a debug step after the linter execution in the workflow to print the outcome and conclusion of the run_linter step.

* Set continue-on-error for linter step to allow artifact upload and debug

* Remove workflow debug step and update markdown file

Removed the debug step from the RTL/LTR linter workflow and applied further changes to a markdown file.

* Fix RTL/LTR BIDI issues in some markdown files

Applied directional markers (‎, ‏) and other formatting fixes to resolve BIDI (bidirectional text) errors and warnings reported by the linter in several .md files. This commit is a second batch of corrections to improve RTL/LTR rendering and pass the linter checks.

* Fix RTL/LTR BIDI issues in some markdown files

Applied directional markers (‎, ‏) and other formatting fixes to resolve BIDI (bidirectional text) errors and warnings reported by the linter in several .md files. This commit is a third batch of corrections to improve RTL/LTR rendering and pass the linter checks.

* Do not produce log file if no issues found

Updated the linter script to avoid creating the log file when no issues, warnings, or notices are found. If no issues are detected, the script now prints a "::notice ::No issues found"

* Always print annotation with number of errors and warnings found

Updated the linter script to always print an annotation indicating how many errors and warnings were found, even if there are none.

* Fix: always print summary annotation with number of issues found

* Add a missing newline character at end of file free-courses-he.md

* Update linter configuration and revert markdown files to pre-fix state

Updated the organization of keywords and symbols in the linter configuration file. Reverted all markdown files to their original state prior to the fixes.

* Update free-programming-books-he.md with fixes

* Update free-programming-books-he.md with further fixes

* Update free-programming-books-he.md with fixes

* Update free-programming-books-fa_IR.md with fixes

* Update free-programming-books-he.md with further fixes

* Update free-programming-books-ar.md with fixes

* Update free-programming-books-ar.md with further fixes

* Update free-podcasts-screencasts-ar.md with fixes

* Update free-podcasts-screencasts-fa_IR.md with fixes

* Update free-courses-he.md with fixes

* Update free-courses-he.md with further fixes

* Update free-courses-fa_IR.md with fixes

* Update free-courses-fa_IR.md with further fixes

* Update free-courses-ar.md with fixes

* Update free-courses-ar.md with further fixes

* Update free-courses-ar.md with further fixes

* Update free-courses-ur.md with fixes

* Update some markdown files with further improvements

* Fix alignment of nested lists in free-programming-books-fa_IR.md

* Update CONTRIBUTING.md and CONTRIBUTING-it.md with RTL/LTR linter error fixing guidelines

Added a section to CONTRIBUTING.md and CONTRIBUTING-it.md explaining how to fix RTL/LTR Markdown linter errors, including when to use ‏ and ‎ with practical examples for contributors working on files with mixed RTL and LTR text
2025-05-28 10:46:25 -04:00
Benjamin Yee
2413c0ac3b Added Frontend Masters podcast to free-podcasts-screencasts-en.md (#11688)
* Added Frontend Masters podcast to free-podcasts-screencasts-en.md

I am adding the Frontend Masters podcast (screencast) to the list.

* Fix Frontend Masters change to free-podcasts-screencasts-en.md

Add the frontend masters team to the list of authors to the podcast link.
2024-10-26 13:28:56 -04:00
Václav Makeš
c98b7ba33e Add czech podcast SCRIPTease (#11617) 2024-10-20 17:35:42 -04:00
Juan Diaz
b33512b230 Add The Junior Jobs Podcast (#11303) 2024-10-01 23:23:13 -04:00
Juan Diaz
fad9fd5b3a Add Virtual Coffee Podcast (#11302) 2024-10-01 23:22:10 -04:00
Jan Knobloch
0085b7e307 Add German podcast Python Podcast (#11224) 2024-08-29 16:31:28 -04:00
Manuel Vergara
6c73a61964 Add entredevyops podcast es (#11088)
* Add entredevyops podcast es

* Fix

* Fix

* Fix
2024-03-08 10:16:26 -05:00
Lakshmi N
ea1b270a03 Fixing broken ui in case of "|" (#10880)
* Fixing ui in case of "|"

* Fix lint
2023-11-21 20:08:41 -05:00
Eric Hellman
c5ccfb8334 Roll-up PR (draft) (#10980)
* hindi hibernate course

* add a react tutorial

* add three playgrounds from #9775

* duplicate

* from #10628

* add figma course from #10649

* line
2023-11-17 12:29:15 -05:00
letohx
de96697c51 Update free-podcasts-screencasts-ru.md (#10572)
* Update free-podcasts-screencasts-ru.md

Formatted the section headings in the Markdown format for better readability.

* reorder

---------

Co-authored-by: Eric Hellman <eric@hellman.net>
2023-11-17 08:37:32 -05:00
Vanshika Rathod
0add1444d7 Updated free-podcasts-screencasts-nl.md (#10443)
* Update free-podcasts-screencasts-nl.md

* Update casts/free-podcasts-screencasts-nl.md

space

* space

* Update casts/free-podcasts-screencasts-nl.md

---------

Co-authored-by: Eric Hellman <eric@hellman.net>
2023-11-14 21:54:34 -05:00
Ender Ahmet Yurt
f596712dc1 Update free-podcasts-screencasts-tr.md (#9492)
* Update free-podcasts-screencasts-tr.md

* Update free-podcasts-screencasts-tr.md

---------

Co-authored-by: Eric Hellman <eric@hellman.net>
2023-11-12 19:36:14 -05:00
Min Han Kyaw
fbd78ffa5c Add database basic with mysql (#10902)
* added professinal web developer 2023 edition book

* removed professional web developer 2022 edition

* add programming basic course by Htain Lin Shwe

* removed duplicate book and added read me

* added database basic with mysql course

* added flutter course

* added database basic course

* fixed the linter fail error

* fixed Alphabetical ordering

* Missing newline character at end of file

* added flutter course

* fixed category name to Database

* fixed Alphabetical ordering

* fixed the linter fail error

* add react screencast

* add react screencast

---------

Co-authored-by: Min Han Kyaw <mhk@mit.com.mm>
2023-10-31 13:11:28 -04:00
Ratheshan Sathiyamoorthy
174091532a Added new podcasts to english languages (#10744)
* Added new podcasts to english languages

* Fixed Lint errors

* Moved data engineering course under data science
2023-10-26 12:58:52 -04:00
Eda
84212f0fd0 Add Compiler to podcasts (#10684) 2023-10-23 22:24:44 -04:00
AhmedKaram
801de421bf Update free-podcasts-screencasts-ar.md (#10604)
adding podcast
2023-10-22 21:57:05 -04:00
Honey Sukesan
f0cc9ca660 (Revised) - [HacktoberFest2023]: Added cpp.chat and No Diagnostic Required podcast under C++ podcasts section (#10512)
* [HacktoberFest2023]: Added cpp.chat and No Diagnostic Required podcasts under C++ podcasts section

* Addressed review comments for No Diagnostic Required podcast entry

Co-authored-by: Eric Hellman <eric@hellman.net>

* [HacktoberFest2023]: Fixed lint issues in podcast entries

* [HacktoberFest2023]: Fixed lint issue

---------

Co-authored-by: Eric Hellman <eric@hellman.net>
2023-10-21 00:48:11 -04:00
Tom
1e05dd7dea Add keep coding podcast to podcasts (#10464)
* Add keep coding podcast to podcasts

* Removed series in link text after PR comment

---------

Co-authored-by: Tom <t.baten@sigmax.nl>
2023-10-19 10:31:31 -04:00
Vipul Kumar
f5ca853032 Remove duplicate C++ Screencast (#10095)
* Add Deno Crash Course by Traversy Media

* Update course link for Deno

* Remove duplicate C++ Screencast
2023-10-10 17:10:33 -04:00
NEWTON MALLICK
c14f1e580f C# (#9874)
* Update free-courses-en.md

Added ASP.NET Core 2.2 & 3 REST API Tutorial link in C#

* Fix issue 

Alphabetically arrange the resource.

* Added a new screencast in C#

* Update free-programming-books-subjects.md

Add a book on containers written by experts from Microsoft
2023-10-07 15:03:36 -04:00
Paula Isabel
6cea7d851f Add Ruby and PostgreSQL podcasts (#9919) 2023-10-06 11:57:55 -04:00
hsicilia
f2006bd5c8 Add Atareao con Linux podcast in Spanish (#9757) 2023-10-03 11:17:04 -04:00
Iván Valdés Castillo
d99e2bced3 Update Spanish casts' Codely.TV screencasts location (#9679)
The location of Codely.TV screencast has been changed, updated it to
reflect its current location.
2023-10-02 10:12:30 -04:00
Emad Rad
d471c59319 Persian podcasts added (#9602) 2023-10-01 10:45:23 -04:00
Ahmed Nader
d2551b7eda Update free-podcasts-screencasts-ar.md (#9357)
* Update free-podcasts-screencasts-ar.md

* Update free-podcasts-screencasts-ar.md

* Update free-podcasts-screencasts-ar.md

* Update free-podcasts-screencasts-ar.md
2023-05-04 09:23:23 -04:00
Leithen
f0926cfbff Add misc podcasts (#9258) 2023-01-08 16:33:14 -05:00
Andrew Nasef
efb9468052 Update free-podcasts-screencasts-ar.md (#9250)
* Update free-podcasts-screencasts-ar.md

* Update free-podcasts-screencasts-ar.md

* Update free-podcasts-screencasts-ar.md

* Update free-podcasts-screencasts-ar.md

* Update free-podcasts-screencasts-ar.md
2023-01-06 14:40:48 -05:00
Jarek Pacocha
f4f798bcdb Add multiple Polish podcasts (#9239)
* Add Better Software Design podcast (pl)

This adds the "Better Software Design" podcast to the list o Polish podcasts.

* Add Biznes Myśli podcast (pl)

This adds the "Biznes Myśli" podcast to the list o Polish podcasts.

* Add Chwila Dla Admina podcast (pl)

This adds the "Chwila Dla Admina" podcast to the list o Polish podcasts.

* Add Dev Env podcast (pl)

This adds the "Dev Env" podcast to the list o Polish podcasts.

* Add Piątki po deployu podcast (pl)

This adds the "Piątki po deployu" podcast to the list o Polish podcasts.

* Add Porozmawiajmy o IT podcast (pl)

This adds the "Porozmawiajmy o IT" podcast to the list o Polish podcasts.

* Add Przeprogramowani podcast (pl)

This adds the "Przeprogramowani" podcast to the list o Polish podcasts.
2022-12-25 13:09:01 -05:00
Omicron
bd46f72f3b [free-podcasts-screencasts-fr.md] add new podcast (#9134)
* Update free-podcasts-screencasts-fr.md

* Update casts/free-podcasts-screencasts-fr.md

Co-authored-by: Eric Hellman <eric@hellman.net>

* Update casts/free-podcasts-screencasts-fr.md

Co-authored-by: Eric Hellman <eric@hellman.net>
2022-11-15 16:44:11 -05:00
Swarup Tripathy
c068e52ee3 Update free-podcasts-screencasts-en.md with Persuasive Technology (#8863)
* Update free-podcasts-screencasts-en.md with Persuasive Technology

* sort

Co-authored-by: Eric Hellman <eric@hellman.net>
2022-11-15 14:52:56 -05:00
Andrew Asche
c96e99e9bc Adding Quantum Computing Book (#9103)
* Adding Quantum Computing Book 

The Functional Analysis of Quantum Information Theory
Ved Prakash Gupta, Prabha Mandayam, V. S. Sunder

* spacing issue

Spacing issue between next section and current section

* Create free-podcasts-screencasts-fr.md

Spacing issue between next section and current section

* Alphabetical changes

reorder to keep alphabetical order

* Update free-podcasts-screencasts-ru.md

* Update free-podcasts-screencasts-ru.md
2022-10-29 22:23:55 -04:00
Eric Hellman
6799d7669f fix build (#9105)
* fix build

* try again

* Update free-podcasts-screencasts-ru.md
2022-10-29 22:20:30 -04:00
Eric Hellman
eec7b23909 fix build (#9104) 2022-10-29 21:58:56 -04:00
Eric Hellman
42d2711d2e fix build 2022-10-29 21:48:25 -04:00
Alexey Anufriev
61160a9737 Add zapusk-zavtra podcast (#9088) 2022-10-29 21:21:04 -04:00
Quenrelia
31a9fe29ac Add a few French speaking podcasts (#9038) 2022-10-29 19:12:08 -04:00
Alexey Anufriev
e70f216b91 Add javaswag podcast (#9031) 2022-10-29 19:09:48 -04:00
heigarpichardo
276dac7659 Update free-podcasts-screencasts-es.md (#8925)
Este podcast es sobre temas interesantes de programacion en general y podcast muy organizado.
2022-10-25 11:48:56 -07:00
Pedro Gabriel
71f228b67d Update free-podcasts-screencasts-pt_BR.md (#8871) 2022-10-23 23:02:14 -04:00
dinaisrael
e4e3d704c6 Add Hebrew Podcasts (#8765)
* Update free-podcasts-screencasts-he.md

Added two Hebrew podcasts:
* ברווזגומי
* מדברים סייבר

* Update free-podcasts-screencasts-he.md

* Update free-podcasts-screencasts-he.md
2022-10-21 21:05:24 -04:00
Alexander Suero
6929f412e9 Added Swift podcast (#8556)
* Added Swift podcast

* Fix md syntax

* Fix formatting 

Add extra space between last link and heading.

* Fixed typo
2022-10-17 21:43:05 -04:00
Crescent Partha
c7db406810 C++ STL - screencast added (#8328)
Update free-podcasts-screencasts-en.md
2022-10-14 21:44:27 -04:00
Stepan
e8cb79a6b4 added ukrainian podcasts (#7869)
* added ukrainian podcasts

* added to READE

* added space bettwen categories

* deleted extra space

* changed rus to ukr

* fixed anchor

Co-authored-by: Stepan Naryshkov <snaryshkov@microsoft.com>
2022-10-13 21:05:58 -04:00
Sarah Brown
36babaa18a Added Does Not Compute podcast in English (#8227)
* Update free-podcasts-screencasts-en.md

* Removed trailing slash from Does Not Compute URL
2022-10-13 11:12:36 -04:00
Shanna
ea6c8042ec Added dutch podcast to app (#8063)
* added dutch podcast

* added link to readme

* added new line

Co-authored-by: Shanna <s.vangrevengoed@arcady.nl>
2022-10-11 22:05:05 -04:00
Dave Ramirez
c1f3b03865 add mangocast podcast from paraguay (#7943)
* add mangocast podcast from paraguay

* remove slash to end

* remove lines

* alphabetic order
2022-10-09 20:43:55 -04:00
Akira Taguchi
959285ed35 Update free-podcasts-screencasts-fi.md (#7911)
* Update free-podcasts-screencasts-fi.md

* Remove end slash from url
2022-10-09 19:51:19 -04:00
Tom
79ab94b713 Add new topic aboud clean code lessons podcasts by Robert C Martin (#7574)
* Add new topic and clean code lessons podcasts

* Update free-podcasts-screencasts-en.md

Updated description and provided suggested changes.

* Update free-podcasts-screencasts-en.md

Updated URL to playlist link with other lessons included.

Co-authored-by: Tom <t.baten@sigmax.nl>
2022-10-09 18:45:54 -04:00
Ítalo Vinícius
99cc1fcb61 Fixing the url in Data Science Academy Podcast (#7794) 2022-10-08 17:47:12 -04:00
Ítalo Vinícius
eb03390c9e PT_BR - Data science Cast - Intervalo de Confiança (#7791) 2022-10-07 21:38:49 -04:00