Giter Site home page Giter Site logo

isaac-newt / new-tab-enhanced Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 1.0 8.17 MB

An Enhanced new tab experience for Firefox (54+)

Home Page: https://addons.mozilla.org/en-US/firefox/addon/new-tab-enhanced/

License: MIT License

HTML 15.21% JavaScript 64.92% CSS 19.88%
firefox firefox-addon webextension

new-tab-enhanced's Introduction

Hello, World!

About Me

My name is Isaac, and I am an undergraduate Computer Science student studying at Luther College. This is my non-school Github page, where I keep my projects unrelated to course activities or academic projects.

I am interested in working on projects which are interactive, communicate information in novel ways, and provide unique challenges to me as a programmer. I also hope to eventually contribute to free and open-source projects which I rely on each day to complete my tasks.

My other interests include language learning (both programming and natural languages), history, mapping, and science - both fact and fiction.

Where to find me

I don't generally keep much of a social media presence, but I can be found on:

However, the best way to contact me is by email at one of the following addresses:

new-tab-enhanced's People

Contributors

isaac-newt avatar

Watchers

 avatar

Forkers

admhpr

new-tab-enhanced's Issues

Vivaldi must select "controlled by extension" to use

Like the title says, in order to allow an extension to control the new tab page in Vivaldi, you must select that option in settings. Not a big deal, but could confuse users. Look into providing a popup page/thingy that can provide information. Not sure how to just target Vivaldi users though, as it will come from the Chrome store...

Chrome/Vivaldi do not display top sites

Chrome and chromium browsers like Vivaldi do not display the Top Sites links. This is also an issue with the MDN example Top Sites. Look into support for topSites API in Chrome, and if it is unsupported, find an alternative.

Show list of bookmarks in addition to top sites

I think having a user-controlled (via bookmark folder) listing of bookmarks would be nice, but something to add after V1 is complete.

Plans:

  • Default to showing top sites
  • Create bookmarks folder to which user can add bookmarks of choice
  • Use the bookmarks toolbar as the default folder. Possibly improve this later
  • Until user adds bookmarks, continue showing top sites
  • Once user adds bookmark(s), do not show top sites, but instead show contents of bookmarks folder
  • Only show bookmarks link if there are bookmarks to show

Checklist:

  • 1) Bookmarks permission in manifest.json (4da9940)

  • 2) Use bookmarks from the bookmarks toolbar (similar to "React New Tab")

  • 3) Show bookmarks in their own panel, similar to the current Top Sites, but not replacing it

Implement Top Sites

The code for topSites API is already there (mostly) but needs to be worked with so that it's actually useful. Right now its a giant list, so we need to:

  1. Truncate that list at some point (probably 5-10 items)

  2. Style the list in similar fashion to the top bar

  3. Make the list fit in a more adaptable layout (I'd like this to work on Android if possible)


Things that the Top Sites won't do:

  1. Customization. It's easier to just go with the native API, rather than implementing a new "add speed-dial" system.

  2. Show site previews. These will be text links.

General Cross-Browser issue

This is a general tracking bug for browser compatibility, relevant issues that hinder this compatibility will be linked in the comments as they are identified.


Firefox: Works as intended 55+, should work w/54

Chrome: Top links and notepad work, doesn't display top sites (API issue?)

Opera: Will not allow override of newtab page --> complains that "chrome_url_overrides is not allowed for specified extension ID"

Vivaldi: Same issue as Chrome, must select "controlled by extension" in settings


So, at this point, it works in Firefox, top sites are broken in Chromium based browsers, and on Opera it's just broken.

Night Mode

A switch to activate a "night-mode" (dark) stylesheet would be cool. Not a big priority though.

Font (Fira Sans) relies on Google

The font used in the addon relies on Google Fonts if the user does not have Fira Sans installed on their computer.

This is an issue for two reasons:

  1. Tracking: I'd rather not rely on Google (or other remote services)
  2. Offline use: if the user is offline, they can't get the right font. This is bad for usability.

Addon Icon

There should be an icon for this addon. Not sure what yet, but there should be.

Opera has ... Issues

Presumably Opera should be supported, but it spits out an error: "chrome_url_overrides is not allowed for specified extension ID". Not sure what ID it's talking about, I'm thinking something in permissions. MDN says chrome_url_overrides is supported in Opera.

Settings Page

There should be a settings page from which users can configure things like theme, location for weather, and other future possibilities.

Things to include:

  • Choose whether to include bookmarks, topsites
  • Choose theme (change color variables in CSS with JS)
  • Select a background image - From local file
    From online source (enter URL) (see #30)

Weather link inaccurate if spoofing IP/using VPN

wttr.in bases it's forcast off of the user's location according to their IP address. If users are using a VPN, or their IP is returning the wrong location, the weather report will be wrong. Possibly make location a configurable option.

Filler text in searchbox is too dark on Chrome

The filler text on the searchbox is too dark on chrome.
chrome-dark
This is bad both for people with visual impairments, and for people who might actually want to read what's there. This is a Chrome specific bug, Firefox renders text here as intended.
good-ff

On-Page Searchbox

Implement a searchbox on the page, preferably in a drop-down kind of thing. Activate when the user clicks/tabs "Search".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.