A clean web browser "New Tab" / "Home page" page, created using TypeScript and React.
Help translate Renewed Tab using Weblate
License: GPLv3 or later.
Renewed Tab has 3 components:
- A web app, found at
src/app. This is written using React, and uses some browser extension APIs when available. - An API/proxy server, found at
src/server. This provides various APIs, and allows requests to be proxied to get around CORS. You can also use the production server if you're not changing any APIs. - A webext, found at
src/webext. This contains the manifest.json, and will wrap the web app when compiled.
- Node 22+ and NPM
- SASS
Make sure to run npm install
Copy config.example.json to config.json.
(Optional) If you want to run a local API/proxy server, then you will need to:
-
Change
API_URLandPROXY_URLinconfig.jsonto localhost:{ "API_URL": "http://localhost:8000/api/", "PROXY_URL": "http://localhost:8000/proxy/", /* other settings here */ }
-
Configure some API keys if you want to use third-party services. These are optional, but will prevent some features from working.
- The settings:
ACCUWEATHER_API_KEY: AccuWeather.comUNSPLASH_ACCESS_KEY: UnsplashOPEN_EXCHANGE_RATES_KEY: for currency exchange rates
- You can set the above server settings in
config.json, or using environment variables (recommended for production).
- The settings:
-
You can also change other server settings in
config.json:PROXY_ALLOWED_HOSTS: Array of allowed host names.
Make sure to run npm install.
- Web + server:
npm start - Web only:
npm run start:app - Web extension
- Firefox:
npm run start:firefox - Chrome:
npm run start:chrome - Edge:
npm run start:edge
- Firefox:
Make sure to run npm install, and to set the NODE_ENV environment
variable to production.
- Web + server:
npm run build - Web only:
npm run build - Web extension:
npm run package:webext
Also see .gitlab-ci.yml.
See the docs folder.