freeCodeCamp / freeCodeCamp/devdocs
[low priority refactoring] generalize executing JS during scraping
- Vorherrschende Sprache
- Ruby
- Sterne
- 39.5k
- Forks
- 2.6k
- Ø Merge
- 4 T. 32 Min.
- Gemergte PRs (30 T.)
- 13
Beschreibung
If doc sites use client-side JavaScript to produce or fetch some of their content, we need to launch a headless browser and execute it. Currently scraper subclasses do that individually using capybara, e.g.
https://github.com/freeCodeCamp/devdocs/blob/master/lib/docs/scrapers/angularjs.rb#L42-L45
but it might be better to extract a helper method or config option, a little more like this:
https://github.com/freeCodeCamp/devdocs/blob/master/lib/docs/scrapers/webpack.rb#L43-L46
cc @dangeranger
Beitragsleitfaden
Rechercherichtung
Beginne damit, lib/docs/scrapers/angularjs.rb#L42-L45 mit lib/docs/scrapers/webpack.rb#L43-L46 zu vergleichen, um die bestehenden Capybara-basierten Muster für die JavaScript-Ausführung zu verstehen. Verfolge, wie Scraper-Konfiguration und Hilfsfunktionen organisiert sind, und definiere anschließend einen gemeinsamen Ansatz, der das relevante Scraper-Verhalten beibehält, und überprüfe, dass die betroffenen Scraper weiterhin ihren erwarteten Inhalt erzeugen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- ruby
- Bereich
- documentation, tooling
- Issue-Typ
- Refactoring
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100