Optius publishes an RSS feed with region/field filters, so no HTML
scraping is needed. Also move the duplicated slug helper into http.ts
(output unchanged, so existing source IDs and URLs are unaffected).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MojeDelo has no public API; use the internal JSON API its search page
calls. Tenant headers are read from the site's public config each run.
Takes a search URL copied from the site, paginates, and checks results
against the requested category/region filters.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Adecco has no public API; use the internal JSON endpoint its job search
page calls, filtered by job category. Results are paginated and checked
against the requested category, since the API silently ignores unknown
filters.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
startup.si has no public jobs API or feed, so parse the listing page.
It lists every posting since 2019 on one page, so only postings from
the last 90 days are kept. Also decode common named HTML entities
(š, ž, č, dashes, quotes) case-sensitively.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Scrapes slo-tech.com (Ljubljana) every 24h, stores jobs in SQLite and
tracks which are new vs. seen. New sites can be added as modules in
src/scrapers/.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>