OctoLinker — Links together, what belongs together

Overview

What is OctoLinker?

OctoLinker is a browser extension for GitHub, that turns language-specific statements like include require or import into links.

Install

Trusted by over 30,000 developers! Install OctoLinker from Chrome Web Store, Mozilla Add-ons Store, Mac App Store, Microsoft Store and Opera Add-ons Store.

Special thanks to

Sponsors

▲ Vercel Redis Green complex

I am truly grateful to all the wonderful humans and companies supporting the development of OctoLinker. Please consider donations through GitHub Sponsors or Open Collective – Thank you 🙇‍♂️

Privacy Policy

Our Privacy Policy describes our practices related to the use, storage and disclosure of information we collect when you're using our service.

Related

Disclaimer

OctoLinker is not affiliated with, sponsored by, or endorsed by GitHub Inc.

Copyright (c) 2014–present Stefan Buck and other contributors.

Comments
  • Rerun octolinker after progressive-container has loaded

    Rerun octolinker after progressive-container has loaded

    As I mentioned in #449, not all files are loaded within the document body. Github generates divs with the class .js-diff-progressive-container, that progressive container may load more content via fetch.

    The goal of this PR is to watch for changes in .js-diff-progressive-container and rerun octolinker init accordingly. Beware that a .js-diff-progressive-container, may contain other progressive containers inside, such as this commit:

    https://github.com/samuelkubai/skoolspace/commit/185017f5981fe6295cd8096dbf71f61896dd8a84

    Div #files contains two .js-diff-progressive-containers at DOM ready. After scrolling, another nested .js-diff-progressive-container is inserted when more content is downloaded.

    I can write a test if we decide to follow this route.

    Closes #449

    Checklist:

    • [x] If this PR is a new feature, please provide at least one example link
    • [ ] Make sure all of the significant new logic is covered by tests
    opened by leomoty 32
  • A script in the extension

    A script in the extension "OctoLinker" is causing Firefox to slow down

    I consistently get this message when visiting this large file:

    A script in the extension  OctoLinker  is causing Firefox to slow down

    https://github.com/Microsoft/TypeScript/blob/master/lib/lib.dom.d.ts

    Admittedly this is more of an edge case, given the length of the file, but freezing the browser for a few seconds is never good.

    Perhaps the operation can be done in the background and/or split up in multiple batches to avoid long blocking.

    bug 
    opened by fregante 30
  • Composer (php) support

    Composer (php) support

    Is there any chance Composer will be supported? I don't think it's very different then bower/npm files.

    Links are in a composer.json file, in require and require-dev section example: https://github.com/composer/composer/blob/master/composer.json

    Package information: https://packagist.org/packages/%s.json (eg. https://packagist.org/packages/composer/composer.json), which links to a repository (mostly Github)

    See https://getcomposer.org/doc/04-schema.md#package-links

    opened by barryvdh 20
  • Add Safari build

    Add Safari build

    Related to #29

    1. Generated with:

      	  xcrun safari-web-extension-converter dist/ --app-name 'OctoLinker' --bundle-identifier 'com.stefanbuck.OctoLinker'
      
    2. Copied some manual tweaks from Refined GitHub:

      • Original: https://github.com/sindresorhus/refined-github/pull/3677
      • Latest: https://github.com/sindresorhus/refined-github/commits/master/safari
    opened by fregante 16
  • Replace primer.css with webext-base-css

    Replace primer.css with webext-base-css

    Fixes https://github.com/OctoLinker/OctoLinker/issues/893 using webext-base-css and a little extra CSS.

    • [x] Restore error via inputField.setCustomValidity(error)

    ⬆️ I don't know how to tackle that, feel free to edit this PR.

    ff-white

    ff-black

    ch-white

    ch-black

    opened by fregante 15
  • Rerun Octo-Linker when blobs are expanded

    Rerun Octo-Linker when blobs are expanded

    This is a possible implementation for #453, we observe the DOM, if any new .blob-expanded nodes are added, then the extension is rerun.

    As far as testing goes, I will wait for feedback, I added a single test that clickes the specific .js-expand element and then tries to process a single line from it.

    Checklist:

    • [ ] If this PR is a new feature, please provide at least one example link
    • [x] Make sure all of the significant new logic is covered by tests
    opened by leomoty 15
  • Add Solidity plugin

    Add Solidity plugin

    Plugin Solidity

    Adds support for Solidity's import statement.

    See this solidity file as an example. You should be able to click "./IERC721.sol" within import "./IERC721.sol"; and see that file.

    Demo

    octolinker-solidity

    Todo

    • [ ] Update packages/blob-reader fixture to add Solidity support on issues highlighted code?
    • [ ] Publish @octolinker/plugin-solidity npm package
    • [x] Add export statement to the packages/core/load-plugins.js
    • [x] Add @octolinker/plugin-solidity to packages/core/package.json
    opened by lucaperret 14
  • WIP: Add shebang-based filetype detection

    WIP: Add shebang-based filetype detection

    This is a relatively quick and dirty fix for https://github.com/OctoLinker/browser-extension/issues/106

    There's still some work to be done (adding tests, adding more flexible shebang patterns, etc), but I wanted to get some feedback on the approach before putting more work into it. What do you think?

    Work in progress to-discuss 
    opened by josephfrazier 14
  • OctoLinker beta

    OctoLinker beta

    First, thank you for joining our beta.

    Below, you will find the highlights as well as the installation instructions for this beta build. If you come across any issues or if you have feedback to offer, please let us know. If everything is working great, that's also nice to hear.

    demo

    Highlights

    • Insert real href-links which the browser understands and applies the typical options you'd expect on. So you're able to e.g. right-click and open links in a new tab/window or middle-click the links, etc.
    • Prefetch all links in the background. This is actually the key which enables all those exciting improvements.
    • Use the GitHub API to fetch a tree structure of the repo to resolve relative links much faster and accurate than before.
    • Navigate to relative files without a full page refresh using pjax
    • Expanding the diff view invokes OctoLinker again to resolve missing imports

    Beta installation

    Note: The beta is currently only available for Google Chrome.

    1. Before installing the beta version, you need to disable or uninstall the current version of OctoLinker.
    2. Install the OctoLinker beta from Chrome Web Store.
    opened by stefanbuck 13
  • Unable to build extension

    Unable to build extension

    I'm working on a new PR and since my last one something's changed and I'm no longer able to build. Before I started on this change I deleted my local repo and recloned from GitHub so the recent line ending change worked.

    I can run yarn install, yarn lint and yarn test just fine, but yarn build, yarn watch, and yarn chrome-open all return errors.

    I'm on Win10 and tried with both the regular console and powershell but both gave the same results.

    I think https://github.com/OctoLinker/browser-extension/commit/e50f33972621e47af6e4f56afea6ac22128af3ea#diff-63ac5d48d83927921b7bcdb2b5a8d124 might be what broke this.

    C:\dev\GitHub\browser-extension [master ≡ +0 ~2 -0 !]> yarn chrome-open
    yarn run v1.3.2
    $ npm run build && npm run chrome-launch --
    
    > [email protected] build C:\dev\GitHub\browser-extension
    > webpack
    
    Hash: 7ce29e98274dd109223f
    Version: webpack 3.6.0
    Time: 2162ms
                Asset       Size  Chunks                    Chunk Names
               app.js     599 kB       0  [emitted]  [big]  app
           options.js     183 kB       1  [emitted]         options
        background.js    25.8 kB       2  [emitted]         background
           app.js.map     759 kB       0  [emitted]         app
       options.js.map     231 kB       1  [emitted]         options
    background.js.map    32.6 kB       2  [emitted]         background
        manifest.json  935 bytes          [emitted]
         options.html  134 bytes          [emitted]
             icon.png    13.9 kB          [emitted]
       [1] ./lib/options/storage.js 1.31 kB {0} {1} {2} [built]
      [20] ./package.json 2.56 kB {0} {2} [built]
      [34] ./lib/app.js 204 bytes {0} [built]
      [35] ./lib/octo-linker.js 1.42 kB {0} [built]
      [38] ./packages/blob-reader/index.js 307 bytes {0} [built]
      [40] ./lib/click-handler.js 3.08 kB {0} [built]
      [42] ./lib/plugin-manager.js 2.08 kB {0} [built]
      [46] ./lib/load-plugins.js 1.4 kB {0} [built]
      [89] ./lib/app.css 1 kB {0} [built]
      [91] ./lib/background/index.js 235 bytes {2} [built]
      [92] ./lib/background/newTab.js 305 bytes {2} [built]
      [93] ./lib/background/insight.js 1.76 kB {2} [built]
      [97] ./lib/options/page.js 2.69 kB {1} [built]
      [99] ./lib/options/options.css 1.03 kB {1} [built]
     [100] ./node_modules/css-loader!./lib/options/options.css 375 bytes {1} [built]
        + 93 hidden modules
    
    WARNING in ./lib/octo-linker.js
    16:36-47 "export 'default' (imported as 'loadPlugins') was not found in './load-plugins'
    
    > [email protected] chrome-launch C:\dev\GitHub\browser-extension
    > ./scripts/chrome-launch.js
    
    '.' is not recognized as an internal or external command,
    operable program or batch file.
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! [email protected] chrome-launch: `./scripts/chrome-launch.js`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the [email protected] chrome-launch script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     C:\Users\brian\AppData\Roaming\npm-cache\_logs\2017-12-27T22_52_12_720Z-debug.log
    error Command failed with exit code 1.
    info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
    
    opened by xt0rted 13
  • Opening the file page using Octotree doesn't trigger the extension

    Opening the file page using Octotree doesn't trigger the extension

    Browser name: Firefox/Chrome

    Browser version: 57.0/63.0.3239.84

    OctoLinker version: 4.15.1

    URL and line number where issue occurs:

    Expected behavior: Trigger the extension when opening the file page in screen.

    Actual behavior: It doesn't trigger the extension when opening the page using Octotree, it only works after reloading the page or entering by using github.com itself.

    Demo

    help wanted 
    opened by lucasbento 13
  • Bump actions/checkout from 3.1.0 to 3.2.0

    Bump actions/checkout from 3.1.0 to 3.2.0

    Bumps actions/checkout from 3.1.0 to 3.2.0.

    Release notes

    Sourced from actions/checkout's releases.

    v3.2.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/actions/checkout/compare/v3...v3.2.0

    Changelog

    Sourced from actions/checkout's changelog.

    Changelog

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump puppeteer from 16.2.0 to 19.4.1

    Bump puppeteer from 16.2.0 to 19.4.1

    Bumps puppeteer from 16.2.0 to 19.4.1.

    Release notes

    Sourced from puppeteer's releases.

    puppeteer-core: v19.4.1

    19.4.1 (2022-12-16)

    Bug Fixes

    • improve a11y snapshot handling if the tree is not correct (#9405) (02fe501), closes #9404
    • remove oopif expectations and fix oopif flakiness (#9375) (810e0cd)

    puppeteer: v19.4.1

    19.4.1 (2022-12-16)

    Miscellaneous Chores

    • puppeteer: Synchronize puppeteer versions

    Dependencies

    • The following workspace dependencies were updated
      • dependencies
        • puppeteer-core bumped from 19.4.0 to 19.4.1

    puppeteer-core: v19.4.0

    19.4.0 (2022-12-07)

    Features

    • ability to send headers via ws connection to browser in node.js environment (#9314) (937fffa), closes #7218
    • chromium: roll to Chromium 109.0.5412.0 (r1069273) (#9364) (1875da6), closes #9233
    • puppeteer-core: keydown supports commands (#9357) (b7ebc5d)

    Bug Fixes

    puppeteer: v19.4.0

    19.4.0 (2022-12-07)

    Features

    Dependencies

    ... (truncated)

    Commits
    • 848c849 chore: release main (#9395)
    • fe986c6 chore: trigger reindexing on doc deployment (#9425)
    • f0951aa docs: use a number of documented versions for indexing (#9424)
    • 68c53df chore(deps): Bump loader-utils from 2.0.2 to 2.0.4 in /website (#9423)
    • 69b03df chore(deps): Bump @​angular-devkit/schematics from 15.0.3 to 15.0.4 (#9420)
    • fa05a1c chore(deps): Bump @​angular-devkit/core from 15.0.3 to 15.0.4 (#9414)
    • 0f0e717 chore(deps): Bump @​angular-devkit/architect from 0.1402.10 to 0.1500.4 (#9415)
    • cd073ab chore(deps): Bump ws from 8.10.0 to 8.11.0 (#9412)
    • cd8eec3 chore(deps): Bump @​angular-devkit/schematics from 14.2.8 to 15.0.3 (#9413)
    • 28cedac chore: Revert Dependabot config (#9411)
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by google-wombot, a new releaser for puppeteer since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Edge Store version not up-to-date

    Edge Store version not up-to-date

    Expected Behavior

    https://microsoftedge.microsoft.com/addons/detail/octolinker/lbbanfffjfmfdahnfbklminikafhcjjb Update to the latest version

    What actually happened?

    It's outdated.

    URL

    No response

    Anything else we should know?

    No response

    bug 
    opened by chawyehsu 1
  • Bump jest from 27.5.1 to 29.3.1

    Bump jest from 27.5.1 to 29.3.1

    Bumps jest from 27.5.1 to 29.3.1.

    Release notes

    Sourced from jest's releases.

    v29.3.1

    Fixes

    • [jest-config] Do not warn about preset in ProjectConfig #13583

    Performance

    • [jest-transform] Defer creation of cache directory #13420

    v29.3.0

    Features

    • [jest-runtime] Support WebAssembly (Wasm) imports in ESM modules (#13505)

    Fixes

    • [jest-config] Add config validation for projects option (#13565)
    • [jest-mock] Treat cjs modules as objects so they can be mocked (#13513)
    • [jest-worker] Throw an error instead of hanging when jest workers terminate unexpectedly (#13566)

    Chore & Maintenance

    • [@jest/transform] Update convert-source-map (#13509)
    • [docs] Mention toStrictEqual in UsingMatchers docs. (#13560)

    New Contributors

    Full Changelog: https://github.com/facebook/jest/compare/v29.2.2...v29.3.0

    v29.2.2

    Fixes

    • [@jest/test-sequencer] Make sure sharding does not produce empty groups (#13476)
    • [jest-circus] Test marked as todo are shown as todo when inside a focussed describe (#13504)
    • [jest-mock] Ensure mock resolved and rejected values are promises from correct realm (#13503)
    • [jest-snapshot] Don't highlight passing asymmetric property matchers in snapshot diff (#13480)

    Chore & Maintenance

    • [docs] Update link to Jest 28 upgrade guide in error message (#13483)
    • [jest-runner, jest-watcher] Update emittery (#13490)

    New Contributors

    ... (truncated)

    Changelog

    Sourced from jest's changelog.

    29.3.1

    Fixes

    • [jest-config] Do not warn about preset in ProjectConfig #13583

    Performance

    • [jest-transform] Defer creation of cache directory #13420

    29.3.0

    Features

    • [jest-runtime] Support WebAssembly (Wasm) imports in ESM modules (#13505)

    Fixes

    • [jest-config] Add config validation for projects option (#13565)
    • [jest-mock] Treat cjs modules as objects so they can be mocked (#13513)
    • [jest-worker] Throw an error instead of hanging when jest workers terminate unexpectedly (#13566)

    Chore & Maintenance

    • [@jest/transform] Update convert-source-map (#13509)
    • [docs] Mention toStrictEqual in UsingMatchers docs. (#13560)

    29.2.2

    Fixes

    • [@jest/test-sequencer] Make sure sharding does not produce empty groups (#13476)
    • [jest-circus] Test marked as todo are shown as todo when inside a focussed describe (#13504)
    • [jest-mock] Ensure mock resolved and rejected values are promises from correct realm (#13503)
    • [jest-snapshot] Don't highlight passing asymmetric property matchers in snapshot diff (#13480)

    Chore & Maintenance

    • [docs] Update link to Jest 28 upgrade guide in error message (#13483)
    • [jest-runner, jest-watcher] Update emittery (#13490)

    29.2.1

    Features

    • [@jest/globals, jest-mock] Add jest.Spied* utility types (#13440)

    Fixes

    • [jest-environment-node] make globalThis.performance writable for Node 19 and fake timers (#13467)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Add support for linking to vscode extensions

    Add support for linking to vscode extensions

    While setting up a project recently I found myself having to link to the extensions I was adding in the PR so it was easier to review and figured it might be nice if we linked to them too.

    From what I've found there's no easy API we can query to try to get the repo link for these which is kind of annoying. Here's all I was able to find on it https://github.com/microsoft/vsmarketplace/issues/238.

    Some example files I used while adding this in:

    • https://github.com/actions/go-dependency-submission/blob/main/.devcontainer/devcontainer.json
    • https://github.com/actions/runner/blob/main/.devcontainer/devcontainer.json
    • https://github.com/microsoft/TypeScript/blob/main/.vscode/extensions.json

    Checklist:

    • [x] If this PR is a new feature, please provide at least one example link
    • [x] Make sure all of the significant new logic is covered by tests
    opened by xt0rted 1
  • Support action workflow run view

    Support action workflow run view

    Add support for linking action workflows in the new actions UI. This is more of a proof of concept, but figured I'd PR it for feedback. Unfortunately there's no other classes or attributes I can see that would let us get this link like we do on the source pages.

    Example: https://github.com/OctoLinker/OctoLinker/actions/runs/3457001003/workflow

    Checklist:

    • [ ] If this PR is a new feature, please provide at least one example link
    • [ ] Make sure all of the significant new logic is covered by tests
    opened by xt0rted 0
  • Releases(v6.10.5)
    • v6.10.5(Nov 13, 2022)

    • v6.10.4(Jul 14, 2022)

    • v6.10.3(Apr 7, 2022)

      What's Changed

      • Force .sh files to have LF line endings by @xt0rted in https://github.com/OctoLinker/OctoLinker/pull/1454
      • Support built-in packages with node: prefix by @xt0rted in https://github.com/OctoLinker/OctoLinker/pull/1467
      • Remove unused code by @xt0rted in https://github.com/OctoLinker/OctoLinker/pull/1476
      • Add support for action workflow templates by @xt0rted in https://github.com/OctoLinker/OctoLinker/pull/1475
      • Add support for any docker registry by @stefanbuck in https://github.com/OctoLinker/OctoLinker/pull/1458
      • Remove unnecessary awaits and convert to es module by @xt0rted in https://github.com/OctoLinker/OctoLinker/pull/1486
      • Link github actions to their pinned version by @xt0rted in https://github.com/OctoLinker/OctoLinker/pull/1495
      • Improve Safari app icons by @fregante in https://github.com/OctoLinker/OctoLinker/pull/1521
      • Add concurrency settings by @xt0rted in https://github.com/OctoLinker/OctoLinker/pull/1537
      • Update resolve url by @xt0rted in https://github.com/OctoLinker/OctoLinker/pull/1536
      • Remove update notification by @stefanbuck in https://github.com/OctoLinker/OctoLinker/pull/1538
      • New release flow by @stefanbuck in https://github.com/OctoLinker/OctoLinker/pull/1540

      Full Changelog: https://github.com/OctoLinker/OctoLinker/compare/v6.10.2...v6.10.3

      Source code(tar.gz)
      Source code(zip)
      octolinker-6.10.3.tar.gz(182.80 KB)
    • v6.10.2(Jan 22, 2022)

    • v6.10.1(Jan 7, 2022)

    • v6.10.0(Dec 4, 2021)

    • v6.9.0(Nov 1, 2021)

    • v6.8.1(Jan 2, 2021)

    • v6.8.0(Dec 29, 2020)

      Try out pre-release features with feature preview

      You can now opt in and out of pre-release features such as "Better PHP support". from the extensions settings page.

      Better PHP support (feature preview)

      This is our first feature preview that enables linking of the use statements for the following projects:

      • Symfony
      • Laravel
      • Doctrine
      • CakePHP
      • PHPUnit

      Usage statistics on settings page

      Since #917 we track the usage of OctoLinker by increasing a counter whenever a user follows a link. All statistics data are stored in the users browser (local) using the Storage API. This PR makes this statistics accessible by adding a new section to the settings page.


      As always, if you come across any issues or if you have feedback to offer, please let us know. If everything is working great, that's also nice to hear – @OctoLinker

      Source code(tar.gz)
      Source code(zip)
    • v6.7.0(Nov 16, 2020)

      Feature

      • Add support for rlang #1084 by @edavidaja
      • Add support for clitools in paket (.Net) #1065 by @xt0rted

      Fix

      • Prevent chrome from crashing #1122 by @stefanbuck
      • Adjust toast position for Octotree #1123 by @stefanbuck

      Housekeeping

      • Refactor code to use relativeFile function #1052 by @vinmaster
      • Update package name jsonpath-plus #1072 by @xt0rted
      • Remove unused codecov dependency #1071 by @xt0rted
      • Use main branch in dev urls #1068 by @xt0rted
      • Update repo url for env_logger #1096 by @xt0rted
      • Add resolve checks to codeowners tests #1069 by @xt0rted
      • Count total OctoLinker links while running e2e tests #1097 by @stefanbuck
      • The return value from a resolve needs to be an array #1067 by @stefanbuck

      Like what we do?

      Unlike many other browser extensions, OctoLinker is maintained and constantly updated since 2013. Please consider supporting our ongoing efforts. Thank you.

      • @xt0rted Core contributor
      • @stefanbuck Creator of OctoLinker

      Source code(tar.gz)
      Source code(zip)
    • v6.6.0(Oct 7, 2020)

      If this release deserves a name, I would call it Brian aka @xt0rted. Brian's contributions are remarkable and I'm so grateful for his contributions and help. Thank you Brian!

      PHP

      Until now, support for PHP was limited to composer files. We want to change this! This release adds support for classes and functions that will link to their respective php.net page.

      use ArrayAccess; // => https://www.php.net/manual/en/class.arrayaccess.php
      use function preg_last_error; // => https://www.php.net/manual/en/function.preg-last-error.php
      

      Added in #1033 by @stefanbuck

      Paket

      Paket is a dependency manager for .NET projects. OctoLinker links dependencies defined in paket.dependencies, paket.local or paket.references file like we do for package.json files.

      nuget Chessie >= 0.6  // => https://www.nuget.org/packages/Chessie
      github fsharp/FAKE modules/Octokit/Octokit.fsx // => https://github.com/fsharp/FAKE/blob/master/modules/Octokit/Octokit.fsx
      

      Added in #1064 by @xt0rted

      Other improvements

      • Ruby require_relative fixes #1014 by @MatthewDG
      • Add support for url() values in css #905 by @xt0rted
      • Add support for docker hub actions #1024 by @xt0rted
      • Support extensionless less imports #1034 by @xt0rted
      • Exclude urls from css imports #1036 by @xt0rted

      Housekeeping

      • Rename dotnet packages for consistency #1051 by @vinmaster
      • Update all repo urls to use main #1053 by @xt0rted
      • Creating annotations for failed e2e tests #1063 by @xt0rted
      • Add e2e test NOT annotation #1046 by @stefanbuck
      • Ensure release note is updated #1050 by @stefanbuck

      Like what we do?

      Unlike many other browser extensions, OctoLinker is maintained and constantly updated since 2013. Please consider supporting our ongoing efforts. Thank you.

      • @xt0rted Core contributor
      • @stefanbuck Creator of OctoLinker

      Source code(tar.gz)
      Source code(zip)
    • v6.5.0(Aug 19, 2020)

      This release contains two improvements.

      @xt0rted added better GitHub Actions support which adds links for local Actions in the current repo, as well as actions that have sub actions which are located in a sub folder for the given action #943

      @stefanbuck worked on better OctoLinker notifications which is addressing #918 along with other improvements to make the notification less intrusive #975. Notifications will now appear in the bottom left corner in a new look and feel. Also dismissed, notification will be hidden for a period of time, if you're visiting a private repo without GitHub token or the token is invalid.

      Unlike many other browser extensions, OctoLinker is maintained and constantly updated since 2013. Please consider supporting our ongoing efforts. Thank you.


      All changes v6.4.0...v6.5.0

      Source code(tar.gz)
      Source code(zip)
    • v6.4.0(Apr 30, 2020)

      Svelte support + settings page with dark mode

      Features

      • Add support for .svelte files #898 by @xt0rted
      • Add dark color scheme support in the options #895 by @fregante
      • Track personal usage of OctoLinker #917 @stefanbuck

      Housekeeping

      • Drop CI env variable from GHA Workflow #896 by @fregante

      All changes v6.3.0...v6.4.0

      Like what we do? ❤️❤️❤️

      Does OctoLinker make your life easier? Support us with a monthly donation.

      Source code(tar.gz)
      Source code(zip)
    • v6.3.1(Apr 17, 2020)

    • v6.3.0(Apr 12, 2020)

      Hovercard, Go Modules and new permission

      New permission

      As you might have been noticed, OctoLinker requires a new permission to access https://github.com. We explain in detail why this change was needed.

      Highlight

      We're thrilled to share this exciting new feature of OctoLinker with you. A hovercard that give you a sense of the linked GitHub repository. It holds the repository description, number of stars and forks, last update date and the primary language. Looks familiar, doesn't it? We borrowed this feature from GitHub.com. Check out #869 for implementation details.

      Other improvements

      • Support for Go Modules #879 by @StarpTech
      • Support spaces in .net file paths #836

      Housekeeping

      • Use some shortcuts in the versioning script #866 by @fregante
      • Bump prettier from 1.19.1 to 2.0.4 #873

      All changes v6.2.2...v6.3.0

      Source code(tar.gz)
      Source code(zip)
    • v6.2.2(Apr 6, 2020)

    • v6.2.1(Apr 1, 2020)

    • v6.2.0(Mar 31, 2020)

      Cargo.toml support and other minor improvements

      Features

      • Add support for cargo.toml files #858 Thanks @xt0rted

      Minor improvements

      • Persist update notification on reload #839
      • Add hint to disable OctoLinker for private repos #838

      Bugfixes

      • Do not pare suggested code changes block #837

      Housekeeping

      • Use relative resolver for nodejs plugin #840
      • Various dependencies upgrades see all changes

      All changes v6.1.0...v6.2.0

      Source code(tar.gz)
      Source code(zip)
    • v6.1.0(Mar 7, 2020)

      Bug fixes and much better .net support

      Features

      • Add support for .net references #808
      • Add support for .net global tool configs #807
      • Add support for .net project & file references #789

      Bugfixes

      • Fix linking of PR reviews comment #829
      • Fix linking for duplicates in PR view #811

      Housekeeping

      • Bump actions/checkout from v1 to v2 #810
      • Disable no-console warnings #809
      • Add tests for plugin-dot-net-project #806

      All changes v6.0.0...v6.1.0

      Source code(tar.gz)
      Source code(zip)
    • v6.0.0(Jan 28, 2020)

      Faster, better and more precisely than ever before

      I'm extremely excited about today's release, but before we jump into the release notes for version 6 I want to welcome @xt0rted to the team. He has contributed several improvements ranging from bug fixes to adding .NET support and many other improvements. Welcome Brian 👋

      What's new in v6

      Originally this release was all about performance, but unintentionally it fixed other issues as well.

      Back in June last year, @fregante opened an issue with the title "A script in the extension "OctoLinker" is causing Firefox to slow down". Until then, I wasn't aware OctoLinker was slow in Firefox.

      OctoLinker uses a library called findAndReplaceDOMText which allows us to apply regular expression against the DOM and wraps each match with a link (now you know our secret sauce). Traversing the DOM for larger files took some time (especially on Firefox). In some circumstances, this even caused Firefox to freeze. This was caused by too many DOM lookups when applying the same regular expression over and over again to find keywords in the DOM.

      DOM parsing in OctoLinker v5

      DOM parsing in OctoLinker v5

      DOM lookups are expensive and the root cause of this performance problem. Our solution to this is a new step before traversing the DOM. All regular expressions are performed against a string representation first followed by a very targeted DOM query to take online lines into account with a match. This speeds it up significantly.

      DOM parsing in OctoLinker v6

      DOM parsing in OctoLinker v6

      This reduced the processing time by ~80% on large files and by ~30% for medium size files. In addition, we cap files to the first 5.000 lines to support enormous files with tens of thousand lines.

      Other improvements

      • OctoLinker now support for CODEOWNERS file #786
      • Link dependencies in a package.json file with a version value of "latest" #791
      • Expand .NET and nuget support #785 #787
      • Link dependencies in a package.json file with a version value of gihtub:user/repo #794
      • Link dependencies in a package.json file with a git url set as version value #793
      • Improve UX when adding token through settings dialog #783

      Bugfix

      • Fix OctoLinker mascot position in notification bar #782
      • Inconsistent linking when value appears on both sides of an assignment #618
      • Package name in a js template literal disappears #590
      • Commit comment elements are being parsed as dependencies and turned into links #454

      Closing Thoughts

      I am truly grateful to all the wonderful humans and companies supporting the development of OctoLinker. If you find OctoLinker useful, please consider donations through GitHub Sponsors or Open Collective – Thank you 🙇‍♂️

      Source code(tar.gz)
      Source code(zip)
    • v5.2.6(Jan 15, 2020)

    • v5.2.4(Dec 30, 2019)

    • v5.2.3(Dec 20, 2019)

    • 5.2.1(Nov 10, 2019)

    • 5.2.0(Nov 10, 2019)

    • 5.1.6(Oct 31, 2019)

    • v5.1.5(Oct 21, 2019)

    • 5.1.4(Oct 16, 2019)

    • v5.1.2(Sep 17, 2019)

    Owner
    OctoLinker
    Links together, what belongs together
    OctoLinker
    Takin is an Java-based, open-source system designed to measure online or test environmental performance test for full-links, Especially for microservices

    Takin is an Java-based, open-source system designed to measure online environmental performance test for full-links, Especially for microservices. Through Takin, middlewares and applications can identify real online traffic and test traffic, ensure that they enter the right databases.

    ShulieTech 1.2k Dec 21, 2022
    A platform that links service providers with clients using Angular & Springboot

    Bricoly : Engineer Your Life The Way It Should Be... ?? Description This project's aims to connect people who are able to grant services with clients

    Yasser Douslimi 9 May 28, 2022
    Evgeniy Khyst 54 Dec 28, 2022
    Fancy typing live together

    _______ _____ ___ _____ __ __ ___ _____ _ _ ___ ___ |_ _\ `v' / _,\ __|_ _/__\ / _] __|_ _| || | __| _ \ | | `. .'| v_/ _| | || \/ |

    null 5 Oct 18, 2021
    CIRCUS - a Java and Spring Boot application for creating rooms with the purpose of watching YouTube videos together, similar to Watch2Gether

    CIRCUS Video rooms application built using Apache Kafka, Java, Spring Boot, Spring Security and PostgreSQL About CIRCUS is a Java and Spring Boot appl

    Castanho Correia 1 Jun 5, 2022