URL shortener web application based on the Laravel PHP Framework.

Overview

UrlHub

MadeWithLaravel.com shield LaravelVersion PHPVersion GitHub license
Build Status StyleCI shield Coverage Status

Warning: UrlHub is still in development, constantly being optimized and isn't still stable enough to be used in production environments.

Whatever your idea, feel free to send a pull request 😃

UrlHub was created, and is maintained by Budi Hermawan, and is an open-source, easy-to-use but powerful URL shortener. It allows you to host your own URL shortener, and gives you many useful features.

Features

  • Reliable link shortner: Does the job really well and it is very consistent. UrlHub is definitely one of the most reliable self-hosted URL shortener out there. Would recommend easily.
  • Custom URLs (ex: example.com/laravel): Allows users to create more descriptive short URLs rather than a randomly generated mix of letters and numbers.
  • QR code generator for each short link: The fastest way to access to this data is most likely opening the link from a phone. Though short URLs are handy for typing, a more convenient approach to transfer a web link to a mobile phone is through QR codes scanning.
  • Edit or delete your links: You can change both the address and the destination URL. You can even delete your URL, a feature that is not available with most shorteners.
  • View where link goes: It's nice to see where the link goes before clicking on it so you can avoid sketchy links.
  • Link preview: If possible, UrlHub will automatically embedding the content when you shorten URLs. It's nice to preview the page.
  • IP anonymization (or IP masking) [optional]: Anonymizes visitor addresses as soon as technically feasible at the earliest possible stage of the collection network. The full IP address is never written to disk in this case. This feature is designed to help site owners comply with their own privacy policies, recommendations from local data protection authorities and legal regulations like the GDPR, which may prevent the storage of full IP address information.
  • Power of customisation: Do you want your site to be just for your use, so no one can register? No problem. It's in the configuration. Users must be registered to create Short URL? That's okay. It's in the configuration. From configuration file, you can edit pretty everything of your website. The choice is yours.
  • Configuration guard: No need to worry if you fill in the configuration values with the wrong data type or values that is not allowed, UrlHub will automatically correct it for you.
  • Sortable list of shortened URLs.
  • Datatables with server-side processing.
  • Written in PHP and Laravel 8.
  • Modern and simple interface.
  • Made with ❤️ & .

Screenshots

screenshot screenshot screenshot screenshot

Requirements

  • All requirements by Laravel & dependencies - PHP >= 8.0, Composer and such.
  • MySQL or MariaDB or PostgreSQL.

Quick Start

Installation Instructions

  1. Run composer install.

  2. Rename .env.example file to .env or run cp .env.example .env.

    Update .env to your specific needs. Don't forget to set DB_USERNAME and DB_PASSWORD with the settings used behind.

  3. Run php artisan key:generate.

  4. Run php artisan migrate --seed.

  5. Run php artisan serve.

    After installed, you can access http://localhost:8000 in your browser.

  6. Login

    Email Username Password Access
    [email protected] admin admin Admin Access
    [email protected] user user User Access

Compiling assets with Laravel Mix

Using Yarn

  1. yarn

  2. yarn dev or yarn prod

    You can watch assets with yarn watch

Using NPM

  1. npm install

  2. npm run dev or npm run prod

    You can watch assets with npm run watch

    Please note that this project uses Yarn as the package manager, so you can't find the package-lock.json file that is needed by NPM.

Contributing

The people who contribute to UrlHub do so for the love of open source, our users and ecosystem, and most importantly, pushing the web forward together. Developers like you can help by contributing to rich and vibrant documentation, issuing pull requests to help us cover niche use cases, and to help sustain what you love about UrlHub.

Anybody can help by doing any of the following:

  • Ask your employer to use UrlHub in projects.
  • Contribute to the core repository.

Running Tests

  • Command Line

    From the projects root folder run

    • php artisan test
    • or ./vendor/bin/phpunit
  • VSCode Tasks

    • Run tests
    • or Run tests (PHPUnit)

screenshot

Bug Report

If you've found a problem in UrlHub which is not a security risk, do a search on GitHub under Issues in case it has already been reported. If you are unable to find any open GitHub issues addressing the problem you found, your next step will be to open a new one.

Your issue should contain a title and a clear description of the issue. You should also include as much relevant information as possible and a code sample that demonstrates the issue.

The goal of a bug report is to make it easy for yourself - and others - to replicate the bug and develop a fix. Remember, bug reports are created in the hope that others with the same problem will be able to collaborate with you on solving it.

Do not expect that the bug report will automatically see any activity or that others will jump to fix it. Creating a bug report serves to help yourself and others start on the path of fixing the problem.

License

UrlHub is an open-source software licensed under the MIT license.

Comments
  • Bump @fortawesome/free-regular-svg-icons from 5.11.1 to 5.11.2

    Bump @fortawesome/free-regular-svg-icons from 5.11.1 to 5.11.2

    Bumps @fortawesome/free-regular-svg-icons from 5.11.1 to 5.11.2.

    Release notes

    Sourced from @fortawesome/free-regular-svg-icons's releases.

    Release 5.11.2

    Changed

    • Updated laravel brand icon

    Fixed

    • New scanner-image icon was using the same unicode value as scanner causing overlapped icons
    • The film-canister icon was incorrectly spelled film-cannister
    Changelog

    Sourced from @fortawesome/free-regular-svg-icons's changelog.

    5.11.2 - 2019-09-23

    Changed

    • Updated laravel brand icon

    Fixed

    • New scanner-image icon was using the same unicode value as scanner causing overlapped icons
    • The film-canister icon was incorrectly spelled film-cannister

    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies 
    opened by dependabot-preview[bot] 4
  • error when going to admin

    error when going to admin

    Argument 1 passed to App\Helpers\NumHlp::readable_int() must be of the type int, float given, called in C:\xampp\htdocs\blog\app\Helpers\Helpers.php on line 79 (View: C:\xampp\htdocs\blog\resources\views\backend\partials\stat.blade.php) (View: C:\xampp\htdocs\blog\resources\views\backend\partials\stat.blade.php)

    needs more info 
    opened by tonygreis 4
  • Error When Composer Install

    Error When Composer Install

    In Application.php line 965:

    The Mix manifest does not exist. See https://github.com/realodix/newt#compiling-assets-with-laravel-mix

    Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

    Its Showing me when i hit composer install command.

    opened by MaheKarim 3
  • Bump laravel/framework from 6.9.0 to 6.10.0

    Bump laravel/framework from 6.9.0 to 6.10.0

    Bumps laravel/framework from 6.9.0 to 6.10.0.

    Release notes

    Sourced from laravel/framework's releases.

    v6.10.0

    v6.10.0 (2020-01-07)

    Added

    • Added withoutMix() and withMix() test helpers (#30900)
    • Added validateWithBag() macro to Request (#30896)
    • Added PHPUnit 9 support (#30947)
    • Added exclude_if and exclude_unless validation rules (#30835, c0fdb56)
    • Added generated columns (virtual/stored) support for PostgreSQL (#30971)
    • Added mixin support to Eloquent builder (#30978, 28fa74e)
    • Make the Redis Connection Macroable (#31020)
    • Added PackageManifest::config() method (#31039, 9b73540)
    • Added redis.connection aliases in container (#31034)
    • Extracted CallsCommands feature from Illuminate\Console\Command (#31026, ef72716)
    • Allowed absolute file path for Storage::putFile() (#31040)

    Changed

    • Handled passing too many arguments to @slot (#30893, 878f159)
    • Make ThrottleRequestsException extend TooManyRequestsHttpException (#30943)
    • Used league/commonmark instead of erusev/parsedown for mail markdown (#30982)
    • Regenerate token on logout (b2af428)
    • Make RedisQueue::getConnection() public (#31016)
    • Delete dependency graham-campbell/testbench-core (#30989)
    • Resolve Faker\Generator out of the container if it is bound (#30992)

    Fixed

    • Fixed float database types in Blueprint (#30891)
    • Fixed code that depended on getenv() (#30924)
    • Prevented making actual pdo connections while reconnecting (#30998)
    • Fixed exclude_if \ exclude_unless validation rules for nested data (#31006)
    • Update dev-master branch aliases from 6.0-dev to 6.x-dev (d06cc79)
    • Utilize Symfony’s PSR Factory. Fixed #31017 (#31018, #31027)
    • Used model connection by default in the database validators (#31037)

    Optimization

    • Optimize Service Provider registration (#30960)
    • Optimize runningInConsole method (#30922)
    • Delay instantiation of translator and view factory (#31009)

    Deprecated

    • Deprecate PendingMail::sendNow() and remove unneeded check (#30999)

    Reverted

    Refactoring

    • Refactoring of BladeCompiler::compileString() method (08887f9)
    Changelog

    Sourced from laravel/framework's changelog.

    v6.10.0 (2020-01-07)

    Added

    • Added withoutMix() and withMix() test helpers (#30900)
    • Added validateWithBag() macro to Request (#30896)
    • Added PHPUnit 9 support (#30947)
    • Added exclude_if and exclude_unless validation rules (#30835, c0fdb56)
    • Added generated columns (virtual/stored) support for PostgreSQL (#30971)
    • Added mixin support to Eloquent builder (#30978, 28fa74e)
    • Make the Redis Connection Macroable (#31020)
    • Added PackageManifest::config() method (#31039, 9b73540)
    • Added redis.connection aliases in container (#31034)
    • Extracted CallsCommands feature from Illuminate\Console\Command (#31026, ef72716)
    • Allowed absolute file path for Storage::putFile() (#31040)

    Changed

    • Handled passing too many arguments to @slot (#30893, 878f159)
    • Make ThrottleRequestsException extend TooManyRequestsHttpException (#30943)
    • Used league/commonmark instead of erusev/parsedown for mail markdown (#30982)
    • Regenerate token on logout (b2af428)
    • Make RedisQueue::getConnection() public (#31016)
    • Delete dependency graham-campbell/testbench-core (#30989)
    • Resolve Faker\Generator out of the container if it is bound (#30992)

    Fixed

    • Fixed float database types in Blueprint (#30891)
    • Fixed code that depended on getenv() (#30924)
    • Prevented making actual pdo connections while reconnecting (#30998)
    • Fixed exclude_if \ exclude_unless validation rules for nested data (#31006)
    • Update dev-master branch aliases from 6.0-dev to 6.x-dev (d06cc79)
    • Utilize Symfony’s PSR Factory. Fixed #31017 (#31018, #31027)
    • Used model connection by default in the database validators (#31037)

    Optimization

    • Optimize Service Provider registration (#30960)
    • Optimize runningInConsole method (#30922)
    • Delay instantiation of translator and view factory (#31009)

    Deprecated

    • Deprecate PendingMail::sendNow() and remove unneeded check (#30999)

    Reverted

    Refactoring

    • Refactoring of BladeCompiler::compileString() method (08887f9)
    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies php 
    opened by dependabot-preview[bot] 2
  • Bump sass from 1.24.0 to 1.24.2

    Bump sass from 1.24.0 to 1.24.2

    Bumps sass from 1.24.0 to 1.24.2.

    Release notes

    Sourced from sass's releases.

    Dart Sass 1.24.2

    To install Dart Sass 1.24.2, download one of the packages above and add it to your PATH, or see the Sass website for full installation instructions.

    Changes

    • Fix a bug introduced in the previous release that prevented custom importers in Node.js from loading import-only files.

    See the full changelog for changes in earlier releases.

    Dart Sass 1.24.1

    To install Dart Sass 1.24.1, download one of the packages above and add it to your PATH, or see the Sass website for full installation instructions.

    Changes

    • Fix a bug where the wrong file could be loaded when the same URL is used by both a @use rule and an @import rule.

    See the full changelog for changes in earlier releases.

    Changelog

    Sourced from sass's changelog.

    1.24.2

    • Fix a bug introduced in the previous release that prevented custom importers in Node.js from loading import-only files.

    1.24.1

    • Fix a bug where the wrong file could be loaded when the same URL is used by both a @use rule and an @import rule.
    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies javascript 
    opened by dependabot-preview[bot] 2
  • Bump facade/ignition from 1.13.0 to 1.13.1

    Bump facade/ignition from 1.13.0 to 1.13.1

    Bumps facade/ignition from 1.13.0 to 1.13.1.

    Release notes

    Sourced from facade/ignition's releases.

    1.13.1

    • Remove external reference for icons (#134)
    Changelog

    Sourced from facade/ignition's changelog.

    1.13.1 - 2020-01-02

    • Remove external reference for icons (#134)
    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies php 
    opened by dependabot-preview[bot] 2
  • [Request] Add New Feature Edit Link for User

    [Request] Add New Feature Edit Link for User

    Related to this request https://github.com/realodix/urlhub/issues/106

    • User will be able to edit their own existing link
    • Anonymous won't be able edit existing link

    Screenshots


    image image image

    feature request 
    opened by eriestrisnadi 2
  • Bump phpunit/phpunit from 8.3.5 to 8.4.0

    Bump phpunit/phpunit from 8.3.5 to 8.4.0

    Bumps phpunit/phpunit from 8.3.5 to 8.4.0.

    Changelog

    Sourced from phpunit/phpunit's changelog.

    8.4.0 - 2019-10-04

    Added

    • Implemented #3120: Provide TestCase::createStub() method as alternative to TestCase::createMock()
    • Implemented #3775: Explicit API for expecting PHP errors, warnings, and notices

    Changed

    • The method expectExceptionMessageRegExp() is now deprecated. There is no behavioral change in this version of PHPUnit. Using this method will trigger a deprecation warning in PHPUnit 9 and in PHPUnit 10 it will be removed. Please use expectExceptionMessageMatches() instead.
    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies php 
    opened by dependabot-preview[bot] 2
  • Bump sass from 1.22.12 to 1.23.0

    Bump sass from 1.22.12 to 1.23.0

    Bumps sass from 1.22.12 to 1.23.0.

    Release notes

    Sourced from sass's releases.

    Dart Sass 1.23.0

    To install Dart Sass 1.23.0, download one of the packages above and add it to your PATH, or see the Sass website for full installation instructions.

    Changes

    • Launch the new Sass module system! This adds:

      • The @use rule, which loads Sass files as modules and makes their members available only in the current file, with automatic namespacing.

      • The @forward rule, which makes members of another Sass file available to stylesheets that @use the current file.

      • Built-in modules named sass:color, sass:list, sass:map, sass:math, sass:meta, sass:selector, and sass:string that provide access to all the built-in Sass functions you know and love, with automatic module namespaces.

      • The meta.load-css() mixin, which includes the CSS contents of a module loaded from a (potentially dynamic) URL.

      • The meta.module-variables() function, which provides access to the variables defined in a given module.

      • The meta.module-functions() function, which provides access to the functions defined in a given module.

      Check out the Sass blog for more information on the new module system. You can also use the new [Sass migrator][] to automatically migrate your stylesheets to the new module system!

      [Sass migrator]: https://sass-lang.com/documentation/cli/migrator

    See the full changelog for changes in earlier releases.

    Dart Sass 1.23.0-module.beta.1

    To install Dart Sass 1.23.0-module.beta.1, download one of the packages above and add it to your PATH, or see the Sass website for full installation instructions.

    Changes

    See the full changelog for changes in earlier releases.

    Changelog

    Sourced from sass's changelog.

    1.23.0

    • Launch the new Sass module system! This adds:

      • The @use rule, which loads Sass files as modules and makes their members available only in the current file, with automatic namespacing.

      • The @forward rule, which makes members of another Sass file available to stylesheets that @use the current file.

      • Built-in modules named sass:color, sass:list, sass:map, sass:math, sass:meta, sass:selector, and sass:string that provide access to all the built-in Sass functions you know and love, with automatic module namespaces.

      • The meta.load-css() mixin, which includes the CSS contents of a module loaded from a (potentially dynamic) URL.

      • The meta.module-variables() function, which provides access to the variables defined in a given module.

      • The meta.module-functions() function, which provides access to the functions defined in a given module.

      Check out the Sass blog for more information on the new module system. You can also use the new [Sass migrator][] to automatically migrate your stylesheets to the new module system!

      [Sass migrator]: https://sass-lang.com/documentation/cli/migrator

    Commits
    • b3cd44f Merge pull request #835 from sass/merge-use
    • 586a0eb Code review change
    • 5052350 Bump the pubspec and add a changelog entry for @​use
    • 97203f1 Merge branch 'feature.use'
    • fa3c657 Support multiple global uses in one file (#833)
    • 7d34406 Remove adjust-hue() from sass:color (#828)
    • 75305a1 Always use a non-null map for _EvaluateVisitor._configuration (#827)
    • 31acfd1 Add a compatibility note about Node.js versions (#834)
    • 7bfbba0 Merge pull request #830 from sass/merge-master
    • 93a3a6f Merge branch 'master' into feature.use
    • Additional commits viewable in compare view

    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies javascript 
    opened by dependabot-preview[bot] 2
  • Bump cross-env from 6.0.0 to 6.0.2

    Bump cross-env from 6.0.0 to 6.0.2

    Bumps cross-env from 6.0.0 to 6.0.2.

    Release notes

    Sourced from cross-env's releases.

    v6.0.2

    6.0.2 (2019-10-01)

    Bug Fixes

    • table of contents in README (a825e9c)

    v6.0.1

    6.0.1 (2019-10-01)

    Bug Fixes

    • update all packages, tests, and README (36bb6c3)
    Commits
    • a825e9c fix: table of contents in README
    • 36bb6c3 fix: update all packages, tests, and README
    • 67d9aa6 docs: add coderberry as a contributor (#213)
    • f6978f5 chore: Add CodeFund sponsorship message to README (#212)
    • See full diff in compare view

    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies javascript 
    opened by dependabot-preview[bot] 2
  • Bump datatables.net-dt from 1.10.19 to 1.10.20

    Bump datatables.net-dt from 1.10.19 to 1.10.20

    Bumps datatables.net-dt from 1.10.19 to 1.10.20.

    Commits
    • 2af080e Sync tag release - 1.10.20
    • 3c51c7b Release 1.10.20
    • 0baba05 Merge branch 'master' of github.com:DataTables/DataTablesSrc
    • 2ef581f Fix - performance: When changing column visibility via the API the header and...
    • 1367f64 Fix - docs: -init searchCols used legacy parameter names
    • adc2d58 DEV added support for SearchPanes when creating the example pages
    • b0142a4 Fix: Regex searches can't be cummulative since the regex can alter what has g...
    • aec8e16 Dev: Fix last / end paging buttons disab;e logic was inverted
    • 9286fe8 DEV additional unit tests for paging
    • 5006f40 Dev: Fix error in api structure building
    • Additional commits viewable in compare view

    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies javascript 
    opened by dependabot-preview[bot] 2
  • feat: Implement docker support

    feat: Implement docker support

    Support was implemented to build the project in a docker container to avoid problems with dependencies and make it compatible with multiple operating systems in the development environment.

    image

    image

    opened by Jorgelig 0
Releases(v1.0.0-alpha.7)
  • v1.0.0-alpha.7(Feb 24, 2022)

    • Laravel 9.
    • Require PHP 8 and drop support for PHP 7.x.
    • Drop bootstrap and coreui, then use Tailwindcss instead.
    • Drop yajra/laravel-datatables and use Livewire Table.
    • Remove breadcrumb from Admin panel.
    • Remove social share.
    • Remove content embed.
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-alpha.6(Nov 22, 2020)

    Added

    • Laravel 8 (#732)
    • Add turn on/off embed feature (ed991e6)
    • Install static analysis tool (53e0ece)

    Changed

    • Include the domain if the title doesn't contain the domain (ab047e05a316e215fcfe9b62e838f3ba3463b567)
    • Use tabuna/breadcrumbs as the default breadcrumbs (#714)
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-alpha.5(Aug 2, 2020)

    Added

    • Anonymize Visitor IP (#702)

    Fixed

    • Fix calculation of the number of short url keys (#703)
    • Fix url key remaining percentage (#708)

    Changed

    • Move business logic into the service class (#706, e608d1c)
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-alpha.4.1(Jul 9, 2020)

  • v1.0.0-alpha.4(Jul 7, 2020)

    Added

    • Added support to serve redirects with status 301 and Cache-Control (#691)
    • Validate the UrlHub custom config value (#698)

    Changed

    • Implement service pattern (#690)
    • Set responsive images on embedded content (7cb3c852b24d6160ef1e9eec2702c2513d8b2509)
    • Change hidehalo/nanoid-php to paragonie/RandomLib (#694, 08bae04)
    • Move eloquent model into Models directory (#696)

    Breaking Change

    • Database: Rename url_stats table to visits (#701)

    Run migration php artisan migrate

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-alpha.3(Jun 21, 2020)

    Added

    • Added uHub() method to app\Helpers\Global\GeneralHelper (d138968)
    • Added appName() helper - Helper to grab the application name (2743d22, revised on 679#diff-595bd03)
    • Test: Added more group annotations (47aa2d2)

    Changed

    • Improve method of calculating remaining keywords (#678, revised on 0f8252b, #681)
    • Rearrange the folder structure on the controller (#669)
    • Custom url ending may have (only) alpha-numeric characters, as well as underscores (3228041)
    • Load helpers with service provider instead of composer (b27cb81, #674)
    • Change MaxMind GeoLite2-Country to DB-IP IP to Country Lite (#677)
    • Test: Remove @covers and @coversDefaultClass annotation (#676)
    Source code(tar.gz)
    Source code(zip)
  • v0.2.0-alpha(Jun 9, 2020)

    • Add ability to hide statistics to guest (#653)
    • Add Artisan Test Runner to the VSCode Task (6d4563b2cad9f163e160324c343104464e62fb51)
    • Fix responsive UI in the statistics section on the dashboard page (d7b911eb18f57b0689b38d7e5e7fb33a5c27e8ae)
    • Fix typo in writing HTML code for table-responsive (0096c3c4bbed5f45c1aae0e577552d4af32531c5)
    • Move url_key remaining (%) to the model (#657)
    • Rename some custom validation rules (#659)
    • Rename redirection_type to redirect_code (4e55cd9516f4173ddf09a02cbbf0c6292af7f5c3, 263e88958f4478f701e7e516ed1d977296942de4)
    • Rename getTitle() function to get_remote_title() (2bcce17e469d128db847cdea80dd9f8a004a4a54)
    • Remove the second hash_length (#655)

    Breaking Change

    • DB: Rename url_key column on url table (#661)

    Run migration php artisan migrate

    Source code(tar.gz)
    Source code(zip)
Owner
Kei
Kei
A PHP-based self-hosted URL shortener that can be used to serve shortened URLs under your own custom domain.

A PHP-based self-hosted URL shortener that can be used to serve shortened URLs under your own custom domain. Table of Contents Full documentation Dock

null 1.7k Dec 29, 2022
URL - link shortener based on sqlite

link-url-shortener url - link shortener based on sqlite.

Okin On 1 Nov 12, 2021
A URL shortener with various other utilities, backed by a custom lightweight framework.

da.gd What is da.gd? da.gd is both a URL shortener and a collection of quick-info tools written in PHP. It allows you to use curl (or any http client)

da.gd 76 Jan 2, 2023
A fast and powerful URL Shortener built with Laravel, VueJS, and Tailwind CSS.

A fast and powerful URL Shortener built with Laravel, VueJS, and Tailwind CSS.

Devpri 53 Dec 25, 2022
Simpler Url Shortener for Laravel

Laravel Url Shortener Install composer require magarrent/laravel-url-shortener Run migrations: php artisan migrate Configuration If you want to config

Marc Garcia Torrent 51 Dec 17, 2022
A simple URL shortener for PHP

Shorty Shorty is a simple URL shortener for PHP. Installation 1. Download and extract the files to your web directory. 2. Use the included database.sq

Mike Cao 210 Dec 19, 2022
The modern, privacy-aware URL Shortener built in PHP.

About UrlHum UrlHum is a modern, privacy-aware and fast URL Shortener built with PHP and the Laravel Framework. At the moment UrlHum is heavily under

UrlHum 622 Jan 7, 2023
:aerial_tramway: A modern, powerful, and robust URL shortener

?? A modern, minimalist, and lightweight URL shortener. Polr is an intrepid, self-hostable open-source link shortening web application with a robust A

Chaoyi Zha 4.6k Jan 1, 2023
🔗 Your Own URL Shortener

Your Own URL Shortener YOURLS is a set of PHP scripts that will allow you to run Your Own URL Shortener, on your server. You'll have full control over

YOURLS 8.8k Jan 3, 2023
A simple but powerful URL shortener

UrlShorter 这是一个足够简洁的Url短网址生成器 This is a simple Url shorter. 兼容性 在PHP7.X 与 PHP 8.0 下测试通过 安装 step 1: git clone [email protected]:soxft/UrlShorter.git step

xcsoft 74 Dec 21, 2022
A modern, powerful, and robust URL shortener

?? A modern, minimalist, and lightweight URL shortener. Polr is an intrepid, self-hostable open-source link shortening web application with a robust A

Chaoyi Zha 4.6k Dec 30, 2022
Laravel based API to shorten URLs and share them easily. Redirects to the real URL by entering a short URL generated by the API

URL Shortener Requirements: PHP 7.4 or above composer node / npm Installation clone the project from the Github repository, enter the project folder,

Julio Vergara 5 Nov 20, 2021
Um encurtador de URL's gratuito e Open source. Torne suas URL's um tanto pequenas forma rápida e gratuita

Slim Framework 4 Skeleton Application Use this skeleton application to quickly setup and start working on a new Slim Framework 4 application. This app

Kilderson Sena 30 Jun 30, 2022
Checking an arbitrary URL for Micro-Framework HLEB

Checking an arbitrary URL for Micro-Framework HLEB The class RouteFinder is not included in the original configuration of the framework HLEB, so it mu

Foma Tuturov 1 Nov 4, 2021
Laravel URL Localization Manager - [ccTLD, sub-domain, sub-directory].

Laravel URL Localization - (ccTLD, sub-domain, sub-directory). with Simple & Easy Helpers. Afrikaans Akan shqip አማርኛ العربية հայերեն অসমীয়া azərbayca

Pharaonic 2 Aug 7, 2022
Purl is a simple Object Oriented URL manipulation library for PHP 7.2+

Purl Purl is a simple Object Oriented URL manipulation library for PHP 7.2+ Installation The suggested installation method is via composer: composer r

Jonathan H. Wage 908 Dec 21, 2022
Enables the possibility generating sanitized URL parts from persisted patterns.

#Persisted sanitized pattern mapping What does it do? Enables the possibility generating sanitized URL parts from persisted patterns. How does it work

Markus Hofmann 1 Apr 7, 2022
Public Suffix List based domain parsing implemented in PHP

PHP Domain Parser PHP Domain Parser is a resource based domain parser implemented in PHP. Motivation While there are plenty of excellent URL parsers a

Jeremy Kendall 1k Jan 1, 2023
A laravel package for generating Bitly short URLs.

Laravel Bitly Package A laravel package for generating Bitly short URLs. For more information see Bitly Requirements Laravel 5.1 or later Installation

Wessel Strengholt 72 Nov 8, 2022