refined-github
:octocat: Browser extension that simplifies the GitHub interface and adds useful features
Top Related Projects
:octocat: Browser extension that simplifies the GitHub interface and adds useful features
👻 Use your text editor to write in your browser. Everything you type in the editor will be instantly updated in the browser (and vice versa).
A collection of awesome browser extensions for GitHub.
🐙 File tree extension for GitHub on Chrome & Firefox & Edge
Quick Overview
Refined GitHub is a browser extension that enhances the GitHub experience with additional features and UI improvements. It aims to streamline workflows, add useful functionality, and improve the overall usability of GitHub's web interface.
Pros
- Adds numerous productivity-enhancing features to GitHub
- Customizable, allowing users to enable/disable specific enhancements
- Regularly updated to keep pace with GitHub's changes
- Open-source, with a large community of contributors
Cons
- May conflict with other GitHub-enhancing browser extensions
- Some features may become obsolete if GitHub implements them natively
- Requires users to trust a third-party extension with access to their GitHub data
- Performance impact on slower machines due to additional processing
Getting Started
-
Install the browser extension:
- For Chrome: Chrome Web Store
- For Firefox: Firefox Add-ons
-
After installation, visit GitHub.com. The extension will automatically activate and enhance your GitHub experience.
-
To customize the extension:
- Click on the Refined GitHub icon in your browser's toolbar
- Toggle features on/off according to your preferences
-
For the latest updates and full feature list, visit the Refined GitHub repository.
Competitor Comparisons
:octocat: Browser extension that simplifies the GitHub interface and adds useful features
Pros of refined-github
- More active development and frequent updates
- Larger community and contributor base
- Extensive feature set with numerous enhancements
Cons of refined-github
- Potentially overwhelming for new users due to numerous features
- May have a slightly higher performance impact on GitHub
Code comparison
refined-github:
import * as pageDetect from 'github-url-detection';
function init() {
if (pageDetect.isRepo()) {
// Repository-specific enhancements
}
}
refined-github>:
// No code comparison available as refined-github> is not a valid repository
Summary
refined-github is a popular browser extension that enhances the GitHub experience with numerous features and improvements. It benefits from active development, a large community, and frequent updates. However, the extensive feature set may be overwhelming for some users and could potentially impact performance.
The comparison with refined-github> is not possible as it appears to be an invalid repository name. The ">" character is not typically used in GitHub repository names, suggesting a possible typo or formatting error in the original request.
👻 Use your text editor to write in your browser. Everything you type in the editor will be instantly updated in the browser (and vice versa).
Pros of GhostText
- Enables real-time editing of browser textarea content in a desktop text editor
- Supports multiple text editors and browsers
- Allows for more powerful text editing capabilities in web applications
Cons of GhostText
- Limited to text editing functionality
- Requires installation of both browser extension and text editor plugin
- May have compatibility issues with certain websites or text fields
Code Comparison
GhostText (content script):
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
if (request.action === 'getTextFields') {
const textFields = findTextFields();
sendResponse(textFields);
}
});
Refined GitHub (content script):
import features from '../feature-manager.js';
void features.add(__filebasename, {
init: () => {
// Feature-specific initialization code
},
});
Summary
GhostText focuses on enhancing text editing capabilities by connecting browser textareas to desktop text editors, while Refined GitHub aims to improve the overall GitHub user experience with various features and enhancements. GhostText offers more flexibility in text editing across different platforms, but its scope is limited compared to Refined GitHub's comprehensive set of GitHub-specific improvements.
A collection of awesome browser extensions for GitHub.
Pros of awesome-browser-extensions-for-github
- Provides a curated list of various GitHub browser extensions, offering users a wide range of options
- Allows users to discover and choose extensions based on their specific needs
- Regularly updated with new extensions and community contributions
Cons of awesome-browser-extensions-for-github
- Not a standalone extension itself, requiring users to install multiple extensions for desired features
- May lead to potential conflicts or performance issues when using multiple extensions simultaneously
- Lacks the cohesive, integrated experience of a single, comprehensive extension
Code comparison
While a direct code comparison is not applicable in this case, we can compare the structure of the repositories:
awesome-browser-extensions-for-github:
# Awesome Browser Extensions for GitHub
- [Extension Category 1](#category-1)
- [Extension 1](#extension-1)
- [Extension 2](#extension-2)
- [Extension Category 2](#category-2)
- [Extension 3](#extension-3)
- [Extension 4](#extension-4)
refined-github:
import * as pageDetect from 'github-url-detection';
import features from './features';
void features.add(__filebasename, {
include: [
pageDetect.isRepo,
],
init
});
The awesome-browser-extensions-for-github repository primarily consists of a curated list in markdown format, while refined-github contains actual JavaScript code for implementing features directly in the browser.
🐙 File tree extension for GitHub on Chrome & Firefox & Edge
Pros of Gitako
- Provides a file tree sidebar for easier navigation of GitHub repositories
- Lightweight and focused on improving repository browsing experience
- Offers keyboard shortcuts for quick navigation and file access
Cons of Gitako
- Limited in scope compared to Refined GitHub's extensive feature set
- May not integrate as seamlessly with GitHub's native interface
- Lacks some of the advanced features found in Refined GitHub, such as PR enhancements
Code Comparison
Gitako (TypeScript):
export function createFileTree(files: string[]): FileTree {
const root: FileTree = { name: '', children: {} };
for (const file of files) {
const parts = file.split('/');
let node = root;
// ... (additional implementation)
}
return root;
}
Refined GitHub (JavaScript):
function addFileActions(row) {
const [icon, path] = row.children;
const fragment = new DocumentFragment();
const viewFile = icon.cloneNode(true);
viewFile.classList.add('rgh-view-file');
// ... (additional implementation)
}
Both projects aim to enhance the GitHub experience, but they focus on different aspects. Gitako specializes in improving repository navigation with its file tree sidebar, while Refined GitHub offers a broader set of features to enhance various GitHub functionalities. The code snippets showcase their different approaches, with Gitako focusing on file tree creation and Refined GitHub on adding file actions to the interface.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Refined GitHub
Browser extension that simplifies the GitHub interface and adds useful features
We use GitHub a lot and notice many annoyances we'd like to fix. So here be dragons.
Our hope is that GitHub will notice and implement some of these much-needed improvements. So if you like any of these improvements, please open a discussion on GitHub feedback or contact GitHub support about doing it.
GitHub Enterprise is also supported: How to enable it.
The GITHUB and REFINED GITHUB trademarks are owned by GitHub, Inc. and used under license.
Install
If you love Refined GitHub, consider sponsoring or hiring the maintainer @fregante
@freganteâs open source work is supported by the community. |
Sindreâs open source work is supported by the community.
Start selling to enterprise customers with just a few lines of code. Add Single Sign-On (and more) in minutes instead of months.
|
Highlights ð¥
Repositories
- ð¥ Adds a build/CI status icon next to the repoâs name.
- Adds useful links to the repository navigation dropdown
- Adds a link to swap branches in the branch compare view.
- Displays the age of the repository in the sidebar.
- In your forked repos, shows number of your open PRs to the original repo.
- Makes some buttons on repository lists more compact to make room for other features.
- Automatically disables projects and wikis when creating a repository.
- Makes sidebars sticky in repositories, issues, and PRs, if they fit the viewport.
- Adds a link to visit the userâs github.io website from its repo.
- In the workflows sidebar, shows an indicator that a workflow can be triggered manually, and its next scheduled time if relevant.
- Lets you delete your repos in a click, if they have no stars, issues, or PRs.
- Helps you find forks on archived repos.
- Moves the "Security" and "Insights" to the repository navigation dropdown. Also moves the "Projects", "Actions" and "Wiki" tabs if they're empty/unused.
- Adds the profile picture to the header of public repositories.
- Adds a link to create issues from anywhere in a repository.
- Shows a small avatar next to the username in issue/PR lists and mentions.
- ð¥ Tells you whether you're looking at the latest version of a repository, or if there are any unreleased commits.
- ð¥ Adds a link back to the PR that ran the workflow.
- Makes the tabs more compact on mobile so more of them can be seen.
- Shows whether a repo is a fork and adds the number of stars to its header.
- When navigating a repo's file on a specific tag, it adds a link to see the release/tag itself.
File management
- Adds a button to download entire folders, via https://download-directory.github.io.
- Adds a button to edit files from the repo file list.
- Enables the File Finder keyboard shortcut (t) on entire repository.
- Shows the associated PRs on branches for forked repositories.
- Adds a link to preview HTML files.
- Highlights the most-recently-modified items in file lists.
- Lets you see the previous version of a file in one click.
Code
- Linkifies issue/PR references and URLs in code and issue/PR titles.
- Enhances the y hotkey to also copy the permalink.
- Linkifies symbolic links files.
- Alerts you if the current file is altered by an open PR.
- Reduces tabsâ size to 4 spaces instead of 8 where GitHub doesn't follow the userâs preferences.
- Adds a keyboard shortcut to deselect the current line: esc.
- Shows Markdown front matter as vertical table.
- On branch commit lists, shows the PR that touches the current branch.
Writing comments
- ð¥ Enables tab and shiftâtab for indentation in comment fields.
- Adds a button to insert collapsible content (via
<details>
). - ð¥ Auto-resizes comment fields to fit their content and no longer show scroll bars.
- Lets you edit any comment with one click instead of having to open a dropdown.
- Wraps selected text when pressing one of Markdown symbols instead of replacing it:
[
`
'
"
*
~
_
- Hides unnecessary comment field tooltips and toolbar items (each one has a keyboard shortcut.)
- Adds a button to
@mention
a user in issues and PRs. - Adds a button in the text editor to quickly insert a simplified HTML table.
- Notifies the user of unfinished comments in hidden tabs.
- Adds a button to delete review comments in one click when editing them.
- Disables the enter-to-submit shortcut in some commit/PR/issue title fields to avoid accidental submissions. Use ctrl enter instead.
Reading comments
- ð¥ Adds reaction avatars showing who reacted to a comment.
- Embeds short gists when linked in comments on their own lines.
- Adds links to browse the repository and linked files at the time of each comment.
- Adds the real name of users by their usernames.
- Shortens URLs and repo URLs to readable references like "_user/repo/.file@
d71718d
". - ð¥ Previews hidden comments inline.
- ð¥ Highlights the most useful comment in issues.
- Hides reaction comments ("+1", "ð", â¦) (except the maintainersâ) but they can still be shown.
- Limits the height of tall code blocks and quotes.
- Simplifies the UI to hide comments.
- Makes the "comment" icon in issue lists link to the latest comment of the issue.
- On long conversations where GitHub hides comments under a "N hidden items. Load more...", alt-clicking it will load up to 200 comments at once instead of 60.
- Adds shortcuts to issues, PRs conversations, and PR file lists: j focuses the comment/file below; k focuses the comment/file above.
- Informs you that there are hidden comments in the header of long issues. Also scrolls down to the hidden comments when pressing Cmd+F or Ctrl+F.
Conversations
- Lets you open all visible issues/PRs at once.
- Makes the issue/PR listâs filters toolbar sticky.
- Highlights issues/PRs opened by you or the current repoâs collaborators.
- In issue/PR lists, aligns the labels to the left, below each title.
- ð¥ Changes the default sort order of issues/PRs to
Recently updated
. - Adds
Everything youâre involved in
andEverything you subscribed to
filters in the search box dropdown. - Adds filters for issues/PRs in your repos and commented on by you in the global issue/PR search.
- ð¥ Hides empty sections (or just their "empty" label) in the issue/PR sidebar.
- Hides
Projects
andMilestones
filters in issue/PR lists if they are empty. - Adds a shortcut to toggle all similar items (minimized comments, deferred diffs, etc) at once: alt click on each button or checkbox.
- Lets you toggle between is:open/is:closed/is:merged filters in searches.
- Adds a "Bugs" tab to repos, if there are any open issues with the "bug" label.
- Replaces the "opened" time with the "updated" time on pinned issues.
- Changes the layout of pinned issues from side-by-side to a standard list.
- Adds one-click buttons to remove labels in issues/PRs.
- Removes duplicate information in the header of issues and PRs ("User wants to merge X commits from Y into Z")
- Dims commits and PRs by bots to reduce noise.
- Adds a shortcut to cancel editing a issue/PR title: esc.
- Hides the update time of issues/PRs in lists when it matches the open/closed/merged time.
- Links the "Contributor" and "Member" labels on comments to the authorâs commits on the repo.
- Adds a link to jump to the latest close event of a issue/PR.
- Lets you "close issue as unplanned" in one click instead of three.
- Show a label on locked issues and PRs.
Viewing pull requests
- Adds a link to the non-PR commit when visiting a PR commit.
- Adds Checks and Draft PR dropdown filters in PR lists.
- Shows color-coded review counts in PR lists.
- Shows the base branch in PR lists if itâs not the default branch.
- Hides inactive deployments in PRs.
- Adds duplicate commit navigation buttons at the bottom of the
Commits
tab page. - Adds comment indicators when comments are hidden in PR review.
- Shows which PRs have conflicts in PR lists.
- Adds diff stats on PR commits.
- Adds a line-through to the deleted branches in PRs.
- Mark/unmark multiple files as âViewedâ in the PR Files tab. Click on the first checkbox you want to mark/unmark and then
shift
-click another one; all the files between the two checkboxes will be marked/unmarked as âViewedâ. - ð¥ Shows the first Git tag a merged PR was included in or suggests creating a release if not yet released.
- Jumps to first non-viewed file in a PR when clicking on the progress bar.
- Adds a link to jump to the latest changed requested comment.
- Adds a link to open the latest deployment from the header of a PR.
- Always uses unified diffs on files where split diffs arenât useful.
- Makes it easier to distinguish draft PR in lists.
Editing pull requests
- ð¥ Uses the PRâs title as the default squash commit title and updates the PRâs title to match the commit title, if changed.
- Adds an "Update branch" button to every PR. GitHub has the same feature, but it must be manually configured with protected branches.
- Simplifies the PR review form: Approve or reject reviews faster with one-click review-type buttons.
- Adds keyboard shortcuts to cycle through PR tabs: g â and g â, or g 1, g 2, g 3, and g 4.
- Automatically deletes the branch right after merging a PR, if possible.
- Lets you create draft PRs and public gists in one click.
- Clears the PR merge commit message of clutter, leaving only deduplicated co-authors.
- Adds quick-review buttons to the PR sidebar, automatically focuses the review textarea, and adds a keyboard shortcut to open the review popup: v.
- Uses the first commit for a new PRâs title and description.
Commits
- Adds links to
.patch
and.diff
files in commits. - Adds links to view the raw version, the blame, and the history of files in PRs and commits.
- Adds one-click buttons to change diff style and to ignore the whitespace and a keyboard shortcut to ignore the whitespace: dâw.
- Widens the
Expand diff
button to be clickable across the screen. - Hides diff signs since diffs are color coded already.
- Suggests limiting commit and PR titles to 72 characters.
- Displays the corresponding tags next to commits.
- Marks merge commits in commit lists.
- When exploring blames,
Alt
-clicking the âReblameâ buttons will extract the associated PRâs commits first, instead of treating the commit as a single change. - Indicates with an icon whether files in commits and PRs are being added or removed.
- Enables toggling file diffs by clicking on their header bar.
- Preserves current branch and path when viewing all commits by an author.
- Enables toggling commit messages by clicking on the commit box.
- Linkifies the "X files changed" text on compare pages to allow jumping to the diff.
Tags and releases
- Adds a download count next to release assets.
- Adds a
Releases
tab and a keyboard shortcut: g r. - Adds a tags dropdown/search on tag/release pages.
- Adds a keyboard shortcut to create a new release while on the Releases page: c.
- ð¥ Adds a link to changes since last tag/release for each tag/release.
- Adds a button to convert a release to draft.
- Adds a button to view the changelog file from the releases page.
Profiles
- On profiles, it shows whether the user follows you.
- Adds a link to the userâs public gists on their profile.
- Marks private organizations on your own profile.
- Adds a keyboard shortcut to visit your own profile: g m.
- Adds a link to the userâs most starred repositories.
- Hides forks and archived repos from profiles (but they can still be shown.)
- Linkifies the user location in their hovercard and profile page.
- Shows the user local time in their hovercard (based on their last commit).
- Adds a link to the issues and pulls on the user profile repository tab and global search.
Newsfeed
- Hides other inutile newsfeed events (commits, forks, new followers).
- Automagically expands the newsfeed when you scroll down.
Notifications
- Adds a button to open all your unread notifications at once.
- Adds a shortcut to select all visible notifications: a.
- Linkifies the header of each notification group (when grouped by repository).
- Stops redirecting to notification inbox from notification bar actions while holding Alt.
- Adds a link to the last page of notifications.
- Points PR notifications to the Conversation tabs instead of the commits page, which may be a 404.
- Make the notifications action bar sticky.
Global
- ð¥ Adds possible related pages and alternatives on 404 pages.
- Adds a keyboard shortcut to open selection in new tab when navigating via j and k: shift o.
- Automatically closes dropdown menus when theyâre no longer visible.
- GitHub renders
`text in backticks`
in some places but not others; this features fills in where forgotten. - Adds shortcuts to navigate through pages with pagination: â and â.
- Lets you see how others are using the current Action in the Marketplace.
- Shows all of Refined GitHubâs new keyboard shortcuts in the help modal (? hotkey).
Netiquette
- Adds unobtrusive netiquette reminders (old closed issues, highly-active issues, draft PRs, â¦).
- Warns you when creating a PR from the default branch, as itâs an anti-pattern.
- Warns you when unchecking
Allow edits from maintainers
, as itâs maintainer-hostile.
Fixes for GitHub shortcomings
- Removes the file hover effect in the repo file browser.
- Removes unnecessary or redundant information from the repository sidebar.
- Linkifies branch references in "Quick PR" pages.
- Removes the autocomplete on search fields.
- Adds a menu item to embed a gist via
<iframe>
. - Points the "View file" on PRs to the branch instead of the commit, so the Edit/Delete buttons will be enabled on the "View file" page.
- Retries downloading images that failed downloading due to GitHub limited proxying.
- Makes some dropdowns 1-click instead of unnecessarily 2-click.
- Suggests fixing links that are wrongly shortened by GitHub.
- Linkifies the username in the edit history popup.
- Avoids creating duplicate PRs when mistakenly clicking "Create pull request" more than once.
- Moves the "Convert PR to Draft" button to the mergeability box and adds visual feedback to its confirm button.
- Prevents the merge panel from automatically opening on every page load after itâs been opened once.
- Adds keyboard shortcuts to select items in command palette using ctrl n and ctrl p (macOS only).
- Enables submission via ctrl enter on every page possible.
- While writing/editing comments, open the preview links in new tab instead of navigating away from the page.
- Redirect to repo issue list when the search doesnât include
is:pr
. - Drops redundant "readme-ov-file" parameter from repo URLs.
- Closes checks list when clicking outside of modal.
- Linkifies the line numbers where GitHub forgot to add links.
Previously part of Refined GitHub
GitHub took inspiration from Refined GitHub and natively implemented dozens of its features, ð so they've been removed from this extension. You can also see all the past features of Refined GitHub in a single list.
Customization
Most features can be disabled if they are JavaScript-based and you can override our CSS with your own in the extension options.
We're happy to receive suggestions and contributions, but be aware this is a highly opinionated project. There's a high bar for adding features. Users will always disagree with something. That being said, we're open to discussing things.
Links
Top Related Projects
:octocat: Browser extension that simplifies the GitHub interface and adds useful features
👻 Use your text editor to write in your browser. Everything you type in the editor will be instantly updated in the browser (and vice versa).
A collection of awesome browser extensions for GitHub.
🐙 File tree extension for GitHub on Chrome & Firefox & Edge
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot