forked fromstefanw/bibbot
- Notifications
You must be signed in to change notification settings - Fork0
BibBot is a browser extension that removes the paywall on German online news sites using your library account's access to press databases.
License
NotificationsYou must be signed in to change notification settings
darkdragon-001/bibbot
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This uses rollup to build the extension files. Install and run like this:
npm install# Run this during developmentnpm start
The extension has four different entry points:
- The content script in
src/content.ts
runs on the news article page, communicates with background script - the background script in
src/background.ts
which opens new tabs, navigates them around and scrapes the content - the options page in
src/options.ts
is the options page for the extension - the popup in
popup/
is opened when the extension icon in the toolbar is clicked
These are the relevant players:
src/providers.ts
contains libraries that you authenticate against and that grant accesssrc/sources.ts
contains databases that you can get access to through providerssrc/sites.ts
contains news sites, how to extract their meta data and which source could provide access
For details on how to construct any of these entities, have a look atsrc/types.ts
Additionally user data like credentials and chosen provider is stored viabrowser.storage.sync
.
There is a test setup for sites usingJest andPuppeteer that can be run with:
# install dependenciesnpm ci# Run linting and type checkingnpm run lintnpm run check-types# Always run build before tests, as test uses build files!npm run build# Run testsnpm runtest# Run tests with actual browser window for one domainHEADLESS=false npm runtest -- -t"test www.zeit.de"
Add testing data to site objects like this:
// ...'www.example.com':{examples:[{url:'http://example.com/article.html',selectors:{query:'The string resulting from query selector'}}],// optional setup async functiontestSetup:async(page)=>{// page is pupeteer page// use this for initial page setup},// ...
- Run
npm version <major|minor|patch>
git push --tags origin main
- GitHub release Action will build, test, create release, sign Firefox extension, submit to Chrome Web Store and update website.
About
BibBot is a browser extension that removes the paywall on German online news sites using your library account's access to press databases.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
Languages
- TypeScript77.0%
- HTML10.3%
- CSS6.6%
- JavaScript5.7%
- Shell0.4%