Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Just building a Chrome Extension with Create React App and TypeScript.

License

NotificationsYou must be signed in to change notification settings

mmazzarolo/chrome-another-tab

Repository files navigation

 

An open source Chrome extension that shows your bookmarks when you open a new tab.
Built with Create React App and TypeScript.

 

Another Tab

Another Tab Download Another Tab from the Chrome Web Store

...or try it live!

Overview

I initially built this extension just for personal use... and for trying building a Chrome extension 🤷‍♂️, so for now it has just the features that I need...
That said, PRs are welcome!
Check the DEVLOG to see the history of the project.

Features

  • Shows your bookmarks in the new tab page
  • Bookmarks filtering/search
  • Keyboard navigation support
  • Bookmark folders visibility toggle
  • Themes support
  • Drag & drop bookmark sorting

Stack

  • React (using Create React App) and hooks
  • TypeScript
  • Styled-Components
  • Redux, Redux-Saga and Typesafe-Actions

Contributing

Feature request

I already created a fewissues with some features that I feel like would be really welcomed addition, and I'm open to any other additional suggestion... especially if you already have an idea to implement it's UI/UX.

Developing locally

This is a standard Create React App, so you can easily start working on it by simply cloning the project and runningyarn to install all its dependencies.
To develop the app locally you can runyarn start, I already included some fake bookmarks to simulate the production behaviour of the extension.

Development tips

This app uses TypeScript, React Hooks, Redux and Styled-Components, so you might need to be confortable with these technologies to completely understand the codebase.
The app is still pretty simple, doesn't have too many components and most of the logic is just in the Chrome Bookmarks parsing and in the Redux sagas.
If you feel intimidated by the codebaseplease just open an issue/send a PR, I'm open to discussion and tips.
Also, if you're not confortable with hooks feel free to use class components.

Chrome Web Store deployment

I setup asemi-automated Chrome Web Store deployment using CircleCI.
It currently runs only when themaster branch receives a new push, but I still haven't automated the version number bumping (so I still have to do it manually).
It would be great making the publishing step manipulate themanifest.json so that it reflects thepackage.json version and/or a git tag.

Live example deployment

The "live example" is just a customized version of the production build of the app deployed on GitHub Pages.If you check thegh-pages script in thepackage.json you'll see that I'm setting aREACT_APP_IS_LIVE_EXAMPLE environment variable before running the GitHub Pages deployment: this will allow the build to use the fake bookmarks instead of trying to get them from the Chrome API (like if it was an extension running in the browser).

GitHub organization?

If the app starts getting contributions I'll gladly create a new ad-hoc organization for it, instead of keeping it in my personal profile.

About

Just building a Chrome Extension with Create React App and TypeScript.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors3

  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp