aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.dockerignore37
-rw-r--r--.editorconfig18
-rw-r--r--.env.example28
-rw-r--r--.gitattributes16
-rw-r--r--.github/CODEOWNERS1
-rw-r--r--.gitignore55
-rw-r--r--.ruby-version1
-rw-r--r--.run/Development Server (External).run.xml5
-rw-r--r--.run/Development Server.run.xml5
-rw-r--r--Dockerfile67
-rw-r--r--Gemfile61
-rw-r--r--Gemfile.lock267
-rw-r--r--README.md25
-rw-r--r--Rakefile6
-rw-r--r--app/Console/Kernel.php27
-rw-r--r--app/Exceptions/Handler.php32
-rw-r--r--app/Http/Controllers/BookmarksController.php15
-rw-r--r--app/Http/Controllers/CalculatorsController.php13
-rw-r--r--app/Http/Controllers/ComputersController.php13
-rw-r--r--app/Http/Controllers/Controller.php12
-rw-r--r--app/Http/Controllers/GuestbookController.php47
-rw-r--r--app/Http/Controllers/HomeController.php33
-rw-r--r--app/Http/Controllers/MusicController.php69
-rw-r--r--app/Http/Kernel.php72
-rw-r--r--app/Http/Middleware/Authenticate.php17
-rw-r--r--app/Http/Middleware/EncryptCookies.php17
-rw-r--r--app/Http/Middleware/PreventRequestsDuringMaintenance.php15
-rw-r--r--app/Http/Middleware/RateLimiter.php35
-rw-r--r--app/Http/Middleware/RedirectIfAuthenticated.php30
-rw-r--r--app/Http/Middleware/TrimStrings.php19
-rw-r--r--app/Http/Middleware/TrustHosts.php20
-rw-r--r--app/Http/Middleware/TrustProxies.php29
-rw-r--r--app/Http/Middleware/ValidateSignature.php22
-rw-r--r--app/Http/Middleware/VerifyCsrfToken.php15
-rw-r--r--app/Models/BookmarkCategory.php36
-rw-r--r--app/Models/BookmarkSite.php35
-rw-r--r--app/Models/GuestbookEntry.php50
-rw-r--r--app/Providers/AppServiceProvider.php21
-rw-r--r--app/Providers/AuthServiceProvider.php25
-rw-r--r--app/Providers/BroadcastServiceProvider.php19
-rw-r--r--app/Providers/EventServiceProvider.php38
-rw-r--r--app/Providers/RouteServiceProvider.php40
-rw-r--r--app/View/Components/CurrentTrack.php27
-rw-r--r--app/View/Components/DiscordStatus.php66
-rw-r--r--app/View/Components/Layout.php26
-rw-r--r--app/View/Components/Navbar.php27
-rw-r--r--app/View/Components/NeverSaid.php34
-rw-r--r--app/View/Components/TohQuote.php35
-rw-r--r--app/View/Components/TopTracks.php27
-rw-r--r--app/View/Components/Track.php29
-rw-r--r--app/View/Components/Weather.php44
-rw-r--r--app/assets/config/manifest.js4
-rw-r--r--app/assets/images/.keep (renamed from resources/views/components/minimal.blade.php)0
-rw-r--r--app/assets/stylesheets/application.css15
-rw-r--r--app/controllers/application_controller.rb2
-rw-r--r--app/controllers/concerns/.keep0
-rw-r--r--app/helpers/application_helper.rb2
-rw-r--r--app/javascript/application.js3
-rw-r--r--app/javascript/controllers/application.js9
-rw-r--r--app/javascript/controllers/hello_controller.js7
-rw-r--r--app/javascript/controllers/index.js11
-rw-r--r--app/models/application_record.rb3
-rw-r--r--app/models/concerns/.keep0
-rw-r--r--app/views/layouts/application.html.erb16
-rwxr-xr-xartisan53
-rwxr-xr-xauth0bin48638418 -> 0 bytes
-rw-r--r--bin/bundle109
-rw-r--r--bin/bundle.cmd112
-rw-r--r--bin/docker-entrypoint8
-rw-r--r--bin/importmap4
-rw-r--r--bin/rails4
-rw-r--r--bin/rake4
-rw-r--r--bin/setup33
-rw-r--r--bootstrap/app.php55
-rw-r--r--bootstrap/cache/.gitignore2
-rw-r--r--composer.json71
-rw-r--r--composer.lock9098
-rw-r--r--config.ru6
-rw-r--r--config/app.php34
-rw-r--r--config/application.rb39
-rw-r--r--config/auth.php115
-rw-r--r--config/bookmarks.php117
-rw-r--r--config/boot.rb4
-rw-r--r--config/broadcasting.php44
-rw-r--r--config/cache.php111
-rw-r--r--config/cors.php34
-rw-r--r--config/credentials.yml.enc1
-rw-r--r--config/database.php31
-rw-r--r--config/database.yml25
-rw-r--r--config/domain.php27
-rw-r--r--config/environment.rb5
-rw-r--r--config/environments/development.rb62
-rw-r--r--config/environments/production.rb79
-rw-r--r--config/environments/test.rb54
-rw-r--r--config/filesystems.php76
-rw-r--r--config/hashing.php17
-rw-r--r--config/importmap.rb7
-rw-r--r--config/initializers/assets.rb12
-rw-r--r--config/initializers/content_security_policy.rb25
-rw-r--r--config/initializers/filter_parameter_logging.rb8
-rw-r--r--config/initializers/inflections.rb16
-rw-r--r--config/initializers/permissions_policy.rb13
-rw-r--r--config/locales/en.yml31
-rw-r--r--config/logging.php93
-rw-r--r--config/mail.php125
-rw-r--r--config/projects.php71
-rw-r--r--config/puma.rb35
-rw-r--r--config/queue.php109
-rw-r--r--config/quotes.php957
-rw-r--r--config/routes.rb10
-rw-r--r--config/sentry.php108
-rw-r--r--config/services.php25
-rw-r--r--config/session.php201
-rw-r--r--config/view.php36
-rw-r--r--database/.gitignore1
-rw-r--r--database/factories/BookmarkCategoryFactory.php23
-rw-r--r--database/factories/BookmarkSiteFactory.php27
-rw-r--r--database/migrations/2024_02_13_230402_create_bookmark__categories_table.php29
-rw-r--r--database/migrations/2024_02_13_230457_create_bookmark__sites_table.php35
-rw-r--r--database/migrations/2024_02_25_151527_create_guestbook__entries_table.php32
-rw-r--r--database/seeders/BookmarkCategoriesTableSeeder.php30
-rw-r--r--db/seeds.rb9
-rw-r--r--lib/assets/.keep0
-rw-r--r--lib/tasks/.keep0
-rw-r--r--log/.keep0
-rw-r--r--package-lock.json776
-rw-r--r--package.json16
-rw-r--r--phpunit.xml31
-rw-r--r--public/.htaccess21
-rw-r--r--public/404.html67
-rw-r--r--public/422.html67
-rw-r--r--public/500.html66
-rw-r--r--public/apple-touch-icon-precomposed.png0
-rw-r--r--public/apple-touch-icon.png0
-rw-r--r--public/css/colorschemes/c64.css13
-rw-r--r--public/css/colorschemes/catppuccin-frappe.css95
-rw-r--r--public/css/colorschemes/catppuccin-latte.css95
-rw-r--r--public/css/colorschemes/catppuccin-macchiato.css95
-rw-r--r--public/css/colorschemes/catppuccin-mocha.css95
-rw-r--r--public/css/colorschemes/gruvbox-dark.css13
-rw-r--r--public/css/colorschemes/gruvbox-material.css13
-rw-r--r--public/css/colorschemes/gruvbox.css13
-rw-r--r--public/css/colorschemes/maia.css13
-rw-r--r--public/css/colorschemes/man-page.css13
-rw-r--r--public/css/colorschemes/mono-amber.css17
-rw-r--r--public/css/colorschemes/mono-cyan.css17
-rw-r--r--public/css/colorschemes/mono-green.css17
-rw-r--r--public/css/colorschemes/mono-red.css17
-rw-r--r--public/css/colorschemes/mono-white.css17
-rw-r--r--public/css/colorschemes/mono-yellow.css17
-rw-r--r--public/css/colorschemes/papercolor-dark.css13
-rw-r--r--public/css/colorschemes/papercolor-light.css13
-rw-r--r--public/css/colorschemes/rose-pine-dawn.css13
-rw-r--r--public/css/colorschemes/rose-pine-moon.css13
-rw-r--r--public/css/colorschemes/rose-pine.css13
-rw-r--r--public/css/colorschemes/shel.css13
-rw-r--r--public/css/colorschemes/slate.css13
-rw-r--r--public/css/colorschemes/solarized-dark.css13
-rw-r--r--public/css/colorschemes/solarized-light.css13
-rw-r--r--public/css/colorschemes/terminal-basic.css13
-rw-r--r--public/css/dirlist.css40
-rw-r--r--public/css/master.css336
-rw-r--r--public/css/minimal.css12
-rw-r--r--public/favicon-128x128.pngbin777 -> 0 bytes
-rw-r--r--public/favicon-16x16.pngbin536 -> 0 bytes
-rw-r--r--public/favicon-32x32.pngbin591 -> 0 bytes
-rw-r--r--public/favicon.icobin5430 -> 0 bytes
-rw-r--r--public/fonts/BigBlue_TerminalPlus.woffbin21912 -> 0 bytes
-rw-r--r--public/fonts/BigBlue_TerminalPlus.woff2bin14420 -> 0 bytes
-rw-r--r--public/fonts/Pixel_NES.eotbin19594 -> 0 bytes
-rw-r--r--public/fonts/Pixel_NES.ttfbin19352 -> 0 bytes
-rw-r--r--public/fonts/Pixel_NES.woffbin6676 -> 0 bytes
-rw-r--r--public/fonts/Web437_NEC_APC3_8x16.woffbin10988 -> 0 bytes
-rw-r--r--public/fonts/Web437_Nix8810_M16.woffbin10148 -> 0 bytes
-rw-r--r--public/images/buttons/browser.gifbin2548 -> 0 bytes
-rw-r--r--public/images/buttons/debian.gifbin3756 -> 0 bytes
-rw-r--r--public/images/buttons/evaluatedWAVE.pngbin1483 -> 0 bytes
-rw-r--r--public/images/buttons/html_learn_it_today.gifbin1507 -> 0 bytes
-rw-r--r--public/images/buttons/linuxnow.gifbin2307 -> 0 bytes
-rw-r--r--public/images/buttons/nukeieani.gifbin3767 -> 0 bytes
-rw-r--r--public/images/buttons/valid-html401-blue.pngbin1669 -> 0 bytes
-rw-r--r--public/images/buttons/vcss-blue.gifbin1341 -> 0 bytes
-rw-r--r--public/images/buttons/vim.gifbin899 -> 0 bytes
-rw-r--r--public/images/buttons/wiby.gifbin2150 -> 0 bytes
-rw-r--r--public/images/calculators/casio-fx-120/1s.jpegbin136111 -> 0 bytes
-rw-r--r--public/images/calculators/casio-fx-120/2s.jpegbin135292 -> 0 bytes
-rw-r--r--public/images/calculators/casio-fx-120/3s.jpegbin145421 -> 0 bytes
-rw-r--r--public/images/calculators/casio-fx-120/4s.jpegbin118563 -> 0 bytes
-rw-r--r--public/images/calculators/casio-fx-82/1s.jpegbin148732 -> 0 bytes
-rw-r--r--public/images/calculators/casio-fx-82/2s.jpegbin137385 -> 0 bytes
-rw-r--r--public/images/calculators/casio-fx-82/3s.jpegbin158176 -> 0 bytes
-rw-r--r--public/images/calculators/casio-fx-82/4s.jpegbin164171 -> 0 bytes
-rw-r--r--public/images/calculators/casio-fx-cg50/1s.jpegbin154943 -> 0 bytes
-rw-r--r--public/images/calculators/casio-fx-cg50/2s.jpegbin129547 -> 0 bytes
-rw-r--r--public/images/calculators/casio-fx-cg50/3s.jpegbin163377 -> 0 bytes
-rw-r--r--public/images/calculators/casio-fx-cg50/4s.jpegbin160223 -> 0 bytes
-rw-r--r--public/images/calculators/texet-880/1s.jpegbin144153 -> 0 bytes
-rw-r--r--public/images/calculators/texet-880/2s.jpegbin144978 -> 0 bytes
-rw-r--r--public/images/calculators/texet-880/3s.jpegbin156523 -> 0 bytes
-rw-r--r--public/images/calculators/texet-880/4s.jpegbin162598 -> 0 bytes
-rw-r--r--public/images/calculators/ti-30/1s.jpegbin162098 -> 0 bytes
-rw-r--r--public/images/calculators/ti-30/2s.jpegbin136725 -> 0 bytes
-rw-r--r--public/images/calculators/ti-30/3s.jpegbin159677 -> 0 bytes
-rw-r--r--public/images/calculators/ti-30/4s.jpegbin173053 -> 0 bytes
-rw-r--r--public/images/computers/icons/display.pngbin572 -> 0 bytes
-rw-r--r--public/images/computers/icons/expansion1.pngbin463 -> 0 bytes
-rw-r--r--public/images/computers/icons/expansion2.pngbin471 -> 0 bytes
-rw-r--r--public/images/computers/icons/floppy35.pngbin549 -> 0 bytes
-rw-r--r--public/images/computers/icons/floppy525.pngbin561 -> 0 bytes
-rw-r--r--public/images/computers/icons/hdd.pngbin440 -> 0 bytes
-rw-r--r--public/images/computers/icons/mem1.pngbin468 -> 0 bytes
-rw-r--r--public/images/computers/icons/mem2.pngbin380 -> 0 bytes
-rw-r--r--public/images/computers/icons/msdos.pngbin606 -> 0 bytes
-rw-r--r--public/images/computers/icons/network.pngbin667 -> 0 bytes
-rw-r--r--public/images/computers/icons/printer.pngbin644 -> 0 bytes
-rw-r--r--public/images/computers/icons/proc.pngbin575 -> 0 bytes
-rw-r--r--public/images/computers/icons/scsi.pngbin427 -> 0 bytes
-rw-r--r--public/images/computers/icons/win311.pngbin458 -> 0 bytes
-rw-r--r--public/images/computers/icons/windows9x.pngbin543 -> 0 bytes
-rwxr-xr-xpublic/images/icons/fav/ico/calc.icobin63113 -> 0 bytes
-rw-r--r--public/images/icons/fav/ico/computer.icobin4286 -> 0 bytes
-rwxr-xr-xpublic/images/icons/fav/ico/favicon.icobin4286 -> 0 bytes
-rw-r--r--public/images/icons/fav/ico/globe.icobin4286 -> 0 bytes
-rw-r--r--public/images/icons/fav/ico/help-book.icobin4286 -> 0 bytes
-rw-r--r--public/images/icons/fav/png/calc.pngbin12253 -> 0 bytes
-rw-r--r--public/images/icons/fav/png/computer.pngbin534 -> 0 bytes
-rw-r--r--public/images/icons/fav/png/globe.pngbin1246 -> 0 bytes
-rw-r--r--public/images/icons/fav/png/help-book.pngbin563 -> 0 bytes
-rw-r--r--public/images/icons/nav/admin.pngbin705 -> 0 bytes
-rw-r--r--public/images/icons/nav/bookmarks.pngbin487 -> 0 bytes
-rw-r--r--public/images/icons/nav/calculators.pngbin1057 -> 0 bytes
-rw-r--r--public/images/icons/nav/computers.pngbin521 -> 0 bytes
-rw-r--r--public/images/icons/nav/guestbook.pngbin490 -> 0 bytes
-rw-r--r--public/images/icons/nav/home.pngbin489 -> 0 bytes
-rw-r--r--public/images/icons/nav/home2.pngbin1159 -> 0 bytes
-rw-r--r--public/images/icons/nav/login.pngbin473 -> 0 bytes
-rw-r--r--public/images/icons/nav/mail.pngbin572 -> 0 bytes
-rw-r--r--public/images/icons/nav/music.pngbin483 -> 0 bytes
-rw-r--r--public/images/icons/nav/pubfiles.pngbin1098 -> 0 bytes
-rw-r--r--public/images/icons/nav/repo.pngbin459 -> 0 bytes
-rw-r--r--public/images/icons/nav/user-desktop.pngbin780 -> 0 bytes
-rw-r--r--public/images/icons/nav/weather.pngbin853 -> 0 bytes
-rw-r--r--public/images/login-background.pngbin1676372 -> 0 bytes
-rw-r--r--public/images/logo.pngbin878 -> 0 bytes
-rw-r--r--public/index.php55
-rw-r--r--public/js/christmas/snow.js113
-rw-r--r--public/js/liveClock.js10
-rw-r--r--public/js/neverSaid.js35
-rw-r--r--public/js/schemeSwap.js72
l---------public/pub1
-rw-r--r--public/robots.txt22
-rw-r--r--public/sitemap.xml46
-rw-r--r--public/videos/silly.mp4bin868937 -> 0 bytes
-rw-r--r--resources/js/app.js1
-rw-r--r--resources/js/bootstrap.js32
-rw-r--r--resources/js/neverSaid.js35
-rw-r--r--resources/js/schemeSwap.js70
-rw-r--r--resources/views/bookmarks.blade.php14
-rw-r--r--resources/views/calculators.blade.php114
-rw-r--r--resources/views/components/current-track.blade.php4
-rw-r--r--resources/views/components/discord-status.blade.php3
-rw-r--r--resources/views/components/errors/api-error.blade.php4
-rw-r--r--resources/views/components/errors/db-error.blade.php4
-rw-r--r--resources/views/components/git.blade.php48
-rw-r--r--resources/views/components/layout.blade.php88
-rw-r--r--resources/views/components/minimal-error.blade.php28
-rw-r--r--resources/views/components/navigation.blade.php30
-rw-r--r--resources/views/components/never-said.blade.php3
-rw-r--r--resources/views/components/settings.blade.php37
-rw-r--r--resources/views/components/toh-quote.blade.php12
-rw-r--r--resources/views/components/top-tracks.blade.php18
-rw-r--r--resources/views/components/track.blade.php6
-rw-r--r--resources/views/components/weather.blade.php11
-rw-r--r--resources/views/computers.blade.php253
-rw-r--r--resources/views/errors/401.blade.php4
-rw-r--r--resources/views/errors/402.blade.php4
-rw-r--r--resources/views/errors/403.blade.php4
-rw-r--r--resources/views/errors/404.blade.php4
-rw-r--r--resources/views/errors/418.blade.php4
-rw-r--r--resources/views/errors/419.blade.php4
-rw-r--r--resources/views/errors/429.blade.php4
-rw-r--r--resources/views/errors/500.blade.php4
-rw-r--r--resources/views/errors/503.blade.php4
-rw-r--r--resources/views/errors/generic-error.blade.php8
-rw-r--r--resources/views/errors/guestbook-ipban.blade.php11
-rw-r--r--resources/views/errors/guestbook-ratelimit.blade.php9
-rw-r--r--resources/views/errors/minimal.blade.php3
-rw-r--r--resources/views/errors/no-auth.blade.php8
-rw-r--r--resources/views/guestbook.blade.php75
-rw-r--r--resources/views/home.blade.php42
-rw-r--r--resources/views/music.blade.php5
-rw-r--r--routes/api.php15
-rw-r--r--routes/channels.php14
-rw-r--r--routes/console.php15
-rw-r--r--routes/web.php30
-rw-r--r--scripts/updatecache.bat6
-rwxr-xr-xscripts/updatecache.sh5
-rw-r--r--storage/.keep0
-rw-r--r--storage/app/.gitignore3
-rw-r--r--storage/app/public/.gitignore2
-rw-r--r--storage/framework/.gitignore9
-rw-r--r--storage/framework/cache/.gitignore3
-rw-r--r--storage/framework/cache/data/.gitignore2
-rw-r--r--storage/framework/sessions/.gitignore2
-rw-r--r--storage/framework/testing/.gitignore2
-rw-r--r--storage/framework/views/.gitignore2
-rw-r--r--storage/logs/.gitignore2
-rw-r--r--test/application_system_test_case.rb5
-rw-r--r--test/controllers/.keep0
-rw-r--r--test/fixtures/files/.keep0
-rw-r--r--test/helpers/.keep0
-rw-r--r--test/integration/.keep0
-rw-r--r--test/models/.keep0
-rw-r--r--test/system/.keep0
-rw-r--r--test/test_helper.rb15
-rw-r--r--tests/CreatesApplication.php21
-rw-r--r--tests/Feature/ExampleTest.php19
-rw-r--r--tests/TestCase.php10
-rw-r--r--tests/Unit/ExampleTest.php16
-rw-r--r--tmp/.keep0
-rw-r--r--tmp/pids/.keep0
-rw-r--r--tmp/storage/.keep0
-rw-r--r--vendor/.keep0
-rw-r--r--vendor/javascript/.keep0
-rw-r--r--vite.config.js11
325 files changed, 1513 insertions, 16481 deletions
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..9612375
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,37 @@
+# See https://docs.docker.com/engine/reference/builder/#dockerignore-file for more about ignoring files.
+
+# Ignore git directory.
+/.git/
+
+# Ignore bundler config.
+/.bundle
+
+# Ignore all environment files (except templates).
+/.env*
+!/.env*.erb
+
+# Ignore all default key files.
+/config/master.key
+/config/credentials/*.key
+
+# Ignore all logfiles and tempfiles.
+/log/*
+/tmp/*
+!/log/.keep
+!/tmp/.keep
+
+# Ignore pidfiles, but keep the directory.
+/tmp/pids/*
+!/tmp/pids/.keep
+
+# Ignore storage (uploaded files in development and any SQLite databases).
+/storage/*
+!/storage/.keep
+/tmp/storage/*
+!/tmp/storage/.keep
+
+# Ignore assets.
+/node_modules/
+/app/assets/builds/*
+!/app/assets/builds/.keep
+/public/assets
diff --git a/.editorconfig b/.editorconfig
deleted file mode 100644
index 8f0de65..0000000
--- a/.editorconfig
+++ /dev/null
@@ -1,18 +0,0 @@
-root = true
-
-[*]
-charset = utf-8
-end_of_line = lf
-indent_size = 4
-indent_style = space
-insert_final_newline = true
-trim_trailing_whitespace = true
-
-[*.md]
-trim_trailing_whitespace = false
-
-[*.{yml,yaml}]
-indent_size = 2
-
-[docker-compose.yml]
-indent_size = 4
diff --git a/.env.example b/.env.example
deleted file mode 100644
index 72dbf35..0000000
--- a/.env.example
+++ /dev/null
@@ -1,28 +0,0 @@
-APP_NAME=Laravel
-APP_ENV=local
-APP_KEY=
-APP_DEBUG=true
-APP_URL=http://localhost
-
-LOG_CHANNEL=stack
-LOG_DEPRECATIONS_CHANNEL=null
-LOG_LEVEL=debug
-
-DB_CONNECTION=mysql
-DB_HOST=127.0.0.1
-DB_PORT=3306
-DB_DATABASE=laravel
-DB_USERNAME=root
-DB_PASSWORD=
-
-BROADCAST_DRIVER=log
-CACHE_DRIVER=file
-FILESYSTEM_DISK=local
-QUEUE_CONNECTION=sync
-SESSION_DRIVER=file
-SESSION_LIFETIME=120
-
-MEMCACHED_HOST=127.0.0.1
-
-LASTFM_KEY=
-LASTFM_USER=
diff --git a/.gitattributes b/.gitattributes
index fcb21d3..8dc4323 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,11 +1,9 @@
-* text=auto eol=lf
+# See https://git-scm.com/docs/gitattributes for more about git attribute files.
-*.blade.php diff=html
-*.css diff=css
-*.html diff=html
-*.md diff=markdown
-*.php diff=php
+# Mark the database schema as having been generated.
+db/schema.rb linguist-generated
-/.github export-ignore
-CHANGELOG.md export-ignore
-.styleci.yml export-ignore
+# Mark any vendored files as having been vendored.
+vendor/* linguist-vendored
+config/credentials/*.yml.enc diff=rails_credentials
+config/credentials.yml.enc diff=rails_credentials
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
deleted file mode 100644
index 68a49a0..0000000
--- a/.github/CODEOWNERS
+++ /dev/null
@@ -1 +0,0 @@
-* @floppydisk05
diff --git a/.gitignore b/.gitignore
index 39a83d6..5fb66c9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,20 +1,35 @@
-/.phpunit.cache
-/node_modules
-/public/build
-/public/hot
-/public/storage
-/storage/*.key
-/vendor
-.env
-.env.backup
-.env.production
-.phpunit.result.cache
-Homestead.json
-Homestead.yaml
-auth.json
-npm-debug.log
-yarn-error.log
-/.fleet
-/.idea
-/.vscode
-**/.DS_Store
+# See https://help.github.com/articles/ignoring-files for more about ignoring files.
+#
+# If you find yourself ignoring temporary files generated by your text editor
+# or operating system, you probably want to add a global ignore instead:
+# git config --global core.excludesfile '~/.gitignore_global'
+
+# Ignore bundler config.
+/.bundle
+
+# Ignore all environment files (except templates).
+/.env*
+!/.env*.erb
+
+# Ignore all logfiles and tempfiles.
+/log/*
+/tmp/*
+!/log/.keep
+!/tmp/.keep
+
+# Ignore pidfiles, but keep the directory.
+/tmp/pids/*
+!/tmp/pids/
+!/tmp/pids/.keep
+
+# Ignore storage (uploaded files in development and any SQLite databases).
+/storage/*
+!/storage/.keep
+/tmp/storage/*
+!/tmp/storage/
+!/tmp/storage/.keep
+
+/public/assets
+
+# Ignore master key for decrypting credentials and more.
+/config/master.key
diff --git a/.ruby-version b/.ruby-version
new file mode 100644
index 0000000..6d5369b
--- /dev/null
+++ b/.ruby-version
@@ -0,0 +1 @@
+ruby-3.3.4
diff --git a/.run/Development Server (External).run.xml b/.run/Development Server (External).run.xml
deleted file mode 100644
index aec6c1f..0000000
--- a/.run/Development Server (External).run.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="Development Server (External)" type="PhpLocalRunConfigurationType" factoryName="PHP Console" path="$PROJECT_DIR$/artisan" scriptParameters="serve --host 0.0.0.0 --port 8000">
- <method v="2" />
- </configuration>
-</component> \ No newline at end of file
diff --git a/.run/Development Server.run.xml b/.run/Development Server.run.xml
deleted file mode 100644
index eb6b77f..0000000
--- a/.run/Development Server.run.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="Development Server" type="PhpLocalRunConfigurationType" factoryName="PHP Console" path="$PROJECT_DIR$/artisan" scriptParameters="serve">
- <method v="2" />
- </configuration>
-</component>
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..463318f
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,67 @@
+# syntax = docker/dockerfile:1
+
+# Make sure RUBY_VERSION matches the Ruby version in .ruby-version and Gemfile
+ARG RUBY_VERSION=3.3.4
+FROM registry.docker.com/library/ruby:$RUBY_VERSION-slim as base
+
+# Rails app lives here
+WORKDIR /rails
+
+# Set production environment
+ENV RAILS_ENV="production" \
+ BUNDLE_DEPLOYMENT="1" \
+ BUNDLE_PATH="/usr/local/bundle" \
+ BUNDLE_WITHOUT="development"
+
+
+# Throw-away build stage to reduce size of final image
+FROM base as build
+
+# Install packages needed to build gems
+RUN apt-get update -qq && \
+ apt-get install --no-install-recommends -y build-essential git pkg-config
+
+# Install application gems
+COPY Gemfile Gemfile.lock ./
+RUN bundle install && \
+ rm -rf ~/.bundle/ "${BUNDLE_PATH}"/ruby/*/cache "${BUNDLE_PATH}"/ruby/*/bundler/gems/*/.git && \
+ bundle exec bootsnap precompile --gemfile
+
+# Copy application code
+COPY . .
+
+# Precompile bootsnap code for faster boot times
+RUN bundle exec bootsnap precompile app/ lib/
+
+# Adjust binfiles to be executable on Linux
+RUN chmod +x bin/* && \
+ sed -i "s/\r$//g" bin/* && \
+ sed -i 's/ruby\.exe$/ruby/' bin/*
+
+# Precompiling assets for production without requiring secret RAILS_MASTER_KEY
+RUN SECRET_KEY_BASE_DUMMY=1 ./bin/rails assets:precompile
+
+
+# Final stage for app image
+FROM base
+
+# Install packages needed for deployment
+RUN apt-get update -qq && \
+ apt-get install --no-install-recommends -y curl libsqlite3-0 && \
+ rm -rf /var/lib/apt/lists /var/cache/apt/archives
+
+# Copy built artifacts: gems, application
+COPY --from=build /usr/local/bundle /usr/local/bundle
+COPY --from=build /rails /rails
+
+# Run and own only the runtime files as a non-root user for security
+RUN useradd rails --create-home --shell /bin/bash && \
+ chown -R rails:rails db log storage tmp
+USER rails:rails
+
+# Entrypoint prepares the database.
+ENTRYPOINT ["/rails/bin/docker-entrypoint"]
+
+# Start the server by default, this can be overwritten at runtime
+EXPOSE 3000
+CMD ["./bin/rails", "server"]
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 0000000..e219c32
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,61 @@
+source "https://rubygems.org"
+
+ruby "3.3.4"
+
+# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
+gem "rails", "~> 7.1.3", ">= 7.1.3.4"
+
+# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
+gem "sprockets-rails"
+
+# Use sqlite3 as the database for Active Record
+gem "sqlite3", "~> 1.4"
+
+# Use the Puma web server [https://github.com/puma/puma]
+gem "puma", ">= 5.0"
+
+# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
+gem "importmap-rails"
+
+# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
+gem "turbo-rails"
+
+# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
+gem "stimulus-rails"
+
+# Build JSON APIs with ease [https://github.com/rails/jbuilder]
+gem "jbuilder"
+
+# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
+# gem "kredis"
+
+# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
+# gem "bcrypt", "~> 3.1.7"
+
+# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
+gem "tzinfo-data", platforms: %i[ windows jruby ]
+
+# Reduces boot times through caching; required in config/boot.rb
+gem "bootsnap", require: false
+
+group :development, :test do
+ # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
+ gem "debug", platforms: %i[ mri windows ]
+end
+
+group :development do
+ # Use console on exceptions pages [https://github.com/rails/web-console]
+ gem "web-console"
+
+ # Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler]
+ # gem "rack-mini-profiler"
+
+ # Speed up commands on slow machines / big apps [https://github.com/rails/spring]
+ # gem "spring"
+end
+
+group :test do
+ # Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
+ gem "capybara"
+ gem "selenium-webdriver"
+end
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 0000000..4a6a519
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,267 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ actioncable (7.1.3.4)
+ actionpack (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
+ nio4r (~> 2.0)
+ websocket-driver (>= 0.6.1)
+ zeitwerk (~> 2.6)
+ actionmailbox (7.1.3.4)
+ actionpack (= 7.1.3.4)
+ activejob (= 7.1.3.4)
+ activerecord (= 7.1.3.4)
+ activestorage (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
+ mail (>= 2.7.1)
+ net-imap
+ net-pop
+ net-smtp
+ actionmailer (7.1.3.4)
+ actionpack (= 7.1.3.4)
+ actionview (= 7.1.3.4)
+ activejob (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
+ mail (~> 2.5, >= 2.5.4)
+ net-imap
+ net-pop
+ net-smtp
+ rails-dom-testing (~> 2.2)
+ actionpack (7.1.3.4)
+ actionview (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
+ nokogiri (>= 1.8.5)
+ racc
+ rack (>= 2.2.4)
+ rack-session (>= 1.0.1)
+ rack-test (>= 0.6.3)
+ rails-dom-testing (~> 2.2)
+ rails-html-sanitizer (~> 1.6)
+ actiontext (7.1.3.4)
+ actionpack (= 7.1.3.4)
+ activerecord (= 7.1.3.4)
+ activestorage (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
+ globalid (>= 0.6.0)
+ nokogiri (>= 1.8.5)
+ actionview (7.1.3.4)
+ activesupport (= 7.1.3.4)
+ builder (~> 3.1)
+ erubi (~> 1.11)
+ rails-dom-testing (~> 2.2)
+ rails-html-sanitizer (~> 1.6)
+ activejob (7.1.3.4)
+ activesupport (= 7.1.3.4)
+ globalid (>= 0.3.6)
+ activemodel (7.1.3.4)
+ activesupport (= 7.1.3.4)
+ activerecord (7.1.3.4)
+ activemodel (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
+ timeout (>= 0.4.0)
+ activestorage (7.1.3.4)
+ actionpack (= 7.1.3.4)
+ activejob (= 7.1.3.4)
+ activerecord (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
+ marcel (~> 1.0)
+ activesupport (7.1.3.4)
+ base64
+ bigdecimal
+ concurrent-ruby (~> 1.0, >= 1.0.2)
+ connection_pool (>= 2.2.5)
+ drb
+ i18n (>= 1.6, < 2)
+ minitest (>= 5.1)
+ mutex_m
+ tzinfo (~> 2.0)
+ addressable (2.8.7)
+ public_suffix (>= 2.0.2, < 7.0)
+ base64 (0.2.0)
+ bigdecimal (3.1.8)
+ bindex (0.8.1)
+ bootsnap (1.18.4)
+ msgpack (~> 1.2)
+ builder (3.3.0)
+ capybara (3.40.0)
+ addressable
+ matrix
+ mini_mime (>= 0.1.3)
+ nokogiri (~> 1.11)
+ rack (>= 1.6.0)
+ rack-test (>= 0.6.3)
+ regexp_parser (>= 1.5, < 3.0)
+ xpath (~> 3.2)
+ concurrent-ruby (1.3.3)
+ connection_pool (2.4.1)
+ crass (1.0.6)
+ date (3.3.4)
+ debug (1.9.2)
+ irb (~> 1.10)
+ reline (>= 0.3.8)
+ drb (2.2.1)
+ erubi (1.13.0)
+ globalid (1.2.1)
+ activesupport (>= 6.1)
+ i18n (1.14.5)
+ concurrent-ruby (~> 1.0)
+ importmap-rails (2.0.1)
+ actionpack (>= 6.0.0)
+ activesupport (>= 6.0.0)
+ railties (>= 6.0.0)
+ io-console (0.7.2)
+ irb (1.14.0)
+ rdoc (>= 4.0.0)
+ reline (>= 0.4.2)
+ jbuilder (2.12.0)
+ actionview (>= 5.0.0)
+ activesupport (>= 5.0.0)
+ logger (1.6.0)
+ loofah (2.22.0)
+ crass (~> 1.0.2)
+ nokogiri (>= 1.12.0)
+ mail (2.8.1)
+ mini_mime (>= 0.1.1)
+ net-imap
+ net-pop
+ net-smtp
+ marcel (1.0.4)
+ matrix (0.4.2)
+ mini_mime (1.1.5)
+ minitest (5.24.1)
+ msgpack (1.7.2)
+ mutex_m (0.2.0)
+ net-imap (0.4.14)
+ date
+ net-protocol
+ net-pop (0.1.2)
+ net-protocol
+ net-protocol (0.2.2)
+ timeout
+ net-smtp (0.5.0)
+ net-protocol
+ nio4r (2.7.3)
+ nokogiri (1.16.7-x64-mingw-ucrt)
+ racc (~> 1.4)
+ nokogiri (1.16.7-x86_64-linux)
+ racc (~> 1.4)
+ psych (5.1.2)
+ stringio
+ public_suffix (6.0.1)
+ puma (6.4.2)
+ nio4r (~> 2.0)
+ racc (1.8.1)
+ rack (3.1.7)
+ rack-session (2.0.0)
+ rack (>= 3.0.0)
+ rack-test (2.1.0)
+ rack (>= 1.3)
+ rackup (2.1.0)
+ rack (>= 3)
+ webrick (~> 1.8)
+ rails (7.1.3.4)
+ actioncable (= 7.1.3.4)
+ actionmailbox (= 7.1.3.4)
+ actionmailer (= 7.1.3.4)
+ actionpack (= 7.1.3.4)
+ actiontext (= 7.1.3.4)
+ actionview (= 7.1.3.4)
+ activejob (= 7.1.3.4)
+ activemodel (= 7.1.3.4)
+ activerecord (= 7.1.3.4)
+ activestorage (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
+ bundler (>= 1.15.0)
+ railties (= 7.1.3.4)
+ rails-dom-testing (2.2.0)
+ activesupport (>= 5.0.0)
+ minitest
+ nokogiri (>= 1.6)
+ rails-html-sanitizer (1.6.0)
+ loofah (~> 2.21)
+ nokogiri (~> 1.14)
+ railties (7.1.3.4)
+ actionpack (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
+ irb
+ rackup (>= 1.0.0)
+ rake (>= 12.2)
+ thor (~> 1.0, >= 1.2.2)
+ zeitwerk (~> 2.6)
+ rake (13.2.1)
+ rdoc (6.7.0)
+ psych (>= 4.0.0)
+ regexp_parser (2.9.2)
+ reline (0.5.9)
+ io-console (~> 0.5)
+ rexml (3.3.4)
+ strscan
+ rubyzip (2.3.2)
+ selenium-webdriver (4.23.0)
+ base64 (~> 0.2)
+ logger (~> 1.4)
+ rexml (~> 3.2, >= 3.2.5)
+ rubyzip (>= 1.2.2, < 3.0)
+ websocket (~> 1.0)
+ sprockets (4.2.1)
+ concurrent-ruby (~> 1.0)
+ rack (>= 2.2.4, < 4)
+ sprockets-rails (3.5.2)
+ actionpack (>= 6.1)
+ activesupport (>= 6.1)
+ sprockets (>= 3.0.0)
+ sqlite3 (1.7.3-x64-mingw-ucrt)
+ sqlite3 (1.7.3-x86_64-linux)
+ stimulus-rails (1.3.3)
+ railties (>= 6.0.0)
+ stringio (3.1.1)
+ strscan (3.1.0)
+ thor (1.3.1)
+ timeout (0.4.1)
+ turbo-rails (2.0.6)
+ actionpack (>= 6.0.0)
+ activejob (>= 6.0.0)
+ railties (>= 6.0.0)
+ tzinfo (2.0.6)
+ concurrent-ruby (~> 1.0)
+ tzinfo-data (1.2024.1)
+ tzinfo (>= 1.0.0)
+ web-console (4.2.1)
+ actionview (>= 6.0.0)
+ activemodel (>= 6.0.0)
+ bindex (>= 0.4.0)
+ railties (>= 6.0.0)
+ webrick (1.8.1)
+ websocket (1.2.11)
+ websocket-driver (0.7.6)
+ websocket-extensions (>= 0.1.0)
+ websocket-extensions (0.1.5)
+ xpath (3.2.0)
+ nokogiri (~> 1.8)
+ zeitwerk (2.6.17)
+
+PLATFORMS
+ x64-mingw-ucrt
+ x86_64-linux
+
+DEPENDENCIES
+ bootsnap
+ capybara
+ debug
+ importmap-rails
+ jbuilder
+ puma (>= 5.0)
+ rails (~> 7.1.3, >= 7.1.3.4)
+ selenium-webdriver
+ sprockets-rails
+ sqlite3 (~> 1.4)
+ stimulus-rails
+ turbo-rails
+ tzinfo-data
+ web-console
+
+RUBY VERSION
+ ruby 3.3.4p94
+
+BUNDLED WITH
+ 2.5.17
diff --git a/README.md b/README.md
index 9eb0a58..7db80e4 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,24 @@
-# diskfloppy.me
+# README
+
+This README would normally document whatever steps are necessary to get the
+application up and running.
+
+Things you may want to cover:
+
+* Ruby version
+
+* System dependencies
+
+* Configuration
+
+* Database creation
+
+* Database initialization
+
+* How to run the test suite
+
+* Services (job queues, cache servers, search engines, etc.)
+
+* Deployment instructions
+
+* ...
diff --git a/Rakefile b/Rakefile
new file mode 100644
index 0000000..9a5ea73
--- /dev/null
+++ b/Rakefile
@@ -0,0 +1,6 @@
+# Add your own tasks in files placed in lib/tasks ending in .rake,
+# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
+
+require_relative "config/application"
+
+Rails.application.load_tasks
diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php
deleted file mode 100644
index e6b9960..0000000
--- a/app/Console/Kernel.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-namespace App\Console;
-
-use Illuminate\Console\Scheduling\Schedule;
-use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
-
-class Kernel extends ConsoleKernel
-{
- /**
- * Define the application's command schedule.
- */
- protected function schedule(Schedule $schedule): void
- {
- // $schedule->command('inspire')->hourly();
- }
-
- /**
- * Register the commands for the application.
- */
- protected function commands(): void
- {
- $this->load(__DIR__.'/Commands');
-
- require base_path('routes/console.php');
- }
-}
diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php
deleted file mode 100644
index 26fbddf..0000000
--- a/app/Exceptions/Handler.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-namespace App\Exceptions;
-
-use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
-use Throwable;
-
-class Handler extends ExceptionHandler
-{
- /**
- * The list of the inputs that are never flashed to the session on validation exceptions.
- *
- * @var array<int, string>
- */
- protected $dontFlash = [
- 'current_password',
- 'password',
- 'password_confirmation',
- ];
-
- /**
- * Register the exception handling callbacks for the application.
- */
- public function register(): void
- {
- $this->reportable(function (Throwable $e) {
- if (app()->bound('sentry')) {
- app('sentry')->captureException($e);
- }
- });
- }
-}
diff --git a/app/Http/Controllers/BookmarksController.php b/app/Http/Controllers/BookmarksController.php
deleted file mode 100644
index 56aacc7..0000000
--- a/app/Http/Controllers/BookmarksController.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-
-namespace App\Http\Controllers;
-
-use App\Models\BookmarkSite;
-use App\Models\BookmarkCategory;
-use Illuminate\View\View;
-
-class BookmarksController extends Controller
-{
- public function show() : View {
- $categories = BookmarkCategory::with('sites')->get();
- return view('bookmarks', compact('categories'));
- }
-}
diff --git a/app/Http/Controllers/CalculatorsController.php b/app/Http/Controllers/CalculatorsController.php
deleted file mode 100644
index 38a7a41..0000000
--- a/app/Http/Controllers/CalculatorsController.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-namespace App\Http\Controllers;
-
-use Illuminate\Http\Request;
-use Illuminate\View\View;
-
-class CalculatorsController extends Controller
-{
- public function show() : View {
- return view('calculators');
- }
-}
diff --git a/app/Http/Controllers/ComputersController.php b/app/Http/Controllers/ComputersController.php
deleted file mode 100644
index e16e70d..0000000
--- a/app/Http/Controllers/ComputersController.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-namespace App\Http\Controllers;
-
-use Illuminate\Http\Request;
-use Illuminate\View\View;
-
-class ComputersController extends Controller
-{
- public function show() : View {
- return view('computers');
- }
-}
diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php
deleted file mode 100644
index 77ec359..0000000
--- a/app/Http/Controllers/Controller.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-
-namespace App\Http\Controllers;
-
-use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
-use Illuminate\Foundation\Validation\ValidatesRequests;
-use Illuminate\Routing\Controller as BaseController;
-
-class Controller extends BaseController
-{
- use AuthorizesRequests, ValidatesRequests;
-}
diff --git a/app/Http/Controllers/GuestbookController.php b/app/Http/Controllers/GuestbookController.php
deleted file mode 100644
index df726ef..0000000
--- a/app/Http/Controllers/GuestbookController.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-namespace App\Http\Controllers;
-
-use App\Models\GuestbookEntry;
-use Illuminate\Http\Request;
-use Illuminate\Http\RedirectResponse;
-use Illuminate\Contracts\View\View;
-use Illuminate\Validation\ValidationException;
-use UAParser\Parser;
-
-class GuestbookController extends Controller {
- public function show(): View {
- $entries = GuestbookEntry::selectEntries();
- $parser = Parser::create();
-
- return view('guestbook')
- ->with('entries', $entries)
- ->with('parser', $parser);
- }
-
- /**
- * Creates a new guestbook entry
- *
- * @param Request $request
- * @return RedirectResponse
- * @throws ValidationException
- */
- public function addEntry(Request $request): RedirectResponse {
- $this->validate($request, [
- 'name' => 'required',
- 'message' => 'required'
- ]);
-
-
- GuestbookEntry::insertGuestbookEntry($request);
- return back()->with('success', 'Entry submitted successfully!');
- }
-
- public function banIP(string $addr) {
- // TODO: Add banning system
- // $matching_bans = DB::select('SELECT reason FROM guestbook__bans WHERE ip_address = ?', array($request->ip()));
- // if (!empty($matching_bans)) {
- // return view('errors.guestbook-ipban')->with('reason', $matching_bans[0]->reason);
- // }
- }
-}
diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php
deleted file mode 100644
index e046d58..0000000
--- a/app/Http/Controllers/HomeController.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-namespace App\Http\Controllers;
-
-use Illuminate\Support\Facades\Cache;
-use Illuminate\Support\Facades\Config;
-use Illuminate\Support\Facades\Http;
-use Illuminate\View\View;
-use DateTime;
-
-class HomeController extends Controller {
- /**
- * Returns age based on birthday date and current date (GMT)
- * @return int
- */
- function returnAge(): int {
- date_default_timezone_set('Europe/London');
- $birthday = new DateTime("2005-06-07");
- $currentDate = DateTime::createFromFormat("Y-m-d", date("Y-m-d"));
- $age = $birthday->diff($currentDate);
- return $age->y;
- }
-
- /**
- * Shows home page
- * @return View
- */
- public function show(): View {
- return view('home', [
- 'age' => $this->returnAge(),
- ]);
- }
-}
diff --git a/app/Http/Controllers/MusicController.php b/app/Http/Controllers/MusicController.php
deleted file mode 100644
index 5e31d86..0000000
--- a/app/Http/Controllers/MusicController.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-namespace App\Http\Controllers;
-
-use Illuminate\Support\Facades\Cache;
-use Illuminate\Support\Facades\Config;
-use Illuminate\Support\Facades\Http;
-use Illuminate\View\View;
-
-class MusicController extends Controller
-{
- public function getCurrentTrack() {
- // If it's already cached just return that
- if (Cache::has('current_track')) {
- return Cache::get('current_track');
- }
-
- $response = Http::withQueryParameters([
- 'method' => 'user.getrecenttracks',
- 'user' => Config::get('services.lastfm.user'),
- 'format' => 'json',
- 'nowplaying' => 'true',
- 'api_key' => Config::get('services.lastfm.key')
- ])->get('https://ws.audioscrobbler.com/2.0/');
- $data = $response->json();
- error_log($response->body());
- $track_data = $data["recenttracks"]["track"][0];
- $current_track = [
- 'title' => $track_data["name"],
- 'artist' => $track_data["artist"]["#text"],
- 'url' => $track_data["url"],
- ];
- Cache::put('current_track', $current_track, now()->addSeconds(15));
- return $current_track;
- }
-
- public function getTopTracks() {
- // If it's already cached just return that
- if (Cache::has('top_tracks')) {
- return Cache::get('top_tracks');
- }
-
- $response = Http::withQueryParameters([
- 'method' => 'user.gettoptracks',
- 'user' => Config::get('services.lastfm.user'),
- 'format' => 'json',
- 'period' => '1month',
- 'limit' => 10,
- 'api_key' => Config::get('services.lastfm.key')
- ])->get('https://ws.audioscrobbler.com/2.0/');
- $data = $response->json();
- $topTracks = [];
- foreach ($data["toptracks"]["track"] as $track) {
- $topTracks[] = [
- 'title' => $track["name"],
- 'artist' => $track["artist"]["name"],
- 'url' => $track["url"],
- 'plays' => $track["playcount"],
- ];
- }
- Cache::put('top_tracks', $topTracks, now()->addSeconds(15));
- return $topTracks;
- }
- public function show() : View {
- return view('music')
- ->with('current_track', $this->getCurrentTrack())
- ->with('top_tracks', $this->getTopTracks());
- }
-}
diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php
deleted file mode 100644
index 4eab7b8..0000000
--- a/app/Http/Kernel.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-namespace App\Http;
-
-use Illuminate\Foundation\Http\Kernel as HttpKernel;
-
-class Kernel extends HttpKernel
-{
- /**
- * The application's global HTTP middleware stack.
- *
- * These middleware are run during every request to your application.
- *
- * @var array<int, class-string|string>
- */
- protected $middleware = [
- // \App\Http\Middleware\TrustHosts::class,
- \App\Http\Middleware\TrustProxies::class,
- \Illuminate\Http\Middleware\HandleCors::class,
- \App\Http\Middleware\PreventRequestsDuringMaintenance::class,
- \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
- \App\Http\Middleware\TrimStrings::class,
- \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
- ];
-
- /**
- * The application's route middleware groups.
- *
- * @var array<string, array<int, class-string|string>>
- */
- protected $middlewareGroups = [
- 'web' => [
- \App\Http\Middleware\EncryptCookies::class,
- \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
- \Illuminate\Session\Middleware\StartSession::class,
- \Illuminate\View\Middleware\ShareErrorsFromSession::class,
- \App\Http\Middleware\VerifyCsrfToken::class,
- \Illuminate\Routing\Middleware\SubstituteBindings::class,
- ],
-
- 'api' => [
- // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
- \Illuminate\Routing\Middleware\ThrottleRequests::class.':api',
- \Illuminate\Routing\Middleware\SubstituteBindings::class,
- ],
- ];
-
- protected $routeMiddleware = [
- 'rate_limit' => \App\Http\Middleware\RateLimiter::class,
- ];
-
-
- /**
- * The application's middleware aliases.
- *
- * Aliases may be used instead of class names to conveniently assign middleware to routes and groups.
- *
- * @var array<string, class-string|string>
- */
- protected $middlewareAliases = [
- 'auth' => \App\Http\Middleware\Authenticate::class,
- 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
- 'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
- 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
- 'can' => \Illuminate\Auth\Middleware\Authorize::class,
- 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
- 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
- 'signed' => \App\Http\Middleware\ValidateSignature::class,
- 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
- 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
- ];
-}
diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php
deleted file mode 100644
index d4ef644..0000000
--- a/app/Http/Middleware/Authenticate.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-namespace App\Http\Middleware;
-
-use Illuminate\Auth\Middleware\Authenticate as Middleware;
-use Illuminate\Http\Request;
-
-class Authenticate extends Middleware
-{
- /**
- * Get the path the user should be redirected to when they are not authenticated.
- */
- protected function redirectTo(Request $request): ?string
- {
- return $request->expectsJson() ? null : route('login');
- }
-}
diff --git a/app/Http/Middleware/EncryptCookies.php b/app/Http/Middleware/EncryptCookies.php
deleted file mode 100644
index 5ee1433..0000000
--- a/app/Http/Middleware/EncryptCookies.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-namespace App\Http\Middleware;
-
-use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
-
-class EncryptCookies extends Middleware
-{
- /**
- * The names of the cookies that should not be encrypted.
- *
- * @var array<int, string>
- */
- protected $except = [
- "colorscheme"
- ];
-}
diff --git a/app/Http/Middleware/PreventRequestsDuringMaintenance.php b/app/Http/Middleware/PreventRequestsDuringMaintenance.php
deleted file mode 100644
index 842e4b9..0000000
--- a/app/Http/Middleware/PreventRequestsDuringMaintenance.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-
-namespace App\Http\Middleware;
-
-use Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance as Middleware;
-
-class PreventRequestsDuringMaintenance extends Middleware
-{
- /**
- * The URIs that should be reachable while maintenance mode is enabled.
- *
- * @var array<int, string>
- */
- protected $except = [];
-}
diff --git a/app/Http/Middleware/RateLimiter.php b/app/Http/Middleware/RateLimiter.php
deleted file mode 100644
index 821868f..0000000
--- a/app/Http/Middleware/RateLimiter.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-namespace App\Http\Middleware;
-
-use Closure;
-use Illuminate\Http\Request;
-use Illuminate\Support\Facades\Cache;
-use Symfony\Component\HttpFoundation\Response;
-
-class RateLimiter
-{
- /**
- * Handle an incoming request.
- *
- * @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
- */
- public function handle(Request $request, Closure $next): Response
- {
- if (auth()->check()) {
- return $next($request);
- }
- $ipAddress = $request->ip();
- $cacheKey = 'rate_limit_'.$ipAddress;
-
- if (Cache::has($cacheKey)) {
- // If the cache key exists, the IP has submitted an entry within the last hour.
- return response()->view('errors.guestbook-ratelimit', [], 429);
- }
-
- // Add the IP address to the cache and set the expiration time to one hour.
- Cache::put($cacheKey, true, 3600);
-
- return $next($request);
- }
-}
diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php
deleted file mode 100644
index fdc707b..0000000
--- a/app/Http/Middleware/RedirectIfAuthenticated.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-namespace App\Http\Middleware;
-
-use App\Providers\RouteServiceProvider;
-use Closure;
-use Illuminate\Http\Request;
-use Illuminate\Support\Facades\Auth;
-use Symfony\Component\HttpFoundation\Response;
-
-class RedirectIfAuthenticated
-{
- /**
- * Handle an incoming request.
- *
- * @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
- */
- public function handle(Request $request, Closure $next, string ...$guards): Response
- {
- $guards = empty($guards) ? [null] : $guards;
-
- foreach ($guards as $guard) {
- if (Auth::guard($guard)->check()) {
- return redirect(RouteServiceProvider::HOME);
- }
- }
-
- return $next($request);
- } // End handle().
-}
diff --git a/app/Http/Middleware/TrimStrings.php b/app/Http/Middleware/TrimStrings.php
deleted file mode 100644
index 88cadca..0000000
--- a/app/Http/Middleware/TrimStrings.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-namespace App\Http\Middleware;
-
-use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;
-
-class TrimStrings extends Middleware
-{
- /**
- * The names of the attributes that should not be trimmed.
- *
- * @var array<int, string>
- */
- protected $except = [
- 'current_password',
- 'password',
- 'password_confirmation',
- ];
-}
diff --git a/app/Http/Middleware/TrustHosts.php b/app/Http/Middleware/TrustHosts.php
deleted file mode 100644
index c9c58bd..0000000
--- a/app/Http/Middleware/TrustHosts.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-namespace App\Http\Middleware;
-
-use Illuminate\Http\Middleware\TrustHosts as Middleware;
-
-class TrustHosts extends Middleware
-{
- /**
- * Get the host patterns that should be trusted.
- *
- * @return array<int, string|null>
- */
- public function hosts(): array
- {
- return [
- $this->allSubdomainsOfApplicationUrl(),
- ];
- }
-}
diff --git a/app/Http/Middleware/TrustProxies.php b/app/Http/Middleware/TrustProxies.php
deleted file mode 100644
index 69f4e53..0000000
--- a/app/Http/Middleware/TrustProxies.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-namespace App\Http\Middleware;
-
-use Illuminate\Http\Middleware\TrustProxies as Middleware;
-use Illuminate\Http\Request;
-
-class TrustProxies extends Middleware
-{
- /**
- * The trusted proxies for this application.
- *
- * @var array<int, string>|string|null
- */
- protected $proxies;
-
- /**
- * The headers that should be used to detect proxies.
- *
- * @var int
- */
- protected $headers =(
- Request::HEADER_X_FORWARDED_FOR |
- Request::HEADER_X_FORWARDED_HOST |
- Request::HEADER_X_FORWARDED_PORT |
- Request::HEADER_X_FORWARDED_PROTO |
- Request::HEADER_X_FORWARDED_AWS_ELB
- );
-}
diff --git a/app/Http/Middleware/ValidateSignature.php b/app/Http/Middleware/ValidateSignature.php
deleted file mode 100644
index 093bf64..0000000
--- a/app/Http/Middleware/ValidateSignature.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-namespace App\Http\Middleware;
-
-use Illuminate\Routing\Middleware\ValidateSignature as Middleware;
-
-class ValidateSignature extends Middleware
-{
- /**
- * The names of the query string parameters that should be ignored.
- *
- * @var array<int, string>
- */
- protected $except = [
- // 'fbclid',
- // 'utm_campaign',
- // 'utm_content',
- // 'utm_medium',
- // 'utm_source',
- // 'utm_term',
- ];
-}
diff --git a/app/Http/Middleware/VerifyCsrfToken.php b/app/Http/Middleware/VerifyCsrfToken.php
deleted file mode 100644
index 70e23e1..0000000
--- a/app/Http/Middleware/VerifyCsrfToken.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-
-namespace App\Http\Middleware;
-
-use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
-
-class VerifyCsrfToken extends Middleware
-{
- /**
- * The URIs that should be excluded from CSRF verification.
- *
- * @var array<int, string>
- */
- protected $except = [];
-}
diff --git a/app/Models/BookmarkCategory.php b/app/Models/BookmarkCategory.php
deleted file mode 100644
index a8bc8d2..0000000
--- a/app/Models/BookmarkCategory.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-namespace App\Models;
-
-use Illuminate\Database\Eloquent\Factories\HasFactory;
-use Illuminate\Database\Eloquent\Model;
-
-class BookmarkCategory extends Model
-{
- use HasFactory;
- protected $table = "bookmark__categories";
- protected $fillable = ['name'];
-
- public function sites() {
- return $this->hasMany(BookmarkSite::class, 'category');
- }
-
- public static function insertBookmarkCategory(string $name) {
- $newBookmarkCategory = new BookmarkCategory;
- $newBookmarkCategory->name = $name;
- $newBookmarkCategory->save();
- }
- public static function selectBookmarks(int $id) {
- $bookmarks = BookmarkSite::where('category', '=', $id)->firstOrFail();
- return $bookmarks;
- }
-
- public static function importBookmarkCategory(array $data) {
- foreach ($data as $category) {
- $newBookmarkCategory = new BookmarkCategory;
- $newBookmarkCategory->name = $category['name'];
- $newBookmarkCategory->priority = intval($category['priority']);
- $newBookmarkCategory->save();
- }
- }
-}
diff --git a/app/Models/BookmarkSite.php b/app/Models/BookmarkSite.php
deleted file mode 100644
index 3c9cc5d..0000000
--- a/app/Models/BookmarkSite.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-namespace App\Models;
-
-use Illuminate\Database\Eloquent\Factories\HasFactory;
-use Illuminate\Database\Eloquent\Model;
-
-class BookmarkSite extends Model {
- use HasFactory;
- protected $table = "bookmark__sites";
- protected $fillable = ['name', 'description', 'url', 'category'];
-
- public function category() {
- return $this->belongsTo(BookmarkCategory::class, 'category');
- }
- public static function insertBookmark(string $name, string $url, int $category) {
- $category = BookmarkCategory::where('id', $category)->firstOrFail();
- $newBookmark = new BookmarkSite;
- $newBookmark->name = $name;
- $newBookmark->url = $url;
- $newBookmark->category = $category->id;
- $newBookmark->save();
- }
-
- public static function importBookmark(array $data) {
- foreach ($data as $site) {
- $newBookmark = new BookmarkSite;
- $newBookmark->name = $site['name'];
- $newBookmark->description = $site['description'];
- $newBookmark->url = $site['url'];
- $newBookmark->category = $site['category_id'];
- $newBookmark->save();
- }
- }
-}
diff --git a/app/Models/GuestbookEntry.php b/app/Models/GuestbookEntry.php
deleted file mode 100644
index f5e2de2..0000000
--- a/app/Models/GuestbookEntry.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-namespace App\Models;
-
-use Illuminate\Http\Request;
-use Illuminate\Database\Eloquent\Factories\HasFactory;
-use Illuminate\Database\Eloquent\Model;
-
-class GuestbookEntry extends Model
-{
- use HasFactory;
- protected $table = "guestbook__entries";
- protected $fillable = ['name', 'message'];
-
- /**
- * Creates a new guestbook entry.
- *
- * @param Request $request The HTTP POST request
- * @return void
- */
- public static function insertGuestbookEntry(Request $request) {
- $newEntry = new GuestbookEntry;
- $newEntry->name = htmlspecialchars($request->get('name'));
- $newEntry->message = htmlspecialchars($request->get('message'));
- $newEntry->ip = $request->ip();
- $newEntry->agent = $request->userAgent();
- $newEntry->admin = auth()->check();
- $newEntry->save();
- }
-
- public static function selectEntries() {
- $entries = GuestbookEntry::orderBy('created_at', 'desc')->get();
- return $entries;
- }
-
- public static function importGuestbookEntry(array $data) {
- foreach ($data as $entry) {
- $dt = new \DateTime('@' . $entry['timestamp']);
- $newEntry = new GuestbookEntry;
- $newEntry->name = $entry['name'];
- $newEntry->ip = $entry['ip_address'];
- $newEntry->agent = $entry['agent'];
- $newEntry->admin = $entry['site_owner'];
- $newEntry->message = $entry['message'];
- $newEntry->created_at = $dt;
- $newEntry->updated_at = $dt;
- $newEntry->save();
- }
- }
-}
diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php
deleted file mode 100644
index 2209133..0000000
--- a/app/Providers/AppServiceProvider.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-namespace App\Providers;
-
-use Illuminate\Support\Facades\Config;
-use Illuminate\Support\ServiceProvider;
-use PostHog\PostHog;
-
-class AppServiceProvider extends ServiceProvider {
- /**
- * Register any application services.
- */
- public function register(): void {
- //
- }
-
- /**
- * Bootstrap any application services.
- */
- public function boot(): void {}
-}
diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php
deleted file mode 100644
index 3751a10..0000000
--- a/app/Providers/AuthServiceProvider.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-namespace App\Providers;
-
-use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
-
-class AuthServiceProvider extends ServiceProvider
-{
- /**
- * The model to policy mappings for the application.
- *
- * @var array<class-string, class-string>
- */
- protected $policies = [
- //
- ];
-
- /**
- * Register any authentication / authorization services.
- */
- public function boot(): void
- {
- //
- }
-}
diff --git a/app/Providers/BroadcastServiceProvider.php b/app/Providers/BroadcastServiceProvider.php
deleted file mode 100644
index 2be04f5..0000000
--- a/app/Providers/BroadcastServiceProvider.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-namespace App\Providers;
-
-use Illuminate\Support\Facades\Broadcast;
-use Illuminate\Support\ServiceProvider;
-
-class BroadcastServiceProvider extends ServiceProvider
-{
- /**
- * Bootstrap any application services.
- */
- public function boot(): void
- {
- Broadcast::routes();
-
- require base_path('routes/channels.php');
- }
-}
diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php
deleted file mode 100644
index 2d65aac..0000000
--- a/app/Providers/EventServiceProvider.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-namespace App\Providers;
-
-use Illuminate\Auth\Events\Registered;
-use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
-use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
-use Illuminate\Support\Facades\Event;
-
-class EventServiceProvider extends ServiceProvider
-{
- /**
- * The event to listener mappings for the application.
- *
- * @var array<class-string, array<int, class-string>>
- */
- protected $listen = [
- Registered::class => [
- SendEmailVerificationNotification::class,
- ],
- ];
-
- /**
- * Register any events for your application.
- */
- public function boot(): void
- {
- //
- }
-
- /**
- * Determine if events and listeners should be automatically discovered.
- */
- public function shouldDiscoverEvents(): bool
- {
- return false;
- }
-}
diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php
deleted file mode 100644
index 1cf5f15..0000000
--- a/app/Providers/RouteServiceProvider.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-namespace App\Providers;
-
-use Illuminate\Cache\RateLimiting\Limit;
-use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
-use Illuminate\Http\Request;
-use Illuminate\Support\Facades\RateLimiter;
-use Illuminate\Support\Facades\Route;
-
-class RouteServiceProvider extends ServiceProvider
-{
- /**
- * The path to your application's "home" route.
- *
- * Typically, users are redirected here after authentication.
- *
- * @var string
- */
- public const HOME = '/home';
-
- /**
- * Define your route model bindings, pattern filters, and other route configuration.
- */
- public function boot(): void
- {
- RateLimiter::for('api', function (Request $request) {
- return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
- });
-
- $this->routes(function () {
- Route::middleware('api')
- ->prefix('api')
- ->group(base_path('routes/api.php'));
-
- Route::middleware('web')
- ->group(base_path('routes/web.php'));
- });
- }
-}
diff --git a/app/View/Components/CurrentTrack.php b/app/View/Components/CurrentTrack.php
deleted file mode 100644
index 337809a..0000000
--- a/app/View/Components/CurrentTrack.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-namespace App\View\Components;
-
-use Closure;
-use Illuminate\Contracts\View\View;
-use Illuminate\View\Component;
-
-class CurrentTrack extends Component
-{
- public $track;
- /**
- * Create a new component instance.
- */
- public function __construct($track)
- {
- $this->track = $track;
- }
-
- /**
- * Get the view / contents that represent the component.
- */
- public function render(): View|Closure|string
- {
- return view('components.current-track');
- }
-}
diff --git a/app/View/Components/DiscordStatus.php b/app/View/Components/DiscordStatus.php
deleted file mode 100644
index fac06ae..0000000
--- a/app/View/Components/DiscordStatus.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-namespace App\View\Components;
-
-use Closure;
-use Illuminate\Contracts\View\View;
-use Illuminate\Support\Facades\Cache;
-use Illuminate\Support\Facades\Config;
-use Illuminate\Support\Facades\Http;
-use Illuminate\View\Component;
-
-class DiscordStatus extends Component
-{
- /**
- * Create a new component instance.
- */
- public function __construct()
- {
- //
- }
-
- /**
- * Returns current Discord presence from Lanyard API
- * @return array|mixed
- */
- public function getDiscordPresence(): mixed {
- // If it's already cached just return that
- if (Cache::has('discord_presence')) {
- return Cache::get('discord_presence');
- }
-
- $response = Http::get('https://api.lanyard.rest/v1/users/' . Config::get('services.lanyard.user_id'));
- $data = $response->json();
- $presence = $data["data"];
- Cache::put('discord_presence', $presence, now()->addSeconds(60));
- return $presence;
- }
-
- public function getOnlineStatus(): array {
- $presence = $this->getDiscordPresence();
- return match ($presence["discord_status"]) {
- "online", "dnd" => [
- "text" => "online",
- "color" => "#02c83a"
- ],
- "idle" => [
- "text" => "away",
- "color" => "#d77c20"
- ],
- default => [
- "text" => "offline",
- "color" => "#ca3329"
- ],
- };
- }
-
- /**
- * Get the view / contents that represent the component.
- */
- public function render(): View|Closure|string
- {
- return view('components.discord-status', [
- 'status' => $this->getOnlineStatus(),
- ]);
- }
-}
diff --git a/app/View/Components/Layout.php b/app/View/Components/Layout.php
deleted file mode 100644
index 576d1a0..0000000
--- a/app/View/Components/Layout.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-namespace App\View\Components;
-
-use Closure;
-use Illuminate\Contracts\View\View;
-use Illuminate\View\Component;
-
-class Layout extends Component
-{
- /**
- * Create a new component instance.
- */
- public function __construct()
- {
- //
- }
-
- /**
- * Get the view / contents that represent the component.
- */
- public function render(): View|Closure|string
- {
- return view('components.layout');
- }
-}
diff --git a/app/View/Components/Navbar.php b/app/View/Components/Navbar.php
deleted file mode 100644
index 7f119fe..0000000
--- a/app/View/Components/Navbar.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-namespace App\View\Components;
-
-use Closure;
-use Illuminate\Contracts\View\View;
-use Illuminate\View\Component;
-
-class Navbar extends Component
-{
- public $title;
- /**
- * Create a new component instance.
- */
- public function __construct($title)
- {
- $this->title = $title;
- }
-
- /**
- * Get the view / contents that represent the component.
- */
- public function render(): View|Closure|string
- {
- return view('components.navigation');
- }
-}
diff --git a/app/View/Components/NeverSaid.php b/app/View/Components/NeverSaid.php
deleted file mode 100644
index c9e1006..0000000
--- a/app/View/Components/NeverSaid.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-namespace App\View\Components;
-
-use Closure;
-use Illuminate\Contracts\View\View;
-use Illuminate\View\Component;
-
-class NeverSaid extends Component
-{
- /**
- * Create a new component instance.
- */
- public function __construct()
- {
- //
- }
-
- function returnQuote(): array {
- $quotes = config('quotes.neversaid');
- $index = rand(0, count($quotes) - 1);
- return $quotes[$index];
- }
-
- /**
- * Get the view / contents that represent the component.
- */
- public function render(): View|Closure|string
- {
- return view('components.never-said', [
- "quote" => $this->returnQuote()
- ]);
- }
-}
diff --git a/app/View/Components/TohQuote.php b/app/View/Components/TohQuote.php
deleted file mode 100644
index a53d713..0000000
--- a/app/View/Components/TohQuote.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-namespace App\View\Components;
-
-use Closure;
-use Illuminate\Contracts\View\View;
-use Illuminate\View\Component;
-
-class TohQuote extends Component
-{
- /**
- * Create a new component instance.
- */
- public function __construct()
- {
- //
- }
-
- function returnQuote(): array {
- $quotes = config('quotes.toh');
- $index = rand(0, count($quotes) - 1);
- return $quotes[$index];
- }
-
-
- /**
- * Get the view / contents that represent the component.
- */
- public function render(): View|Closure|string
- {
- return view('components.toh-quote',[
- 'quote' => $this->returnQuote()
- ]);
- }
-}
diff --git a/app/View/Components/TopTracks.php b/app/View/Components/TopTracks.php
deleted file mode 100644
index 768ce33..0000000
--- a/app/View/Components/TopTracks.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-namespace App\View\Components;
-
-use Closure;
-use Illuminate\Contracts\View\View;
-use Illuminate\View\Component;
-
-class TopTracks extends Component
-{
- public $tracks;
- /**
- * Create a new component instance.
- */
- public function __construct($tracks)
- {
- $this->tracks = $tracks;
- }
-
- /**
- * Get the view / contents that represent the component.
- */
- public function render(): View|Closure|string
- {
- return view('components.top-tracks');
- }
-}
diff --git a/app/View/Components/Track.php b/app/View/Components/Track.php
deleted file mode 100644
index b9f628f..0000000
--- a/app/View/Components/Track.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-namespace App\View\Components;
-
-use Closure;
-use Illuminate\Contracts\View\View;
-use Illuminate\View\Component;
-
-class Track extends Component
-{
- public $track;
- public $count;
- /**
- * Create a new component instance.
- */
- public function __construct($track, $count)
- {
- $this->track = $track;
- $this->count = $count;
- }
-
- /**
- * Get the view / contents that represent the component.
- */
- public function render(): View|Closure|string
- {
- return view('components.track');
- }
-}
diff --git a/app/View/Components/Weather.php b/app/View/Components/Weather.php
deleted file mode 100644
index 69be9fd..0000000
--- a/app/View/Components/Weather.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-namespace App\View\Components;
-
-use Closure;
-use Illuminate\Contracts\View\View;
-use Illuminate\Support\Facades\Cache;
-use Illuminate\Support\Facades\Config;
-use Illuminate\Support\Facades\Http;
-use Illuminate\View\Component;
-
-class Weather extends Component
-{
- /**
- * Create a new component instance.
- */
- public function __construct()
- {
- //
- }
-
- public function getWeatherData(): mixed {
- // If it's already cached just return that
- if (Cache::has('weather_data')) {
- return Cache::get('weather_data');
- }
-
- $response = Http::get('http://'. Config::get('services.weatherlink') . '/v1/current_conditions');
- $data = $response->json();
- $conditions = $data["data"]["conditions"];
- Cache::put('weather_data', $conditions, now()->addSeconds(60));
- return $conditions;
- }
-
- /**
- * Get the view / contents that represent the component.
- */
- public function render(): View|Closure|string
- {
- return view('components.weather', [
- 'conditions' => $this->getWeatherData(),
- ]);
- }
-}
diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js
new file mode 100644
index 0000000..ddd546a
--- /dev/null
+++ b/app/assets/config/manifest.js
@@ -0,0 +1,4 @@
+//= link_tree ../images
+//= link_directory ../stylesheets .css
+//= link_tree ../../javascript .js
+//= link_tree ../../../vendor/javascript .js
diff --git a/resources/views/components/minimal.blade.php b/app/assets/images/.keep
index e69de29..e69de29 100644
--- a/resources/views/components/minimal.blade.php
+++ b/app/assets/images/.keep
diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css
new file mode 100644
index 0000000..288b9ab
--- /dev/null
+++ b/app/assets/stylesheets/application.css
@@ -0,0 +1,15 @@
+/*
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
+ * listed below.
+ *
+ * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
+ * vendor/assets/stylesheets directory can be referenced here using a relative path.
+ *
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS
+ * files in this directory. Styles in this file should be added after the last require_* statement.
+ * It is generally better to create a new file per style scope.
+ *
+ *= require_tree .
+ *= require_self
+ */
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
new file mode 100644
index 0000000..09705d1
--- /dev/null
+++ b/app/controllers/application_controller.rb
@@ -0,0 +1,2 @@
+class ApplicationController < ActionController::Base
+end
diff --git a/app/controllers/concerns/.keep b/app/controllers/concerns/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/controllers/concerns/.keep
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
new file mode 100644
index 0000000..de6be79
--- /dev/null
+++ b/app/helpers/application_helper.rb
@@ -0,0 +1,2 @@
+module ApplicationHelper
+end
diff --git a/app/javascript/application.js b/app/javascript/application.js
new file mode 100644
index 0000000..0d7b494
--- /dev/null
+++ b/app/javascript/application.js
@@ -0,0 +1,3 @@
+// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails
+import "@hotwired/turbo-rails"
+import "controllers"
diff --git a/app/javascript/controllers/application.js b/app/javascript/controllers/application.js
new file mode 100644
index 0000000..1213e85
--- /dev/null
+++ b/app/javascript/controllers/application.js
@@ -0,0 +1,9 @@
+import { Application } from "@hotwired/stimulus"
+
+const application = Application.start()
+
+// Configure Stimulus development experience
+application.debug = false
+window.Stimulus = application
+
+export { application }
diff --git a/app/javascript/controllers/hello_controller.js b/app/javascript/controllers/hello_controller.js
new file mode 100644
index 0000000..5975c07
--- /dev/null
+++ b/app/javascript/controllers/hello_controller.js
@@ -0,0 +1,7 @@
+import { Controller } from "@hotwired/stimulus"
+
+export default class extends Controller {
+ connect() {
+ this.element.textContent = "Hello World!"
+ }
+}
diff --git a/app/javascript/controllers/index.js b/app/javascript/controllers/index.js
new file mode 100644
index 0000000..54ad4ca
--- /dev/null
+++ b/app/javascript/controllers/index.js
@@ -0,0 +1,11 @@
+// Import and register all your controllers from the importmap under controllers/*
+
+import { application } from "controllers/application"
+
+// Eager load all controllers defined in the import map under controllers/**/*_controller
+import { eagerLoadControllersFrom } from "@hotwired/stimulus-loading"
+eagerLoadControllersFrom("controllers", application)
+
+// Lazy load controllers as they appear in the DOM (remember not to preload controllers in import map!)
+// import { lazyLoadControllersFrom } from "@hotwired/stimulus-loading"
+// lazyLoadControllersFrom("controllers", application)
diff --git a/app/models/application_record.rb b/app/models/application_record.rb
new file mode 100644
index 0000000..b63caeb
--- /dev/null
+++ b/app/models/application_record.rb
@@ -0,0 +1,3 @@
+class ApplicationRecord < ActiveRecord::Base
+ primary_abstract_class
+end
diff --git a/app/models/concerns/.keep b/app/models/concerns/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/models/concerns/.keep
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
new file mode 100644
index 0000000..9a415ef
--- /dev/null
+++ b/app/views/layouts/application.html.erb
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>DiskfloppyMe</title>
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+ <%= csrf_meta_tags %>
+ <%= csp_meta_tag %>
+
+ <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
+ <%= javascript_importmap_tags %>
+ </head>
+
+ <body>
+ <%= yield %>
+ </body>
+</html>
diff --git a/artisan b/artisan
deleted file mode 100755
index 67a3329..0000000
--- a/artisan
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/env php
-<?php
-
-define('LARAVEL_START', microtime(true));
-
-/*
-|--------------------------------------------------------------------------
-| Register The Auto Loader
-|--------------------------------------------------------------------------
-|
-| Composer provides a convenient, automatically generated class loader
-| for our application. We just need to utilize it! We'll require it
-| into the script here so that we do not have to worry about the
-| loading of any of our classes manually. It's great to relax.
-|
-*/
-
-require __DIR__.'/vendor/autoload.php';
-
-$app = require_once __DIR__.'/bootstrap/app.php';
-
-/*
-|--------------------------------------------------------------------------
-| Run The Artisan Application
-|--------------------------------------------------------------------------
-|
-| When we run the console application, the current CLI command will be
-| executed in this console and the response sent back to a terminal
-| or another output device for the developers. Here goes nothing!
-|
-*/
-
-$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
-
-$status = $kernel->handle(
- $input = new Symfony\Component\Console\Input\ArgvInput,
- new Symfony\Component\Console\Output\ConsoleOutput
-);
-
-/*
-|--------------------------------------------------------------------------
-| Shutdown The Application
-|--------------------------------------------------------------------------
-|
-| Once Artisan has finished running, we will fire off the shutdown events
-| so that any final work may be done by the application before we shut
-| down the process. This is the last thing to happen to the request.
-|
-*/
-
-$kernel->terminate($input, $status);
-
-exit($status);
diff --git a/auth0 b/auth0
deleted file mode 100755
index ff4d28b..0000000
--- a/auth0
+++ /dev/null
Binary files differ
diff --git a/bin/bundle b/bin/bundle
new file mode 100644
index 0000000..50da5fd
--- /dev/null
+++ b/bin/bundle
@@ -0,0 +1,109 @@
+#!/usr/bin/env ruby
+# frozen_string_literal: true
+
+#
+# This file was generated by Bundler.
+#
+# The application 'bundle' is installed as part of a gem, and
+# this file is here to facilitate running it.
+#
+
+require "rubygems"
+
+m = Module.new do
+ module_function
+
+ def invoked_as_script?
+ File.expand_path($0) == File.expand_path(__FILE__)
+ end
+
+ def env_var_version
+ ENV["BUNDLER_VERSION"]
+ end
+
+ def cli_arg_version
+ return unless invoked_as_script? # don't want to hijack other binstubs
+ return unless "update".start_with?(ARGV.first || " ") # must be running `bundle update`
+ bundler_version = nil
+ update_index = nil
+ ARGV.each_with_index do |a, i|
+ if update_index && update_index.succ == i && a.match?(Gem::Version::ANCHORED_VERSION_PATTERN)
+ bundler_version = a
+ end
+ next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/
+ bundler_version = $1
+ update_index = i
+ end
+ bundler_version
+ end
+
+ def gemfile
+ gemfile = ENV["BUNDLE_GEMFILE"]
+ return gemfile if gemfile && !gemfile.empty?
+
+ File.expand_path("../Gemfile", __dir__)
+ end
+
+ def lockfile
+ lockfile =
+ case File.basename(gemfile)
+ when "gems.rb" then gemfile.sub(/\.rb$/, ".locked")
+ else "#{gemfile}.lock"
+ end
+ File.expand_path(lockfile)
+ end
+
+ def lockfile_version
+ return unless File.file?(lockfile)
+ lockfile_contents = File.read(lockfile)
+ return unless lockfile_contents =~ /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/
+ Regexp.last_match(1)
+ end
+
+ def bundler_requirement
+ @bundler_requirement ||=
+ env_var_version ||
+ cli_arg_version ||
+ bundler_requirement_for(lockfile_version)
+ end
+
+ def bundler_requirement_for(version)
+ return "#{Gem::Requirement.default}.a" unless version
+
+ bundler_gem_version = Gem::Version.new(version)
+
+ bundler_gem_version.approximate_recommendation
+ end
+
+ def load_bundler!
+ ENV["BUNDLE_GEMFILE"] ||= gemfile
+
+ activate_bundler
+ end
+
+ def activate_bundler
+ gem_error = activation_error_handling do
+ gem "bundler", bundler_requirement
+ end
+ return if gem_error.nil?
+ require_error = activation_error_handling do
+ require "bundler/version"
+ end
+ return if require_error.nil? && Gem::Requirement.new(bundler_requirement).satisfied_by?(Gem::Version.new(Bundler::VERSION))
+ warn "Activating bundler (#{bundler_requirement}) failed:\n#{gem_error.message}\n\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_requirement}'`"
+ exit 42
+ end
+
+ def activation_error_handling
+ yield
+ nil
+ rescue StandardError, LoadError => e
+ e
+ end
+end
+
+m.load_bundler!
+
+if m.invoked_as_script?
+ load Gem.bin_path("bundler", "bundle")
+end
diff --git a/bin/bundle.cmd b/bin/bundle.cmd
new file mode 100644
index 0000000..b6a1f7f
--- /dev/null
+++ b/bin/bundle.cmd
@@ -0,0 +1,112 @@
+@ruby -x "%~f0" %*
+@exit /b %ERRORLEVEL%
+
+#!/usr/bin/env ruby
+# frozen_string_literal: true
+
+#
+# This file was generated by Bundler.
+#
+# The application 'bundle' is installed as part of a gem, and
+# this file is here to facilitate running it.
+#
+
+require "rubygems"
+
+m = Module.new do
+ module_function
+
+ def invoked_as_script?
+ File.expand_path($0) == File.expand_path(__FILE__)
+ end
+
+ def env_var_version
+ ENV["BUNDLER_VERSION"]
+ end
+
+ def cli_arg_version
+ return unless invoked_as_script? # don't want to hijack other binstubs
+ return unless "update".start_with?(ARGV.first || " ") # must be running `bundle update`
+ bundler_version = nil
+ update_index = nil
+ ARGV.each_with_index do |a, i|
+ if update_index && update_index.succ == i && a.match?(Gem::Version::ANCHORED_VERSION_PATTERN)
+ bundler_version = a
+ end
+ next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/
+ bundler_version = $1
+ update_index = i
+ end
+ bundler_version
+ end
+
+ def gemfile
+ gemfile = ENV["BUNDLE_GEMFILE"]
+ return gemfile if gemfile && !gemfile.empty?
+
+ File.expand_path("../Gemfile", __dir__)
+ end
+
+ def lockfile
+ lockfile =
+ case File.basename(gemfile)
+ when "gems.rb" then gemfile.sub(/\.rb$/, ".locked")
+ else "#{gemfile}.lock"
+ end
+ File.expand_path(lockfile)
+ end
+
+ def lockfile_version
+ return unless File.file?(lockfile)
+ lockfile_contents = File.read(lockfile)
+ return unless lockfile_contents =~ /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/
+ Regexp.last_match(1)
+ end
+
+ def bundler_requirement
+ @bundler_requirement ||=
+ env_var_version ||
+ cli_arg_version ||
+ bundler_requirement_for(lockfile_version)
+ end
+
+ def bundler_requirement_for(version)
+ return "#{Gem::Requirement.default}.a" unless version
+
+ bundler_gem_version = Gem::Version.new(version)
+
+ bundler_gem_version.approximate_recommendation
+ end
+
+ def load_bundler!
+ ENV["BUNDLE_GEMFILE"] ||= gemfile
+
+ activate_bundler
+ end
+
+ def activate_bundler
+ gem_error = activation_error_handling do
+ gem "bundler", bundler_requirement
+ end
+ return if gem_error.nil?
+ require_error = activation_error_handling do
+ require "bundler/version"
+ end
+ return if require_error.nil? && Gem::Requirement.new(bundler_requirement).satisfied_by?(Gem::Version.new(Bundler::VERSION))
+ warn "Activating bundler (#{bundler_requirement}) failed:\n#{gem_error.message}\n\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_requirement}'`"
+ exit 42
+ end
+
+ def activation_error_handling
+ yield
+ nil
+ rescue StandardError, LoadError => e
+ e
+ end
+end
+
+m.load_bundler!
+
+if m.invoked_as_script?
+ load Gem.bin_path("bundler", "bundle")
+end
diff --git a/bin/docker-entrypoint b/bin/docker-entrypoint
new file mode 100644
index 0000000..67ef493
--- /dev/null
+++ b/bin/docker-entrypoint
@@ -0,0 +1,8 @@
+#!/bin/bash -e
+
+# If running the rails server then create or migrate existing database
+if [ "${1}" == "./bin/rails" ] && [ "${2}" == "server" ]; then
+ ./bin/rails db:prepare
+fi
+
+exec "${@}"
diff --git a/bin/importmap b/bin/importmap
new file mode 100644
index 0000000..36502ab
--- /dev/null
+++ b/bin/importmap
@@ -0,0 +1,4 @@
+#!/usr/bin/env ruby
+
+require_relative "../config/application"
+require "importmap/commands"
diff --git a/bin/rails b/bin/rails
new file mode 100644
index 0000000..7bcc36e
--- /dev/null
+++ b/bin/rails
@@ -0,0 +1,4 @@
+#!/usr/bin/env ruby.exe
+APP_PATH = File.expand_path("../config/application", __dir__)
+require_relative "../config/boot"
+require "rails/commands"
diff --git a/bin/rake b/bin/rake
new file mode 100644
index 0000000..01f7fc0
--- /dev/null
+++ b/bin/rake
@@ -0,0 +1,4 @@
+#!/usr/bin/env ruby.exe
+require_relative "../config/boot"
+require "rake"
+Rake.application.run
diff --git a/bin/setup b/bin/setup
new file mode 100644
index 0000000..11696f3
--- /dev/null
+++ b/bin/setup
@@ -0,0 +1,33 @@
+#!/usr/bin/env ruby.exe
+require "fileutils"
+
+# path to your application root.
+APP_ROOT = File.expand_path("..", __dir__)
+
+def system!(*args)
+ system(*args, exception: true)
+end
+
+FileUtils.chdir APP_ROOT do
+ # This script is a way to set up or update your development environment automatically.
+ # This script is idempotent, so that you can run it at any time and get an expectable outcome.
+ # Add necessary setup steps to this file.
+
+ puts "== Installing dependencies =="
+ system! "gem install bundler --conservative"
+ system("bundle check") || system!("bundle install")
+
+ # puts "\n== Copying sample files =="
+ # unless File.exist?("config/database.yml")
+ # FileUtils.cp "config/database.yml.sample", "config/database.yml"
+ # end
+
+ puts "\n== Preparing database =="
+ system! "bin/rails db:prepare"
+
+ puts "\n== Removing old logs and tempfiles =="
+ system! "bin/rails log:clear tmp:clear"
+
+ puts "\n== Restarting application server =="
+ system! "bin/rails restart"
+end
diff --git a/bootstrap/app.php b/bootstrap/app.php
deleted file mode 100644
index b926f0e..0000000
--- a/bootstrap/app.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
-|--------------------------------------------------------------------------
-| Create The Application
-|--------------------------------------------------------------------------
-|
-| The first thing we will do is create a new Laravel application instance
-| which serves as the "glue" for all the components of Laravel, and is
-| the IoC container for the system binding all of the various parts.
-|
-*/
-
-$app = new Gecche\Multidomain\Foundation\Application(
- $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)
-);
-
-/*
-|--------------------------------------------------------------------------
-| Bind Important Interfaces
-|--------------------------------------------------------------------------
-|
-| Next, we need to bind some important interfaces into the container so
-| we will be able to resolve them when needed. The kernels serve the
-| incoming requests to this application from both the web and CLI.
-|
-*/
-
-$app->singleton(
- Illuminate\Contracts\Http\Kernel::class,
- App\Http\Kernel::class
-);
-
-$app->singleton(
- Illuminate\Contracts\Console\Kernel::class,
- App\Console\Kernel::class
-);
-
-$app->singleton(
- Illuminate\Contracts\Debug\ExceptionHandler::class,
- App\Exceptions\Handler::class
-);
-
-/*
-|--------------------------------------------------------------------------
-| Return The Application
-|--------------------------------------------------------------------------
-|
-| This script returns the application instance. The instance is given to
-| the calling script so we can separate the building of the instances
-| from the actual running of the application and sending responses.
-|
-*/
-
-return $app;
diff --git a/bootstrap/cache/.gitignore b/bootstrap/cache/.gitignore
deleted file mode 100644
index d6b7ef3..0000000
--- a/bootstrap/cache/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/composer.json b/composer.json
deleted file mode 100644
index 7c71732..0000000
--- a/composer.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "name": "floppydisk05/diskfloppy.me",
- "type": "project",
- "description": "My personal website, developed using the Laravel framework.",
- "keywords": ["laravel", "framework"],
- "license": "MIT",
- "require": {
- "php": "^8.1",
- "gecche/laravel-multidomain": "^10.2",
- "guzzlehttp/guzzle": "^7.2",
- "laravel/framework": "^10.10",
- "laravel/tinker": "^2.8",
- "scrivo/highlight.php": "v9.18.1.10",
- "sentry/sentry-laravel": "^4.1",
- "spatie/laravel-honeypot": "^4.3",
- "spatie/laravel-html": "^3.4",
- "ua-parser/uap-php": "^3.9.14"
- },
- "require-dev": {
- "fakerphp/faker": "^1.9.1",
- "laravel/pint": "^1.0",
- "laravel/sail": "^1.18",
- "mockery/mockery": "^1.4.4",
- "nunomaduro/collision": "^7.0",
- "phpunit/phpunit": "^10.1",
- "spatie/laravel-ignition": "^2.0"
- },
- "autoload": {
- "psr-4": {
- "App\\": "app/",
- "Database\\Factories\\": "database/factories/",
- "Database\\Seeders\\": "database/seeders/"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "Tests\\": "tests/"
- }
- },
- "scripts": {
- "post-autoload-dump": [
- "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
- "@php artisan package:discover --ansi"
- ],
- "post-update-cmd": [
- "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
- ],
- "post-root-package-install": [
- "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
- ],
- "post-create-project-cmd": [
- "@php artisan key:generate --ansi"
- ]
- },
- "extra": {
- "laravel": {
- "dont-discover": []
- }
- },
- "config": {
- "optimize-autoloader": true,
- "preferred-install": "dist",
- "sort-packages": true,
- "allow-plugins": {
- "pestphp/pest-plugin": true,
- "php-http/discovery": true
- }
- },
- "minimum-stability": "stable",
- "prefer-stable": true
-}
diff --git a/composer.lock b/composer.lock
deleted file mode 100644
index 5e98536..0000000
--- a/composer.lock
+++ /dev/null
@@ -1,9098 +0,0 @@
-{
- "_readme": [
- "This file locks the dependencies of your project to a known state",
- "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
- "This file is @generated automatically"
- ],
- "content-hash": "9ebfe85d188a66c9ab775b795cc6c06c",
- "packages": [
- {
- "name": "brick/math",
- "version": "0.12.1",
- "source": {
- "type": "git",
- "url": "https://github.com/brick/math.git",
- "reference": "f510c0a40911935b77b86859eb5223d58d660df1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/brick/math/zipball/f510c0a40911935b77b86859eb5223d58d660df1",
- "reference": "f510c0a40911935b77b86859eb5223d58d660df1",
- "shasum": ""
- },
- "require": {
- "php": "^8.1"
- },
- "require-dev": {
- "php-coveralls/php-coveralls": "^2.2",
- "phpunit/phpunit": "^10.1",
- "vimeo/psalm": "5.16.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Brick\\Math\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Arbitrary-precision arithmetic library",
- "keywords": [
- "Arbitrary-precision",
- "BigInteger",
- "BigRational",
- "arithmetic",
- "bigdecimal",
- "bignum",
- "bignumber",
- "brick",
- "decimal",
- "integer",
- "math",
- "mathematics",
- "rational"
- ],
- "support": {
- "issues": "https://github.com/brick/math/issues",
- "source": "https://github.com/brick/math/tree/0.12.1"
- },
- "funding": [
- {
- "url": "https://github.com/BenMorel",
- "type": "github"
- }
- ],
- "time": "2023-11-29T23:19:16+00:00"
- },
- {
- "name": "carbonphp/carbon-doctrine-types",
- "version": "2.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git",
- "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb",
- "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb",
- "shasum": ""
- },
- "require": {
- "php": "^7.4 || ^8.0"
- },
- "conflict": {
- "doctrine/dbal": "<3.7.0 || >=4.0.0"
- },
- "require-dev": {
- "doctrine/dbal": "^3.7.0",
- "nesbot/carbon": "^2.71.0 || ^3.0.0",
- "phpunit/phpunit": "^10.3"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Carbon\\Doctrine\\": "src/Carbon/Doctrine/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "KyleKatarn",
- "email": "kylekatarnls@gmail.com"
- }
- ],
- "description": "Types to use Carbon in Doctrine",
- "keywords": [
- "carbon",
- "date",
- "datetime",
- "doctrine",
- "time"
- ],
- "support": {
- "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues",
- "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0"
- },
- "funding": [
- {
- "url": "https://github.com/kylekatarnls",
- "type": "github"
- },
- {
- "url": "https://opencollective.com/Carbon",
- "type": "open_collective"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon",
- "type": "tidelift"
- }
- ],
- "time": "2023-12-11T17:09:12+00:00"
- },
- {
- "name": "composer/ca-bundle",
- "version": "1.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/composer/ca-bundle.git",
- "reference": "063d9aa8696582f5a41dffbbaf3c81024f0a604a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/composer/ca-bundle/zipball/063d9aa8696582f5a41dffbbaf3c81024f0a604a",
- "reference": "063d9aa8696582f5a41dffbbaf3c81024f0a604a",
- "shasum": ""
- },
- "require": {
- "ext-openssl": "*",
- "ext-pcre": "*",
- "php": "^7.2 || ^8.0"
- },
- "require-dev": {
- "phpstan/phpstan": "^1.10",
- "psr/log": "^1.0 || ^2.0 || ^3.0",
- "symfony/phpunit-bridge": "^4.2 || ^5",
- "symfony/process": "^4.0 || ^5.0 || ^6.0 || ^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Composer\\CaBundle\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- }
- ],
- "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.",
- "keywords": [
- "cabundle",
- "cacert",
- "certificate",
- "ssl",
- "tls"
- ],
- "support": {
- "irc": "irc://irc.freenode.org/composer",
- "issues": "https://github.com/composer/ca-bundle/issues",
- "source": "https://github.com/composer/ca-bundle/tree/1.5.1"
- },
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-08T15:28:20+00:00"
- },
- {
- "name": "dflydev/dot-access-data",
- "version": "v3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/dflydev/dflydev-dot-access-data.git",
- "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f",
- "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0"
- },
- "require-dev": {
- "phpstan/phpstan": "^0.12.42",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3",
- "scrutinizer/ocular": "1.6.0",
- "squizlabs/php_codesniffer": "^3.5",
- "vimeo/psalm": "^4.0.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Dflydev\\DotAccessData\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Dragonfly Development Inc.",
- "email": "info@dflydev.com",
- "homepage": "http://dflydev.com"
- },
- {
- "name": "Beau Simensen",
- "email": "beau@dflydev.com",
- "homepage": "http://beausimensen.com"
- },
- {
- "name": "Carlos Frutos",
- "email": "carlos@kiwing.it",
- "homepage": "https://github.com/cfrutos"
- },
- {
- "name": "Colin O'Dell",
- "email": "colinodell@gmail.com",
- "homepage": "https://www.colinodell.com"
- }
- ],
- "description": "Given a deep data structure, access data by dot notation.",
- "homepage": "https://github.com/dflydev/dflydev-dot-access-data",
- "keywords": [
- "access",
- "data",
- "dot",
- "notation"
- ],
- "support": {
- "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues",
- "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3"
- },
- "time": "2024-07-08T12:26:09+00:00"
- },
- {
- "name": "doctrine/inflector",
- "version": "2.0.10",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/inflector.git",
- "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc",
- "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0"
- },
- "require-dev": {
- "doctrine/coding-standard": "^11.0",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-phpunit": "^1.1",
- "phpstan/phpstan-strict-rules": "^1.3",
- "phpunit/phpunit": "^8.5 || ^9.5",
- "vimeo/psalm": "^4.25 || ^5.4"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Doctrine\\Inflector\\": "lib/Doctrine/Inflector"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.",
- "homepage": "https://www.doctrine-project.org/projects/inflector.html",
- "keywords": [
- "inflection",
- "inflector",
- "lowercase",
- "manipulation",
- "php",
- "plural",
- "singular",
- "strings",
- "uppercase",
- "words"
- ],
- "support": {
- "issues": "https://github.com/doctrine/inflector/issues",
- "source": "https://github.com/doctrine/inflector/tree/2.0.10"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector",
- "type": "tidelift"
- }
- ],
- "time": "2024-02-18T20:23:39+00:00"
- },
- {
- "name": "doctrine/lexer",
- "version": "3.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/lexer.git",
- "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd",
- "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd",
- "shasum": ""
- },
- "require": {
- "php": "^8.1"
- },
- "require-dev": {
- "doctrine/coding-standard": "^12",
- "phpstan/phpstan": "^1.10",
- "phpunit/phpunit": "^10.5",
- "psalm/plugin-phpunit": "^0.18.3",
- "vimeo/psalm": "^5.21"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Doctrine\\Common\\Lexer\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.",
- "homepage": "https://www.doctrine-project.org/projects/lexer.html",
- "keywords": [
- "annotations",
- "docblock",
- "lexer",
- "parser",
- "php"
- ],
- "support": {
- "issues": "https://github.com/doctrine/lexer/issues",
- "source": "https://github.com/doctrine/lexer/tree/3.0.1"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer",
- "type": "tidelift"
- }
- ],
- "time": "2024-02-05T11:56:58+00:00"
- },
- {
- "name": "dragonmantank/cron-expression",
- "version": "v3.3.3",
- "source": {
- "type": "git",
- "url": "https://github.com/dragonmantank/cron-expression.git",
- "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a",
- "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a",
- "shasum": ""
- },
- "require": {
- "php": "^7.2|^8.0",
- "webmozart/assert": "^1.0"
- },
- "replace": {
- "mtdowling/cron-expression": "^1.0"
- },
- "require-dev": {
- "phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^1.0",
- "phpstan/phpstan-webmozart-assert": "^1.0",
- "phpunit/phpunit": "^7.0|^8.0|^9.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Cron\\": "src/Cron/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Chris Tankersley",
- "email": "chris@ctankersley.com",
- "homepage": "https://github.com/dragonmantank"
- }
- ],
- "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due",
- "keywords": [
- "cron",
- "schedule"
- ],
- "support": {
- "issues": "https://github.com/dragonmantank/cron-expression/issues",
- "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3"
- },
- "funding": [
- {
- "url": "https://github.com/dragonmantank",
- "type": "github"
- }
- ],
- "time": "2023-08-10T19:36:49+00:00"
- },
- {
- "name": "egulias/email-validator",
- "version": "4.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/egulias/EmailValidator.git",
- "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e",
- "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e",
- "shasum": ""
- },
- "require": {
- "doctrine/lexer": "^2.0 || ^3.0",
- "php": ">=8.1",
- "symfony/polyfill-intl-idn": "^1.26"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.2",
- "vimeo/psalm": "^5.12"
- },
- "suggest": {
- "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Egulias\\EmailValidator\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Eduardo Gulias Davis"
- }
- ],
- "description": "A library for validating emails against several RFCs",
- "homepage": "https://github.com/egulias/EmailValidator",
- "keywords": [
- "email",
- "emailvalidation",
- "emailvalidator",
- "validation",
- "validator"
- ],
- "support": {
- "issues": "https://github.com/egulias/EmailValidator/issues",
- "source": "https://github.com/egulias/EmailValidator/tree/4.0.2"
- },
- "funding": [
- {
- "url": "https://github.com/egulias",
- "type": "github"
- }
- ],
- "time": "2023-10-06T06:47:41+00:00"
- },
- {
- "name": "fruitcake/php-cors",
- "version": "v1.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/fruitcake/php-cors.git",
- "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b",
- "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b",
- "shasum": ""
- },
- "require": {
- "php": "^7.4|^8.0",
- "symfony/http-foundation": "^4.4|^5.4|^6|^7"
- },
- "require-dev": {
- "phpstan/phpstan": "^1.4",
- "phpunit/phpunit": "^9",
- "squizlabs/php_codesniffer": "^3.5"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Fruitcake\\Cors\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fruitcake",
- "homepage": "https://fruitcake.nl"
- },
- {
- "name": "Barryvdh",
- "email": "barryvdh@gmail.com"
- }
- ],
- "description": "Cross-origin resource sharing library for the Symfony HttpFoundation",
- "homepage": "https://github.com/fruitcake/php-cors",
- "keywords": [
- "cors",
- "laravel",
- "symfony"
- ],
- "support": {
- "issues": "https://github.com/fruitcake/php-cors/issues",
- "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0"
- },
- "funding": [
- {
- "url": "https://fruitcake.nl",
- "type": "custom"
- },
- {
- "url": "https://github.com/barryvdh",
- "type": "github"
- }
- ],
- "time": "2023-10-12T05:21:21+00:00"
- },
- {
- "name": "gecche/laravel-multidomain",
- "version": "v10.2",
- "source": {
- "type": "git",
- "url": "https://github.com/gecche/laravel-multidomain.git",
- "reference": "10fda309991bf58eeed0696103f12d071ada399f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/gecche/laravel-multidomain/zipball/10fda309991bf58eeed0696103f12d071ada399f",
- "reference": "10fda309991bf58eeed0696103f12d071ada399f",
- "shasum": ""
- },
- "require": {
- "laravel/framework": "^10.0"
- },
- "require-dev": {
- "diablomedia/phpunit-pretty-printer": "^5.0",
- "mockery/mockery": "^1.5.1",
- "orchestra/testbench": "^8.0",
- "orchestra/testbench-browser-kit": "^8.0",
- "phpunit/phpunit": "^9.6.0 || ^10.0.7"
- },
- "type": "library",
- "extra": {
- "laravel": {
- "providers": [
- "Gecche\\Multidomain\\Foundation\\Providers\\DomainConsoleServiceProvider"
- ]
- }
- },
- "autoload": {
- "files": [
- "src/Foundation/helpers.php"
- ],
- "psr-4": {
- "Gecche\\Multidomain\\": "src/"
- },
- "classmap": []
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Giacomo Terreni",
- "email": "giacomo.terreni@gmail.com"
- }
- ],
- "description": "Laravel App on a subdomains, multi-tenancy setting",
- "keywords": [
- "laravel",
- "multi-tenants",
- "multidomain",
- "multitenancy",
- "subdomains"
- ],
- "support": {
- "issues": "https://github.com/gecche/laravel-multidomain/issues",
- "source": "https://github.com/gecche/laravel-multidomain/tree/v10.2"
- },
- "time": "2024-02-20T09:54:57+00:00"
- },
- {
- "name": "graham-campbell/result-type",
- "version": "v1.1.3",
- "source": {
- "type": "git",
- "url": "https://github.com/GrahamCampbell/Result-Type.git",
- "reference": "3ba905c11371512af9d9bdd27d99b782216b6945"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945",
- "reference": "3ba905c11371512af9d9bdd27d99b782216b6945",
- "shasum": ""
- },
- "require": {
- "php": "^7.2.5 || ^8.0",
- "phpoption/phpoption": "^1.9.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "GrahamCampbell\\ResultType\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Graham Campbell",
- "email": "hello@gjcampbell.co.uk",
- "homepage": "https://github.com/GrahamCampbell"
- }
- ],
- "description": "An Implementation Of The Result Type",
- "keywords": [
- "Graham Campbell",
- "GrahamCampbell",
- "Result Type",
- "Result-Type",
- "result"
- ],
- "support": {
- "issues": "https://github.com/GrahamCampbell/Result-Type/issues",
- "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3"
- },
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-20T21:45:45+00:00"
- },
- {
- "name": "guzzlehttp/guzzle",
- "version": "7.9.2",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/guzzle.git",
- "reference": "d281ed313b989f213357e3be1a179f02196ac99b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b",
- "reference": "d281ed313b989f213357e3be1a179f02196ac99b",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "guzzlehttp/promises": "^1.5.3 || ^2.0.3",
- "guzzlehttp/psr7": "^2.7.0",
- "php": "^7.2.5 || ^8.0",
- "psr/http-client": "^1.0",
- "symfony/deprecation-contracts": "^2.2 || ^3.0"
- },
- "provide": {
- "psr/http-client-implementation": "1.0"
- },
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.8.2",
- "ext-curl": "*",
- "guzzle/client-integration-tests": "3.0.2",
- "php-http/message-factory": "^1.1",
- "phpunit/phpunit": "^8.5.39 || ^9.6.20",
- "psr/log": "^1.1 || ^2.0 || ^3.0"
- },
- "suggest": {
- "ext-curl": "Required for CURL handler support",
- "ext-intl": "Required for Internationalized Domain Name (IDN) support",
- "psr/log": "Required for using the Log middleware"
- },
- "type": "library",
- "extra": {
- "bamarni-bin": {
- "bin-links": true,
- "forward-command": false
- }
- },
- "autoload": {
- "files": [
- "src/functions_include.php"
- ],
- "psr-4": {
- "GuzzleHttp\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Graham Campbell",
- "email": "hello@gjcampbell.co.uk",
- "homepage": "https://github.com/GrahamCampbell"
- },
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "Jeremy Lindblom",
- "email": "jeremeamia@gmail.com",
- "homepage": "https://github.com/jeremeamia"
- },
- {
- "name": "George Mponos",
- "email": "gmponos@gmail.com",
- "homepage": "https://github.com/gmponos"
- },
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com",
- "homepage": "https://github.com/Nyholm"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com",
- "homepage": "https://github.com/sagikazarmark"
- },
- {
- "name": "Tobias Schultze",
- "email": "webmaster@tubo-world.de",
- "homepage": "https://github.com/Tobion"
- }
- ],
- "description": "Guzzle is a PHP HTTP client library",
- "keywords": [
- "client",
- "curl",
- "framework",
- "http",
- "http client",
- "psr-18",
- "psr-7",
- "rest",
- "web service"
- ],
- "support": {
- "issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.9.2"
- },
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://github.com/Nyholm",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-24T11:22:20+00:00"
- },
- {
- "name": "guzzlehttp/promises",
- "version": "2.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/promises.git",
- "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
- "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
- "shasum": ""
- },
- "require": {
- "php": "^7.2.5 || ^8.0"
- },
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.39 || ^9.6.20"
- },
- "type": "library",
- "extra": {
- "bamarni-bin": {
- "bin-links": true,
- "forward-command": false
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\Promise\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Graham Campbell",
- "email": "hello@gjcampbell.co.uk",
- "homepage": "https://github.com/GrahamCampbell"
- },
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com",
- "homepage": "https://github.com/Nyholm"
- },
- {
- "name": "Tobias Schultze",
- "email": "webmaster@tubo-world.de",
- "homepage": "https://github.com/Tobion"
- }
- ],
- "description": "Guzzle promises library",
- "keywords": [
- "promise"
- ],
- "support": {
- "issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/2.0.3"
- },
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://github.com/Nyholm",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-18T10:29:17+00:00"
- },
- {
- "name": "guzzlehttp/psr7",
- "version": "2.7.0",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/psr7.git",
- "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
- "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
- "shasum": ""
- },
- "require": {
- "php": "^7.2.5 || ^8.0",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.1 || ^2.0",
- "ralouphie/getallheaders": "^3.0"
- },
- "provide": {
- "psr/http-factory-implementation": "1.0",
- "psr/http-message-implementation": "1.0"
- },
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.8.2",
- "http-interop/http-factory-tests": "0.9.0",
- "phpunit/phpunit": "^8.5.39 || ^9.6.20"
- },
- "suggest": {
- "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
- },
- "type": "library",
- "extra": {
- "bamarni-bin": {
- "bin-links": true,
- "forward-command": false
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\Psr7\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Graham Campbell",
- "email": "hello@gjcampbell.co.uk",
- "homepage": "https://github.com/GrahamCampbell"
- },
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "George Mponos",
- "email": "gmponos@gmail.com",
- "homepage": "https://github.com/gmponos"
- },
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com",
- "homepage": "https://github.com/Nyholm"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com",
- "homepage": "https://github.com/sagikazarmark"
- },
- {
- "name": "Tobias Schultze",
- "email": "webmaster@tubo-world.de",
- "homepage": "https://github.com/Tobion"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com",
- "homepage": "https://sagikazarmark.hu"
- }
- ],
- "description": "PSR-7 message implementation that also provides common utility methods",
- "keywords": [
- "http",
- "message",
- "psr-7",
- "request",
- "response",
- "stream",
- "uri",
- "url"
- ],
- "support": {
- "issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.7.0"
- },
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://github.com/Nyholm",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-18T11:15:46+00:00"
- },
- {
- "name": "guzzlehttp/uri-template",
- "version": "v1.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/uri-template.git",
- "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c",
- "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c",
- "shasum": ""
- },
- "require": {
- "php": "^7.2.5 || ^8.0",
- "symfony/polyfill-php80": "^1.24"
- },
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.36 || ^9.6.15",
- "uri-template/tests": "1.0.0"
- },
- "type": "library",
- "extra": {
- "bamarni-bin": {
- "bin-links": true,
- "forward-command": false
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\UriTemplate\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Graham Campbell",
- "email": "hello@gjcampbell.co.uk",
- "homepage": "https://github.com/GrahamCampbell"
- },
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "George Mponos",
- "email": "gmponos@gmail.com",
- "homepage": "https://github.com/gmponos"
- },
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com",
- "homepage": "https://github.com/Nyholm"
- }
- ],
- "description": "A polyfill class for uri_template of PHP",
- "keywords": [
- "guzzlehttp",
- "uri-template"
- ],
- "support": {
- "issues": "https://github.com/guzzle/uri-template/issues",
- "source": "https://github.com/guzzle/uri-template/tree/v1.0.3"
- },
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://github.com/Nyholm",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/uri-template",
- "type": "tidelift"
- }
- ],
- "time": "2023-12-03T19:50:20+00:00"
- },
- {
- "name": "jean85/pretty-package-versions",
- "version": "2.0.6",
- "source": {
- "type": "git",
- "url": "https://github.com/Jean85/pretty-package-versions.git",
- "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/f9fdd29ad8e6d024f52678b570e5593759b550b4",
- "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4",
- "shasum": ""
- },
- "require": {
- "composer-runtime-api": "^2.0.0",
- "php": "^7.1|^8.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^3.2",
- "jean85/composer-provided-replaced-stub-package": "^1.0",
- "phpstan/phpstan": "^1.4",
- "phpunit/phpunit": "^7.5|^8.5|^9.4",
- "vimeo/psalm": "^4.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Jean85\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Alessandro Lai",
- "email": "alessandro.lai85@gmail.com"
- }
- ],
- "description": "A library to get pretty versions strings of installed dependencies",
- "keywords": [
- "composer",
- "package",
- "release",
- "versions"
- ],
- "support": {
- "issues": "https://github.com/Jean85/pretty-package-versions/issues",
- "source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.6"
- },
- "time": "2024-03-08T09:58:59+00:00"
- },
- {
- "name": "laravel/framework",
- "version": "v10.48.19",
- "source": {
- "type": "git",
- "url": "https://github.com/laravel/framework.git",
- "reference": "d816681a99a8fe2ea42fdf793b401dd3b34775a7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/d816681a99a8fe2ea42fdf793b401dd3b34775a7",
- "reference": "d816681a99a8fe2ea42fdf793b401dd3b34775a7",
- "shasum": ""
- },
- "require": {
- "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12",
- "composer-runtime-api": "^2.2",
- "doctrine/inflector": "^2.0.5",
- "dragonmantank/cron-expression": "^3.3.2",
- "egulias/email-validator": "^3.2.1|^4.0",
- "ext-ctype": "*",
- "ext-filter": "*",
- "ext-hash": "*",
- "ext-mbstring": "*",
- "ext-openssl": "*",
- "ext-session": "*",
- "ext-tokenizer": "*",
- "fruitcake/php-cors": "^1.2",
- "guzzlehttp/uri-template": "^1.0",
- "laravel/prompts": "^0.1.9",
- "laravel/serializable-closure": "^1.3",
- "league/commonmark": "^2.2.1",
- "league/flysystem": "^3.8.0",
- "monolog/monolog": "^3.0",
- "nesbot/carbon": "^2.67",
- "nunomaduro/termwind": "^1.13",
- "php": "^8.1",
- "psr/container": "^1.1.1|^2.0.1",
- "psr/log": "^1.0|^2.0|^3.0",
- "psr/simple-cache": "^1.0|^2.0|^3.0",
- "ramsey/uuid": "^4.7",
- "symfony/console": "^6.2",
- "symfony/error-handler": "^6.2",
- "symfony/finder": "^6.2",
- "symfony/http-foundation": "^6.4",
- "symfony/http-kernel": "^6.2",
- "symfony/mailer": "^6.2",
- "symfony/mime": "^6.2",
- "symfony/process": "^6.2",
- "symfony/routing": "^6.2",
- "symfony/uid": "^6.2",
- "symfony/var-dumper": "^6.2",
- "tijsverkoyen/css-to-inline-styles": "^2.2.5",
- "vlucas/phpdotenv": "^5.4.1",
- "voku/portable-ascii": "^2.0"
- },
- "conflict": {
- "carbonphp/carbon-doctrine-types": ">=3.0",
- "doctrine/dbal": ">=4.0",
- "mockery/mockery": "1.6.8",
- "phpunit/phpunit": ">=11.0.0",
- "tightenco/collect": "<5.5.33"
- },
- "provide": {
- "psr/container-implementation": "1.1|2.0",
- "psr/simple-cache-implementation": "1.0|2.0|3.0"
- },
- "replace": {
- "illuminate/auth": "self.version",
- "illuminate/broadcasting": "self.version",
- "illuminate/bus": "self.version",
- "illuminate/cache": "self.version",
- "illuminate/collections": "self.version",
- "illuminate/conditionable": "self.version",
- "illuminate/config": "self.version",
- "illuminate/console": "self.version",
- "illuminate/container": "self.version",
- "illuminate/contracts": "self.version",
- "illuminate/cookie": "self.version",
- "illuminate/database": "self.version",
- "illuminate/encryption": "self.version",
- "illuminate/events": "self.version",
- "illuminate/filesystem": "self.version",
- "illuminate/hashing": "self.version",
- "illuminate/http": "self.version",
- "illuminate/log": "self.version",
- "illuminate/macroable": "self.version",
- "illuminate/mail": "self.version",
- "illuminate/notifications": "self.version",
- "illuminate/pagination": "self.version",
- "illuminate/pipeline": "self.version",
- "illuminate/process": "self.version",
- "illuminate/queue": "self.version",
- "illuminate/redis": "self.version",
- "illuminate/routing": "self.version",
- "illuminate/session": "self.version",
- "illuminate/support": "self.version",
- "illuminate/testing": "self.version",
- "illuminate/translation": "self.version",
- "illuminate/validation": "self.version",
- "illuminate/view": "self.version"
- },
- "require-dev": {
- "ably/ably-php": "^1.0",
- "aws/aws-sdk-php": "^3.235.5",
- "doctrine/dbal": "^3.5.1",
- "ext-gmp": "*",
- "fakerphp/faker": "^1.21",
- "guzzlehttp/guzzle": "^7.5",
- "league/flysystem-aws-s3-v3": "^3.0",
- "league/flysystem-ftp": "^3.0",
- "league/flysystem-path-prefixing": "^3.3",
- "league/flysystem-read-only": "^3.3",
- "league/flysystem-sftp-v3": "^3.0",
- "mockery/mockery": "^1.5.1",
- "nyholm/psr7": "^1.2",
- "orchestra/testbench-core": "^8.23.4",
- "pda/pheanstalk": "^4.0",
- "phpstan/phpstan": "^1.4.7",
- "phpunit/phpunit": "^10.0.7",
- "predis/predis": "^2.0.2",
- "symfony/cache": "^6.2",
- "symfony/http-client": "^6.2.4",
- "symfony/psr-http-message-bridge": "^2.0"
- },
- "suggest": {
- "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).",
- "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).",
- "brianium/paratest": "Required to run tests in parallel (^6.0).",
- "doctrine/dbal": "Required to rename columns and drop SQLite columns (^3.5.1).",
- "ext-apcu": "Required to use the APC cache driver.",
- "ext-fileinfo": "Required to use the Filesystem class.",
- "ext-ftp": "Required to use the Flysystem FTP driver.",
- "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().",
- "ext-memcached": "Required to use the memcache cache driver.",
- "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.",
- "ext-pdo": "Required to use all database features.",
- "ext-posix": "Required to use all features of the queue worker.",
- "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).",
- "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
- "filp/whoops": "Required for friendly error pages in development (^2.14.3).",
- "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).",
- "laravel/tinker": "Required to use the tinker console command (^2.0).",
- "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).",
- "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).",
- "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).",
- "league/flysystem-read-only": "Required to use read-only disks (^3.3)",
- "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).",
- "mockery/mockery": "Required to use mocking (^1.5.1).",
- "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).",
- "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).",
- "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8|^10.0.7).",
- "predis/predis": "Required to use the predis connector (^2.0.2).",
- "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
- "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).",
- "symfony/cache": "Required to PSR-6 cache bridge (^6.2).",
- "symfony/filesystem": "Required to enable support for relative symbolic links (^6.2).",
- "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.2).",
- "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.2).",
- "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.2).",
- "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)."
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "10.x-dev"
- }
- },
- "autoload": {
- "files": [
- "src/Illuminate/Collections/helpers.php",
- "src/Illuminate/Events/functions.php",
- "src/Illuminate/Filesystem/functions.php",
- "src/Illuminate/Foundation/helpers.php",
- "src/Illuminate/Support/helpers.php"
- ],
- "psr-4": {
- "Illuminate\\": "src/Illuminate/",
- "Illuminate\\Support\\": [
- "src/Illuminate/Macroable/",
- "src/Illuminate/Collections/",
- "src/Illuminate/Conditionable/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Taylor Otwell",
- "email": "taylor@laravel.com"
- }
- ],
- "description": "The Laravel Framework.",
- "homepage": "https://laravel.com",
- "keywords": [
- "framework",
- "laravel"
- ],
- "support": {
- "issues": "https://github.com/laravel/framework/issues",
- "source": "https://github.com/laravel/framework"
- },
- "time": "2024-08-06T14:06:43+00:00"
- },
- {
- "name": "laravel/prompts",
- "version": "v0.1.24",
- "source": {
- "type": "git",
- "url": "https://github.com/laravel/prompts.git",
- "reference": "409b0b4305273472f3754826e68f4edbd0150149"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/laravel/prompts/zipball/409b0b4305273472f3754826e68f4edbd0150149",
- "reference": "409b0b4305273472f3754826e68f4edbd0150149",
- "shasum": ""
- },
- "require": {
- "ext-mbstring": "*",
- "illuminate/collections": "^10.0|^11.0",
- "php": "^8.1",
- "symfony/console": "^6.2|^7.0"
- },
- "conflict": {
- "illuminate/console": ">=10.17.0 <10.25.0",
- "laravel/framework": ">=10.17.0 <10.25.0"
- },
- "require-dev": {
- "mockery/mockery": "^1.5",
- "pestphp/pest": "^2.3",
- "phpstan/phpstan": "^1.11",
- "phpstan/phpstan-mockery": "^1.1"
- },
- "suggest": {
- "ext-pcntl": "Required for the spinner to be animated."
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "0.1.x-dev"
- }
- },
- "autoload": {
- "files": [
- "src/helpers.php"
- ],
- "psr-4": {
- "Laravel\\Prompts\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Add beautiful and user-friendly forms to your command-line applications.",
- "support": {
- "issues": "https://github.com/laravel/prompts/issues",
- "source": "https://github.com/laravel/prompts/tree/v0.1.24"
- },
- "time": "2024-06-17T13:58:22+00:00"
- },
- {
- "name": "laravel/serializable-closure",
- "version": "v1.3.4",
- "source": {
- "type": "git",
- "url": "https://github.com/laravel/serializable-closure.git",
- "reference": "61b87392d986dc49ad5ef64e75b1ff5fee24ef81"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/61b87392d986dc49ad5ef64e75b1ff5fee24ef81",
- "reference": "61b87392d986dc49ad5ef64e75b1ff5fee24ef81",
- "shasum": ""
- },
- "require": {
- "php": "^7.3|^8.0"
- },
- "require-dev": {
- "illuminate/support": "^8.0|^9.0|^10.0|^11.0",
- "nesbot/carbon": "^2.61|^3.0",
- "pestphp/pest": "^1.21.3",
- "phpstan/phpstan": "^1.8.2",
- "symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Laravel\\SerializableClosure\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Taylor Otwell",
- "email": "taylor@laravel.com"
- },
- {
- "name": "Nuno Maduro",
- "email": "nuno@laravel.com"
- }
- ],
- "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.",
- "keywords": [
- "closure",
- "laravel",
- "serializable"
- ],
- "support": {
- "issues": "https://github.com/laravel/serializable-closure/issues",
- "source": "https://github.com/laravel/serializable-closure"
- },
- "time": "2024-08-02T07:48:17+00:00"
- },
- {
- "name": "laravel/tinker",
- "version": "v2.9.0",
- "source": {
- "type": "git",
- "url": "https://github.com/laravel/tinker.git",
- "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/laravel/tinker/zipball/502e0fe3f0415d06d5db1f83a472f0f3b754bafe",
- "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe",
- "shasum": ""
- },
- "require": {
- "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0",
- "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0",
- "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0",
- "php": "^7.2.5|^8.0",
- "psy/psysh": "^0.11.1|^0.12.0",
- "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0"
- },
- "require-dev": {
- "mockery/mockery": "~1.3.3|^1.4.2",
- "phpstan/phpstan": "^1.10",
- "phpunit/phpunit": "^8.5.8|^9.3.3"
- },
- "suggest": {
- "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0)."
- },
- "type": "library",
- "extra": {
- "laravel": {
- "providers": [
- "Laravel\\Tinker\\TinkerServiceProvider"
- ]
- }
- },
- "autoload": {
- "psr-4": {
- "Laravel\\Tinker\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Taylor Otwell",
- "email": "taylor@laravel.com"
- }
- ],
- "description": "Powerful REPL for the Laravel framework.",
- "keywords": [
- "REPL",
- "Tinker",
- "laravel",
- "psysh"
- ],
- "support": {
- "issues": "https://github.com/laravel/tinker/issues",
- "source": "https://github.com/laravel/tinker/tree/v2.9.0"
- },
- "time": "2024-01-04T16:10:04+00:00"
- },
- {
- "name": "league/commonmark",
- "version": "2.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/commonmark.git",
- "reference": "ac815920de0eff6de947eac0a6a94e5ed0fb147c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/ac815920de0eff6de947eac0a6a94e5ed0fb147c",
- "reference": "ac815920de0eff6de947eac0a6a94e5ed0fb147c",
- "shasum": ""
- },
- "require": {
- "ext-mbstring": "*",
- "league/config": "^1.1.1",
- "php": "^7.4 || ^8.0",
- "psr/event-dispatcher": "^1.0",
- "symfony/deprecation-contracts": "^2.1 || ^3.0",
- "symfony/polyfill-php80": "^1.16"
- },
- "require-dev": {
- "cebe/markdown": "^1.0",
- "commonmark/cmark": "0.31.0",
- "commonmark/commonmark.js": "0.31.0",
- "composer/package-versions-deprecated": "^1.8",
- "embed/embed": "^4.4",
- "erusev/parsedown": "^1.0",
- "ext-json": "*",
- "github/gfm": "0.29.0",
- "michelf/php-markdown": "^1.4 || ^2.0",
- "nyholm/psr7": "^1.5",
- "phpstan/phpstan": "^1.8.2",
- "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0",
- "scrutinizer/ocular": "^1.8.1",
- "symfony/finder": "^5.3 | ^6.0 || ^7.0",
- "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0",
- "unleashedtech/php-coding-standard": "^3.1.1",
- "vimeo/psalm": "^4.24.0 || ^5.0.0"
- },
- "suggest": {
- "symfony/yaml": "v2.3+ required if using the Front Matter extension"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "2.6-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "League\\CommonMark\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Colin O'Dell",
- "email": "colinodell@gmail.com",
- "homepage": "https://www.colinodell.com",
- "role": "Lead Developer"
- }
- ],
- "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)",
- "homepage": "https://commonmark.thephpleague.com",
- "keywords": [
- "commonmark",
- "flavored",
- "gfm",
- "github",
- "github-flavored",
- "markdown",
- "md",
- "parser"
- ],
- "support": {
- "docs": "https://commonmark.thephpleague.com/",
- "forum": "https://github.com/thephpleague/commonmark/discussions",
- "issues": "https://github.com/thephpleague/commonmark/issues",
- "rss": "https://github.com/thephpleague/commonmark/releases.atom",
- "source": "https://github.com/thephpleague/commonmark"
- },
- "funding": [
- {
- "url": "https://www.colinodell.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://www.paypal.me/colinpodell/10.00",
- "type": "custom"
- },
- {
- "url": "https://github.com/colinodell",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/league/commonmark",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-24T12:52:09+00:00"
- },
- {
- "name": "league/config",
- "version": "v1.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/config.git",
- "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3",
- "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3",
- "shasum": ""
- },
- "require": {
- "dflydev/dot-access-data": "^3.0.1",
- "nette/schema": "^1.2",
- "php": "^7.4 || ^8.0"
- },
- "require-dev": {
- "phpstan/phpstan": "^1.8.2",
- "phpunit/phpunit": "^9.5.5",
- "scrutinizer/ocular": "^1.8.1",
- "unleashedtech/php-coding-standard": "^3.1",
- "vimeo/psalm": "^4.7.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.2-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "League\\Config\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Colin O'Dell",
- "email": "colinodell@gmail.com",
- "homepage": "https://www.colinodell.com",
- "role": "Lead Developer"
- }
- ],
- "description": "Define configuration arrays with strict schemas and access values with dot notation",
- "homepage": "https://config.thephpleague.com",
- "keywords": [
- "array",
- "config",
- "configuration",
- "dot",
- "dot-access",
- "nested",
- "schema"
- ],
- "support": {
- "docs": "https://config.thephpleague.com/",
- "issues": "https://github.com/thephpleague/config/issues",
- "rss": "https://github.com/thephpleague/config/releases.atom",
- "source": "https://github.com/thephpleague/config"
- },
- "funding": [
- {
- "url": "https://www.colinodell.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://www.paypal.me/colinpodell/10.00",
- "type": "custom"
- },
- {
- "url": "https://github.com/colinodell",
- "type": "github"
- }
- ],
- "time": "2022-12-11T20:36:23+00:00"
- },
- {
- "name": "league/flysystem",
- "version": "3.28.0",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/flysystem.git",
- "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c",
- "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c",
- "shasum": ""
- },
- "require": {
- "league/flysystem-local": "^3.0.0",
- "league/mime-type-detection": "^1.0.0",
- "php": "^8.0.2"
- },
- "conflict": {
- "async-aws/core": "<1.19.0",
- "async-aws/s3": "<1.14.0",
- "aws/aws-sdk-php": "3.209.31 || 3.210.0",
- "guzzlehttp/guzzle": "<7.0",
- "guzzlehttp/ringphp": "<1.1.1",
- "phpseclib/phpseclib": "3.0.15",
- "symfony/http-client": "<5.2"
- },
- "require-dev": {
- "async-aws/s3": "^1.5 || ^2.0",
- "async-aws/simple-s3": "^1.1 || ^2.0",
- "aws/aws-sdk-php": "^3.295.10",
- "composer/semver": "^3.0",
- "ext-fileinfo": "*",
- "ext-ftp": "*",
- "ext-mongodb": "^1.3",
- "ext-zip": "*",
- "friendsofphp/php-cs-fixer": "^3.5",
- "google/cloud-storage": "^1.23",
- "guzzlehttp/psr7": "^2.6",
- "microsoft/azure-storage-blob": "^1.1",
- "mongodb/mongodb": "^1.2",
- "phpseclib/phpseclib": "^3.0.36",
- "phpstan/phpstan": "^1.10",
- "phpunit/phpunit": "^9.5.11|^10.0",
- "sabre/dav": "^4.6.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "League\\Flysystem\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Frank de Jonge",
- "email": "info@frankdejonge.nl"
- }
- ],
- "description": "File storage abstraction for PHP",
- "keywords": [
- "WebDAV",
- "aws",
- "cloud",
- "file",
- "files",
- "filesystem",
- "filesystems",
- "ftp",
- "s3",
- "sftp",
- "storage"
- ],
- "support": {
- "issues": "https://github.com/thephpleague/flysystem/issues",
- "source": "https://github.com/thephpleague/flysystem/tree/3.28.0"
- },
- "time": "2024-05-22T10:09:12+00:00"
- },
- {
- "name": "league/flysystem-local",
- "version": "3.28.0",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/flysystem-local.git",
- "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/13f22ea8be526ea58c2ddff9e158ef7c296e4f40",
- "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40",
- "shasum": ""
- },
- "require": {
- "ext-fileinfo": "*",
- "league/flysystem": "^3.0.0",
- "league/mime-type-detection": "^1.0.0",
- "php": "^8.0.2"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "League\\Flysystem\\Local\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Frank de Jonge",
- "email": "info@frankdejonge.nl"
- }
- ],
- "description": "Local filesystem adapter for Flysystem.",
- "keywords": [
- "Flysystem",
- "file",
- "files",
- "filesystem",
- "local"
- ],
- "support": {
- "source": "https://github.com/thephpleague/flysystem-local/tree/3.28.0"
- },
- "time": "2024-05-06T20:05:52+00:00"
- },
- {
- "name": "league/mime-type-detection",
- "version": "1.15.0",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/mime-type-detection.git",
- "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301",
- "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301",
- "shasum": ""
- },
- "require": {
- "ext-fileinfo": "*",
- "php": "^7.4 || ^8.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^3.2",
- "phpstan/phpstan": "^0.12.68",
- "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "League\\MimeTypeDetection\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Frank de Jonge",
- "email": "info@frankdejonge.nl"
- }
- ],
- "description": "Mime-type detection for Flysystem",
- "support": {
- "issues": "https://github.com/thephpleague/mime-type-detection/issues",
- "source": "https://github.com/thephpleague/mime-type-detection/tree/1.15.0"
- },
- "funding": [
- {
- "url": "https://github.com/frankdejonge",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/league/flysystem",
- "type": "tidelift"
- }
- ],
- "time": "2024-01-28T23:22:08+00:00"
- },
- {
- "name": "monolog/monolog",
- "version": "3.7.0",
- "source": {
- "type": "git",
- "url": "https://github.com/Seldaek/monolog.git",
- "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f4393b648b78a5408747de94fca38beb5f7e9ef8",
- "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "psr/log": "^2.0 || ^3.0"
- },
- "provide": {
- "psr/log-implementation": "3.0.0"
- },
- "require-dev": {
- "aws/aws-sdk-php": "^3.0",
- "doctrine/couchdb": "~1.0@dev",
- "elasticsearch/elasticsearch": "^7 || ^8",
- "ext-json": "*",
- "graylog2/gelf-php": "^1.4.2 || ^2.0",
- "guzzlehttp/guzzle": "^7.4.5",
- "guzzlehttp/psr7": "^2.2",
- "mongodb/mongodb": "^1.8",
- "php-amqplib/php-amqplib": "~2.4 || ^3",
- "phpstan/phpstan": "^1.9",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-strict-rules": "^1.4",
- "phpunit/phpunit": "^10.5.17",
- "predis/predis": "^1.1 || ^2",
- "ruflin/elastica": "^7",
- "symfony/mailer": "^5.4 || ^6",
- "symfony/mime": "^5.4 || ^6"
- },
- "suggest": {
- "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
- "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
- "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client",
- "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
- "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler",
- "ext-mbstring": "Allow to work properly with unicode symbols",
- "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)",
- "ext-openssl": "Required to send log messages using SSL",
- "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)",
- "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
- "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
- "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
- "rollbar/rollbar": "Allow sending log messages to Rollbar",
- "ruflin/elastica": "Allow sending log messages to an Elastic Search server"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Monolog\\": "src/Monolog"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "https://seld.be"
- }
- ],
- "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
- "homepage": "https://github.com/Seldaek/monolog",
- "keywords": [
- "log",
- "logging",
- "psr-3"
- ],
- "support": {
- "issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/3.7.0"
- },
- "funding": [
- {
- "url": "https://github.com/Seldaek",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/monolog/monolog",
- "type": "tidelift"
- }
- ],
- "time": "2024-06-28T09:40:51+00:00"
- },
- {
- "name": "nesbot/carbon",
- "version": "2.72.5",
- "source": {
- "type": "git",
- "url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed",
- "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed",
- "shasum": ""
- },
- "require": {
- "carbonphp/carbon-doctrine-types": "*",
- "ext-json": "*",
- "php": "^7.1.8 || ^8.0",
- "psr/clock": "^1.0",
- "symfony/polyfill-mbstring": "^1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0"
- },
- "provide": {
- "psr/clock-implementation": "1.0"
- },
- "require-dev": {
- "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0",
- "doctrine/orm": "^2.7 || ^3.0",
- "friendsofphp/php-cs-fixer": "^3.0",
- "kylekatarnls/multi-tester": "^2.0",
- "ondrejmirtes/better-reflection": "*",
- "phpmd/phpmd": "^2.9",
- "phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^0.12.99 || ^1.7.14",
- "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6",
- "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20",
- "squizlabs/php_codesniffer": "^3.4"
- },
- "bin": [
- "bin/carbon"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.x-dev",
- "dev-2.x": "2.x-dev"
- },
- "laravel": {
- "providers": [
- "Carbon\\Laravel\\ServiceProvider"
- ]
- },
- "phpstan": {
- "includes": [
- "extension.neon"
- ]
- }
- },
- "autoload": {
- "psr-4": {
- "Carbon\\": "src/Carbon/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Brian Nesbitt",
- "email": "brian@nesbot.com",
- "homepage": "https://markido.com"
- },
- {
- "name": "kylekatarnls",
- "homepage": "https://github.com/kylekatarnls"
- }
- ],
- "description": "An API extension for DateTime that supports 281 different languages.",
- "homepage": "https://carbon.nesbot.com",
- "keywords": [
- "date",
- "datetime",
- "time"
- ],
- "support": {
- "docs": "https://carbon.nesbot.com/docs",
- "issues": "https://github.com/briannesbitt/Carbon/issues",
- "source": "https://github.com/briannesbitt/Carbon"
- },
- "funding": [
- {
- "url": "https://github.com/sponsors/kylekatarnls",
- "type": "github"
- },
- {
- "url": "https://opencollective.com/Carbon#sponsor",
- "type": "opencollective"
- },
- {
- "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme",
- "type": "tidelift"
- }
- ],
- "time": "2024-06-03T19:18:41+00:00"
- },
- {
- "name": "nette/schema",
- "version": "v1.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/nette/schema.git",
- "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/nette/schema/zipball/a6d3a6d1f545f01ef38e60f375d1cf1f4de98188",
- "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188",
- "shasum": ""
- },
- "require": {
- "nette/utils": "^4.0",
- "php": "8.1 - 8.3"
- },
- "require-dev": {
- "nette/tester": "^2.4",
- "phpstan/phpstan-nette": "^1.0",
- "tracy/tracy": "^2.8"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.3-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause",
- "GPL-2.0-only",
- "GPL-3.0-only"
- ],
- "authors": [
- {
- "name": "David Grudl",
- "homepage": "https://davidgrudl.com"
- },
- {
- "name": "Nette Community",
- "homepage": "https://nette.org/contributors"
- }
- ],
- "description": "📐 Nette Schema: validating data structures against a given Schema.",
- "homepage": "https://nette.org",
- "keywords": [
- "config",
- "nette"
- ],
- "support": {
- "issues": "https://github.com/nette/schema/issues",
- "source": "https://github.com/nette/schema/tree/v1.3.0"
- },
- "time": "2023-12-11T11:54:22+00:00"
- },
- {
- "name": "nette/utils",
- "version": "v4.0.5",
- "source": {
- "type": "git",
- "url": "https://github.com/nette/utils.git",
- "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/nette/utils/zipball/736c567e257dbe0fcf6ce81b4d6dbe05c6899f96",
- "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96",
- "shasum": ""
- },
- "require": {
- "php": "8.0 - 8.4"
- },
- "conflict": {
- "nette/finder": "<3",
- "nette/schema": "<1.2.2"
- },
- "require-dev": {
- "jetbrains/phpstorm-attributes": "dev-master",
- "nette/tester": "^2.5",
- "phpstan/phpstan": "^1.0",
- "tracy/tracy": "^2.9"
- },
- "suggest": {
- "ext-gd": "to use Image",
- "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()",
- "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()",
- "ext-json": "to use Nette\\Utils\\Json",
- "ext-mbstring": "to use Strings::lower() etc...",
- "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause",
- "GPL-2.0-only",
- "GPL-3.0-only"
- ],
- "authors": [
- {
- "name": "David Grudl",
- "homepage": "https://davidgrudl.com"
- },
- {
- "name": "Nette Community",
- "homepage": "https://nette.org/contributors"
- }
- ],
- "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.",
- "homepage": "https://nette.org",
- "keywords": [
- "array",
- "core",
- "datetime",
- "images",
- "json",
- "nette",
- "paginator",
- "password",
- "slugify",
- "string",
- "unicode",
- "utf-8",
- "utility",
- "validation"
- ],
- "support": {
- "issues": "https://github.com/nette/utils/issues",
- "source": "https://github.com/nette/utils/tree/v4.0.5"
- },
- "time": "2024-08-07T15:39:19+00:00"
- },
- {
- "name": "nikic/php-parser",
- "version": "v5.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1",
- "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1",
- "shasum": ""
- },
- "require": {
- "ext-ctype": "*",
- "ext-json": "*",
- "ext-tokenizer": "*",
- "php": ">=7.4"
- },
- "require-dev": {
- "ircmaxell/php-yacc": "^0.0.7",
- "phpunit/phpunit": "^9.0"
- },
- "bin": [
- "bin/php-parse"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.0-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "PhpParser\\": "lib/PhpParser"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Nikita Popov"
- }
- ],
- "description": "A PHP parser written in PHP",
- "keywords": [
- "parser",
- "php"
- ],
- "support": {
- "issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0"
- },
- "time": "2024-07-01T20:03:41+00:00"
- },
- {
- "name": "nunomaduro/termwind",
- "version": "v1.15.1",
- "source": {
- "type": "git",
- "url": "https://github.com/nunomaduro/termwind.git",
- "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc",
- "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc",
- "shasum": ""
- },
- "require": {
- "ext-mbstring": "*",
- "php": "^8.0",
- "symfony/console": "^5.3.0|^6.0.0"
- },
- "require-dev": {
- "ergebnis/phpstan-rules": "^1.0.",
- "illuminate/console": "^8.0|^9.0",
- "illuminate/support": "^8.0|^9.0",
- "laravel/pint": "^1.0.0",
- "pestphp/pest": "^1.21.0",
- "pestphp/pest-plugin-mock": "^1.0",
- "phpstan/phpstan": "^1.4.6",
- "phpstan/phpstan-strict-rules": "^1.1.0",
- "symfony/var-dumper": "^5.2.7|^6.0.0",
- "thecodingmachine/phpstan-strict-rules": "^1.0.0"
- },
- "type": "library",
- "extra": {
- "laravel": {
- "providers": [
- "Termwind\\Laravel\\TermwindServiceProvider"
- ]
- }
- },
- "autoload": {
- "files": [
- "src/Functions.php"
- ],
- "psr-4": {
- "Termwind\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nuno Maduro",
- "email": "enunomaduro@gmail.com"
- }
- ],
- "description": "Its like Tailwind CSS, but for the console.",
- "keywords": [
- "cli",
- "console",
- "css",
- "package",
- "php",
- "style"
- ],
- "support": {
- "issues": "https://github.com/nunomaduro/termwind/issues",
- "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1"
- },
- "funding": [
- {
- "url": "https://www.paypal.com/paypalme/enunomaduro",
- "type": "custom"
- },
- {
- "url": "https://github.com/nunomaduro",
- "type": "github"
- },
- {
- "url": "https://github.com/xiCO2k",
- "type": "github"
- }
- ],
- "time": "2023-02-08T01:06:31+00:00"
- },
- {
- "name": "nyholm/psr7",
- "version": "1.8.1",
- "source": {
- "type": "git",
- "url": "https://github.com/Nyholm/psr7.git",
- "reference": "aa5fc277a4f5508013d571341ade0c3886d4d00e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Nyholm/psr7/zipball/aa5fc277a4f5508013d571341ade0c3886d4d00e",
- "reference": "aa5fc277a4f5508013d571341ade0c3886d4d00e",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.1 || ^2.0"
- },
- "provide": {
- "php-http/message-factory-implementation": "1.0",
- "psr/http-factory-implementation": "1.0",
- "psr/http-message-implementation": "1.0"
- },
- "require-dev": {
- "http-interop/http-factory-tests": "^0.9",
- "php-http/message-factory": "^1.0",
- "php-http/psr7-integration-tests": "^1.0",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4",
- "symfony/error-handler": "^4.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.8-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Nyholm\\Psr7\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com"
- },
- {
- "name": "Martijn van der Ven",
- "email": "martijn@vanderven.se"
- }
- ],
- "description": "A fast PHP7 implementation of PSR-7",
- "homepage": "https://tnyholm.se",
- "keywords": [
- "psr-17",
- "psr-7"
- ],
- "support": {
- "issues": "https://github.com/Nyholm/psr7/issues",
- "source": "https://github.com/Nyholm/psr7/tree/1.8.1"
- },
- "funding": [
- {
- "url": "https://github.com/Zegnat",
- "type": "github"
- },
- {
- "url": "https://github.com/nyholm",
- "type": "github"
- }
- ],
- "time": "2023-11-13T09:31:12+00:00"
- },
- {
- "name": "phpoption/phpoption",
- "version": "1.9.3",
- "source": {
- "type": "git",
- "url": "https://github.com/schmittjoh/php-option.git",
- "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54",
- "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54",
- "shasum": ""
- },
- "require": {
- "php": "^7.2.5 || ^8.0"
- },
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28"
- },
- "type": "library",
- "extra": {
- "bamarni-bin": {
- "bin-links": true,
- "forward-command": false
- },
- "branch-alias": {
- "dev-master": "1.9-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "PhpOption\\": "src/PhpOption/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "Apache-2.0"
- ],
- "authors": [
- {
- "name": "Johannes M. Schmitt",
- "email": "schmittjoh@gmail.com",
- "homepage": "https://github.com/schmittjoh"
- },
- {
- "name": "Graham Campbell",
- "email": "hello@gjcampbell.co.uk",
- "homepage": "https://github.com/GrahamCampbell"
- }
- ],
- "description": "Option Type for PHP",
- "keywords": [
- "language",
- "option",
- "php",
- "type"
- ],
- "support": {
- "issues": "https://github.com/schmittjoh/php-option/issues",
- "source": "https://github.com/schmittjoh/php-option/tree/1.9.3"
- },
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-20T21:41:07+00:00"
- },
- {
- "name": "psr/clock",
- "version": "1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/clock.git",
- "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d",
- "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d",
- "shasum": ""
- },
- "require": {
- "php": "^7.0 || ^8.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Psr\\Clock\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common interface for reading the clock.",
- "homepage": "https://github.com/php-fig/clock",
- "keywords": [
- "clock",
- "now",
- "psr",
- "psr-20",
- "time"
- ],
- "support": {
- "issues": "https://github.com/php-fig/clock/issues",
- "source": "https://github.com/php-fig/clock/tree/1.0.0"
- },
- "time": "2022-11-25T14:36:26+00:00"
- },
- {
- "name": "psr/container",
- "version": "2.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
- "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
- "shasum": ""
- },
- "require": {
- "php": ">=7.4.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Container\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common Container Interface (PHP FIG PSR-11)",
- "homepage": "https://github.com/php-fig/container",
- "keywords": [
- "PSR-11",
- "container",
- "container-interface",
- "container-interop",
- "psr"
- ],
- "support": {
- "issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/2.0.2"
- },
- "time": "2021-11-05T16:47:00+00:00"
- },
- {
- "name": "psr/event-dispatcher",
- "version": "1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/event-dispatcher.git",
- "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0",
- "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\EventDispatcher\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Standard interfaces for event handling.",
- "keywords": [
- "events",
- "psr",
- "psr-14"
- ],
- "support": {
- "issues": "https://github.com/php-fig/event-dispatcher/issues",
- "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
- },
- "time": "2019-01-08T18:20:26+00:00"
- },
- {
- "name": "psr/http-client",
- "version": "1.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-client.git",
- "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
- "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
- "shasum": ""
- },
- "require": {
- "php": "^7.0 || ^8.0",
- "psr/http-message": "^1.0 || ^2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Client\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common interface for HTTP clients",
- "homepage": "https://github.com/php-fig/http-client",
- "keywords": [
- "http",
- "http-client",
- "psr",
- "psr-18"
- ],
- "support": {
- "source": "https://github.com/php-fig/http-client"
- },
- "time": "2023-09-23T14:17:50+00:00"
- },
- {
- "name": "psr/http-factory",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-factory.git",
- "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
- "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1",
- "psr/http-message": "^1.0 || ^2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
- "keywords": [
- "factory",
- "http",
- "message",
- "psr",
- "psr-17",
- "psr-7",
- "request",
- "response"
- ],
- "support": {
- "source": "https://github.com/php-fig/http-factory"
- },
- "time": "2024-04-15T12:06:14+00:00"
- },
- {
- "name": "psr/http-message",
- "version": "2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-message.git",
- "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71",
- "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common interface for HTTP messages",
- "homepage": "https://github.com/php-fig/http-message",
- "keywords": [
- "http",
- "http-message",
- "psr",
- "psr-7",
- "request",
- "response"
- ],
- "support": {
- "source": "https://github.com/php-fig/http-message/tree/2.0"
- },
- "time": "2023-04-04T09:54:51+00:00"
- },
- {
- "name": "psr/log",
- "version": "3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
- "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
- "shasum": ""
- },
- "require": {
- "php": ">=8.0.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Log\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common interface for logging libraries",
- "homepage": "https://github.com/php-fig/log",
- "keywords": [
- "log",
- "psr",
- "psr-3"
- ],
- "support": {
- "source": "https://github.com/php-fig/log/tree/3.0.0"
- },
- "time": "2021-07-14T16:46:02+00:00"
- },
- {
- "name": "psr/simple-cache",
- "version": "3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/simple-cache.git",
- "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865",
- "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865",
- "shasum": ""
- },
- "require": {
- "php": ">=8.0.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\SimpleCache\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common interfaces for simple caching",
- "keywords": [
- "cache",
- "caching",
- "psr",
- "psr-16",
- "simple-cache"
- ],
- "support": {
- "source": "https://github.com/php-fig/simple-cache/tree/3.0.0"
- },
- "time": "2021-10-29T13:26:27+00:00"
- },
- {
- "name": "psy/psysh",
- "version": "v0.12.4",
- "source": {
- "type": "git",
- "url": "https://github.com/bobthecow/psysh.git",
- "reference": "2fd717afa05341b4f8152547f142cd2f130f6818"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/bobthecow/psysh/zipball/2fd717afa05341b4f8152547f142cd2f130f6818",
- "reference": "2fd717afa05341b4f8152547f142cd2f130f6818",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "ext-tokenizer": "*",
- "nikic/php-parser": "^5.0 || ^4.0",
- "php": "^8.0 || ^7.4",
- "symfony/console": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4",
- "symfony/var-dumper": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4"
- },
- "conflict": {
- "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4"
- },
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.2"
- },
- "suggest": {
- "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)",
- "ext-pdo-sqlite": "The doc command requires SQLite to work.",
- "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well."
- },
- "bin": [
- "bin/psysh"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "0.12.x-dev"
- },
- "bamarni-bin": {
- "bin-links": false,
- "forward-command": false
- }
- },
- "autoload": {
- "files": [
- "src/functions.php"
- ],
- "psr-4": {
- "Psy\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Justin Hileman",
- "email": "justin@justinhileman.info",
- "homepage": "http://justinhileman.com"
- }
- ],
- "description": "An interactive shell for modern PHP.",
- "homepage": "http://psysh.org",
- "keywords": [
- "REPL",
- "console",
- "interactive",
- "shell"
- ],
- "support": {
- "issues": "https://github.com/bobthecow/psysh/issues",
- "source": "https://github.com/bobthecow/psysh/tree/v0.12.4"
- },
- "time": "2024-06-10T01:18:23+00:00"
- },
- {
- "name": "ralouphie/getallheaders",
- "version": "3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/ralouphie/getallheaders.git",
- "reference": "120b605dfeb996808c31b6477290a714d356e822"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
- "reference": "120b605dfeb996808c31b6477290a714d356e822",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6"
- },
- "require-dev": {
- "php-coveralls/php-coveralls": "^2.1",
- "phpunit/phpunit": "^5 || ^6.5"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/getallheaders.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ralph Khattar",
- "email": "ralph.khattar@gmail.com"
- }
- ],
- "description": "A polyfill for getallheaders.",
- "support": {
- "issues": "https://github.com/ralouphie/getallheaders/issues",
- "source": "https://github.com/ralouphie/getallheaders/tree/develop"
- },
- "time": "2019-03-08T08:55:37+00:00"
- },
- {
- "name": "ramsey/collection",
- "version": "2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/ramsey/collection.git",
- "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5",
- "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5",
- "shasum": ""
- },
- "require": {
- "php": "^8.1"
- },
- "require-dev": {
- "captainhook/plugin-composer": "^5.3",
- "ergebnis/composer-normalize": "^2.28.3",
- "fakerphp/faker": "^1.21",
- "hamcrest/hamcrest-php": "^2.0",
- "jangregor/phpstan-prophecy": "^1.0",
- "mockery/mockery": "^1.5",
- "php-parallel-lint/php-console-highlighter": "^1.0",
- "php-parallel-lint/php-parallel-lint": "^1.3",
- "phpcsstandards/phpcsutils": "^1.0.0-rc1",
- "phpspec/prophecy-phpunit": "^2.0",
- "phpstan/extension-installer": "^1.2",
- "phpstan/phpstan": "^1.9",
- "phpstan/phpstan-mockery": "^1.1",
- "phpstan/phpstan-phpunit": "^1.3",
- "phpunit/phpunit": "^9.5",
- "psalm/plugin-mockery": "^1.1",
- "psalm/plugin-phpunit": "^0.18.4",
- "ramsey/coding-standard": "^2.0.3",
- "ramsey/conventional-commits": "^1.3",
- "vimeo/psalm": "^5.4"
- },
- "type": "library",
- "extra": {
- "captainhook": {
- "force-install": true
- },
- "ramsey/conventional-commits": {
- "configFile": "conventional-commits.json"
- }
- },
- "autoload": {
- "psr-4": {
- "Ramsey\\Collection\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ben Ramsey",
- "email": "ben@benramsey.com",
- "homepage": "https://benramsey.com"
- }
- ],
- "description": "A PHP library for representing and manipulating collections.",
- "keywords": [
- "array",
- "collection",
- "hash",
- "map",
- "queue",
- "set"
- ],
- "support": {
- "issues": "https://github.com/ramsey/collection/issues",
- "source": "https://github.com/ramsey/collection/tree/2.0.0"
- },
- "funding": [
- {
- "url": "https://github.com/ramsey",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/ramsey/collection",
- "type": "tidelift"
- }
- ],
- "time": "2022-12-31T21:50:55+00:00"
- },
- {
- "name": "ramsey/uuid",
- "version": "4.7.6",
- "source": {
- "type": "git",
- "url": "https://github.com/ramsey/uuid.git",
- "reference": "91039bc1faa45ba123c4328958e620d382ec7088"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088",
- "reference": "91039bc1faa45ba123c4328958e620d382ec7088",
- "shasum": ""
- },
- "require": {
- "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12",
- "ext-json": "*",
- "php": "^8.0",
- "ramsey/collection": "^1.2 || ^2.0"
- },
- "replace": {
- "rhumsaa/uuid": "self.version"
- },
- "require-dev": {
- "captainhook/captainhook": "^5.10",
- "captainhook/plugin-composer": "^5.3",
- "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
- "doctrine/annotations": "^1.8",
- "ergebnis/composer-normalize": "^2.15",
- "mockery/mockery": "^1.3",
- "paragonie/random-lib": "^2",
- "php-mock/php-mock": "^2.2",
- "php-mock/php-mock-mockery": "^1.3",
- "php-parallel-lint/php-parallel-lint": "^1.1",
- "phpbench/phpbench": "^1.0",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-mockery": "^1.1",
- "phpstan/phpstan-phpunit": "^1.1",
- "phpunit/phpunit": "^8.5 || ^9",
- "ramsey/composer-repl": "^1.4",
- "slevomat/coding-standard": "^8.4",
- "squizlabs/php_codesniffer": "^3.5",
- "vimeo/psalm": "^4.9"
- },
- "suggest": {
- "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.",
- "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.",
- "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.",
- "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter",
- "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type."
- },
- "type": "library",
- "extra": {
- "captainhook": {
- "force-install": true
- }
- },
- "autoload": {
- "files": [
- "src/functions.php"
- ],
- "psr-4": {
- "Ramsey\\Uuid\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).",
- "keywords": [
- "guid",
- "identifier",
- "uuid"
- ],
- "support": {
- "issues": "https://github.com/ramsey/uuid/issues",
- "source": "https://github.com/ramsey/uuid/tree/4.7.6"
- },
- "funding": [
- {
- "url": "https://github.com/ramsey",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid",
- "type": "tidelift"
- }
- ],
- "time": "2024-04-27T21:32:50+00:00"
- },
- {
- "name": "scrivo/highlight.php",
- "version": "v9.18.1.10",
- "source": {
- "type": "git",
- "url": "https://github.com/scrivo/highlight.php.git",
- "reference": "850f4b44697a2552e892ffe71490ba2733c2fc6e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/850f4b44697a2552e892ffe71490ba2733c2fc6e",
- "reference": "850f4b44697a2552e892ffe71490ba2733c2fc6e",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "php": ">=5.4"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8|^5.7",
- "sabberworm/php-css-parser": "^8.3",
- "symfony/finder": "^2.8|^3.4|^5.4",
- "symfony/var-dumper": "^2.8|^3.4|^5.4"
- },
- "suggest": {
- "ext-mbstring": "Allows highlighting code with unicode characters and supports language with unicode keywords"
- },
- "type": "library",
- "autoload": {
- "files": [
- "HighlightUtilities/functions.php"
- ],
- "psr-0": {
- "Highlight\\": "",
- "HighlightUtilities\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Geert Bergman",
- "homepage": "http://www.scrivo.org/",
- "role": "Project Author"
- },
- {
- "name": "Vladimir Jimenez",
- "homepage": "https://allejo.io",
- "role": "Maintainer"
- },
- {
- "name": "Martin Folkers",
- "homepage": "https://twobrain.io",
- "role": "Contributor"
- }
- ],
- "description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js",
- "keywords": [
- "code",
- "highlight",
- "highlight.js",
- "highlight.php",
- "syntax"
- ],
- "support": {
- "issues": "https://github.com/scrivo/highlight.php/issues",
- "source": "https://github.com/scrivo/highlight.php"
- },
- "funding": [
- {
- "url": "https://github.com/allejo",
- "type": "github"
- }
- ],
- "time": "2022-12-17T21:53:22+00:00"
- },
- {
- "name": "sentry/sentry",
- "version": "4.8.1",
- "source": {
- "type": "git",
- "url": "https://github.com/getsentry/sentry-php.git",
- "reference": "61770efd8b7888e0bdd7d234f0ba67b066e47d04"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/61770efd8b7888e0bdd7d234f0ba67b066e47d04",
- "reference": "61770efd8b7888e0bdd7d234f0ba67b066e47d04",
- "shasum": ""
- },
- "require": {
- "ext-curl": "*",
- "ext-json": "*",
- "ext-mbstring": "*",
- "guzzlehttp/psr7": "^1.8.4|^2.1.1",
- "jean85/pretty-package-versions": "^1.5|^2.0.4",
- "php": "^7.2|^8.0",
- "psr/log": "^1.0|^2.0|^3.0",
- "symfony/options-resolver": "^4.4.30|^5.0.11|^6.0|^7.0"
- },
- "conflict": {
- "raven/raven": "*"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^3.4",
- "guzzlehttp/promises": "^1.0|^2.0",
- "guzzlehttp/psr7": "^1.8.4|^2.1.1",
- "monolog/monolog": "^1.6|^2.0|^3.0",
- "phpbench/phpbench": "^1.0",
- "phpstan/phpstan": "^1.3",
- "phpunit/phpunit": "^8.5.14|^9.4",
- "symfony/phpunit-bridge": "^5.2|^6.0|^7.0",
- "vimeo/psalm": "^4.17"
- },
- "suggest": {
- "monolog/monolog": "Allow sending log messages to Sentry by using the included Monolog handler."
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/functions.php"
- ],
- "psr-4": {
- "Sentry\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Sentry",
- "email": "accounts@sentry.io"
- }
- ],
- "description": "PHP SDK for Sentry (http://sentry.io)",
- "homepage": "http://sentry.io",
- "keywords": [
- "crash-reporting",
- "crash-reports",
- "error-handler",
- "error-monitoring",
- "log",
- "logging",
- "profiling",
- "sentry",
- "tracing"
- ],
- "support": {
- "issues": "https://github.com/getsentry/sentry-php/issues",
- "source": "https://github.com/getsentry/sentry-php/tree/4.8.1"
- },
- "funding": [
- {
- "url": "https://sentry.io/",
- "type": "custom"
- },
- {
- "url": "https://sentry.io/pricing/",
- "type": "custom"
- }
- ],
- "time": "2024-07-16T13:45:27+00:00"
- },
- {
- "name": "sentry/sentry-laravel",
- "version": "4.7.1",
- "source": {
- "type": "git",
- "url": "https://github.com/getsentry/sentry-laravel.git",
- "reference": "d70415f19f35806acee5bcbc7403e9cb8fb5252c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/d70415f19f35806acee5bcbc7403e9cb8fb5252c",
- "reference": "d70415f19f35806acee5bcbc7403e9cb8fb5252c",
- "shasum": ""
- },
- "require": {
- "illuminate/support": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0",
- "nyholm/psr7": "^1.0",
- "php": "^7.2 | ^8.0",
- "sentry/sentry": "^4.7",
- "symfony/psr-http-message-bridge": "^1.0 | ^2.0 | ^6.0 | ^7.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^3.11",
- "guzzlehttp/guzzle": "^7.2",
- "laravel/folio": "^1.1",
- "laravel/framework": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0",
- "livewire/livewire": "^2.0 | ^3.0",
- "mockery/mockery": "^1.3",
- "orchestra/testbench": "^4.7 | ^5.1 | ^6.0 | ^7.0 | ^8.0 | ^9.0",
- "phpstan/phpstan": "^1.10",
- "phpunit/phpunit": "^8.4 | ^9.3 | ^10.4"
- },
- "type": "library",
- "extra": {
- "laravel": {
- "providers": [
- "Sentry\\Laravel\\ServiceProvider",
- "Sentry\\Laravel\\Tracing\\ServiceProvider"
- ],
- "aliases": {
- "Sentry": "Sentry\\Laravel\\Facade"
- }
- }
- },
- "autoload": {
- "psr-0": {
- "Sentry\\Laravel\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Sentry",
- "email": "accounts@sentry.io"
- }
- ],
- "description": "Laravel SDK for Sentry (https://sentry.io)",
- "homepage": "https://sentry.io",
- "keywords": [
- "crash-reporting",
- "crash-reports",
- "error-handler",
- "error-monitoring",
- "laravel",
- "log",
- "logging",
- "profiling",
- "sentry",
- "tracing"
- ],
- "support": {
- "issues": "https://github.com/getsentry/sentry-laravel/issues",
- "source": "https://github.com/getsentry/sentry-laravel/tree/4.7.1"
- },
- "funding": [
- {
- "url": "https://sentry.io/",
- "type": "custom"
- },
- {
- "url": "https://sentry.io/pricing/",
- "type": "custom"
- }
- ],
- "time": "2024-07-17T13:27:43+00:00"
- },
- {
- "name": "spatie/laravel-honeypot",
- "version": "4.5.2",
- "source": {
- "type": "git",
- "url": "https://github.com/spatie/laravel-honeypot.git",
- "reference": "83036d9eedfd5687ab62cd1b7b29170b41bd7cb4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-honeypot/zipball/83036d9eedfd5687ab62cd1b7b29170b41bd7cb4",
- "reference": "83036d9eedfd5687ab62cd1b7b29170b41bd7cb4",
- "shasum": ""
- },
- "require": {
- "illuminate/contracts": "^8.0|^9.0|^10.0|^11.0",
- "illuminate/encryption": "^8.0|^9.0|^10.0|^11.0",
- "illuminate/http": "^8.0|^9.0|^10.0|^11.0",
- "illuminate/support": "^8.0|^9.0|^10.0|^11.0",
- "illuminate/validation": "^8.0|^9.0|^10.0|^11.0",
- "nesbot/carbon": "^2.0|^3.0",
- "php": "^8.0",
- "spatie/laravel-package-tools": "^1.9",
- "symfony/http-foundation": "^5.1.2|^6.0|^7.0"
- },
- "require-dev": {
- "livewire/livewire": "^2.10|^3.0",
- "orchestra/testbench": "^6.23|^7.0|^8.0|^9.0",
- "pestphp/pest-plugin-livewire": "^1.0|^2.1",
- "phpunit/phpunit": "^9.6|^10.5",
- "spatie/pest-plugin-snapshots": "^1.1|^2.1",
- "spatie/phpunit-snapshot-assertions": "^4.2|^5.1",
- "spatie/test-time": "^1.2.1"
- },
- "type": "library",
- "extra": {
- "laravel": {
- "providers": [
- "Spatie\\Honeypot\\HoneypotServiceProvider"
- ]
- }
- },
- "autoload": {
- "psr-4": {
- "Spatie\\Honeypot\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Freek Van der Herten",
- "email": "freek@spatie.be",
- "homepage": "https://spatie.be",
- "role": "Developer"
- }
- ],
- "description": "Preventing spam submitted through forms",
- "homepage": "https://github.com/spatie/laravel-honeypot",
- "keywords": [
- "laravel-honeypot",
- "spatie"
- ],
- "support": {
- "source": "https://github.com/spatie/laravel-honeypot/tree/4.5.2"
- },
- "funding": [
- {
- "url": "https://spatie.be/open-source/support-us",
- "type": "custom"
- }
- ],
- "time": "2024-04-15T13:09:07+00:00"
- },
- {
- "name": "spatie/laravel-html",
- "version": "3.11.0",
- "source": {
- "type": "git",
- "url": "https://github.com/spatie/laravel-html.git",
- "reference": "94f5900cedc75454800877ace9780e27d6149287"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-html/zipball/94f5900cedc75454800877ace9780e27d6149287",
- "reference": "94f5900cedc75454800877ace9780e27d6149287",
- "shasum": ""
- },
- "require": {
- "illuminate/http": "^10.0|^11.0",
- "illuminate/support": "^10.0|^11.0",
- "php": "^8.2"
- },
- "require-dev": {
- "mockery/mockery": "^1.3",
- "orchestra/testbench": "^8.0|^9.0",
- "pestphp/pest": "^2.34"
- },
- "type": "library",
- "extra": {
- "laravel": {
- "providers": [
- "Spatie\\Html\\HtmlServiceProvider"
- ],
- "aliases": {
- "Html": "Spatie\\Html\\Facades\\Html"
- }
- }
- },
- "autoload": {
- "files": [
- "src/helpers.php"
- ],
- "psr-4": {
- "Spatie\\Html\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Sebastian De Deyne",
- "email": "sebastian@spatie.be",
- "homepage": "https://spatie.be",
- "role": "Developer"
- },
- {
- "name": "Freek Van der Herten",
- "email": "freek@spatie.be",
- "homepage": "https://spatie.be",
- "role": "Developer"
- }
- ],
- "description": "A fluent html builder",
- "homepage": "https://github.com/spatie/laravel-html",
- "keywords": [
- "html",
- "spatie"
- ],
- "support": {
- "source": "https://github.com/spatie/laravel-html/tree/3.11.0"
- },
- "funding": [
- {
- "url": "https://spatie.be/open-source/support-us",
- "type": "custom"
- }
- ],
- "time": "2024-07-16T07:58:45+00:00"
- },
- {
- "name": "spatie/laravel-package-tools",
- "version": "1.16.4",
- "source": {
- "type": "git",
- "url": "https://github.com/spatie/laravel-package-tools.git",
- "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53",
- "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53",
- "shasum": ""
- },
- "require": {
- "illuminate/contracts": "^9.28|^10.0|^11.0",
- "php": "^8.0"
- },
- "require-dev": {
- "mockery/mockery": "^1.5",
- "orchestra/testbench": "^7.7|^8.0",
- "pestphp/pest": "^1.22",
- "phpunit/phpunit": "^9.5.24",
- "spatie/pest-plugin-test-time": "^1.1"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Spatie\\LaravelPackageTools\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Freek Van der Herten",
- "email": "freek@spatie.be",
- "role": "Developer"
- }
- ],
- "description": "Tools for creating Laravel packages",
- "homepage": "https://github.com/spatie/laravel-package-tools",
- "keywords": [
- "laravel-package-tools",
- "spatie"
- ],
- "support": {
- "issues": "https://github.com/spatie/laravel-package-tools/issues",
- "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.4"
- },
- "funding": [
- {
- "url": "https://github.com/spatie",
- "type": "github"
- }
- ],
- "time": "2024-03-20T07:29:11+00:00"
- },
- {
- "name": "symfony/console",
- "version": "v6.4.10",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/console.git",
- "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/504974cbe43d05f83b201d6498c206f16fc0cdbc",
- "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/service-contracts": "^2.5|^3",
- "symfony/string": "^5.4|^6.0|^7.0"
- },
- "conflict": {
- "symfony/dependency-injection": "<5.4",
- "symfony/dotenv": "<5.4",
- "symfony/event-dispatcher": "<5.4",
- "symfony/lock": "<5.4",
- "symfony/process": "<5.4"
- },
- "provide": {
- "psr/log-implementation": "1.0|2.0|3.0"
- },
- "require-dev": {
- "psr/log": "^1|^2|^3",
- "symfony/config": "^5.4|^6.0|^7.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/lock": "^5.4|^6.0|^7.0",
- "symfony/messenger": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0",
- "symfony/stopwatch": "^5.4|^6.0|^7.0",
- "symfony/var-dumper": "^5.4|^6.0|^7.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Console\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Eases the creation of beautiful and testable command line interfaces",
- "homepage": "https://symfony.com",
- "keywords": [
- "cli",
- "command-line",
- "console",
- "terminal"
- ],
- "support": {
- "source": "https://github.com/symfony/console/tree/v6.4.10"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-26T12:30:32+00:00"
- },
- {
- "name": "symfony/css-selector",
- "version": "v7.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/css-selector.git",
- "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c7cee86c6f812896af54434f8ce29c8d94f9ff4",
- "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4",
- "shasum": ""
- },
- "require": {
- "php": ">=8.2"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\CssSelector\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Jean-François Simon",
- "email": "jeanfrancois.simon@sensiolabs.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Converts CSS selectors to XPath expressions",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/css-selector/tree/v7.1.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-31T14:57:53+00:00"
- },
- {
- "name": "symfony/deprecation-contracts",
- "version": "v3.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
- "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "files": [
- "function.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "A generic function and convention to trigger deprecation notices",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-04-18T09:32:20+00:00"
- },
- {
- "name": "symfony/error-handler",
- "version": "v6.4.10",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/error-handler.git",
- "reference": "231f1b2ee80f72daa1972f7340297d67439224f0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/231f1b2ee80f72daa1972f7340297d67439224f0",
- "reference": "231f1b2ee80f72daa1972f7340297d67439224f0",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "psr/log": "^1|^2|^3",
- "symfony/var-dumper": "^5.4|^6.0|^7.0"
- },
- "conflict": {
- "symfony/deprecation-contracts": "<2.5",
- "symfony/http-kernel": "<6.4"
- },
- "require-dev": {
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/serializer": "^5.4|^6.0|^7.0"
- },
- "bin": [
- "Resources/bin/patch-type-declarations"
- ],
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\ErrorHandler\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides tools to manage errors and ease debugging PHP code",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/error-handler/tree/v6.4.10"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-26T12:30:32+00:00"
- },
- {
- "name": "symfony/event-dispatcher",
- "version": "v7.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7",
- "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7",
- "shasum": ""
- },
- "require": {
- "php": ">=8.2",
- "symfony/event-dispatcher-contracts": "^2.5|^3"
- },
- "conflict": {
- "symfony/dependency-injection": "<6.4",
- "symfony/service-contracts": "<2.5"
- },
- "provide": {
- "psr/event-dispatcher-implementation": "1.0",
- "symfony/event-dispatcher-implementation": "2.0|3.0"
- },
- "require-dev": {
- "psr/log": "^1|^2|^3",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/service-contracts": "^2.5|^3",
- "symfony/stopwatch": "^6.4|^7.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\EventDispatcher\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-31T14:57:53+00:00"
- },
- {
- "name": "symfony/event-dispatcher-contracts",
- "version": "v3.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50",
- "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "psr/event-dispatcher": "^1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\EventDispatcher\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to dispatching event",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-04-18T09:32:20+00:00"
- },
- {
- "name": "symfony/finder",
- "version": "v6.4.10",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/finder.git",
- "reference": "af29198d87112bebdd397bd7735fbd115997824c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/af29198d87112bebdd397bd7735fbd115997824c",
- "reference": "af29198d87112bebdd397bd7735fbd115997824c",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "require-dev": {
- "symfony/filesystem": "^6.0|^7.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Finder\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Finds files and directories via an intuitive fluent interface",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/finder/tree/v6.4.10"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-24T07:06:38+00:00"
- },
- {
- "name": "symfony/http-foundation",
- "version": "v6.4.10",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/http-foundation.git",
- "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/117f1f20a7ade7bcea28b861fb79160a21a1e37b",
- "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php83": "^1.27"
- },
- "conflict": {
- "symfony/cache": "<6.3"
- },
- "require-dev": {
- "doctrine/dbal": "^2.13.1|^3|^4",
- "predis/predis": "^1.1|^2.0",
- "symfony/cache": "^6.3|^7.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/expression-language": "^5.4|^6.0|^7.0",
- "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0",
- "symfony/mime": "^5.4|^6.0|^7.0",
- "symfony/rate-limiter": "^5.4|^6.0|^7.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\HttpFoundation\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Defines an object-oriented layer for the HTTP specification",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/http-foundation/tree/v6.4.10"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-26T12:36:27+00:00"
- },
- {
- "name": "symfony/http-kernel",
- "version": "v6.4.10",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/http-kernel.git",
- "reference": "147e0daf618d7575b5007055340d09aece5cf068"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/147e0daf618d7575b5007055340d09aece5cf068",
- "reference": "147e0daf618d7575b5007055340d09aece5cf068",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "psr/log": "^1|^2|^3",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/polyfill-ctype": "^1.8"
- },
- "conflict": {
- "symfony/browser-kit": "<5.4",
- "symfony/cache": "<5.4",
- "symfony/config": "<6.1",
- "symfony/console": "<5.4",
- "symfony/dependency-injection": "<6.4",
- "symfony/doctrine-bridge": "<5.4",
- "symfony/form": "<5.4",
- "symfony/http-client": "<5.4",
- "symfony/http-client-contracts": "<2.5",
- "symfony/mailer": "<5.4",
- "symfony/messenger": "<5.4",
- "symfony/translation": "<5.4",
- "symfony/translation-contracts": "<2.5",
- "symfony/twig-bridge": "<5.4",
- "symfony/validator": "<6.4",
- "symfony/var-dumper": "<6.3",
- "twig/twig": "<2.13"
- },
- "provide": {
- "psr/log-implementation": "1.0|2.0|3.0"
- },
- "require-dev": {
- "psr/cache": "^1.0|^2.0|^3.0",
- "symfony/browser-kit": "^5.4|^6.0|^7.0",
- "symfony/clock": "^6.2|^7.0",
- "symfony/config": "^6.1|^7.0",
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/css-selector": "^5.4|^6.0|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/dom-crawler": "^5.4|^6.0|^7.0",
- "symfony/expression-language": "^5.4|^6.0|^7.0",
- "symfony/finder": "^5.4|^6.0|^7.0",
- "symfony/http-client-contracts": "^2.5|^3",
- "symfony/process": "^5.4|^6.0|^7.0",
- "symfony/property-access": "^5.4.5|^6.0.5|^7.0",
- "symfony/routing": "^5.4|^6.0|^7.0",
- "symfony/serializer": "^6.4.4|^7.0.4",
- "symfony/stopwatch": "^5.4|^6.0|^7.0",
- "symfony/translation": "^5.4|^6.0|^7.0",
- "symfony/translation-contracts": "^2.5|^3",
- "symfony/uid": "^5.4|^6.0|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/var-dumper": "^5.4|^6.4|^7.0",
- "symfony/var-exporter": "^6.2|^7.0",
- "twig/twig": "^2.13|^3.0.4"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\HttpKernel\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides a structured process for converting a Request into a Response",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/http-kernel/tree/v6.4.10"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-26T14:52:04+00:00"
- },
- {
- "name": "symfony/mailer",
- "version": "v6.4.9",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/mailer.git",
- "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45",
- "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45",
- "shasum": ""
- },
- "require": {
- "egulias/email-validator": "^2.1.10|^3|^4",
- "php": ">=8.1",
- "psr/event-dispatcher": "^1",
- "psr/log": "^1|^2|^3",
- "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
- "symfony/mime": "^6.2|^7.0",
- "symfony/service-contracts": "^2.5|^3"
- },
- "conflict": {
- "symfony/http-client-contracts": "<2.5",
- "symfony/http-kernel": "<5.4",
- "symfony/messenger": "<6.2",
- "symfony/mime": "<6.2",
- "symfony/twig-bridge": "<6.2.1"
- },
- "require-dev": {
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/http-client": "^5.4|^6.0|^7.0",
- "symfony/messenger": "^6.2|^7.0",
- "symfony/twig-bridge": "^6.2|^7.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Mailer\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Helps sending emails",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/mailer/tree/v6.4.9"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-06-28T07:59:05+00:00"
- },
- {
- "name": "symfony/mime",
- "version": "v6.4.9",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/mime.git",
- "reference": "7d048964877324debdcb4e0549becfa064a20d43"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/7d048964877324debdcb4e0549becfa064a20d43",
- "reference": "7d048964877324debdcb4e0549becfa064a20d43",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/polyfill-intl-idn": "^1.10",
- "symfony/polyfill-mbstring": "^1.0"
- },
- "conflict": {
- "egulias/email-validator": "~3.0.0",
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
- "symfony/mailer": "<5.4",
- "symfony/serializer": "<6.4.3|>7.0,<7.0.3"
- },
- "require-dev": {
- "egulias/email-validator": "^2.1.10|^3.1|^4",
- "league/html-to-markdown": "^5.0",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.4|^7.0",
- "symfony/property-access": "^5.4|^6.0|^7.0",
- "symfony/property-info": "^5.4|^6.0|^7.0",
- "symfony/serializer": "^6.4.3|^7.0.3"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Mime\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Allows manipulating MIME messages",
- "homepage": "https://symfony.com",
- "keywords": [
- "mime",
- "mime-type"
- ],
- "support": {
- "source": "https://github.com/symfony/mime/tree/v6.4.9"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-06-28T09:49:33+00:00"
- },
- {
- "name": "symfony/options-resolver",
- "version": "v7.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/options-resolver.git",
- "reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/47aa818121ed3950acd2b58d1d37d08a94f9bf55",
- "reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55",
- "shasum": ""
- },
- "require": {
- "php": ">=8.2",
- "symfony/deprecation-contracts": "^2.5|^3"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\OptionsResolver\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides an improved replacement for the array_replace PHP function",
- "homepage": "https://symfony.com",
- "keywords": [
- "config",
- "configuration",
- "options"
- ],
- "support": {
- "source": "https://github.com/symfony/options-resolver/tree/v7.1.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-31T14:57:53+00:00"
- },
- {
- "name": "symfony/polyfill-ctype",
- "version": "v1.30.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "0424dff1c58f028c451efff2045f5d92410bd540"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540",
- "reference": "0424dff1c58f028c451efff2045f5d92410bd540",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "provide": {
- "ext-ctype": "*"
- },
- "suggest": {
- "ext-ctype": "For best performance"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Gert de Pagter",
- "email": "BackEndTea@gmail.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for ctype functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "ctype",
- "polyfill",
- "portable"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-31T15:07:36+00:00"
- },
- {
- "name": "symfony/polyfill-intl-grapheme",
- "version": "v1.30.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a",
- "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "suggest": {
- "ext-intl": "For best performance"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for intl's grapheme_* functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "grapheme",
- "intl",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-31T15:07:36+00:00"
- },
- {
- "name": "symfony/polyfill-intl-idn",
- "version": "v1.30.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a6e83bdeb3c84391d1dfe16f42e40727ce524a5c",
- "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1",
- "symfony/polyfill-intl-normalizer": "^1.10",
- "symfony/polyfill-php72": "^1.10"
- },
- "suggest": {
- "ext-intl": "For best performance"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Idn\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Laurent Bassin",
- "email": "laurent@bassin.info"
- },
- {
- "name": "Trevor Rowbotham",
- "email": "trevor.rowbotham@pm.me"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "idn",
- "intl",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.30.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-31T15:07:36+00:00"
- },
- {
- "name": "symfony/polyfill-intl-normalizer",
- "version": "v1.30.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb",
- "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "suggest": {
- "ext-intl": "For best performance"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for intl's Normalizer class and related functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "intl",
- "normalizer",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-31T15:07:36+00:00"
- },
- {
- "name": "symfony/polyfill-mbstring",
- "version": "v1.30.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c",
- "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "provide": {
- "ext-mbstring": "*"
- },
- "suggest": {
- "ext-mbstring": "For best performance"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for the Mbstring extension",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "mbstring",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-06-19T12:30:46+00:00"
- },
- {
- "name": "symfony/polyfill-php72",
- "version": "v1.30.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "10112722600777e02d2745716b70c5db4ca70442"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/10112722600777e02d2745716b70c5db4ca70442",
- "reference": "10112722600777e02d2745716b70c5db4ca70442",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Php72\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php72/tree/v1.30.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-06-19T12:30:46+00:00"
- },
- {
- "name": "symfony/polyfill-php80",
- "version": "v1.30.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "77fa7995ac1b21ab60769b7323d600a991a90433"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433",
- "reference": "77fa7995ac1b21ab60769b7323d600a991a90433",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Php80\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ion Bazan",
- "email": "ion.bazan@gmail.com"
- },
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-31T15:07:36+00:00"
- },
- {
- "name": "symfony/polyfill-php83",
- "version": "v1.30.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php83.git",
- "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9",
- "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Php83\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php83/tree/v1.30.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-06-19T12:35:24+00:00"
- },
- {
- "name": "symfony/polyfill-uuid",
- "version": "v1.30.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-uuid.git",
- "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/2ba1f33797470debcda07fe9dce20a0003df18e9",
- "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "provide": {
- "ext-uuid": "*"
- },
- "suggest": {
- "ext-uuid": "For best performance"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Uuid\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Grégoire Pineau",
- "email": "lyrixx@lyrixx.info"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for uuid functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "uuid"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-uuid/tree/v1.30.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-31T15:07:36+00:00"
- },
- {
- "name": "symfony/process",
- "version": "v6.4.8",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/process.git",
- "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/8d92dd79149f29e89ee0f480254db595f6a6a2c5",
- "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Process\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Executes commands in sub-processes",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/process/tree/v6.4.8"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-31T14:49:08+00:00"
- },
- {
- "name": "symfony/psr-http-message-bridge",
- "version": "v7.1.3",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/psr-http-message-bridge.git",
- "reference": "1365d10f5476f74a27cf9c2d1eee70c069019db0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/1365d10f5476f74a27cf9c2d1eee70c069019db0",
- "reference": "1365d10f5476f74a27cf9c2d1eee70c069019db0",
- "shasum": ""
- },
- "require": {
- "php": ">=8.2",
- "psr/http-message": "^1.0|^2.0",
- "symfony/http-foundation": "^6.4|^7.0"
- },
- "conflict": {
- "php-http/discovery": "<1.15",
- "symfony/http-kernel": "<6.4"
- },
- "require-dev": {
- "nyholm/psr7": "^1.1",
- "php-http/discovery": "^1.15",
- "psr/log": "^1.1.4|^2|^3",
- "symfony/browser-kit": "^6.4|^7.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/framework-bundle": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0"
- },
- "type": "symfony-bridge",
- "autoload": {
- "psr-4": {
- "Symfony\\Bridge\\PsrHttpMessage\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "PSR HTTP message bridge",
- "homepage": "https://symfony.com",
- "keywords": [
- "http",
- "http-message",
- "psr-17",
- "psr-7"
- ],
- "support": {
- "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.1.3"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-17T06:10:24+00:00"
- },
- {
- "name": "symfony/routing",
- "version": "v6.4.10",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/routing.git",
- "reference": "aad19fe10753ba842f0d653a8db819c4b3affa87"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/aad19fe10753ba842f0d653a8db819c4b3affa87",
- "reference": "aad19fe10753ba842f0d653a8db819c4b3affa87",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3"
- },
- "conflict": {
- "doctrine/annotations": "<1.12",
- "symfony/config": "<6.2",
- "symfony/dependency-injection": "<5.4",
- "symfony/yaml": "<5.4"
- },
- "require-dev": {
- "doctrine/annotations": "^1.12|^2",
- "psr/log": "^1|^2|^3",
- "symfony/config": "^6.2|^7.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/expression-language": "^5.4|^6.0|^7.0",
- "symfony/http-foundation": "^5.4|^6.0|^7.0",
- "symfony/yaml": "^5.4|^6.0|^7.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Routing\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Maps an HTTP request to a set of configuration variables",
- "homepage": "https://symfony.com",
- "keywords": [
- "router",
- "routing",
- "uri",
- "url"
- ],
- "support": {
- "source": "https://github.com/symfony/routing/tree/v6.4.10"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-15T09:26:24+00:00"
- },
- {
- "name": "symfony/service-contracts",
- "version": "v3.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/service-contracts.git",
- "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
- "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "psr/container": "^1.1|^2.0",
- "symfony/deprecation-contracts": "^2.5|^3"
- },
- "conflict": {
- "ext-psr": "<1.1|>=2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\Service\\": ""
- },
- "exclude-from-classmap": [
- "/Test/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to writing services",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.5.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-04-18T09:32:20+00:00"
- },
- {
- "name": "symfony/string",
- "version": "v7.1.3",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/string.git",
- "reference": "ea272a882be7f20cad58d5d78c215001617b7f07"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/ea272a882be7f20cad58d5d78c215001617b7f07",
- "reference": "ea272a882be7f20cad58d5d78c215001617b7f07",
- "shasum": ""
- },
- "require": {
- "php": ">=8.2",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-intl-grapheme": "~1.0",
- "symfony/polyfill-intl-normalizer": "~1.0",
- "symfony/polyfill-mbstring": "~1.0"
- },
- "conflict": {
- "symfony/translation-contracts": "<2.5"
- },
- "require-dev": {
- "symfony/emoji": "^7.1",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/intl": "^6.4|^7.0",
- "symfony/translation-contracts": "^2.5|^3.0",
- "symfony/var-exporter": "^6.4|^7.0"
- },
- "type": "library",
- "autoload": {
- "files": [
- "Resources/functions.php"
- ],
- "psr-4": {
- "Symfony\\Component\\String\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
- "homepage": "https://symfony.com",
- "keywords": [
- "grapheme",
- "i18n",
- "string",
- "unicode",
- "utf-8",
- "utf8"
- ],
- "support": {
- "source": "https://github.com/symfony/string/tree/v7.1.3"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-22T10:25:37+00:00"
- },
- {
- "name": "symfony/translation",
- "version": "v6.4.10",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/translation.git",
- "reference": "94041203f8ac200ae9e7c6a18fa6137814ccecc9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/94041203f8ac200ae9e7c6a18fa6137814ccecc9",
- "reference": "94041203f8ac200ae9e7c6a18fa6137814ccecc9",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/translation-contracts": "^2.5|^3.0"
- },
- "conflict": {
- "symfony/config": "<5.4",
- "symfony/console": "<5.4",
- "symfony/dependency-injection": "<5.4",
- "symfony/http-client-contracts": "<2.5",
- "symfony/http-kernel": "<5.4",
- "symfony/service-contracts": "<2.5",
- "symfony/twig-bundle": "<5.4",
- "symfony/yaml": "<5.4"
- },
- "provide": {
- "symfony/translation-implementation": "2.3|3.0"
- },
- "require-dev": {
- "nikic/php-parser": "^4.18|^5.0",
- "psr/log": "^1|^2|^3",
- "symfony/config": "^5.4|^6.0|^7.0",
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/finder": "^5.4|^6.0|^7.0",
- "symfony/http-client-contracts": "^2.5|^3.0",
- "symfony/http-kernel": "^5.4|^6.0|^7.0",
- "symfony/intl": "^5.4|^6.0|^7.0",
- "symfony/polyfill-intl-icu": "^1.21",
- "symfony/routing": "^5.4|^6.0|^7.0",
- "symfony/service-contracts": "^2.5|^3",
- "symfony/yaml": "^5.4|^6.0|^7.0"
- },
- "type": "library",
- "autoload": {
- "files": [
- "Resources/functions.php"
- ],
- "psr-4": {
- "Symfony\\Component\\Translation\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides tools to internationalize your application",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/translation/tree/v6.4.10"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-26T12:30:32+00:00"
- },
- {
- "name": "symfony/translation-contracts",
- "version": "v3.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/translation-contracts.git",
- "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a",
- "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\Translation\\": ""
- },
- "exclude-from-classmap": [
- "/Test/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to translation",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-04-18T09:32:20+00:00"
- },
- {
- "name": "symfony/uid",
- "version": "v6.4.8",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/uid.git",
- "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/uid/zipball/35904eca37a84bb764c560cbfcac9f0ac2bcdbdf",
- "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/polyfill-uuid": "^1.15"
- },
- "require-dev": {
- "symfony/console": "^5.4|^6.0|^7.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Uid\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Grégoire Pineau",
- "email": "lyrixx@lyrixx.info"
- },
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides an object-oriented API to generate and represent UIDs",
- "homepage": "https://symfony.com",
- "keywords": [
- "UID",
- "ulid",
- "uuid"
- ],
- "support": {
- "source": "https://github.com/symfony/uid/tree/v6.4.8"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-31T14:49:08+00:00"
- },
- {
- "name": "symfony/var-dumper",
- "version": "v6.4.10",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/var-dumper.git",
- "reference": "a71cc3374f5fb9759da1961d28c452373b343dd4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/a71cc3374f5fb9759da1961d28c452373b343dd4",
- "reference": "a71cc3374f5fb9759da1961d28c452373b343dd4",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/polyfill-mbstring": "~1.0"
- },
- "conflict": {
- "symfony/console": "<5.4"
- },
- "require-dev": {
- "ext-iconv": "*",
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/error-handler": "^6.3|^7.0",
- "symfony/http-kernel": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0",
- "symfony/uid": "^5.4|^6.0|^7.0",
- "twig/twig": "^2.13|^3.0.4"
- },
- "bin": [
- "Resources/bin/var-dump-server"
- ],
- "type": "library",
- "autoload": {
- "files": [
- "Resources/functions/dump.php"
- ],
- "psr-4": {
- "Symfony\\Component\\VarDumper\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides mechanisms for walking through any arbitrary PHP variable",
- "homepage": "https://symfony.com",
- "keywords": [
- "debug",
- "dump"
- ],
- "support": {
- "source": "https://github.com/symfony/var-dumper/tree/v6.4.10"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-26T12:30:32+00:00"
- },
- {
- "name": "tijsverkoyen/css-to-inline-styles",
- "version": "v2.2.7",
- "source": {
- "type": "git",
- "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
- "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb",
- "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-libxml": "*",
- "php": "^5.5 || ^7.0 || ^8.0",
- "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "TijsVerkoyen\\CssToInlineStyles\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Tijs Verkoyen",
- "email": "css_to_inline_styles@verkoyen.eu",
- "role": "Developer"
- }
- ],
- "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.",
- "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
- "support": {
- "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues",
- "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7"
- },
- "time": "2023-12-08T13:03:43+00:00"
- },
- {
- "name": "ua-parser/uap-php",
- "version": "v3.9.14",
- "source": {
- "type": "git",
- "url": "https://github.com/ua-parser/uap-php.git",
- "reference": "b796c5ea5df588e65aeb4e2c6cce3811dec4fed6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ua-parser/uap-php/zipball/b796c5ea5df588e65aeb4e2c6cce3811dec4fed6",
- "reference": "b796c5ea5df588e65aeb4e2c6cce3811dec4fed6",
- "shasum": ""
- },
- "require": {
- "composer/ca-bundle": "^1.1",
- "php": "^7.2 || ^8.0"
- },
- "require-dev": {
- "phpstan/phpstan": "^0.12.33",
- "phpunit/phpunit": "^8 || ^9",
- "symfony/console": "^3.4 || ^4.2 || ^4.3 || ^5.0",
- "symfony/filesystem": "^3.4 || ^4.2 || ^4.3 || ^5.0",
- "symfony/finder": "^3.4 || ^4.2 || ^4.3 || ^5.0",
- "symfony/yaml": "^3.4 || ^4.2 || ^4.3 || ^5.0",
- "vimeo/psalm": "^3.12"
- },
- "suggest": {
- "symfony/console": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0",
- "symfony/filesystem": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0",
- "symfony/finder": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0",
- "symfony/yaml": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0"
- },
- "bin": [
- "bin/uaparser"
- ],
- "type": "library",
- "autoload": {
- "psr-4": {
- "UAParser\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Dave Olsen",
- "email": "dmolsen@gmail.com"
- },
- {
- "name": "Lars Strojny",
- "email": "lars@strojny.net"
- }
- ],
- "description": "A multi-language port of Browserscope's user agent parser.",
- "support": {
- "issues": "https://github.com/ua-parser/uap-php/issues",
- "source": "https://github.com/ua-parser/uap-php/tree/v3.9.14"
- },
- "time": "2020-10-02T23:36:20+00:00"
- },
- {
- "name": "vlucas/phpdotenv",
- "version": "v5.6.1",
- "source": {
- "type": "git",
- "url": "https://github.com/vlucas/phpdotenv.git",
- "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/a59a13791077fe3d44f90e7133eb68e7d22eaff2",
- "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2",
- "shasum": ""
- },
- "require": {
- "ext-pcre": "*",
- "graham-campbell/result-type": "^1.1.3",
- "php": "^7.2.5 || ^8.0",
- "phpoption/phpoption": "^1.9.3",
- "symfony/polyfill-ctype": "^1.24",
- "symfony/polyfill-mbstring": "^1.24",
- "symfony/polyfill-php80": "^1.24"
- },
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.8.2",
- "ext-filter": "*",
- "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2"
- },
- "suggest": {
- "ext-filter": "Required to use the boolean validator."
- },
- "type": "library",
- "extra": {
- "bamarni-bin": {
- "bin-links": true,
- "forward-command": false
- },
- "branch-alias": {
- "dev-master": "5.6-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Dotenv\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Graham Campbell",
- "email": "hello@gjcampbell.co.uk",
- "homepage": "https://github.com/GrahamCampbell"
- },
- {
- "name": "Vance Lucas",
- "email": "vance@vancelucas.com",
- "homepage": "https://github.com/vlucas"
- }
- ],
- "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
- "keywords": [
- "dotenv",
- "env",
- "environment"
- ],
- "support": {
- "issues": "https://github.com/vlucas/phpdotenv/issues",
- "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.1"
- },
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-20T21:52:34+00:00"
- },
- {
- "name": "voku/portable-ascii",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/voku/portable-ascii.git",
- "reference": "b56450eed252f6801410d810c8e1727224ae0743"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743",
- "reference": "b56450eed252f6801410d810c8e1727224ae0743",
- "shasum": ""
- },
- "require": {
- "php": ">=7.0.0"
- },
- "require-dev": {
- "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0"
- },
- "suggest": {
- "ext-intl": "Use Intl for transliterator_transliterate() support"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "voku\\": "src/voku/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Lars Moelleken",
- "homepage": "http://www.moelleken.org/"
- }
- ],
- "description": "Portable ASCII library - performance optimized (ascii) string functions for php.",
- "homepage": "https://github.com/voku/portable-ascii",
- "keywords": [
- "ascii",
- "clean",
- "php"
- ],
- "support": {
- "issues": "https://github.com/voku/portable-ascii/issues",
- "source": "https://github.com/voku/portable-ascii/tree/2.0.1"
- },
- "funding": [
- {
- "url": "https://www.paypal.me/moelleken",
- "type": "custom"
- },
- {
- "url": "https://github.com/voku",
- "type": "github"
- },
- {
- "url": "https://opencollective.com/portable-ascii",
- "type": "open_collective"
- },
- {
- "url": "https://www.patreon.com/voku",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii",
- "type": "tidelift"
- }
- ],
- "time": "2022-03-08T17:03:00+00:00"
- },
- {
- "name": "webmozart/assert",
- "version": "1.11.0",
- "source": {
- "type": "git",
- "url": "https://github.com/webmozarts/assert.git",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "shasum": ""
- },
- "require": {
- "ext-ctype": "*",
- "php": "^7.2 || ^8.0"
- },
- "conflict": {
- "phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<4.6.1 || 4.6.2"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5.13"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.10-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Webmozart\\Assert\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Assertions to validate method input/output with nice error messages.",
- "keywords": [
- "assert",
- "check",
- "validate"
- ],
- "support": {
- "issues": "https://github.com/webmozarts/assert/issues",
- "source": "https://github.com/webmozarts/assert/tree/1.11.0"
- },
- "time": "2022-06-03T18:03:27+00:00"
- }
- ],
- "packages-dev": [
- {
- "name": "fakerphp/faker",
- "version": "v1.23.1",
- "source": {
- "type": "git",
- "url": "https://github.com/FakerPHP/Faker.git",
- "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b",
- "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b",
- "shasum": ""
- },
- "require": {
- "php": "^7.4 || ^8.0",
- "psr/container": "^1.0 || ^2.0",
- "symfony/deprecation-contracts": "^2.2 || ^3.0"
- },
- "conflict": {
- "fzaninotto/faker": "*"
- },
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.4.1",
- "doctrine/persistence": "^1.3 || ^2.0",
- "ext-intl": "*",
- "phpunit/phpunit": "^9.5.26",
- "symfony/phpunit-bridge": "^5.4.16"
- },
- "suggest": {
- "doctrine/orm": "Required to use Faker\\ORM\\Doctrine",
- "ext-curl": "Required by Faker\\Provider\\Image to download images.",
- "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.",
- "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.",
- "ext-mbstring": "Required for multibyte Unicode string functionality."
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Faker\\": "src/Faker/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "François Zaninotto"
- }
- ],
- "description": "Faker is a PHP library that generates fake data for you.",
- "keywords": [
- "data",
- "faker",
- "fixtures"
- ],
- "support": {
- "issues": "https://github.com/FakerPHP/Faker/issues",
- "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1"
- },
- "time": "2024-01-02T13:46:09+00:00"
- },
- {
- "name": "filp/whoops",
- "version": "2.15.4",
- "source": {
- "type": "git",
- "url": "https://github.com/filp/whoops.git",
- "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546",
- "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546",
- "shasum": ""
- },
- "require": {
- "php": "^5.5.9 || ^7.0 || ^8.0",
- "psr/log": "^1.0.1 || ^2.0 || ^3.0"
- },
- "require-dev": {
- "mockery/mockery": "^0.9 || ^1.0",
- "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3",
- "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0"
- },
- "suggest": {
- "symfony/var-dumper": "Pretty print complex values better with var-dumper available",
- "whoops/soap": "Formats errors as SOAP responses"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.7-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Whoops\\": "src/Whoops/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Filipe Dobreira",
- "homepage": "https://github.com/filp",
- "role": "Developer"
- }
- ],
- "description": "php error handling for cool kids",
- "homepage": "https://filp.github.io/whoops/",
- "keywords": [
- "error",
- "exception",
- "handling",
- "library",
- "throwable",
- "whoops"
- ],
- "support": {
- "issues": "https://github.com/filp/whoops/issues",
- "source": "https://github.com/filp/whoops/tree/2.15.4"
- },
- "funding": [
- {
- "url": "https://github.com/denis-sokolov",
- "type": "github"
- }
- ],
- "time": "2023-11-03T12:00:00+00:00"
- },
- {
- "name": "hamcrest/hamcrest-php",
- "version": "v2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/hamcrest/hamcrest-php.git",
- "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
- "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
- "shasum": ""
- },
- "require": {
- "php": "^5.3|^7.0|^8.0"
- },
- "replace": {
- "cordoval/hamcrest-php": "*",
- "davedevelopment/hamcrest-php": "*",
- "kodova/hamcrest-php": "*"
- },
- "require-dev": {
- "phpunit/php-file-iterator": "^1.4 || ^2.0",
- "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "hamcrest"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "description": "This is the PHP port of Hamcrest Matchers",
- "keywords": [
- "test"
- ],
- "support": {
- "issues": "https://github.com/hamcrest/hamcrest-php/issues",
- "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1"
- },
- "time": "2020-07-09T08:09:16+00:00"
- },
- {
- "name": "laravel/pint",
- "version": "v1.17.2",
- "source": {
- "type": "git",
- "url": "https://github.com/laravel/pint.git",
- "reference": "e8a88130a25e3f9d4d5785e6a1afca98268ab110"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/laravel/pint/zipball/e8a88130a25e3f9d4d5785e6a1afca98268ab110",
- "reference": "e8a88130a25e3f9d4d5785e6a1afca98268ab110",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "ext-mbstring": "*",
- "ext-tokenizer": "*",
- "ext-xml": "*",
- "php": "^8.1.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^3.61.1",
- "illuminate/view": "^10.48.18",
- "larastan/larastan": "^2.9.8",
- "laravel-zero/framework": "^10.4.0",
- "mockery/mockery": "^1.6.12",
- "nunomaduro/termwind": "^1.15.1",
- "pestphp/pest": "^2.35.0"
- },
- "bin": [
- "builds/pint"
- ],
- "type": "project",
- "autoload": {
- "psr-4": {
- "App\\": "app/",
- "Database\\Seeders\\": "database/seeders/",
- "Database\\Factories\\": "database/factories/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nuno Maduro",
- "email": "enunomaduro@gmail.com"
- }
- ],
- "description": "An opinionated code formatter for PHP.",
- "homepage": "https://laravel.com",
- "keywords": [
- "format",
- "formatter",
- "lint",
- "linter",
- "php"
- ],
- "support": {
- "issues": "https://github.com/laravel/pint/issues",
- "source": "https://github.com/laravel/pint"
- },
- "time": "2024-08-06T15:11:54+00:00"
- },
- {
- "name": "laravel/sail",
- "version": "v1.31.1",
- "source": {
- "type": "git",
- "url": "https://github.com/laravel/sail.git",
- "reference": "3d06dd18cee8059baa7b388af00ba47f6d96bd85"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/laravel/sail/zipball/3d06dd18cee8059baa7b388af00ba47f6d96bd85",
- "reference": "3d06dd18cee8059baa7b388af00ba47f6d96bd85",
- "shasum": ""
- },
- "require": {
- "illuminate/console": "^9.52.16|^10.0|^11.0",
- "illuminate/contracts": "^9.52.16|^10.0|^11.0",
- "illuminate/support": "^9.52.16|^10.0|^11.0",
- "php": "^8.0",
- "symfony/console": "^6.0|^7.0",
- "symfony/yaml": "^6.0|^7.0"
- },
- "require-dev": {
- "orchestra/testbench": "^7.0|^8.0|^9.0",
- "phpstan/phpstan": "^1.10"
- },
- "bin": [
- "bin/sail"
- ],
- "type": "library",
- "extra": {
- "laravel": {
- "providers": [
- "Laravel\\Sail\\SailServiceProvider"
- ]
- }
- },
- "autoload": {
- "psr-4": {
- "Laravel\\Sail\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Taylor Otwell",
- "email": "taylor@laravel.com"
- }
- ],
- "description": "Docker files for running a basic Laravel application.",
- "keywords": [
- "docker",
- "laravel"
- ],
- "support": {
- "issues": "https://github.com/laravel/sail/issues",
- "source": "https://github.com/laravel/sail"
- },
- "time": "2024-08-02T07:45:47+00:00"
- },
- {
- "name": "mockery/mockery",
- "version": "1.6.12",
- "source": {
- "type": "git",
- "url": "https://github.com/mockery/mockery.git",
- "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699",
- "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699",
- "shasum": ""
- },
- "require": {
- "hamcrest/hamcrest-php": "^2.0.1",
- "lib-pcre": ">=7.0",
- "php": ">=7.3"
- },
- "conflict": {
- "phpunit/phpunit": "<8.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5 || ^9.6.17",
- "symplify/easy-coding-standard": "^12.1.14"
- },
- "type": "library",
- "autoload": {
- "files": [
- "library/helpers.php",
- "library/Mockery.php"
- ],
- "psr-4": {
- "Mockery\\": "library/Mockery"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Pádraic Brady",
- "email": "padraic.brady@gmail.com",
- "homepage": "https://github.com/padraic",
- "role": "Author"
- },
- {
- "name": "Dave Marshall",
- "email": "dave.marshall@atstsolutions.co.uk",
- "homepage": "https://davedevelopment.co.uk",
- "role": "Developer"
- },
- {
- "name": "Nathanael Esayeas",
- "email": "nathanael.esayeas@protonmail.com",
- "homepage": "https://github.com/ghostwriter",
- "role": "Lead Developer"
- }
- ],
- "description": "Mockery is a simple yet flexible PHP mock object framework",
- "homepage": "https://github.com/mockery/mockery",
- "keywords": [
- "BDD",
- "TDD",
- "library",
- "mock",
- "mock objects",
- "mockery",
- "stub",
- "test",
- "test double",
- "testing"
- ],
- "support": {
- "docs": "https://docs.mockery.io/",
- "issues": "https://github.com/mockery/mockery/issues",
- "rss": "https://github.com/mockery/mockery/releases.atom",
- "security": "https://github.com/mockery/mockery/security/advisories",
- "source": "https://github.com/mockery/mockery"
- },
- "time": "2024-05-16T03:13:13+00:00"
- },
- {
- "name": "myclabs/deep-copy",
- "version": "1.12.0",
- "source": {
- "type": "git",
- "url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
- "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0"
- },
- "conflict": {
- "doctrine/collections": "<1.6.8",
- "doctrine/common": "<2.13.3 || >=3 <3.2.2"
- },
- "require-dev": {
- "doctrine/collections": "^1.6.8",
- "doctrine/common": "^2.13.3 || ^3.2.2",
- "phpspec/prophecy": "^1.10",
- "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/DeepCopy/deep_copy.php"
- ],
- "psr-4": {
- "DeepCopy\\": "src/DeepCopy/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Create deep copies (clones) of your objects",
- "keywords": [
- "clone",
- "copy",
- "duplicate",
- "object",
- "object graph"
- ],
- "support": {
- "issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0"
- },
- "funding": [
- {
- "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
- "type": "tidelift"
- }
- ],
- "time": "2024-06-12T14:39:25+00:00"
- },
- {
- "name": "nunomaduro/collision",
- "version": "v7.10.0",
- "source": {
- "type": "git",
- "url": "https://github.com/nunomaduro/collision.git",
- "reference": "49ec67fa7b002712da8526678abd651c09f375b2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/collision/zipball/49ec67fa7b002712da8526678abd651c09f375b2",
- "reference": "49ec67fa7b002712da8526678abd651c09f375b2",
- "shasum": ""
- },
- "require": {
- "filp/whoops": "^2.15.3",
- "nunomaduro/termwind": "^1.15.1",
- "php": "^8.1.0",
- "symfony/console": "^6.3.4"
- },
- "conflict": {
- "laravel/framework": ">=11.0.0"
- },
- "require-dev": {
- "brianium/paratest": "^7.3.0",
- "laravel/framework": "^10.28.0",
- "laravel/pint": "^1.13.3",
- "laravel/sail": "^1.25.0",
- "laravel/sanctum": "^3.3.1",
- "laravel/tinker": "^2.8.2",
- "nunomaduro/larastan": "^2.6.4",
- "orchestra/testbench-core": "^8.13.0",
- "pestphp/pest": "^2.23.2",
- "phpunit/phpunit": "^10.4.1",
- "sebastian/environment": "^6.0.1",
- "spatie/laravel-ignition": "^2.3.1"
- },
- "type": "library",
- "extra": {
- "laravel": {
- "providers": [
- "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider"
- ]
- }
- },
- "autoload": {
- "files": [
- "./src/Adapters/Phpunit/Autoload.php"
- ],
- "psr-4": {
- "NunoMaduro\\Collision\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nuno Maduro",
- "email": "enunomaduro@gmail.com"
- }
- ],
- "description": "Cli error handling for console/command-line PHP applications.",
- "keywords": [
- "artisan",
- "cli",
- "command-line",
- "console",
- "error",
- "handling",
- "laravel",
- "laravel-zero",
- "php",
- "symfony"
- ],
- "support": {
- "issues": "https://github.com/nunomaduro/collision/issues",
- "source": "https://github.com/nunomaduro/collision"
- },
- "funding": [
- {
- "url": "https://www.paypal.com/paypalme/enunomaduro",
- "type": "custom"
- },
- {
- "url": "https://github.com/nunomaduro",
- "type": "github"
- },
- {
- "url": "https://www.patreon.com/nunomaduro",
- "type": "patreon"
- }
- ],
- "time": "2023-10-11T15:45:01+00:00"
- },
- {
- "name": "phar-io/manifest",
- "version": "2.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/phar-io/manifest.git",
- "reference": "54750ef60c58e43759730615a392c31c80e23176"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176",
- "reference": "54750ef60c58e43759730615a392c31c80e23176",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-libxml": "*",
- "ext-phar": "*",
- "ext-xmlwriter": "*",
- "phar-io/version": "^3.0.1",
- "php": "^7.2 || ^8.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "Developer"
- }
- ],
- "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
- "support": {
- "issues": "https://github.com/phar-io/manifest/issues",
- "source": "https://github.com/phar-io/manifest/tree/2.0.4"
- },
- "funding": [
- {
- "url": "https://github.com/theseer",
- "type": "github"
- }
- ],
- "time": "2024-03-03T12:33:53+00:00"
- },
- {
- "name": "phar-io/version",
- "version": "3.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phar-io/version.git",
- "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
- "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "Developer"
- }
- ],
- "description": "Library for handling version information and constraints",
- "support": {
- "issues": "https://github.com/phar-io/version/issues",
- "source": "https://github.com/phar-io/version/tree/3.2.1"
- },
- "time": "2022-02-21T01:04:05+00:00"
- },
- {
- "name": "phpunit/php-code-coverage",
- "version": "10.1.15",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae",
- "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-libxml": "*",
- "ext-xmlwriter": "*",
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=8.1",
- "phpunit/php-file-iterator": "^4.0",
- "phpunit/php-text-template": "^3.0",
- "sebastian/code-unit-reverse-lookup": "^3.0",
- "sebastian/complexity": "^3.0",
- "sebastian/environment": "^6.0",
- "sebastian/lines-of-code": "^2.0",
- "sebastian/version": "^4.0",
- "theseer/tokenizer": "^1.2.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.1"
- },
- "suggest": {
- "ext-pcov": "PHP extension that provides line coverage",
- "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "10.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
- "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
- "keywords": [
- "coverage",
- "testing",
- "xunit"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.15"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2024-06-29T08:25:15+00:00"
- },
- {
- "name": "phpunit/php-file-iterator",
- "version": "4.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c",
- "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "4.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "FilterIterator implementation that filters files based on a list of suffixes.",
- "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
- "keywords": [
- "filesystem",
- "iterator"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-08-31T06:24:48+00:00"
- },
- {
- "name": "phpunit/php-invoker",
- "version": "4.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
- "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "require-dev": {
- "ext-pcntl": "*",
- "phpunit/phpunit": "^10.0"
- },
- "suggest": {
- "ext-pcntl": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "4.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Invoke callables with a timeout",
- "homepage": "https://github.com/sebastianbergmann/php-invoker/",
- "keywords": [
- "process"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-02-03T06:56:09+00:00"
- },
- {
- "name": "phpunit/php-text-template",
- "version": "3.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748",
- "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Simple template engine.",
- "homepage": "https://github.com/sebastianbergmann/php-text-template/",
- "keywords": [
- "template"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
- "security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-08-31T14:07:24+00:00"
- },
- {
- "name": "phpunit/php-timer",
- "version": "6.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d",
- "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "6.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Utility class for timing",
- "homepage": "https://github.com/sebastianbergmann/php-timer/",
- "keywords": [
- "timer"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-02-03T06:57:52+00:00"
- },
- {
- "name": "phpunit/phpunit",
- "version": "10.5.29",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "8e9e80872b4e8064401788ee8a32d40b4455318f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8e9e80872b4e8064401788ee8a32d40b4455318f",
- "reference": "8e9e80872b4e8064401788ee8a32d40b4455318f",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-json": "*",
- "ext-libxml": "*",
- "ext-mbstring": "*",
- "ext-xml": "*",
- "ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.12.0",
- "phar-io/manifest": "^2.0.4",
- "phar-io/version": "^3.2.1",
- "php": ">=8.1",
- "phpunit/php-code-coverage": "^10.1.15",
- "phpunit/php-file-iterator": "^4.1.0",
- "phpunit/php-invoker": "^4.0.0",
- "phpunit/php-text-template": "^3.0.1",
- "phpunit/php-timer": "^6.0.0",
- "sebastian/cli-parser": "^2.0.1",
- "sebastian/code-unit": "^2.0.0",
- "sebastian/comparator": "^5.0.1",
- "sebastian/diff": "^5.1.1",
- "sebastian/environment": "^6.1.0",
- "sebastian/exporter": "^5.1.2",
- "sebastian/global-state": "^6.0.2",
- "sebastian/object-enumerator": "^5.0.0",
- "sebastian/recursion-context": "^5.0.0",
- "sebastian/type": "^4.0.0",
- "sebastian/version": "^4.0.1"
- },
- "suggest": {
- "ext-soap": "To be able to generate mocks based on WSDL files"
- },
- "bin": [
- "phpunit"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "10.5-dev"
- }
- },
- "autoload": {
- "files": [
- "src/Framework/Assert/Functions.php"
- ],
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "The PHP Unit Testing framework.",
- "homepage": "https://phpunit.de/",
- "keywords": [
- "phpunit",
- "testing",
- "xunit"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/phpunit/issues",
- "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.29"
- },
- "funding": [
- {
- "url": "https://phpunit.de/sponsors.html",
- "type": "custom"
- },
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-30T11:08:00+00:00"
- },
- {
- "name": "sebastian/cli-parser",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084",
- "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library for parsing CLI options",
- "homepage": "https://github.com/sebastianbergmann/cli-parser",
- "support": {
- "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
- "security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2024-03-02T07:12:49+00:00"
- },
- {
- "name": "sebastian/code-unit",
- "version": "2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "a81fee9eef0b7a76af11d121767abc44c104e503"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503",
- "reference": "a81fee9eef0b7a76af11d121767abc44c104e503",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Collection of value objects that represent the PHP code units",
- "homepage": "https://github.com/sebastianbergmann/code-unit",
- "support": {
- "issues": "https://github.com/sebastianbergmann/code-unit/issues",
- "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-02-03T06:58:43+00:00"
- },
- {
- "name": "sebastian/code-unit-reverse-lookup",
- "version": "3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
- "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Looks up which function or method a line of code belongs to",
- "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
- "support": {
- "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-02-03T06:59:15+00:00"
- },
- {
- "name": "sebastian/comparator",
- "version": "5.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "2db5010a484d53ebf536087a70b4a5423c102372"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372",
- "reference": "2db5010a484d53ebf536087a70b4a5423c102372",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-mbstring": "*",
- "php": ">=8.1",
- "sebastian/diff": "^5.0",
- "sebastian/exporter": "^5.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "5.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- }
- ],
- "description": "Provides the functionality to compare PHP values for equality",
- "homepage": "https://github.com/sebastianbergmann/comparator",
- "keywords": [
- "comparator",
- "compare",
- "equality"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/comparator/issues",
- "security": "https://github.com/sebastianbergmann/comparator/security/policy",
- "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-08-14T13:18:12+00:00"
- },
- {
- "name": "sebastian/complexity",
- "version": "3.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "68ff824baeae169ec9f2137158ee529584553799"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799",
- "reference": "68ff824baeae169ec9f2137158ee529584553799",
- "shasum": ""
- },
- "require": {
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=8.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.2-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library for calculating the complexity of PHP code units",
- "homepage": "https://github.com/sebastianbergmann/complexity",
- "support": {
- "issues": "https://github.com/sebastianbergmann/complexity/issues",
- "security": "https://github.com/sebastianbergmann/complexity/security/policy",
- "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-12-21T08:37:17+00:00"
- },
- {
- "name": "sebastian/diff",
- "version": "5.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e",
- "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.0",
- "symfony/process": "^6.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "5.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
- }
- ],
- "description": "Diff implementation",
- "homepage": "https://github.com/sebastianbergmann/diff",
- "keywords": [
- "diff",
- "udiff",
- "unidiff",
- "unified diff"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/diff/issues",
- "security": "https://github.com/sebastianbergmann/diff/security/policy",
- "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2024-03-02T07:15:17+00:00"
- },
- {
- "name": "sebastian/environment",
- "version": "6.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "8074dbcd93529b357029f5cc5058fd3e43666984"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984",
- "reference": "8074dbcd93529b357029f5cc5058fd3e43666984",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.0"
- },
- "suggest": {
- "ext-posix": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "6.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "https://github.com/sebastianbergmann/environment",
- "keywords": [
- "Xdebug",
- "environment",
- "hhvm"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/environment/issues",
- "security": "https://github.com/sebastianbergmann/environment/security/policy",
- "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2024-03-23T08:47:14+00:00"
- },
- {
- "name": "sebastian/exporter",
- "version": "5.1.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "955288482d97c19a372d3f31006ab3f37da47adf"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf",
- "reference": "955288482d97c19a372d3f31006ab3f37da47adf",
- "shasum": ""
- },
- "require": {
- "ext-mbstring": "*",
- "php": ">=8.1",
- "sebastian/recursion-context": "^5.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "5.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "https://www.github.com/sebastianbergmann/exporter",
- "keywords": [
- "export",
- "exporter"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/exporter/issues",
- "security": "https://github.com/sebastianbergmann/exporter/security/policy",
- "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2024-03-02T07:17:12+00:00"
- },
- {
- "name": "sebastian/global-state",
- "version": "6.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9",
- "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "sebastian/object-reflector": "^3.0",
- "sebastian/recursion-context": "^5.0"
- },
- "require-dev": {
- "ext-dom": "*",
- "phpunit/phpunit": "^10.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "6.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Snapshotting of global state",
- "homepage": "https://www.github.com/sebastianbergmann/global-state",
- "keywords": [
- "global state"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/global-state/issues",
- "security": "https://github.com/sebastianbergmann/global-state/security/policy",
- "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2024-03-02T07:19:19+00:00"
- },
- {
- "name": "sebastian/lines-of-code",
- "version": "2.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0",
- "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0",
- "shasum": ""
- },
- "require": {
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=8.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library for counting the lines of code in PHP source code",
- "homepage": "https://github.com/sebastianbergmann/lines-of-code",
- "support": {
- "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
- "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-12-21T08:38:20+00:00"
- },
- {
- "name": "sebastian/object-enumerator",
- "version": "5.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906",
- "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "sebastian/object-reflector": "^3.0",
- "sebastian/recursion-context": "^5.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "5.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Traverses array structures and object graphs to enumerate all referenced objects",
- "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
- "support": {
- "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-02-03T07:08:32+00:00"
- },
- {
- "name": "sebastian/object-reflector",
- "version": "3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "24ed13d98130f0e7122df55d06c5c4942a577957"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957",
- "reference": "24ed13d98130f0e7122df55d06c5c4942a577957",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Allows reflection of object attributes, including inherited and non-public ones",
- "homepage": "https://github.com/sebastianbergmann/object-reflector/",
- "support": {
- "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-02-03T07:06:18+00:00"
- },
- {
- "name": "sebastian/recursion-context",
- "version": "5.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "05909fb5bc7df4c52992396d0116aed689f93712"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712",
- "reference": "05909fb5bc7df4c52992396d0116aed689f93712",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "5.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- }
- ],
- "description": "Provides functionality to recursively process PHP variables",
- "homepage": "https://github.com/sebastianbergmann/recursion-context",
- "support": {
- "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-02-03T07:05:40+00:00"
- },
- {
- "name": "sebastian/type",
- "version": "4.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/type.git",
- "reference": "462699a16464c3944eefc02ebdd77882bd3925bf"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf",
- "reference": "462699a16464c3944eefc02ebdd77882bd3925bf",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^10.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "4.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Collection of value objects that represent the types of the PHP type system",
- "homepage": "https://github.com/sebastianbergmann/type",
- "support": {
- "issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/4.0.0"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-02-03T07:10:45+00:00"
- },
- {
- "name": "sebastian/version",
- "version": "4.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17",
- "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "4.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library that helps with managing the version number of Git-hosted PHP projects",
- "homepage": "https://github.com/sebastianbergmann/version",
- "support": {
- "issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/4.0.1"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-02-07T11:34:05+00:00"
- },
- {
- "name": "spatie/backtrace",
- "version": "1.6.2",
- "source": {
- "type": "git",
- "url": "https://github.com/spatie/backtrace.git",
- "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/spatie/backtrace/zipball/1a9a145b044677ae3424693f7b06479fc8c137a9",
- "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9",
- "shasum": ""
- },
- "require": {
- "php": "^7.3|^8.0"
- },
- "require-dev": {
- "ext-json": "*",
- "laravel/serializable-closure": "^1.3",
- "phpunit/phpunit": "^9.3",
- "spatie/phpunit-snapshot-assertions": "^4.2",
- "symfony/var-dumper": "^5.1"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Spatie\\Backtrace\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Freek Van de Herten",
- "email": "freek@spatie.be",
- "homepage": "https://spatie.be",
- "role": "Developer"
- }
- ],
- "description": "A better backtrace",
- "homepage": "https://github.com/spatie/backtrace",
- "keywords": [
- "Backtrace",
- "spatie"
- ],
- "support": {
- "source": "https://github.com/spatie/backtrace/tree/1.6.2"
- },
- "funding": [
- {
- "url": "https://github.com/sponsors/spatie",
- "type": "github"
- },
- {
- "url": "https://spatie.be/open-source/support-us",
- "type": "other"
- }
- ],
- "time": "2024-07-22T08:21:24+00:00"
- },
- {
- "name": "spatie/error-solutions",
- "version": "1.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/spatie/error-solutions.git",
- "reference": "ae7393122eda72eed7cc4f176d1e96ea444f2d67"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/spatie/error-solutions/zipball/ae7393122eda72eed7cc4f176d1e96ea444f2d67",
- "reference": "ae7393122eda72eed7cc4f176d1e96ea444f2d67",
- "shasum": ""
- },
- "require": {
- "php": "^8.0"
- },
- "require-dev": {
- "illuminate/broadcasting": "^10.0|^11.0",
- "illuminate/cache": "^10.0|^11.0",
- "illuminate/support": "^10.0|^11.0",
- "livewire/livewire": "^2.11|^3.3.5",
- "openai-php/client": "^0.10.1",
- "orchestra/testbench": "^7.0|8.22.3|^9.0",
- "pestphp/pest": "^2.20",
- "phpstan/phpstan": "^1.11",
- "psr/simple-cache": "^3.0",
- "psr/simple-cache-implementation": "^3.0",
- "spatie/ray": "^1.28",
- "symfony/cache": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0",
- "vlucas/phpdotenv": "^5.5"
- },
- "suggest": {
- "openai-php/client": "Require get solutions from OpenAI",
- "simple-cache-implementation": "To cache solutions from OpenAI"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Spatie\\Ignition\\": "legacy/ignition",
- "Spatie\\ErrorSolutions\\": "src",
- "Spatie\\LaravelIgnition\\": "legacy/laravel-ignition"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ruben Van Assche",
- "email": "ruben@spatie.be",
- "role": "Developer"
- }
- ],
- "description": "This is my package error-solutions",
- "homepage": "https://github.com/spatie/error-solutions",
- "keywords": [
- "error-solutions",
- "spatie"
- ],
- "support": {
- "issues": "https://github.com/spatie/error-solutions/issues",
- "source": "https://github.com/spatie/error-solutions/tree/1.1.1"
- },
- "funding": [
- {
- "url": "https://github.com/Spatie",
- "type": "github"
- }
- ],
- "time": "2024-07-25T11:06:04+00:00"
- },
- {
- "name": "spatie/flare-client-php",
- "version": "1.8.0",
- "source": {
- "type": "git",
- "url": "https://github.com/spatie/flare-client-php.git",
- "reference": "180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122",
- "reference": "180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122",
- "shasum": ""
- },
- "require": {
- "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0",
- "php": "^8.0",
- "spatie/backtrace": "^1.6.1",
- "symfony/http-foundation": "^5.2|^6.0|^7.0",
- "symfony/mime": "^5.2|^6.0|^7.0",
- "symfony/process": "^5.2|^6.0|^7.0",
- "symfony/var-dumper": "^5.2|^6.0|^7.0"
- },
- "require-dev": {
- "dms/phpunit-arraysubset-asserts": "^0.5.0",
- "pestphp/pest": "^1.20|^2.0",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-phpunit": "^1.0",
- "spatie/pest-plugin-snapshots": "^1.0|^2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.3.x-dev"
- }
- },
- "autoload": {
- "files": [
- "src/helpers.php"
- ],
- "psr-4": {
- "Spatie\\FlareClient\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Send PHP errors to Flare",
- "homepage": "https://github.com/spatie/flare-client-php",
- "keywords": [
- "exception",
- "flare",
- "reporting",
- "spatie"
- ],
- "support": {
- "issues": "https://github.com/spatie/flare-client-php/issues",
- "source": "https://github.com/spatie/flare-client-php/tree/1.8.0"
- },
- "funding": [
- {
- "url": "https://github.com/spatie",
- "type": "github"
- }
- ],
- "time": "2024-08-01T08:27:26+00:00"
- },
- {
- "name": "spatie/ignition",
- "version": "1.15.0",
- "source": {
- "type": "git",
- "url": "https://github.com/spatie/ignition.git",
- "reference": "e3a68e137371e1eb9edc7f78ffa733f3b98991d2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/spatie/ignition/zipball/e3a68e137371e1eb9edc7f78ffa733f3b98991d2",
- "reference": "e3a68e137371e1eb9edc7f78ffa733f3b98991d2",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "ext-mbstring": "*",
- "php": "^8.0",
- "spatie/error-solutions": "^1.0",
- "spatie/flare-client-php": "^1.7",
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/var-dumper": "^5.4|^6.0|^7.0"
- },
- "require-dev": {
- "illuminate/cache": "^9.52|^10.0|^11.0",
- "mockery/mockery": "^1.4",
- "pestphp/pest": "^1.20|^2.0",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-phpunit": "^1.0",
- "psr/simple-cache-implementation": "*",
- "symfony/cache": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0",
- "vlucas/phpdotenv": "^5.5"
- },
- "suggest": {
- "openai-php/client": "Require get solutions from OpenAI",
- "simple-cache-implementation": "To cache solutions from OpenAI"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.5.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Spatie\\Ignition\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Spatie",
- "email": "info@spatie.be",
- "role": "Developer"
- }
- ],
- "description": "A beautiful error page for PHP applications.",
- "homepage": "https://flareapp.io/ignition",
- "keywords": [
- "error",
- "flare",
- "laravel",
- "page"
- ],
- "support": {
- "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction",
- "forum": "https://twitter.com/flareappio",
- "issues": "https://github.com/spatie/ignition/issues",
- "source": "https://github.com/spatie/ignition"
- },
- "funding": [
- {
- "url": "https://github.com/spatie",
- "type": "github"
- }
- ],
- "time": "2024-06-12T14:55:22+00:00"
- },
- {
- "name": "spatie/laravel-ignition",
- "version": "2.8.0",
- "source": {
- "type": "git",
- "url": "https://github.com/spatie/laravel-ignition.git",
- "reference": "3c067b75bfb50574db8f7e2c3978c65eed71126c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/3c067b75bfb50574db8f7e2c3978c65eed71126c",
- "reference": "3c067b75bfb50574db8f7e2c3978c65eed71126c",
- "shasum": ""
- },
- "require": {
- "ext-curl": "*",
- "ext-json": "*",
- "ext-mbstring": "*",
- "illuminate/support": "^10.0|^11.0",
- "php": "^8.1",
- "spatie/ignition": "^1.15",
- "symfony/console": "^6.2.3|^7.0",
- "symfony/var-dumper": "^6.2.3|^7.0"
- },
- "require-dev": {
- "livewire/livewire": "^2.11|^3.3.5",
- "mockery/mockery": "^1.5.1",
- "openai-php/client": "^0.8.1",
- "orchestra/testbench": "8.22.3|^9.0",
- "pestphp/pest": "^2.34",
- "phpstan/extension-installer": "^1.3.1",
- "phpstan/phpstan-deprecation-rules": "^1.1.1",
- "phpstan/phpstan-phpunit": "^1.3.16",
- "vlucas/phpdotenv": "^5.5"
- },
- "suggest": {
- "openai-php/client": "Require get solutions from OpenAI",
- "psr/simple-cache-implementation": "Needed to cache solutions from OpenAI"
- },
- "type": "library",
- "extra": {
- "laravel": {
- "providers": [
- "Spatie\\LaravelIgnition\\IgnitionServiceProvider"
- ],
- "aliases": {
- "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare"
- }
- }
- },
- "autoload": {
- "files": [
- "src/helpers.php"
- ],
- "psr-4": {
- "Spatie\\LaravelIgnition\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Spatie",
- "email": "info@spatie.be",
- "role": "Developer"
- }
- ],
- "description": "A beautiful error page for Laravel applications.",
- "homepage": "https://flareapp.io/ignition",
- "keywords": [
- "error",
- "flare",
- "laravel",
- "page"
- ],
- "support": {
- "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction",
- "forum": "https://twitter.com/flareappio",
- "issues": "https://github.com/spatie/laravel-ignition/issues",
- "source": "https://github.com/spatie/laravel-ignition"
- },
- "funding": [
- {
- "url": "https://github.com/spatie",
- "type": "github"
- }
- ],
- "time": "2024-06-12T15:01:18+00:00"
- },
- {
- "name": "symfony/yaml",
- "version": "v7.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/yaml.git",
- "reference": "fa34c77015aa6720469db7003567b9f772492bf2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/fa34c77015aa6720469db7003567b9f772492bf2",
- "reference": "fa34c77015aa6720469db7003567b9f772492bf2",
- "shasum": ""
- },
- "require": {
- "php": ">=8.2",
- "symfony/polyfill-ctype": "^1.8"
- },
- "conflict": {
- "symfony/console": "<6.4"
- },
- "require-dev": {
- "symfony/console": "^6.4|^7.0"
- },
- "bin": [
- "Resources/bin/yaml-lint"
- ],
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Yaml\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Loads and dumps YAML files",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/yaml/tree/v7.1.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-31T14:57:53+00:00"
- },
- {
- "name": "theseer/tokenizer",
- "version": "1.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/theseer/tokenizer.git",
- "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
- "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-tokenizer": "*",
- "ext-xmlwriter": "*",
- "php": "^7.2 || ^8.0"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- }
- ],
- "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
- "support": {
- "issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/1.2.3"
- },
- "funding": [
- {
- "url": "https://github.com/theseer",
- "type": "github"
- }
- ],
- "time": "2024-03-03T12:36:25+00:00"
- }
- ],
- "aliases": [],
- "minimum-stability": "stable",
- "stability-flags": [],
- "prefer-stable": true,
- "prefer-lowest": false,
- "platform": {
- "php": "^8.1"
- },
- "platform-dev": [],
- "plugin-api-version": "2.6.0"
-}
diff --git a/config.ru b/config.ru
new file mode 100644
index 0000000..4a3c09a
--- /dev/null
+++ b/config.ru
@@ -0,0 +1,6 @@
+# This file is used by Rack-based servers to start the application.
+
+require_relative "config/environment"
+
+run Rails.application
+Rails.application.load_server
diff --git a/config/app.php b/config/app.php
deleted file mode 100644
index 72a3525..0000000
--- a/config/app.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-use Illuminate\Support\Facades\Facade;
-use Illuminate\Support\ServiceProvider;
-
-return [
- 'name' => env('APP_NAME', 'diskfloppy.me'),
- 'version' => '2024.07.12',
- 'env' => env('APP_ENV', 'production'),
- 'debug' => (bool) env('APP_DEBUG', false),
- 'url' => env('APP_URL', 'http://localhost'),
- 'api_root' => env('API_ROOT', 'http://localhost:3000'),
-
- 'asset_url' => env('ASSET_URL'),
- 'timezone' => 'UTC',
- 'locale' => 'en',
- 'fallback_locale' => 'en',
- 'faker_locale' => 'en_US',
- 'key' => env('APP_KEY'),
- 'cipher' => 'AES-256-CBC',
- 'maintenance' => [
- 'driver' => 'file',
- ],
- 'providers' => ServiceProvider::defaultProviders()->merge([
- App\Providers\AppServiceProvider::class,
- App\Providers\AuthServiceProvider::class,
- App\Providers\EventServiceProvider::class,
- App\Providers\RouteServiceProvider::class,
- ])->replace([
- \Illuminate\Queue\QueueServiceProvider::class => \Gecche\Multidomain\Queue\QueueServiceProvider::class,
- ])->toArray(),
- 'aliases' => Facade::defaultAliases()->merge([
- ])->toArray(),
-];
diff --git a/config/application.rb b/config/application.rb
new file mode 100644
index 0000000..1df240b
--- /dev/null
+++ b/config/application.rb
@@ -0,0 +1,39 @@
+require_relative "boot"
+
+require "rails"
+# Pick the frameworks you want:
+require "active_model/railtie"
+# require "active_job/railtie"
+require "active_record/railtie"
+# require "active_storage/engine"
+require "action_controller/railtie"
+# require "action_mailer/railtie"
+# require "action_mailbox/engine"
+# require "action_text/engine"
+require "action_view/railtie"
+# require "action_cable/engine"
+require "rails/test_unit/railtie"
+
+# Require the gems listed in Gemfile, including any gems
+# you've limited to :test, :development, or :production.
+Bundler.require(*Rails.groups)
+
+module DiskfloppyMe
+ class Application < Rails::Application
+ # Initialize configuration defaults for originally generated Rails version.
+ config.load_defaults 7.1
+
+ # Please, add to the `ignore` list any other `lib` subdirectories that do
+ # not contain `.rb` files, or that should not be reloaded or eager loaded.
+ # Common ones are `templates`, `generators`, or `middleware`, for example.
+ config.autoload_lib(ignore: %w(assets tasks))
+
+ # Configuration for the application, engines, and railties goes here.
+ #
+ # These settings can be overridden in specific environments using the files
+ # in config/environments, which are processed later.
+ #
+ # config.time_zone = "Central Time (US & Canada)"
+ # config.eager_load_paths << Rails.root.join("extras")
+ end
+end
diff --git a/config/auth.php b/config/auth.php
deleted file mode 100644
index 9548c15..0000000
--- a/config/auth.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-
-return [
-
- /*
- |--------------------------------------------------------------------------
- | Authentication Defaults
- |--------------------------------------------------------------------------
- |
- | This option controls the default authentication "guard" and password
- | reset options for your application. You may change these defaults
- | as required, but they're a perfect start for most applications.
- |
- */
-
- 'defaults' => [
- 'guard' => 'web',
- 'passwords' => 'users',
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Authentication Guards
- |--------------------------------------------------------------------------
- |
- | Next, you may define every authentication guard for your application.
- | Of course, a great default configuration has been defined for you
- | here which uses session storage and the Eloquent user provider.
- |
- | All authentication drivers have a user provider. This defines how the
- | users are actually retrieved out of your database or other storage
- | mechanisms used by this application to persist your user's data.
- |
- | Supported: "session"
- |
- */
-
- 'guards' => [
- 'web' => [
- 'driver' => 'session',
- 'provider' => 'users',
- ],
- ],
-
- /*
- |--------------------------------------------------------------------------
- | User Providers
- |--------------------------------------------------------------------------
- |
- | All authentication drivers have a user provider. This defines how the
- | users are actually retrieved out of your database or other storage
- | mechanisms used by this application to persist your user's data.
- |
- | If you have multiple user tables or models you may configure multiple
- | sources which represent each model / table. These sources may then
- | be assigned to any extra authentication guards you have defined.
- |
- | Supported: "database", "eloquent"
- |
- */
-
- 'providers' => [
- 'users' => [
- 'driver' => 'eloquent',
- 'model' => App\Models\User::class,
- ],
-
- // 'users' => [
- // 'driver' => 'database',
- // 'table' => 'users',
- // ],
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Resetting Passwords
- |--------------------------------------------------------------------------
- |
- | You may specify multiple password reset configurations if you have more
- | than one user table or model in the application and you want to have
- | separate password reset settings based on the specific user types.
- |
- | The expiry time is the number of minutes that each reset token will be
- | considered valid. This security feature keeps tokens short-lived so
- | they have less time to be guessed. You may change this as needed.
- |
- | The throttle setting is the number of seconds a user must wait before
- | generating more password reset tokens. This prevents the user from
- | quickly generating a very large amount of password reset tokens.
- |
- */
-
- 'passwords' => [
- 'users' => [
- 'provider' => 'users',
- 'table' => 'password_reset_tokens',
- 'expire' => 60,
- 'throttle' => 60,
- ],
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Password Confirmation Timeout
- |--------------------------------------------------------------------------
- |
- | Here you may define the amount of seconds before a password confirmation
- | times out and the user is prompted to re-enter their password via the
- | confirmation screen. By default, the timeout lasts for three hours.
- |
- */
-
- 'password_timeout' => 10800,
-
-];
diff --git a/config/bookmarks.php b/config/bookmarks.php
deleted file mode 100644
index db955d5..0000000
--- a/config/bookmarks.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-return [
- // Friends' Websites
- [
- 'name' => "Friends' Websites",
- 'bookmarks' => [
- [
- 'name' => "nick99nack",
- 'url' => "http://www.nick99nack.com/",
- 'description' => "Currently in the process of taking over the internet. I Totally didn't steal any of his stuff."
- ],
- [
- 'name' => "campos",
- 'url' => "https://campos02.me/",
- 'description' => "Cool brazilian dude, does programming and stuff"
- ],
- [
- 'name' => "Sashi",
- 'url' => "https://joshuaalto.com/",
- 'description' => "Site redesign #8! I'll find a website style I enjoy eventually, I swear!"
- ],
- [
- 'name' => "noone",
- 'url' => "http://strangenessnetworks.com/",
- 'description' => "Strangeness Networks, noone's website."
- ],
- [
- 'name' => "raf",
- 'url' => "https://notashelf.dev/",
- 'description' => "is a shelf"
- ],
- [
- 'name' => "CamK06",
- 'url' => "https://starman0620.neocities.org/",
- 'description' => "Now with more outdated HTML!"
- ],
- [
- 'name' => "HIDEN",
- 'url' => "https://hiden.pw/",
- 'description' => "Moar buttons!"
- ],
- [
- 'name' => "coco",
- 'url' => "http://cocomark.neocities.org/",
- 'description' => "needs to go to the brain store"
- ],
- [
- 'name' => "Toxidation",
- 'url' => "http://toxi.pw/",
- 'description' => "h (idk if this is his actual domain he has like 5)"
- ],
- [
- 'name' => "xproot",
- 'url' => "http://xproot.pw/",
- 'description' => "a random internet person on this very random planet"
- ]
- ]
- ],
- // Cool Projects
- [
- 'name' => "Cool Projects",
- 'bookmarks' => [
- [
- 'name' => "ToS;DR",
- 'url' => "https://tosdr.org/",
- 'description' => "\"I have read and agree to the Terms\" is the biggest lie on the web. They aim to fix that."
- ],
- [
- 'name' => "NINA",
- 'url' => "https://nina.chat/",
- 'description' => "Yahoo! Messenger (and soon AOL) revival"
- ],
- [
- 'name' => "Escargot",
- 'url' => "https://escargot.chat/",
- 'description' => "MSN/WLM revival"
- ],
- ]
- ],
- // Other Cool Stuff
- [
- 'name' => "Other Cool Stuff",
- 'bookmarks' => [
- [
- 'name' => "WinWorld",
- 'url' => "http://www.winworldpc.com/",
- 'description' => "WinWorld is an online museum dedicated to the preservation and sharing of vintage, abandoned, and pre-release software."
- ],
- [
- 'name' => "ToastyTech",
- 'url' => "http://toastytech.com/",
- 'description' => "Nathan's Toasty Technology Page"
- ],
- [
- 'name' => "Optimized for no one",
- 'url' => "http://www.hoary.org/browse/",
- 'description' => "Optimized for no one, but pretty much OK with . . ."
- ],
- [
- 'name' => "Cameron's World",
- 'url' => "http://www.cameronsworld.net/",
- 'description' => "A love letter to the Internet of old."
- ]
- ]
- ],
- // Miscellaneous Resources
- [
- 'name' => "Miscellaneous Resources",
- 'bookmarks' => [
- [
- 'name' => "Home Manager (Appendix A)",
- 'url' => "https://rycee.gitlab.io/home-manager/options.html",
- 'description' => "Useful list of configuration options for Home Manager."
- ]
- ]
- ]
-];
diff --git a/config/boot.rb b/config/boot.rb
new file mode 100644
index 0000000..988a5dd
--- /dev/null
+++ b/config/boot.rb
@@ -0,0 +1,4 @@
+ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
+
+require "bundler/setup" # Set up gems listed in the Gemfile.
+require "bootsnap/setup" # Speed up boot time by caching expensive operations.
diff --git a/config/broadcasting.php b/config/broadcasting.php
deleted file mode 100644
index 98a0093..0000000
--- a/config/broadcasting.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-return [
- 'default' => env('BROADCAST_DRIVER', 'null'),
- 'connections' => [
- 'pusher' => [
- 'driver' => 'pusher',
- 'key' => env('PUSHER_APP_KEY'),
- 'secret' => env('PUSHER_APP_SECRET'),
- 'app_id' => env('PUSHER_APP_ID'),
- 'options' => [
- 'cluster' => env('PUSHER_APP_CLUSTER'),
- 'host' => env('PUSHER_HOST') ?: 'api-'.env('PUSHER_APP_CLUSTER', 'mt1').'.pusher.com',
- 'port' => env('PUSHER_PORT', 443),
- 'scheme' => env('PUSHER_SCHEME', 'https'),
- 'encrypted' => true,
- 'useTLS' => env('PUSHER_SCHEME', 'https') === 'https',
- ],
- 'client_options' => [
- // Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html
- ],
- ],
-
- 'ably' => [
- 'driver' => 'ably',
- 'key' => env('ABLY_KEY'),
- ],
-
- 'redis' => [
- 'driver' => 'redis',
- 'connection' => 'default',
- ],
-
- 'log' => [
- 'driver' => 'log',
- ],
-
- 'null' => [
- 'driver' => 'null',
- ],
-
- ],
-
-];
diff --git a/config/cache.php b/config/cache.php
deleted file mode 100644
index d4171e2..0000000
--- a/config/cache.php
+++ /dev/null
@@ -1,111 +0,0 @@
-<?php
-
-use Illuminate\Support\Str;
-
-return [
-
- /*
- |--------------------------------------------------------------------------
- | Default Cache Store
- |--------------------------------------------------------------------------
- |
- | This option controls the default cache connection that gets used while
- | using this caching library. This connection is used when another is
- | not explicitly specified when executing a given caching function.
- |
- */
-
- 'default' => env('CACHE_DRIVER', 'file'),
-
- /*
- |--------------------------------------------------------------------------
- | Cache Stores
- |--------------------------------------------------------------------------
- |
- | Here you may define all of the cache "stores" for your application as
- | well as their drivers. You may even define multiple stores for the
- | same cache driver to group types of items stored in your caches.
- |
- | Supported drivers: "apc", "array", "database", "file",
- | "memcached", "redis", "dynamodb", "octane", "null"
- |
- */
-
- 'stores' => [
-
- 'apc' => [
- 'driver' => 'apc',
- ],
-
- 'array' => [
- 'driver' => 'array',
- 'serialize' => false,
- ],
-
- 'database' => [
- 'driver' => 'database',
- 'table' => 'cache',
- 'connection' => null,
- 'lock_connection' => null,
- ],
-
- 'file' => [
- 'driver' => 'file',
- 'path' => storage_path('framework/cache/data'),
- 'lock_path' => storage_path('framework/cache/data'),
- ],
-
- 'memcached' => [
- 'driver' => 'memcached',
- 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
- 'sasl' => [
- env('MEMCACHED_USERNAME'),
- env('MEMCACHED_PASSWORD'),
- ],
- 'options' => [
- // Memcached::OPT_CONNECT_TIMEOUT => 2000,
- ],
- 'servers' => [
- [
- 'host' => env('MEMCACHED_HOST', '127.0.0.1'),
- 'port' => env('MEMCACHED_PORT', 11211),
- 'weight' => 100,
- ],
- ],
- ],
-
- 'redis' => [
- 'driver' => 'redis',
- 'connection' => 'cache',
- 'lock_connection' => 'default',
- ],
-
- 'dynamodb' => [
- 'driver' => 'dynamodb',
- 'key' => env('AWS_ACCESS_KEY_ID'),
- 'secret' => env('AWS_SECRET_ACCESS_KEY'),
- 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
- 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
- 'endpoint' => env('DYNAMODB_ENDPOINT'),
- ],
-
- 'octane' => [
- 'driver' => 'octane',
- ],
-
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Cache Key Prefix
- |--------------------------------------------------------------------------
- |
- | When utilizing the APC, database, memcached, Redis, or DynamoDB cache
- | stores there might be other applications using the same cache. For
- | that reason, you may prefix every cache key to avoid collisions.
- |
- */
-
- 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'),
-
-];
diff --git a/config/cors.php b/config/cors.php
deleted file mode 100644
index 8a39e6d..0000000
--- a/config/cors.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-return [
-
- /*
- |--------------------------------------------------------------------------
- | Cross-Origin Resource Sharing (CORS) Configuration
- |--------------------------------------------------------------------------
- |
- | Here you may configure your settings for cross-origin resource sharing
- | or "CORS". This determines what cross-origin operations may execute
- | in web browsers. You are free to adjust these settings as needed.
- |
- | To learn more: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
- |
- */
-
- 'paths' => ['api/*', 'sanctum/csrf-cookie'],
-
- 'allowed_methods' => ['*'],
-
- 'allowed_origins' => ['*'],
-
- 'allowed_origins_patterns' => [],
-
- 'allowed_headers' => ['*'],
-
- 'exposed_headers' => [],
-
- 'max_age' => 0,
-
- 'supports_credentials' => false,
-
-];
diff --git a/config/credentials.yml.enc b/config/credentials.yml.enc
new file mode 100644
index 0000000..9c02e82
--- /dev/null
+++ b/config/credentials.yml.enc
@@ -0,0 +1 @@
+/Dy1CRDIs9+cL1RD4ecoS6pkf21Ervocjmhv42w4E4wE0JagN40kS8K9myPJemf1yvU9gxNZ7kGyXu4A3FGSkjAe6DeFej4xr3K15s13E+svJCpTq3ABWA4NYJYhq+R7Lsj2fCCkqjhQwUU5jLz4Kdlh6jKB898so1khWiwVIedj16suIKNYQQUmKaeqIHcNRkmlrxlwCYHpYv3sVGnn2Xr7OpRriW0of9UC1iBLrg9izNeo/X806PCkJGDB58jeC91Zmx9Vazeu150nEWnBf9HhuV2sXELSZ9mFKH77Np66DmWYToQnt40rzEdN1uh7eBetBdCxr5C33YSVuNW7YMmMPbe6dAkg0h3TL2tYaNPOoz/W7Oenz3h983Het4EFhjWUHmlXfcuBTJbW3Ha5FJjX9A8Y--/jNkyAmvE5iWAZnz--JjgO9wRYQBURPQ1rQOhjiw== \ No newline at end of file
diff --git a/config/database.php b/config/database.php
deleted file mode 100644
index 5e2b5d4..0000000
--- a/config/database.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-use Illuminate\Support\Str;
-
-return [
- 'default' => env('DB_CONNECTION', 'mysql'),
-
- 'connections' => [
- 'mysql' => [
- 'driver' => 'mysql',
- 'url' => env('DATABASE_URL'),
- 'host' => env('DB_HOST', '127.0.0.1'),
- 'port' => env('DB_PORT', '3306'),
- 'database' => env('DB_DATABASE', 'forge'),
- 'username' => env('DB_USERNAME', 'forge'),
- 'password' => env('DB_PASSWORD', ''),
- 'unix_socket' => env('DB_SOCKET', ''),
- 'charset' => 'utf8mb4',
- 'collation' => 'utf8mb4_unicode_ci',
- 'prefix' => '',
- 'prefix_indexes' => true,
- 'strict' => true,
- 'engine' => null,
- 'options' => extension_loaded('pdo_mysql') ? array_filter([
- PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
- ]) : [],
- ],
- ],
-
- 'migrations' => 'migrations',
-];
diff --git a/config/database.yml b/config/database.yml
new file mode 100644
index 0000000..796466b
--- /dev/null
+++ b/config/database.yml
@@ -0,0 +1,25 @@
+# SQLite. Versions 3.8.0 and up are supported.
+# gem install sqlite3
+#
+# Ensure the SQLite 3 gem is defined in your Gemfile
+# gem "sqlite3"
+#
+default: &default
+ adapter: sqlite3
+ pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
+ timeout: 5000
+
+development:
+ <<: *default
+ database: storage/development.sqlite3
+
+# Warning: The database defined as "test" will be erased and
+# re-generated from your development database when you run "rake".
+# Do not set this db to the same as development or production.
+test:
+ <<: *default
+ database: storage/test.sqlite3
+
+production:
+ <<: *default
+ database: storage/production.sqlite3
diff --git a/config/domain.php b/config/domain.php
deleted file mode 100644
index 8d5bbca..0000000
--- a/config/domain.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-return [
- 'env_stub' => '.env',
- 'storage_dirs' => [
- 'app' => [
- 'public' => [
- ],
- ],
- 'framework' => [
- 'cache' => [
- ],
- 'testing' => [
- ],
- 'sessions' => [
- ],
- 'views' => [
- ],
- ],
- 'logs' => [
- ],
- ],
- 'domains' => [
- 'diskfloppy.me' => 'diskfloppy.me',
- 'dwiskfwoppy.me' => 'diskfloppy.me',
- ],
- ];
diff --git a/config/environment.rb b/config/environment.rb
new file mode 100644
index 0000000..cac5315
--- /dev/null
+++ b/config/environment.rb
@@ -0,0 +1,5 @@
+# Load the Rails application.
+require_relative "application"
+
+# Initialize the Rails application.
+Rails.application.initialize!
diff --git a/config/environments/development.rb b/config/environments/development.rb
new file mode 100644
index 0000000..63daa06
--- /dev/null
+++ b/config/environments/development.rb
@@ -0,0 +1,62 @@
+require "active_support/core_ext/integer/time"
+
+Rails.application.configure do
+ # Settings specified here will take precedence over those in config/application.rb.
+
+ # In the development environment your application's code is reloaded any time
+ # it changes. This slows down response time but is perfect for development
+ # since you don't have to restart the web server when you make code changes.
+ config.enable_reloading = true
+
+ # Do not eager load code on boot.
+ config.eager_load = false
+
+ # Show full error reports.
+ config.consider_all_requests_local = true
+
+ # Enable server timing
+ config.server_timing = true
+
+ # Enable/disable caching. By default caching is disabled.
+ # Run rails dev:cache to toggle caching.
+ if Rails.root.join("tmp/caching-dev.txt").exist?
+ config.action_controller.perform_caching = true
+ config.action_controller.enable_fragment_cache_logging = true
+
+ config.cache_store = :memory_store
+ config.public_file_server.headers = {
+ "Cache-Control" => "public, max-age=#{2.days.to_i}"
+ }
+ else
+ config.action_controller.perform_caching = false
+
+ config.cache_store = :null_store
+ end
+
+ # Print deprecation notices to the Rails logger.
+ config.active_support.deprecation = :log
+
+ # Raise exceptions for disallowed deprecations.
+ config.active_support.disallowed_deprecation = :raise
+
+ # Tell Active Support which deprecation messages to disallow.
+ config.active_support.disallowed_deprecation_warnings = []
+
+ # Raise an error on page load if there are pending migrations.
+ config.active_record.migration_error = :page_load
+
+ # Highlight code that triggered database queries in logs.
+ config.active_record.verbose_query_logs = true
+
+ # Suppress logger output for asset requests.
+ config.assets.quiet = true
+
+ # Raises error for missing translations.
+ # config.i18n.raise_on_missing_translations = true
+
+ # Annotate rendered view with file names.
+ # config.action_view.annotate_rendered_view_with_filenames = true
+
+ # Raise error when a before_action's only/except options reference missing actions
+ config.action_controller.raise_on_missing_callback_actions = true
+end
diff --git a/config/environments/production.rb b/config/environments/production.rb
new file mode 100644
index 0000000..3e6684f
--- /dev/null
+++ b/config/environments/production.rb
@@ -0,0 +1,79 @@
+require "active_support/core_ext/integer/time"
+
+Rails.application.configure do
+ # Settings specified here will take precedence over those in config/application.rb.
+
+ # Code is not reloaded between requests.
+ config.enable_reloading = false
+
+ # Eager load code on boot. This eager loads most of Rails and
+ # your application in memory, allowing both threaded web servers
+ # and those relying on copy on write to perform better.
+ # Rake tasks automatically ignore this option for performance.
+ config.eager_load = true
+
+ # Full error reports are disabled and caching is turned on.
+ config.consider_all_requests_local = false
+ config.action_controller.perform_caching = true
+
+ # Ensures that a master key has been made available in ENV["RAILS_MASTER_KEY"], config/master.key, or an environment
+ # key such as config/credentials/production.key. This key is used to decrypt credentials (and other encrypted files).
+ # config.require_master_key = true
+
+ # Disable serving static files from `public/`, relying on NGINX/Apache to do so instead.
+ # config.public_file_server.enabled = false
+
+ # Compress CSS using a preprocessor.
+ # config.assets.css_compressor = :sass
+
+ # Do not fall back to assets pipeline if a precompiled asset is missed.
+ config.assets.compile = false
+
+ # Enable serving of images, stylesheets, and JavaScripts from an asset server.
+ # config.asset_host = "http://assets.example.com"
+
+ # Specifies the header that your server uses for sending files.
+ # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for Apache
+ # config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX
+
+ # Assume all access to the app is happening through a SSL-terminating reverse proxy.
+ # Can be used together with config.force_ssl for Strict-Transport-Security and secure cookies.
+ # config.assume_ssl = true
+
+ # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
+ config.force_ssl = true
+
+ # Log to STDOUT by default
+ config.logger = ActiveSupport::Logger.new(STDOUT)
+ .tap { |logger| logger.formatter = ::Logger::Formatter.new }
+ .then { |logger| ActiveSupport::TaggedLogging.new(logger) }
+
+ # Prepend all log lines with the following tags.
+ config.log_tags = [ :request_id ]
+
+ # "info" includes generic and useful information about system operation, but avoids logging too much
+ # information to avoid inadvertent exposure of personally identifiable information (PII). If you
+ # want to log everything, set the level to "debug".
+ config.log_level = ENV.fetch("RAILS_LOG_LEVEL", "info")
+
+ # Use a different cache store in production.
+ # config.cache_store = :mem_cache_store
+
+ # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
+ # the I18n.default_locale when a translation cannot be found).
+ config.i18n.fallbacks = true
+
+ # Don't log any deprecations.
+ config.active_support.report_deprecations = false
+
+ # Do not dump schema after migrations.
+ config.active_record.dump_schema_after_migration = false
+
+ # Enable DNS rebinding protection and other `Host` header attacks.
+ # config.hosts = [
+ # "example.com", # Allow requests from example.com
+ # /.*\.example\.com/ # Allow requests from subdomains like `www.example.com`
+ # ]
+ # Skip DNS rebinding protection for the default health check endpoint.
+ # config.host_authorization = { exclude: ->(request) { request.path == "/up" } }
+end
diff --git a/config/environments/test.rb b/config/environments/test.rb
new file mode 100644
index 0000000..d349c35
--- /dev/null
+++ b/config/environments/test.rb
@@ -0,0 +1,54 @@
+require "active_support/core_ext/integer/time"
+
+# The test environment is used exclusively to run your application's
+# test suite. You never need to work with it otherwise. Remember that
+# your test database is "scratch space" for the test suite and is wiped
+# and recreated between test runs. Don't rely on the data there!
+
+Rails.application.configure do
+ # Settings specified here will take precedence over those in config/application.rb.
+
+ # While tests run files are not watched, reloading is not necessary.
+ config.enable_reloading = false
+
+ # Eager loading loads your entire application. When running a single test locally,
+ # this is usually not necessary, and can slow down your test suite. However, it's
+ # recommended that you enable it in continuous integration systems to ensure eager
+ # loading is working properly before deploying your code.
+ config.eager_load = ENV["CI"].present?
+
+ # Configure public file server for tests with Cache-Control for performance.
+ config.public_file_server.enabled = true
+ config.public_file_server.headers = {
+ "Cache-Control" => "public, max-age=#{1.hour.to_i}"
+ }
+
+ # Show full error reports and disable caching.
+ config.consider_all_requests_local = true
+ config.action_controller.perform_caching = false
+ config.cache_store = :null_store
+
+ # Render exception templates for rescuable exceptions and raise for other exceptions.
+ config.action_dispatch.show_exceptions = :rescuable
+
+ # Disable request forgery protection in test environment.
+ config.action_controller.allow_forgery_protection = false
+
+ # Print deprecation notices to the stderr.
+ config.active_support.deprecation = :stderr
+
+ # Raise exceptions for disallowed deprecations.
+ config.active_support.disallowed_deprecation = :raise
+
+ # Tell Active Support which deprecation messages to disallow.
+ config.active_support.disallowed_deprecation_warnings = []
+
+ # Raises error for missing translations.
+ # config.i18n.raise_on_missing_translations = true
+
+ # Annotate rendered view with file names.
+ # config.action_view.annotate_rendered_view_with_filenames = true
+
+ # Raise error when a before_action's only/except options reference missing actions
+ config.action_controller.raise_on_missing_callback_actions = true
+end
diff --git a/config/filesystems.php b/config/filesystems.php
deleted file mode 100644
index e9d9dbd..0000000
--- a/config/filesystems.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-
-return [
-
- /*
- |--------------------------------------------------------------------------
- | Default Filesystem Disk
- |--------------------------------------------------------------------------
- |
- | Here you may specify the default filesystem disk that should be used
- | by the framework. The "local" disk, as well as a variety of cloud
- | based disks are available to your application. Just store away!
- |
- */
-
- 'default' => env('FILESYSTEM_DISK', 'local'),
-
- /*
- |--------------------------------------------------------------------------
- | Filesystem Disks
- |--------------------------------------------------------------------------
- |
- | Here you may configure as many filesystem "disks" as you wish, and you
- | may even configure multiple disks of the same driver. Defaults have
- | been set up for each driver as an example of the required values.
- |
- | Supported Drivers: "local", "ftp", "sftp", "s3"
- |
- */
-
- 'disks' => [
-
- 'local' => [
- 'driver' => 'local',
- 'root' => storage_path('app'),
- 'throw' => false,
- ],
-
- 'public' => [
- 'driver' => 'local',
- 'root' => storage_path('app/public'),
- 'url' => env('APP_URL').'/storage',
- 'visibility' => 'public',
- 'throw' => false,
- ],
-
- 's3' => [
- 'driver' => 's3',
- 'key' => env('AWS_ACCESS_KEY_ID'),
- 'secret' => env('AWS_SECRET_ACCESS_KEY'),
- 'region' => env('AWS_DEFAULT_REGION'),
- 'bucket' => env('AWS_BUCKET'),
- 'url' => env('AWS_URL'),
- 'endpoint' => env('AWS_ENDPOINT'),
- 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
- 'throw' => false,
- ],
-
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Symbolic Links
- |--------------------------------------------------------------------------
- |
- | Here you may configure the symbolic links that will be created when the
- | `storage:link` Artisan command is executed. The array keys should be
- | the locations of the links and the values should be their targets.
- |
- */
-
- 'links' => [
- public_path('storage') => storage_path('app/public'),
- ],
-
-];
diff --git a/config/hashing.php b/config/hashing.php
deleted file mode 100644
index eca4888..0000000
--- a/config/hashing.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-return [
- // One of "bcrypt", "argon", "argon2id"
- 'driver' => 'bcrypt',
-
- 'bcrypt' => [
- 'rounds' => env('BCRYPT_ROUNDS', 10),
- ],
-
-
- 'argon' => [
- 'memory' => 65536,
- 'threads' => 1,
- 'time' => 4,
- ],
-];
diff --git a/config/importmap.rb b/config/importmap.rb
new file mode 100644
index 0000000..909dfc5
--- /dev/null
+++ b/config/importmap.rb
@@ -0,0 +1,7 @@
+# Pin npm packages by running ./bin/importmap
+
+pin "application"
+pin "@hotwired/turbo-rails", to: "turbo.min.js"
+pin "@hotwired/stimulus", to: "stimulus.min.js"
+pin "@hotwired/stimulus-loading", to: "stimulus-loading.js"
+pin_all_from "app/javascript/controllers", under: "controllers"
diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb
new file mode 100644
index 0000000..2eeef96
--- /dev/null
+++ b/config/initializers/assets.rb
@@ -0,0 +1,12 @@
+# Be sure to restart your server when you modify this file.
+
+# Version of your assets, change this if you want to expire all your assets.
+Rails.application.config.assets.version = "1.0"
+
+# Add additional assets to the asset load path.
+# Rails.application.config.assets.paths << Emoji.images_path
+
+# Precompile additional assets.
+# application.js, application.css, and all non-JS/CSS in the app/assets
+# folder are already added.
+# Rails.application.config.assets.precompile += %w( admin.js admin.css )
diff --git a/config/initializers/content_security_policy.rb b/config/initializers/content_security_policy.rb
new file mode 100644
index 0000000..b3076b3
--- /dev/null
+++ b/config/initializers/content_security_policy.rb
@@ -0,0 +1,25 @@
+# Be sure to restart your server when you modify this file.
+
+# Define an application-wide content security policy.
+# See the Securing Rails Applications Guide for more information:
+# https://guides.rubyonrails.org/security.html#content-security-policy-header
+
+# Rails.application.configure do
+# config.content_security_policy do |policy|
+# policy.default_src :self, :https
+# policy.font_src :self, :https, :data
+# policy.img_src :self, :https, :data
+# policy.object_src :none
+# policy.script_src :self, :https
+# policy.style_src :self, :https
+# # Specify URI for violation reports
+# # policy.report_uri "/csp-violation-report-endpoint"
+# end
+#
+# # Generate session nonces for permitted importmap, inline scripts, and inline styles.
+# config.content_security_policy_nonce_generator = ->(request) { request.session.id.to_s }
+# config.content_security_policy_nonce_directives = %w(script-src style-src)
+#
+# # Report violations without enforcing the policy.
+# # config.content_security_policy_report_only = true
+# end
diff --git a/config/initializers/filter_parameter_logging.rb b/config/initializers/filter_parameter_logging.rb
new file mode 100644
index 0000000..c2d89e2
--- /dev/null
+++ b/config/initializers/filter_parameter_logging.rb
@@ -0,0 +1,8 @@
+# Be sure to restart your server when you modify this file.
+
+# Configure parameters to be partially matched (e.g. passw matches password) and filtered from the log file.
+# Use this to limit dissemination of sensitive information.
+# See the ActiveSupport::ParameterFilter documentation for supported notations and behaviors.
+Rails.application.config.filter_parameters += [
+ :passw, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn
+]
diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb
new file mode 100644
index 0000000..3860f65
--- /dev/null
+++ b/config/initializers/inflections.rb
@@ -0,0 +1,16 @@
+# Be sure to restart your server when you modify this file.
+
+# Add new inflection rules using the following format. Inflections
+# are locale specific, and you may define rules for as many different
+# locales as you wish. All of these examples are active by default:
+# ActiveSupport::Inflector.inflections(:en) do |inflect|
+# inflect.plural /^(ox)$/i, "\\1en"
+# inflect.singular /^(ox)en/i, "\\1"
+# inflect.irregular "person", "people"
+# inflect.uncountable %w( fish sheep )
+# end
+
+# These inflection rules are supported but not enabled by default:
+# ActiveSupport::Inflector.inflections(:en) do |inflect|
+# inflect.acronym "RESTful"
+# end
diff --git a/config/initializers/permissions_policy.rb b/config/initializers/permissions_policy.rb
new file mode 100644
index 0000000..7db3b95
--- /dev/null
+++ b/config/initializers/permissions_policy.rb
@@ -0,0 +1,13 @@
+# Be sure to restart your server when you modify this file.
+
+# Define an application-wide HTTP permissions policy. For further
+# information see: https://developers.google.com/web/updates/2018/06/feature-policy
+
+# Rails.application.config.permissions_policy do |policy|
+# policy.camera :none
+# policy.gyroscope :none
+# policy.microphone :none
+# policy.usb :none
+# policy.fullscreen :self
+# policy.payment :self, "https://secure.example.com"
+# end
diff --git a/config/locales/en.yml b/config/locales/en.yml
new file mode 100644
index 0000000..6c349ae
--- /dev/null
+++ b/config/locales/en.yml
@@ -0,0 +1,31 @@
+# Files in the config/locales directory are used for internationalization and
+# are automatically loaded by Rails. If you want to use locales other than
+# English, add the necessary files in this directory.
+#
+# To use the locales, use `I18n.t`:
+#
+# I18n.t "hello"
+#
+# In views, this is aliased to just `t`:
+#
+# <%= t("hello") %>
+#
+# To use a different locale, set it with `I18n.locale`:
+#
+# I18n.locale = :es
+#
+# This would use the information in config/locales/es.yml.
+#
+# To learn more about the API, please read the Rails Internationalization guide
+# at https://guides.rubyonrails.org/i18n.html.
+#
+# Be aware that YAML interprets the following case-insensitive strings as
+# booleans: `true`, `false`, `on`, `off`, `yes`, `no`. Therefore, these strings
+# must be quoted to be interpreted as strings. For example:
+#
+# en:
+# "yes": yup
+# enabled: "ON"
+
+en:
+ hello: "Hello world"
diff --git a/config/logging.php b/config/logging.php
deleted file mode 100644
index 2da9712..0000000
--- a/config/logging.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-
-use Monolog\Handler\NullHandler;
-use Monolog\Handler\StreamHandler;
-use Monolog\Handler\SyslogUdpHandler;
-use Monolog\Processor\PsrLogMessageProcessor;
-
-return [
- 'default' => env('LOG_CHANNEL', 'stack'),
-
- 'deprecations' => [
- 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
- 'trace' => false,
- ],
-
- 'channels' => [
- 'stack' => [
- 'driver' => 'stack',
- 'channels' => ['single'],
- 'ignore_exceptions' => false,
- ],
-
- 'single' => [
- 'driver' => 'single',
- 'path' => storage_path('logs/laravel.log'),
- 'level' => env('LOG_LEVEL', 'debug'),
- 'replace_placeholders' => true,
- ],
-
- 'daily' => [
- 'driver' => 'daily',
- 'path' => storage_path('logs/laravel.log'),
- 'level' => env('LOG_LEVEL', 'debug'),
- 'days' => 14,
- 'replace_placeholders' => true,
- ],
-
- 'slack' => [
- 'driver' => 'slack',
- 'url' => env('LOG_SLACK_WEBHOOK_URL'),
- 'username' => 'Laravel Log',
- 'emoji' => ':boom:',
- 'level' => env('LOG_LEVEL', 'critical'),
- 'replace_placeholders' => true,
- ],
-
- 'papertrail' => [
- 'driver' => 'monolog',
- 'level' => env('LOG_LEVEL', 'debug'),
- 'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class),
- 'handler_with' => [
- 'host' => env('PAPERTRAIL_URL'),
- 'port' => env('PAPERTRAIL_PORT'),
- 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'),
- ],
- 'processors' => [PsrLogMessageProcessor::class],
- ],
-
- 'stderr' => [
- 'driver' => 'monolog',
- 'level' => env('LOG_LEVEL', 'debug'),
- 'handler' => StreamHandler::class,
- 'formatter' => env('LOG_STDERR_FORMATTER'),
- 'with' => [
- 'stream' => 'php://stderr',
- ],
- 'processors' => [PsrLogMessageProcessor::class],
- ],
-
- 'syslog' => [
- 'driver' => 'syslog',
- 'level' => env('LOG_LEVEL', 'debug'),
- 'facility' => LOG_USER,
- 'replace_placeholders' => true,
- ],
-
- 'errorlog' => [
- 'driver' => 'errorlog',
- 'level' => env('LOG_LEVEL', 'debug'),
- 'replace_placeholders' => true,
- ],
-
- 'null' => [
- 'driver' => 'monolog',
- 'handler' => NullHandler::class,
- ],
-
- 'emergency' => [
- 'path' => storage_path('logs/laravel.log'),
- ],
- ],
-
-];
diff --git a/config/mail.php b/config/mail.php
deleted file mode 100644
index e652bd0..0000000
--- a/config/mail.php
+++ /dev/null
@@ -1,125 +0,0 @@
-<?php
-
-return [
-
- /*
- |--------------------------------------------------------------------------
- | Default Mailer
- |--------------------------------------------------------------------------
- |
- | This option controls the default mailer that is used to send any email
- | messages sent by your application. Alternative mailers may be setup
- | and used as needed; however, this mailer will be used by default.
- |
- */
-
- 'default' => env('MAIL_MAILER', 'smtp'),
-
- /*
- |--------------------------------------------------------------------------
- | Mailer Configurations
- |--------------------------------------------------------------------------
- |
- | Here you may configure all of the mailers used by your application plus
- | their respective settings. Several examples have been configured for
- | you and you are free to add your own as your application requires.
- |
- | Laravel supports a variety of mail "transport" drivers to be used while
- | sending an e-mail. You will specify which one you are using for your
- | mailers below. You are free to add additional mailers as required.
- |
- | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2",
- | "postmark", "log", "array", "failover"
- |
- */
-
- 'mailers' => [
- 'smtp' => [
- 'transport' => 'smtp',
- 'url' => env('MAIL_URL'),
- 'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
- 'port' => env('MAIL_PORT', 587),
- 'encryption' => env('MAIL_ENCRYPTION', 'tls'),
- 'username' => env('MAIL_USERNAME'),
- 'password' => env('MAIL_PASSWORD'),
- 'timeout' => null,
- 'local_domain' => env('MAIL_EHLO_DOMAIN'),
- ],
-
- 'ses' => [
- 'transport' => 'ses',
- ],
-
- 'mailgun' => [
- 'transport' => 'mailgun',
- // 'client' => [
- // 'timeout' => 5,
- // ],
- ],
-
- 'postmark' => [
- 'transport' => 'postmark',
- // 'client' => [
- // 'timeout' => 5,
- // ],
- ],
-
- 'sendmail' => [
- 'transport' => 'sendmail',
- 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'),
- ],
-
- 'log' => [
- 'transport' => 'log',
- 'channel' => env('MAIL_LOG_CHANNEL'),
- ],
-
- 'array' => [
- 'transport' => 'array',
- ],
-
- 'failover' => [
- 'transport' => 'failover',
- 'mailers' => [
- 'smtp',
- 'log',
- ],
- ],
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Global "From" Address
- |--------------------------------------------------------------------------
- |
- | You may wish for all e-mails sent by your application to be sent from
- | the same address. Here, you may specify a name and address that is
- | used globally for all e-mails that are sent by your application.
- |
- */
-
- 'from' => [
- 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
- 'name' => env('MAIL_FROM_NAME', 'Example'),
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Markdown Mail Settings
- |--------------------------------------------------------------------------
- |
- | If you are using Markdown based email rendering, you may configure your
- | theme and component paths here, allowing you to customize the design
- | of the emails. Or, you may simply stick with the Laravel defaults!
- |
- */
-
- 'markdown' => [
- 'theme' => 'default',
-
- 'paths' => [
- resource_path('views/vendor/mail'),
- ],
- ],
-
-];
diff --git a/config/projects.php b/config/projects.php
deleted file mode 100644
index 1c6c0f2..0000000
--- a/config/projects.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-return [
- [
- 'name' => "Websites",
- 'projects' => [
- [
- 'name' => "diskfloppy.me",
- 'description' => "The website you're looking at right now!",
- 'url' => "https://github.com/floppydisk05/diskfloppy.me",
- 'languages' => ["PHP", "CSS"]
- ],
- [
- 'name' => "NetDrivers",
- 'description' => "Driver downloads website.",
- 'url' => "https://github.com/floppydisk05/NetDrivers",
- 'languages' => ["Ruby", "CSS"]
- ]
- ]
- ],
- [
- 'name' => "APIs",
- 'projects' => [
- [
- 'name' => "trivia-api",
- 'description' => "API to serve random trivia questions.",
- 'url' => "https://github.com/floppydisk05/trivia-api",
- 'languages' => ["JavaScript"]
- ]
- ]
- ],
- [
- 'name' => "Discord Bots",
- 'projects' => [
- [
- 'name' => "PlexBot",
- 'description' => "A basic bot to play music from the configured Plex server in a Discord voice channel.",
- 'url' => "https://github.com/floppydisk05/PlexBot",
- 'languages' => ["Python"]
- ]
- ]
- ],
- [
- 'name' => "Abandoned Projects",
- 'projects' => [
- [
- 'name' => "website-cf",
- 'description' => "Rewrite of my personal website in Adobe ColdFusion.",
- 'url' => "https://github.com/floppydisk05/website-cf",
- 'languages' => ["Adobe ColdFusion"]
- ],
- [
- 'name' => "WinBotJDA",
- 'description' => "Rewrite of CamK06's WinBot using Java and DiscordJDA.",
- 'url' => "https://github.com/floppydisk05/WinBotJDA",
- 'languages' => ["Java"]
- ],
- [
- 'name' => "delayed-eject",
- 'description' => "Scripts which eject the cd drive a lot to annoy nick.",
- 'url' => "https://github.com/floppydisk05/delayed-eject",
- 'languages' => ["Shell", "C"]
- ],
- [
- 'name' => "php-sound",
- 'description' => "Plays a specified sound file or files on the web server when a php page is loaded.",
- 'url' => "https://github.com/floppydisk05/php-sound",
- 'languages' => ["PHP", "Shell"]
- ]
- ]
- ]
-];
diff --git a/config/puma.rb b/config/puma.rb
new file mode 100644
index 0000000..afa809b
--- /dev/null
+++ b/config/puma.rb
@@ -0,0 +1,35 @@
+# This configuration file will be evaluated by Puma. The top-level methods that
+# are invoked here are part of Puma's configuration DSL. For more information
+# about methods provided by the DSL, see https://puma.io/puma/Puma/DSL.html.
+
+# Puma can serve each request in a thread from an internal thread pool.
+# The `threads` method setting takes two numbers: a minimum and maximum.
+# Any libraries that use thread pools should be configured to match
+# the maximum value specified for Puma. Default is set to 5 threads for minimum
+# and maximum; this matches the default thread size of Active Record.
+max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
+min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count }
+threads min_threads_count, max_threads_count
+
+# Specifies that the worker count should equal the number of processors in production.
+if ENV["RAILS_ENV"] == "production"
+ require "concurrent-ruby"
+ worker_count = Integer(ENV.fetch("WEB_CONCURRENCY") { Concurrent.physical_processor_count })
+ workers worker_count if worker_count > 1
+end
+
+# Specifies the `worker_timeout` threshold that Puma will use to wait before
+# terminating a worker in development environments.
+worker_timeout 3600 if ENV.fetch("RAILS_ENV", "development") == "development"
+
+# Specifies the `port` that Puma will listen on to receive requests; default is 3000.
+port ENV.fetch("PORT") { 3000 }
+
+# Specifies the `environment` that Puma will run in.
+environment ENV.fetch("RAILS_ENV") { "development" }
+
+# Specifies the `pidfile` that Puma will use.
+pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" }
+
+# Allow puma to be restarted by `bin/rails restart` command.
+plugin :tmp_restart
diff --git a/config/queue.php b/config/queue.php
deleted file mode 100644
index 01c6b05..0000000
--- a/config/queue.php
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-
-return [
-
- /*
- |--------------------------------------------------------------------------
- | Default Queue Connection Name
- |--------------------------------------------------------------------------
- |
- | Laravel's queue API supports an assortment of back-ends via a single
- | API, giving you convenient access to each back-end using the same
- | syntax for every one. Here you may define a default connection.
- |
- */
-
- 'default' => env('QUEUE_CONNECTION', 'sync'),
-
- /*
- |--------------------------------------------------------------------------
- | Queue Connections
- |--------------------------------------------------------------------------
- |
- | Here you may configure the connection information for each server that
- | is used by your application. A default configuration has been added
- | for each back-end shipped with Laravel. You are free to add more.
- |
- | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
- |
- */
-
- 'connections' => [
-
- 'sync' => [
- 'driver' => 'sync',
- ],
-
- 'database' => [
- 'driver' => 'database',
- 'table' => 'jobs',
- 'queue' => 'default',
- 'retry_after' => 90,
- 'after_commit' => false,
- ],
-
- 'beanstalkd' => [
- 'driver' => 'beanstalkd',
- 'host' => 'localhost',
- 'queue' => 'default',
- 'retry_after' => 90,
- 'block_for' => 0,
- 'after_commit' => false,
- ],
-
- 'sqs' => [
- 'driver' => 'sqs',
- 'key' => env('AWS_ACCESS_KEY_ID'),
- 'secret' => env('AWS_SECRET_ACCESS_KEY'),
- 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
- 'queue' => env('SQS_QUEUE', 'default'),
- 'suffix' => env('SQS_SUFFIX'),
- 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
- 'after_commit' => false,
- ],
-
- 'redis' => [
- 'driver' => 'redis',
- 'connection' => 'default',
- 'queue' => env('REDIS_QUEUE', 'default'),
- 'retry_after' => 90,
- 'block_for' => null,
- 'after_commit' => false,
- ],
-
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Job Batching
- |--------------------------------------------------------------------------
- |
- | The following options configure the database and table that store job
- | batching information. These options can be updated to any database
- | connection and table which has been defined by your application.
- |
- */
-
- 'batching' => [
- 'database' => env('DB_CONNECTION', 'mysql'),
- 'table' => 'job_batches',
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Failed Queue Jobs
- |--------------------------------------------------------------------------
- |
- | These options configure the behavior of failed queue job logging so you
- | can control which database and table are used to store the jobs that
- | have failed. You may change them to any database / table you wish.
- |
- */
-
- 'failed' => [
- 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'),
- 'database' => env('DB_CONNECTION', 'mysql'),
- 'table' => 'failed_jobs',
- ],
-
-];
diff --git a/config/quotes.php b/config/quotes.php
deleted file mode 100644
index 9bfd8ad..0000000
--- a/config/quotes.php
+++ /dev/null
@@ -1,957 +0,0 @@
-<?php
-return [
- "toh" => [
- [
- "lines" => [
- [
- "character" => "EDA",
- "line" => "Ahh sure. Spare us."
- ],
- [
- "character" => "LILITH",
- "line" => "Woe to us whose fates are sealed."
- ]
- ],
- "attribution" => "The Owl House, S1E11"
- ],
- [
- "lines" => [
- [
- "character" => "EDA",
- "line" => "Hey freeloaders! Guess what today is!"
- ]
- ],
- "attribution" => "The Owl House, S1E12"
- ],
- [
- "lines" => [
- [
- "character" => "EDA",
- "line" => "Quitting! It's like trying, but easier!"
- ]
- ],
- "attribution" => "The Owl House, S1E13"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Can it, Fangs! You don't know diddly-dang about squiddly-squat!"
- ]
- ],
- "attribution" => "The Owl House, S1E13"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Holy bones, you poofed it! Call the cops, this guy's crazy!"
- ]
- ],
- "attribution" => "The Owl House, S1E14"
- ],
- [
- "lines" => [
- [
- "character" => "EDA",
- "line" => "There is one way, but it's terribly dangerous and partially illegal."
- ]
- ],
- "attribution" => "The Owl House, S1E15"
- ],
- [
- "lines" => [
- [
- "character" => "GUS CLONE",
- "line" => "I'd rather die than expose my secrets!"
- ],
- [
- "character" => "GUS",
- "line" => "Then die, you shall!"
- ]
- ],
- "attribution" => "The Owl House, S1E15"
- ],
- [
- "lines" => [
- [
- "character" => "LUZ",
- "line" => "Vee, you're giving up too quick!"
- ],
- [
- "character" => "VEE",
- "line" => "I'm being realistic."
- ]
- ],
- "attribution" => "The Owl House, S2E10"
- ],
- [
- "lines" => [
- [
- "character" => "LUZ",
- "line" => "I have questions about that name..."
- ],
- [
- "character" => "LILITH",
- "line" => "And I have questions about my life!"
- ]
- ],
- "attribution" => "The Owl House, S2E12"
- ],
- [
- "lines" => [
- [
- "character" => "EMIRA",
- "line" => "We can shout as loud as we want, but money always shouts louder."
- ]
- ],
- "attribution" => "The Owl House, S2E20"
- ],
- [
- "lines" => [
- [
- "character" => "VEE",
- "line" => "Uhh, no, I'm new in town, I just have one of those faces! But, ju-just one, the normal amount of face."
- ]
- ],
- "attribution" => "The Owl House, S3E01"
- ],
- [
- "lines" => [
- [
- "character" => "RAINE",
- "line" => "You Know I Hate These Things. Talking To People. Waving To People. People."
- ]
- ],
- "attribution" => "The Owl House, S2E11"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Who dares intrude upon I, the King of Demons?!"
- ]
- ],
- "attribution" => "The Owl House, S1E1"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Soon, Mr. Ducky, we shall drink the fear of those who mocked us."
- ]
- ],
- "attribution" => "The Owl House, S1E1"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Try to catch me when I’m covered in grease! I'm a squirmy little fella."
- ]
- ],
- "attribution" => "The Owl House, S1E1"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "My crown! Yes, yes! I can feel my powers returning! You, there. Nightmare critter. I shall call you Francois, and you shall be a minion in my army of darkness. Ha‐ha!"
- ]
- ],
- "attribution" => "The Owl House, S1E1"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Weh?"
- ]
- ],
- "attribution" => "The Owl House, S1E1"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "That was actually one of her better breakups!"
- ]
- ],
- "attribution" => "The Owl House, S1E1"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "I AM NOT YOUR CUTIE-PIE!!!"
- ]
- ],
- "attribution" => "The Owl House, S1E2"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Ha! Good luck. The Boiling Isles is nothing but a cesspool of despair."
- ]
- ],
- "attribution" => "The Owl House, S1E2"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "You should run a small business of more scones into my mouth."
- ]
- ],
- "attribution" => "The Owl House, S1E2"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Finally, all that mean-spirited laughter made me sleepy."
- ]
- ],
- "attribution" => "The Owl House, S1E2"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Less talky, more nappy."
- ]
- ],
- "attribution" => "The Owl House, S1E2"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Can't mistake her smell. Like lemons and young, naïve confidence."
- ]
- ],
- "attribution" => "The Owl House, S1E2"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "I have no son! Eat salt!"
- ]
- ],
- "attribution" => "The Owl House, S1E3"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Even demons have inner demons."
- ]
- ],
- "attribution" => "The Owl House, S1E4"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Look, now we're boo-boo buddies!"
- ]
- ],
- "attribution" => "The Owl House, S1E4"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Bap!"
- ]
- ],
- "attribution" => "The Owl House, S1E4"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Remember when her head got cut off last week? That woman can survive anything. She's probably just tired from staying up all night chasing shrews and voles."
- ]
- ],
- "attribution" => "The Owl House, S1E4"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "That voice. That horrific voice!!!"
- ]
- ],
- "attribution" => "The Owl House, S1E4"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Show me the picture! Hah! I can draw better than that. You know, they once called me the King of Artists."
- ]
- ],
- "attribution" => "The Owl House, S1E5"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Are you bestowing gifts upon me? Yes! I accept your offering! The King of Demons is back!"
- ]
- ],
- "attribution" => "The Owl House, S1E5"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Cupcakes in my tummy-tum makes the King say yummy-yum!"
- ]
- ],
- "attribution" => "The Owl House, S1E5"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Mmm? Oh, yeah. No."
- ]
- ],
- "attribution" => "The Owl House, S1E5"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "I'm stealing everything that's not nailed down!"
- ]
- ],
- "attribution" => "The Owl House, S1E6"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "King? Who's King? I go by Little Bone Boy now."
- ]
- ],
- "attribution" => "The Owl House, S1E6"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Rivals are meant to be annihilated not befriended. Now keep reading. I've been sucked into your awful fandom."
- ]
- ],
- "attribution" => "The Owl House, S1E7"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "What does Luz know about problems anyway? All she has is dumb teen drama! She doesn't understand how hard some of us have it."
- ]
- ],
- "attribution" => "The Owl House, S1E8"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Well, I don't know if you realized, but I'm not a baby!"
- ]
- ],
- "attribution" => "The Owl House, S1E8"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "My life is a living nightmare!"
- ]
- ],
- "attribution" => "The Owl House, S1E8"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Fight to the death!"
- ]
- ],
- "attribution" => "The Owl House, S1E8"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "I've got some... very confusing emotions right now."
- ]
- ],
- "attribution" => "The Owl House, S1E8"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "All right, you acne‐encrusted hormone buckets. Let's go let out some teen angst!"
- ]
- ],
- "attribution" => "The Owl House, S1E8"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Ooh! Fight, fight, fight!"
- ]
- ],
- "attribution" => "The Owl House, S1E9"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Yes! Yes! This is a throne worthy of a tyrant. Bow to me you snotty underlings. Bow!"
- ]
- ],
- "attribution" => "The Owl House, S1E10"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "*Rage squeals*"
- ]
- ],
- "attribution" => "The Owl House, S1E10"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Hey you scum! Which one of you wants to read my literary masterpiece? Anyone brave enough?"
- ]
- ],
- "attribution" => "The Owl House, S1E11"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "I've always wanted a people chair! I'm in! This will be my first step in my reclamation of power!"
- ]
- ],
- "attribution" => "The Owl House, S1E11"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "I'm sorry, my lawyer advised me not to look at unsolicited work."
- ]
- ],
- "attribution" => "The Owl House, S1E11"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "What's a book? Good night!"
- ]
- ],
- "attribution" => "The Owl House, S1E11"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Hey! Less ready, more scratchy!"
- ]
- ],
- "attribution" => "The Owl House, S1E12"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Military discipline, cooking! Ha, I truly am a demon for all seasons! Just a dash of Eda's secret sauce and I'm the creator of life!"
- ]
- ],
- "attribution" => "The Owl House, S1E12"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "This day shall live in infamy."
- ]
- ],
- "attribution" => "The Owl House, S1E12"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Obedience? Well, what is a teacher if not an authority figure? A king of children, if you will. Yes! I am your teacher! You may call me Mr. King!"
- ]
- ],
- "attribution" => "The Owl House, S1E13"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Assume a coefficient of ten, carry the two, solve for Y, and that is the way to steal a pie from a windowsill! Also you can eat trash."
- ]
- ],
- "attribution" => "The Owl House, S1E13"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Alright. Read chapters three to five on the right way to scratch yourself in public. Spoiler alert: There's no wrong way! Ah, days like these make being a teacher all worth it."
- ]
- ],
- "attribution" => "The Owl House, S1E13"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Oh dear, I've gotten a tube stuck on my nose! Will I ever eat again? Looks like I'm toast!"
- ]
- ],
- "attribution" => "The Owl House, S1E14"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "The King of Demons misses nobody! I wouldn't care if she came through this door right now!"
- ]
- ],
- "attribution" => "The Owl House, S1E14"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Beat up the man and steal his things for me!"
- ]
- ],
- "attribution" => "The Owl House, S1E14"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "I'm gonna bake that kid into a pie!"
- ]
- ],
- "attribution" => "The Owl House, S1E15"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Senseless violence. Yes, attack! DEATH IS YOUR GOD!"
- ]
- ],
- "attribution" => "The Owl House, S1E16"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "I FORGE MY OWN PATH!"
- ]
- ],
- "attribution" => "The Owl House, S1E16"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Why am I doing this? I don't even wear clothes!"
- ]
- ],
- "attribution" => "The Owl House, S1E16"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Ha! What possible regrets could come from the internet? Oh, did you know the earth is actually flat!"
- ]
- ],
- "attribution" => "The Owl House, S1E16"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "We're going to turn this blood-bath into a fun-bath!"
- ]
- ],
- "attribution" => "The Owl House, S1E16"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Girl, you can pull off anything! Up top! We're style geniuses!"
- ]
- ],
- "attribution" => "The Owl House, S1E16"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Now I am king and queen! Best of both things!"
- ]
- ],
- "attribution" => "The Owl House, S1E16"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Yes! Now I’ll strike fear into my enemies with this armor of intimidation."
- ]
- ],
- "attribution" => "The Owl House, S1E17"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "You know what, when she first got here, I thought we were gonna eat her. But now I only think of that, like, sometimes."
- ]
- ],
- "attribution" => "The Owl House, S1E18"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "The cake is me!"
- ]
- ],
- "attribution" => "The Owl House, S1E18"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Me and Eda don't always see eye to eye, but I do consider her family. I want her back as much as you do."
- ]
- ],
- "attribution" => "The Owl House, S1E19"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "We'll have to do something so diabolical, so criminally insane, that they'll have to send us to the Conformatorium."
- ]
- ],
- "attribution" => "The Owl House, S1E19"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "I'm never letting you go! You're never returning to the human realm!"
- ]
- ],
- "attribution" => "The Owl House, S2E1"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "King want a cracker!"
- ]
- ],
- "attribution" => "The Owl House, S2E1"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Weh? Yeah yeah, I'll deal with it. No one ever said power came with responsibility..."
- ]
- ],
- "attribution" => "The Owl
-
- House, S2E2"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "The King of Demons yields to no one!"
- ]
- ],
- "attribution" => "The Owl House, S2E3"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Ah, the chamber where I would devour the hearts of my foes. The taste was cold and bitter, but I bet yours would be sweet, Luz."
- ]
- ],
- "attribution" => "The Owl House, S2E3"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Is that a six-footed pig or a floating appendage? Why, no! It's Gus the Illusion Master. Please leave a message."
- ]
- ],
- "attribution" => "The Owl House, S2E5"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "And weh, and weh, and weh, and weh, and weh, and weh, and weh, and weh!"
- ]
- ],
- "attribution" => "The Owl House, S2E7"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Haha! Saint Epiderm? More like Stank Epiderm!"
- ]
- ],
- "attribution" => "The Owl House, S2E7"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "DID YOU OWL PELLET ME?!"
- ]
- ],
- "attribution" => "The Owl House, S2E8"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "You look like one of my hairballs. Let's just do the trench coat thing!"
- ]
- ],
- "attribution" => "The Owl House, S2E9"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Guess minecart chases are a lot more dangerous than video games make'em seem."
- ]
- ],
- "attribution" => "The Owl House, S2E9"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "I can't wait to eat HUMAN snacks!"
- ]
- ],
- "attribution" => "The Owl House, S2E10"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "It was the... yeast I could do."
- ]
- ],
- "attribution" => "The Owl House, S2E11"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "With my love of mayhem and Hooty’s desperate need for attention, this’ll be a cake walk!"
- ]
- ],
- "attribution" => "The Owl House, S2E11"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Hey, Eda, look! \"Dear sister, join the Emperor's Coven and together, we can become gods!\""
- ]
- ],
- "attribution" => "The Owl House, S2E12"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Ooh! That'll work great when birds try to fly away with me."
- ]
- ],
- "attribution" => "The Owl House, S2E14"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "What you need is a healthy distractions from your problems. Like breakfast!"
- ]
- ],
- "attribution" => "The Owl House, S2E14"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Is this thing on? Demon King to Luzura, you copy?"
- ]
- ],
- "attribution" => "The Owl House, S2E16"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "Uh, oh. Uh... Hable más lento, por favor."
- ]
- ],
- "attribution" => "The Owl House, S2E16"
- ],
- [
- "lines" => [
- [
- "character" => "KING",
- "line" => "The Collector is just a little kid. A scary, powerful one, but… also… sad, and alone. I don’t know, this whole time, I was scared of making him mad, but… I think I can relate to him."
- ]
- ],
- "attribution" => "The Owl House, S3E1"
- ]
- ],
- "neversaid" => [
- [
- "name" => "ASM",
- "quote" => "The Director liked all the props we got today."
- ],
- [
- "name" => "PM",
- "quote" => "Ah ha, a revolve. Terrific."
- ],
- [
- "name" => "Chippie",
- "quote" => "I don't know, let's look at the ground plan."
- ],
- [
- "name" => "Set Designer",
- "quote" => "Well, let's just have whatever is cheaper."
- ],
- [
- "name" => "Sound",
- "quote" => "Better turn that down a bit. We don't want to deafen them."
- ],
- [
- "name" => "Director",
- "quote" => "Sorry, my mistake."
- ],
- [
- "name" => "Electrics",
- "quote" => "This equipment is more complicated than we need."
- ],
- [
- "name" => "Performer",
- "quote" => "I really think my big scene should be cut."
- ],
- [
- "name" => "SM",
- "quote" => "Can we do that scene change again please?"
- ],
- [
- "name" => "LX designer",
- "quote" => "Bit more light from those big chaps at the side. Yes that's right, the ones on stalks whatever they are called."
- ],
- [
- "name" => "Electrics",
- "quote" => "All the equipment works perfectly."
- ],
- [
- "name" => "Musicians",
- "quote" => "So what if that's the end of a call. Let's just finish this bit off."
- ],
- [
- "name" => "Wardrobe",
- "quote" => "Now, when exactly is the first dress rehearsal?"
- ],
- [
- "name" => "Workshop",
- "quote" => "I don't want anyone to know, but if you insist then yes, I admit it, I have just done an all-nighter."
- ],
- [
- "name" => "Performer",
- "quote" => "This costume is so comfortable."
- ],
- [
- "name" => "Admin",
- "quote" => "The level of overtime payments here are simply unacceptable. Our backstage staff deserve better."
- ],
- [
- "name" => "Box Office",
- "quote" => "Comps? No problem."
- ],
- [
- "name" => "Set Designer",
- "quote" => "You're right, it looks dreadful."
- ],
- [
- "name" => "Flyman",
- "quote" => "No, my lips are sealed. What I may or may not have seen remains a secret."
- ],
- [
- "name" => "Electrics",
- "quote" => "That had nothing to do with the computer, it was my fault."
- ],
- [
- "name" => "Crew",
- "quote" => "No, no, I'm sure that's our job."
- ],
- [
- "name" => "SMgt",
- "quote" => "Thanks, but I don't drink."
- ],
- [
- "name" => "Performer",
- "quote" => "Let me stand down here with my back to the audience."
- ],
- [
- "name" => "Chippie",
- "quote" => "I can't really manage those big fast power tools myself."
- ],
- [
- "name" => "Chippie",
- "quote" => "I prefer to use these little hand drills."
- ],
- [
- "name" => "All",
- "quote" => "Let's go and ask the Production Manager. He'll know."
- ]
- ]
-];
diff --git a/config/routes.rb b/config/routes.rb
new file mode 100644
index 0000000..a125ef0
--- /dev/null
+++ b/config/routes.rb
@@ -0,0 +1,10 @@
+Rails.application.routes.draw do
+ # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html
+
+ # Reveal health status on /up that returns 200 if the app boots with no exceptions, otherwise 500.
+ # Can be used by load balancers and uptime monitors to verify that the app is live.
+ get "up" => "rails/health#show", as: :rails_health_check
+
+ # Defines the root path route ("/")
+ # root "posts#index"
+end
diff --git a/config/sentry.php b/config/sentry.php
deleted file mode 100644
index 2421325..0000000
--- a/config/sentry.php
+++ /dev/null
@@ -1,108 +0,0 @@
-<?php
-
-/**
- * Sentry Laravel SDK configuration file.
- *
- * @see https://docs.sentry.io/platforms/php/guides/laravel/configuration/options/
- */
-return [
-
- // @see https://docs.sentry.io/product/sentry-basics/dsn-explainer/
- 'dsn' => env('SENTRY_LARAVEL_DSN', env('SENTRY_DSN')),
-
- // The release version of your application
- // Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD'))
- 'release' => env('SENTRY_RELEASE'),
-
- // When left empty or `null` the Laravel environment will be used (usually discovered from `APP_ENV` in your `.env`)
- 'environment' => env('SENTRY_ENVIRONMENT'),
-
- // @see: https://docs.sentry.io/platforms/php/guides/laravel/configuration/options/#sample-rate
- 'sample_rate' => env('SENTRY_SAMPLE_RATE') === null ? 1.0 : (float)env('SENTRY_SAMPLE_RATE'),
-
- // @see: https://docs.sentry.io/platforms/php/guides/laravel/configuration/options/#traces-sample-rate
- 'traces_sample_rate' => env('SENTRY_TRACES_SAMPLE_RATE') === null ? null : (float)env('SENTRY_TRACES_SAMPLE_RATE'),
-
- // @see: https://docs.sentry.io/platforms/php/guides/laravel/configuration/options/#profiles-sample-rate
- 'profiles_sample_rate' => env('SENTRY_PROFILES_SAMPLE_RATE') === null ? null : (float)env('SENTRY_PROFILES_SAMPLE_RATE'),
-
- // @see: https://docs.sentry.io/platforms/php/guides/laravel/configuration/options/#send-default-pii
- 'send_default_pii' => env('SENTRY_SEND_DEFAULT_PII', false),
-
- // @see: https://docs.sentry.io/platforms/php/guides/laravel/configuration/options/#ignore-exceptions
- // 'ignore_exceptions' => [],
-
- // @see: https://docs.sentry.io/platforms/php/guides/laravel/configuration/options/#ignore-transactions
- // 'ignore_transactions' => [],
-
- // Breadcrumb specific configuration
- 'breadcrumbs' => [
- // Capture Laravel logs as breadcrumbs
- 'logs' => env('SENTRY_BREADCRUMBS_LOGS_ENABLED', true),
-
- // Capture Laravel cache events (hits, writes etc.) as breadcrumbs
- 'cache' => env('SENTRY_BREADCRUMBS_CACHE_ENABLED', true),
-
- // Capture Livewire components like routes as breadcrumbs
- 'livewire' => env('SENTRY_BREADCRUMBS_LIVEWIRE_ENABLED', true),
-
- // Capture SQL queries as breadcrumbs
- 'sql_queries' => env('SENTRY_BREADCRUMBS_SQL_QUERIES_ENABLED', true),
-
- // Capture SQL query bindings (parameters) in SQL query breadcrumbs
- 'sql_bindings' => env('SENTRY_BREADCRUMBS_SQL_BINDINGS_ENABLED', false),
-
- // Capture queue job information as breadcrumbs
- 'queue_info' => env('SENTRY_BREADCRUMBS_QUEUE_INFO_ENABLED', true),
-
- // Capture command information as breadcrumbs
- 'command_info' => env('SENTRY_BREADCRUMBS_COMMAND_JOBS_ENABLED', true),
-
- // Capture HTTP client request information as breadcrumbs
- 'http_client_requests' => env('SENTRY_BREADCRUMBS_HTTP_CLIENT_REQUESTS_ENABLED', true),
- ],
-
- // Performance monitoring specific configuration
- 'tracing' => [
- // Trace queue jobs as their own transactions (this enables tracing for queue jobs)
- 'queue_job_transactions' => env('SENTRY_TRACE_QUEUE_ENABLED', false),
-
- // Capture queue jobs as spans when executed on the sync driver
- 'queue_jobs' => env('SENTRY_TRACE_QUEUE_JOBS_ENABLED', true),
-
- // Capture SQL queries as spans
- 'sql_queries' => env('SENTRY_TRACE_SQL_QUERIES_ENABLED', true),
-
- // Capture SQL query bindings (parameters) in SQL query spans
- 'sql_bindings' => env('SENTRY_TRACE_SQL_BINDINGS_ENABLED', false),
-
- // Capture where the SQL query originated from on the SQL query spans
- 'sql_origin' => env('SENTRY_TRACE_SQL_ORIGIN_ENABLED', true),
-
- // Capture views rendered as spans
- 'views' => env('SENTRY_TRACE_VIEWS_ENABLED', true),
-
- // Capture Livewire components as spans
- 'livewire' => env('SENTRY_TRACE_LIVEWIRE_ENABLED', true),
-
- // Capture HTTP client requests as spans
- 'http_client_requests' => env('SENTRY_TRACE_HTTP_CLIENT_REQUESTS_ENABLED', true),
-
- // Capture Redis operations as spans (this enables Redis events in Laravel)
- 'redis_commands' => env('SENTRY_TRACE_REDIS_COMMANDS', false),
-
- // Capture where the Redis command originated from on the Redis command spans
- 'redis_origin' => env('SENTRY_TRACE_REDIS_ORIGIN_ENABLED', true),
-
- // Enable tracing for requests without a matching route (404's)
- 'missing_routes' => env('SENTRY_TRACE_MISSING_ROUTES_ENABLED', false),
-
- // Configures if the performance trace should continue after the response has been sent to the user until the application terminates
- // This is required to capture any spans that are created after the response has been sent like queue jobs dispatched using `dispatch(...)->afterResponse()` for example
- 'continue_after_response' => env('SENTRY_TRACE_CONTINUE_AFTER_RESPONSE', true),
-
- // Enable the tracing integrations supplied by Sentry (recommended)
- 'default_integrations' => env('SENTRY_TRACE_DEFAULT_INTEGRATIONS_ENABLED', true),
- ],
-
-];
diff --git a/config/services.php b/config/services.php
deleted file mode 100644
index aaad053..0000000
--- a/config/services.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-return [
-
- /*
- |--------------------------------------------------------------------------
- | Third Party Services
- |--------------------------------------------------------------------------
- |
- | This file is for storing the credentials for third party services such
- | as Mailgun, Postmark, AWS and more. This file provides the de facto
- | location for this type of information, allowing packages to have
- | a conventional file to locate the various service credentials.
- |
- */
-
- 'lastfm' => [
- 'key' => env('LASTFM_KEY'),
- 'user' => env('LASTFM_USER'),
- ],
- 'lanyard' => [
- 'user_id' => env('DISCORD_USER_ID'),
- ],
- 'weatherlink' => env('WEATHERLINK_IP')
-];
diff --git a/config/session.php b/config/session.php
deleted file mode 100644
index 8fed97c..0000000
--- a/config/session.php
+++ /dev/null
@@ -1,201 +0,0 @@
-<?php
-
-use Illuminate\Support\Str;
-
-return [
-
- /*
- |--------------------------------------------------------------------------
- | Default Session Driver
- |--------------------------------------------------------------------------
- |
- | This option controls the default session "driver" that will be used on
- | requests. By default, we will use the lightweight native driver but
- | you may specify any of the other wonderful drivers provided here.
- |
- | Supported: "file", "cookie", "database", "apc",
- | "memcached", "redis", "dynamodb", "array"
- |
- */
-
- 'driver' => env('SESSION_DRIVER', 'file'),
-
- /*
- |--------------------------------------------------------------------------
- | Session Lifetime
- |--------------------------------------------------------------------------
- |
- | Here you may specify the number of minutes that you wish the session
- | to be allowed to remain idle before it expires. If you want them
- | to immediately expire on the browser closing, set that option.
- |
- */
-
- 'lifetime' => env('SESSION_LIFETIME', 120),
-
- 'expire_on_close' => false,
-
- /*
- |--------------------------------------------------------------------------
- | Session Encryption
- |--------------------------------------------------------------------------
- |
- | This option allows you to easily specify that all of your session data
- | should be encrypted before it is stored. All encryption will be run
- | automatically by Laravel and you can use the Session like normal.
- |
- */
-
- 'encrypt' => false,
-
- /*
- |--------------------------------------------------------------------------
- | Session File Location
- |--------------------------------------------------------------------------
- |
- | When using the native session driver, we need a location where session
- | files may be stored. A default has been set for you but a different
- | location may be specified. This is only needed for file sessions.
- |
- */
-
- 'files' => storage_path('framework/sessions'),
-
- /*
- |--------------------------------------------------------------------------
- | Session Database Connection
- |--------------------------------------------------------------------------
- |
- | When using the "database" or "redis" session drivers, you may specify a
- | connection that should be used to manage these sessions. This should
- | correspond to a connection in your database configuration options.
- |
- */
-
- 'connection' => env('SESSION_CONNECTION'),
-
- /*
- |--------------------------------------------------------------------------
- | Session Database Table
- |--------------------------------------------------------------------------
- |
- | When using the "database" session driver, you may specify the table we
- | should use to manage the sessions. Of course, a sensible default is
- | provided for you; however, you are free to change this as needed.
- |
- */
-
- 'table' => 'sessions',
-
- /*
- |--------------------------------------------------------------------------
- | Session Cache Store
- |--------------------------------------------------------------------------
- |
- | While using one of the framework's cache driven session backends you may
- | list a cache store that should be used for these sessions. This value
- | must match with one of the application's configured cache "stores".
- |
- | Affects: "apc", "dynamodb", "memcached", "redis"
- |
- */
-
- 'store' => env('SESSION_STORE'),
-
- /*
- |--------------------------------------------------------------------------
- | Session Sweeping Lottery
- |--------------------------------------------------------------------------
- |
- | Some session drivers must manually sweep their storage location to get
- | rid of old sessions from storage. Here are the chances that it will
- | happen on a given request. By default, the odds are 2 out of 100.
- |
- */
-
- 'lottery' => [2, 100],
-
- /*
- |--------------------------------------------------------------------------
- | Session Cookie Name
- |--------------------------------------------------------------------------
- |
- | Here you may change the name of the cookie used to identify a session
- | instance by ID. The name specified here will get used every time a
- | new session cookie is created by the framework for every driver.
- |
- */
-
- 'cookie' => env(
- 'SESSION_COOKIE',
- Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
- ),
-
- /*
- |--------------------------------------------------------------------------
- | Session Cookie Path
- |--------------------------------------------------------------------------
- |
- | The session cookie path determines the path for which the cookie will
- | be regarded as available. Typically, this will be the root path of
- | your application but you are free to change this when necessary.
- |
- */
-
- 'path' => '/',
-
- /*
- |--------------------------------------------------------------------------
- | Session Cookie Domain
- |--------------------------------------------------------------------------
- |
- | Here you may change the domain of the cookie used to identify a session
- | in your application. This will determine which domains the cookie is
- | available to in your application. A sensible default has been set.
- |
- */
-
- 'domain' => env('SESSION_DOMAIN'),
-
- /*
- |--------------------------------------------------------------------------
- | HTTPS Only Cookies
- |--------------------------------------------------------------------------
- |
- | By setting this option to true, session cookies will only be sent back
- | to the server if the browser has a HTTPS connection. This will keep
- | the cookie from being sent to you when it can't be done securely.
- |
- */
-
- 'secure' => env('SESSION_SECURE_COOKIE'),
-
- /*
- |--------------------------------------------------------------------------
- | HTTP Access Only
- |--------------------------------------------------------------------------
- |
- | Setting this value to true will prevent JavaScript from accessing the
- | value of the cookie and the cookie will only be accessible through
- | the HTTP protocol. You are free to modify this option if needed.
- |
- */
-
- 'http_only' => true,
-
- /*
- |--------------------------------------------------------------------------
- | Same-Site Cookies
- |--------------------------------------------------------------------------
- |
- | This option determines how your cookies behave when cross-site requests
- | take place, and can be used to mitigate CSRF attacks. By default, we
- | will set this value to "lax" since this is a secure default value.
- |
- | Supported: "lax", "strict", "none", null
- |
- */
-
- 'same_site' => 'lax',
-
-];
diff --git a/config/view.php b/config/view.php
deleted file mode 100644
index 22b8a18..0000000
--- a/config/view.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-return [
-
- /*
- |--------------------------------------------------------------------------
- | View Storage Paths
- |--------------------------------------------------------------------------
- |
- | Most templating systems load templates from disk. Here you may specify
- | an array of paths that should be checked for your views. Of course
- | the usual Laravel view path has already been registered for you.
- |
- */
-
- 'paths' => [
- resource_path('views'),
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Compiled View Path
- |--------------------------------------------------------------------------
- |
- | This option determines where all the compiled Blade templates will be
- | stored for your application. Typically, this is within the storage
- | directory. However, as usual, you are free to change this value.
- |
- */
-
- 'compiled' => env(
- 'VIEW_COMPILED_PATH',
- realpath(storage_path('framework/views'))
- ),
-
-];
diff --git a/database/.gitignore b/database/.gitignore
deleted file mode 100644
index 9b19b93..0000000
--- a/database/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.sqlite*
diff --git a/database/factories/BookmarkCategoryFactory.php b/database/factories/BookmarkCategoryFactory.php
deleted file mode 100644
index ca49ce5..0000000
--- a/database/factories/BookmarkCategoryFactory.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-namespace Database\Factories;
-
-use Illuminate\Database\Eloquent\Factories\Factory;
-
-/**
- * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\BookmarkCategory>
- */
-class BookmarkCategoryFactory extends Factory
-{
- /**
- * Define the model's default state.
- *
- * @return array<string, mixed>
- */
- public function definition(): array
- {
- return [
- 'name' => $this->faker->word,
- ];
- }
-}
diff --git a/database/factories/BookmarkSiteFactory.php b/database/factories/BookmarkSiteFactory.php
deleted file mode 100644
index c77c011..0000000
--- a/database/factories/BookmarkSiteFactory.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-namespace Database\Factories;
-
-use Illuminate\Database\Eloquent\Factories\Factory;
-use App\Models\BookmarkCategory;
-
-/**
- * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\BookmarkSite>
- */
-class BookmarkSiteFactory extends Factory
-{
- /**
- * Define the model's default state.
- *
- * @return array<string, mixed>
- */
- public function definition(): array
- {
- return [
- 'name' => $this->faker->name,
- 'description' => $this->faker->sentence,
- 'url' => $this->faker->url,
- 'category' => BookmarkCategory::factory(),
- ];
- }
-}
diff --git a/database/migrations/2024_02_13_230402_create_bookmark__categories_table.php b/database/migrations/2024_02_13_230402_create_bookmark__categories_table.php
deleted file mode 100644
index bb1799b..0000000
--- a/database/migrations/2024_02_13_230402_create_bookmark__categories_table.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-use Illuminate\Database\Migrations\Migration;
-use Illuminate\Database\Schema\Blueprint;
-use Illuminate\Support\Facades\Schema;
-
-return new class extends Migration
-{
- /**
- * Run the migrations.
- */
- public function up(): void
- {
- Schema::create('bookmark__categories', function (Blueprint $table) {
- $table->id();
- $table->string('name');
- $table->unsignedBigInteger('priority')->nullable();
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('bookmark__categories');
- }
-};
diff --git a/database/migrations/2024_02_13_230457_create_bookmark__sites_table.php b/database/migrations/2024_02_13_230457_create_bookmark__sites_table.php
deleted file mode 100644
index f016f43..0000000
--- a/database/migrations/2024_02_13_230457_create_bookmark__sites_table.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-use Illuminate\Database\Migrations\Migration;
-use Illuminate\Database\Schema\Blueprint;
-use Illuminate\Support\Facades\Schema;
-
-return new class extends Migration
-{
- /**
- * Run the migrations.
- */
- public function up(): void
- {
- Schema::create('bookmark__sites', function (Blueprint $table) {
- $table->id();
- $table->string('name');
- $table->text('description')->nullable();
- $table->string('url');
- $table->unsignedBigInteger('category');
- $table->foreign('category')
- ->references('id')
- ->on('bookmark__categories')
- ->onDelete('cascade');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('bookmarks');
- }
-};
diff --git a/database/migrations/2024_02_25_151527_create_guestbook__entries_table.php b/database/migrations/2024_02_25_151527_create_guestbook__entries_table.php
deleted file mode 100644
index f1b2a11..0000000
--- a/database/migrations/2024_02_25_151527_create_guestbook__entries_table.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-use Illuminate\Database\Migrations\Migration;
-use Illuminate\Database\Schema\Blueprint;
-use Illuminate\Support\Facades\Schema;
-
-return new class extends Migration
-{
- /**
- * Run the migrations.
- */
- public function up(): void
- {
- Schema::create('guestbook__entries', function (Blueprint $table) {
- $table->id();
- $table->string('name');
- $table->string('ip');
- $table->string('agent');
- $table->longText('message');
- $table->boolean('admin');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('guestbook__entries');
- }
-};
diff --git a/database/seeders/BookmarkCategoriesTableSeeder.php b/database/seeders/BookmarkCategoriesTableSeeder.php
deleted file mode 100644
index 5c8ea2f..0000000
--- a/database/seeders/BookmarkCategoriesTableSeeder.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-namespace Database\Seeders;
-
-use App\Models\BookmarkCategory;
-use App\Models\BookmarkSite;
-use Illuminate\Database\Seeder;
-
-class BookmarkCategoriesTableSeeder extends Seeder
-{
- /**
- * Run the database seeds.
- */
- public function run(): void {
-// BookmarkCategory::factory()->count(5)->create()->each(function ($category) {
-// $category->sites()->saveMany(BookmarkSite::factory()->count(3)->make());
-// });
- $category = new BookmarkCategory([
- 'name' => 'cool people',
- ]);
- $category->save();
- $site = new BookmarkSite([
- 'name' => 'campos',
- 'description' => 'Cool brazilian dude, does programming and stuff',
- 'url' => 'https://campos02.me/',
- 'category' => 1,
- ]);
- $site->save();
- }
-}
diff --git a/db/seeds.rb b/db/seeds.rb
new file mode 100644
index 0000000..4fbd6ed
--- /dev/null
+++ b/db/seeds.rb
@@ -0,0 +1,9 @@
+# This file should ensure the existence of records required to run the application in every environment (production,
+# development, test). The code here should be idempotent so that it can be executed at any point in every environment.
+# The data can then be loaded with the bin/rails db:seed command (or created alongside the database with db:setup).
+#
+# Example:
+#
+# ["Action", "Comedy", "Drama", "Horror"].each do |genre_name|
+# MovieGenre.find_or_create_by!(name: genre_name)
+# end
diff --git a/lib/assets/.keep b/lib/assets/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lib/assets/.keep
diff --git a/lib/tasks/.keep b/lib/tasks/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lib/tasks/.keep
diff --git a/log/.keep b/log/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/log/.keep
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index aaf6e4d..0000000
--- a/package-lock.json
+++ /dev/null
@@ -1,776 +0,0 @@
-{
- "name": "diskfloppy.me",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "dependencies": {
- "@sentry/browser": "^7.40.0"
- },
- "devDependencies": {
- "axios": "^1.1.2",
- "laravel-vite-plugin": "^0.7.5",
- "vite": "^4.5.3"
- }
- },
- "node_modules/@esbuild/android-arm": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
- "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-arm64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz",
- "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz",
- "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
- "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz",
- "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz",
- "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz",
- "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz",
- "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz",
- "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz",
- "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
- "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz",
- "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz",
- "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz",
- "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz",
- "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
- "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz",
- "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz",
- "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz",
- "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz",
- "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
- "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz",
- "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@sentry-internal/feedback": {
- "version": "7.91.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.91.0.tgz",
- "integrity": "sha512-SJKTSaz68F5YIwF79EttBm915M2LnacgZMYRnRumyTmMKnebGhYQLwWbZdpaDvOa1U18dgRajDX8Qed/8A3tXw==",
- "dependencies": {
- "@sentry/core": "7.91.0",
- "@sentry/types": "7.91.0",
- "@sentry/utils": "7.91.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@sentry-internal/tracing": {
- "version": "7.91.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.91.0.tgz",
- "integrity": "sha512-JH5y6gs6BS0its7WF2DhySu7nkhPDfZcdpAXldxzIlJpqFkuwQKLU5nkYJpiIyZz1NHYYtW5aum2bV2oCOdDRA==",
- "dependencies": {
- "@sentry/core": "7.91.0",
- "@sentry/types": "7.91.0",
- "@sentry/utils": "7.91.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@sentry/browser": {
- "version": "7.91.0",
- "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.91.0.tgz",
- "integrity": "sha512-lJv3x/xekzC/biiyAsVCioq2XnKNOZhI6jY3ZzLJZClYV8eKRi7D3KCsHRvMiCdGak1d/6sVp8F4NYY+YiWy1Q==",
- "dependencies": {
- "@sentry-internal/feedback": "7.91.0",
- "@sentry-internal/tracing": "7.91.0",
- "@sentry/core": "7.91.0",
- "@sentry/replay": "7.91.0",
- "@sentry/types": "7.91.0",
- "@sentry/utils": "7.91.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@sentry/core": {
- "version": "7.91.0",
- "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.91.0.tgz",
- "integrity": "sha512-tu+gYq4JrTdrR+YSh5IVHF0fJi/Pi9y0HZ5H9HnYy+UMcXIotxf6hIEaC6ZKGeLWkGXffz2gKpQLe/g6vy/lPA==",
- "dependencies": {
- "@sentry/types": "7.91.0",
- "@sentry/utils": "7.91.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@sentry/replay": {
- "version": "7.91.0",
- "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.91.0.tgz",
- "integrity": "sha512-XwbesnLLNtaVXKtDoyBB96GxJuhGi9zy3a662Ba/McmumCnkXrMQYpQPh08U7MgkTyDRgjDwm7PXDhiKpcb03g==",
- "dependencies": {
- "@sentry-internal/tracing": "7.91.0",
- "@sentry/core": "7.91.0",
- "@sentry/types": "7.91.0",
- "@sentry/utils": "7.91.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@sentry/types": {
- "version": "7.91.0",
- "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.91.0.tgz",
- "integrity": "sha512-bcQnb7J3P3equbCUc+sPuHog2Y47yGD2sCkzmnZBjvBT0Z1B4f36fI/5WjyZhTjLSiOdg3F2otwvikbMjmBDew==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@sentry/utils": {
- "version": "7.91.0",
- "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.91.0.tgz",
- "integrity": "sha512-fvxjrEbk6T6Otu++Ax9ntlQ0sGRiwSC179w68aC3u26Wr30FAIRKqHTCCdc2jyWk7Gd9uWRT/cq+g8NG/8BfSg==",
- "dependencies": {
- "@sentry/types": "7.91.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "dev": true
- },
- "node_modules/axios": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz",
- "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==",
- "dev": true,
- "dependencies": {
- "follow-redirects": "^1.15.0",
- "form-data": "^4.0.0",
- "proxy-from-env": "^1.1.0"
- }
- },
- "node_modules/combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/esbuild": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
- "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
- "dev": true,
- "hasInstallScript": true,
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/android-arm": "0.18.20",
- "@esbuild/android-arm64": "0.18.20",
- "@esbuild/android-x64": "0.18.20",
- "@esbuild/darwin-arm64": "0.18.20",
- "@esbuild/darwin-x64": "0.18.20",
- "@esbuild/freebsd-arm64": "0.18.20",
- "@esbuild/freebsd-x64": "0.18.20",
- "@esbuild/linux-arm": "0.18.20",
- "@esbuild/linux-arm64": "0.18.20",
- "@esbuild/linux-ia32": "0.18.20",
- "@esbuild/linux-loong64": "0.18.20",
- "@esbuild/linux-mips64el": "0.18.20",
- "@esbuild/linux-ppc64": "0.18.20",
- "@esbuild/linux-riscv64": "0.18.20",
- "@esbuild/linux-s390x": "0.18.20",
- "@esbuild/linux-x64": "0.18.20",
- "@esbuild/netbsd-x64": "0.18.20",
- "@esbuild/openbsd-x64": "0.18.20",
- "@esbuild/sunos-x64": "0.18.20",
- "@esbuild/win32-arm64": "0.18.20",
- "@esbuild/win32-ia32": "0.18.20",
- "@esbuild/win32-x64": "0.18.20"
- }
- },
- "node_modules/follow-redirects": {
- "version": "1.15.6",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
- "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "engines": {
- "node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
- }
- },
- "node_modules/form-data": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
- "dev": true,
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/laravel-vite-plugin": {
- "version": "0.7.8",
- "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-0.7.8.tgz",
- "integrity": "sha512-HWYqpQYHR3kEQ1LsHX7gHJoNNf0bz5z5mDaHBLzS+PGLCTmYqlU5/SZyeEgObV7z7bC/cnStYcY9H1DI1D5Udg==",
- "dev": true,
- "dependencies": {
- "picocolors": "^1.0.0",
- "vite-plugin-full-reload": "^1.0.5"
- },
- "engines": {
- "node": ">=14"
- },
- "peerDependencies": {
- "vite": "^3.0.0 || ^4.0.0"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dev": true,
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/nanoid": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
- "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/postcss": {
- "version": "8.4.32",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz",
- "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "nanoid": "^3.3.7",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/proxy-from-env": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
- "dev": true
- },
- "node_modules/rollup": {
- "version": "3.29.4",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
- "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
- "dev": true,
- "bin": {
- "rollup": "dist/bin/rollup"
- },
- "engines": {
- "node": ">=14.18.0",
- "npm": ">=8.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/vite": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz",
- "integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==",
- "dev": true,
- "dependencies": {
- "esbuild": "^0.18.10",
- "postcss": "^8.4.27",
- "rollup": "^3.27.1"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/vitejs/vite?sponsor=1"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- },
- "peerDependencies": {
- "@types/node": ">= 14",
- "less": "*",
- "lightningcss": "^1.21.0",
- "sass": "*",
- "stylus": "*",
- "sugarss": "*",
- "terser": "^5.4.0"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "lightningcss": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "terser": {
- "optional": true
- }
- }
- },
- "node_modules/vite-plugin-full-reload": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/vite-plugin-full-reload/-/vite-plugin-full-reload-1.1.0.tgz",
- "integrity": "sha512-3cObNDzX6DdfhD9E7kf6w2mNunFpD7drxyNgHLw+XwIYAgb+Xt16SEXo0Up4VH+TMf3n+DSVJZtW2POBGcBYAA==",
- "dev": true,
- "dependencies": {
- "picocolors": "^1.0.0",
- "picomatch": "^2.3.1"
- }
- }
- }
-}
diff --git a/package.json b/package.json
deleted file mode 100644
index 8360ac0..0000000
--- a/package.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "private": true,
- "type": "module",
- "scripts": {
- "dev": "vite",
- "build": "vite build"
- },
- "devDependencies": {
- "axios": "^1.1.2",
- "laravel-vite-plugin": "^0.7.5",
- "vite": "^4.5.3"
- },
- "dependencies": {
- "@sentry/browser": "^7.40.0"
- }
-}
diff --git a/phpunit.xml b/phpunit.xml
deleted file mode 100644
index e9f533d..0000000
--- a/phpunit.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
- bootstrap="vendor/autoload.php"
- colors="true"
->
- <testsuites>
- <testsuite name="Unit">
- <directory suffix="Test.php">./tests/Unit</directory>
- </testsuite>
- <testsuite name="Feature">
- <directory suffix="Test.php">./tests/Feature</directory>
- </testsuite>
- </testsuites>
- <source>
- <include>
- <directory suffix=".php">./app</directory>
- </include>
- </source>
- <php>
- <env name="APP_ENV" value="testing"/>
- <env name="BCRYPT_ROUNDS" value="4"/>
- <env name="CACHE_DRIVER" value="array"/>
- <!-- <env name="DB_CONNECTION" value="sqlite"/> -->
- <!-- <env name="DB_DATABASE" value=":memory:"/> -->
- <env name="MAIL_MAILER" value="array"/>
- <env name="QUEUE_CONNECTION" value="sync"/>
- <env name="SESSION_DRIVER" value="array"/>
- <env name="TELESCOPE_ENABLED" value="false"/>
- </php>
-</phpunit>
diff --git a/public/.htaccess b/public/.htaccess
deleted file mode 100644
index 3aec5e2..0000000
--- a/public/.htaccess
+++ /dev/null
@@ -1,21 +0,0 @@
-<IfModule mod_rewrite.c>
- <IfModule mod_negotiation.c>
- Options -MultiViews -Indexes
- </IfModule>
-
- RewriteEngine On
-
- # Handle Authorization Header
- RewriteCond %{HTTP:Authorization} .
- RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
-
- # Redirect Trailing Slashes If Not A Folder...
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteCond %{REQUEST_URI} (.+)/$
- RewriteRule ^ %1 [L,R=301]
-
- # Send Requests To Front Controller...
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteRule ^ index.php [L]
-</IfModule>
diff --git a/public/404.html b/public/404.html
new file mode 100644
index 0000000..2be3af2
--- /dev/null
+++ b/public/404.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>The page you were looking for doesn't exist (404)</title>
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+ <style>
+ .rails-default-error-page {
+ background-color: #EFEFEF;
+ color: #2E2F30;
+ text-align: center;
+ font-family: arial, sans-serif;
+ margin: 0;
+ }
+
+ .rails-default-error-page div.dialog {
+ width: 95%;
+ max-width: 33em;
+ margin: 4em auto 0;
+ }
+
+ .rails-default-error-page div.dialog > div {
+ border: 1px solid #CCC;
+ border-right-color: #999;
+ border-left-color: #999;
+ border-bottom-color: #BBB;
+ border-top: #B00100 solid 4px;
+ border-top-left-radius: 9px;
+ border-top-right-radius: 9px;
+ background-color: white;
+ padding: 7px 12% 0;
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
+ }
+
+ .rails-default-error-page h1 {
+ font-size: 100%;
+ color: #730E15;
+ line-height: 1.5em;
+ }
+
+ .rails-default-error-page div.dialog > p {
+ margin: 0 0 1em;
+ padding: 1em;
+ background-color: #F7F7F7;
+ border: 1px solid #CCC;
+ border-right-color: #999;
+ border-left-color: #999;
+ border-bottom-color: #999;
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ border-top-color: #DADADA;
+ color: #666;
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
+ }
+ </style>
+</head>
+
+<body class="rails-default-error-page">
+ <!-- This file lives in public/404.html -->
+ <div class="dialog">
+ <div>
+ <h1>The page you were looking for doesn't exist.</h1>
+ <p>You may have mistyped the address or the page may have moved.</p>
+ </div>
+ <p>If you are the application owner check the logs for more information.</p>
+ </div>
+</body>
+</html>
diff --git a/public/422.html b/public/422.html
new file mode 100644
index 0000000..c08eac0
--- /dev/null
+++ b/public/422.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>The change you wanted was rejected (422)</title>
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+ <style>
+ .rails-default-error-page {
+ background-color: #EFEFEF;
+ color: #2E2F30;
+ text-align: center;
+ font-family: arial, sans-serif;
+ margin: 0;
+ }
+
+ .rails-default-error-page div.dialog {
+ width: 95%;
+ max-width: 33em;
+ margin: 4em auto 0;
+ }
+
+ .rails-default-error-page div.dialog > div {
+ border: 1px solid #CCC;
+ border-right-color: #999;
+ border-left-color: #999;
+ border-bottom-color: #BBB;
+ border-top: #B00100 solid 4px;
+ border-top-left-radius: 9px;
+ border-top-right-radius: 9px;
+ background-color: white;
+ padding: 7px 12% 0;
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
+ }
+
+ .rails-default-error-page h1 {
+ font-size: 100%;
+ color: #730E15;
+ line-height: 1.5em;
+ }
+
+ .rails-default-error-page div.dialog > p {
+ margin: 0 0 1em;
+ padding: 1em;
+ background-color: #F7F7F7;
+ border: 1px solid #CCC;
+ border-right-color: #999;
+ border-left-color: #999;
+ border-bottom-color: #999;
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ border-top-color: #DADADA;
+ color: #666;
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
+ }
+ </style>
+</head>
+
+<body class="rails-default-error-page">
+ <!-- This file lives in public/422.html -->
+ <div class="dialog">
+ <div>
+ <h1>The change you wanted was rejected.</h1>
+ <p>Maybe you tried to change something you didn't have access to.</p>
+ </div>
+ <p>If you are the application owner check the logs for more information.</p>
+ </div>
+</body>
+</html>
diff --git a/public/500.html b/public/500.html
new file mode 100644
index 0000000..78a030a
--- /dev/null
+++ b/public/500.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>We're sorry, but something went wrong (500)</title>
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+ <style>
+ .rails-default-error-page {
+ background-color: #EFEFEF;
+ color: #2E2F30;
+ text-align: center;
+ font-family: arial, sans-serif;
+ margin: 0;
+ }
+
+ .rails-default-error-page div.dialog {
+ width: 95%;
+ max-width: 33em;
+ margin: 4em auto 0;
+ }
+
+ .rails-default-error-page div.dialog > div {
+ border: 1px solid #CCC;
+ border-right-color: #999;
+ border-left-color: #999;
+ border-bottom-color: #BBB;
+ border-top: #B00100 solid 4px;
+ border-top-left-radius: 9px;
+ border-top-right-radius: 9px;
+ background-color: white;
+ padding: 7px 12% 0;
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
+ }
+
+ .rails-default-error-page h1 {
+ font-size: 100%;
+ color: #730E15;
+ line-height: 1.5em;
+ }
+
+ .rails-default-error-page div.dialog > p {
+ margin: 0 0 1em;
+ padding: 1em;
+ background-color: #F7F7F7;
+ border: 1px solid #CCC;
+ border-right-color: #999;
+ border-left-color: #999;
+ border-bottom-color: #999;
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ border-top-color: #DADADA;
+ color: #666;
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
+ }
+ </style>
+</head>
+
+<body class="rails-default-error-page">
+ <!-- This file lives in public/500.html -->
+ <div class="dialog">
+ <div>
+ <h1>We're sorry, but something went wrong.</h1>
+ </div>
+ <p>If you are the application owner check the logs for more information.</p>
+ </div>
+</body>
+</html>
diff --git a/public/apple-touch-icon-precomposed.png b/public/apple-touch-icon-precomposed.png
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/public/apple-touch-icon-precomposed.png
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/public/apple-touch-icon.png
diff --git a/public/css/colorschemes/c64.css b/public/css/colorschemes/c64.css
deleted file mode 100644
index b3b7bf8..0000000
--- a/public/css/colorschemes/c64.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #40318d;
- --background-secondary: #483c8b;
- --foreground: #f7f7f7;
- --links: #67b6bd;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: dark;
-}
diff --git a/public/css/colorschemes/catppuccin-frappe.css b/public/css/colorschemes/catppuccin-frappe.css
deleted file mode 100644
index 9be1833..0000000
--- a/public/css/colorschemes/catppuccin-frappe.css
+++ /dev/null
@@ -1,95 +0,0 @@
-:root {
- --ctp-frappe-rosewater: #f2d5cf;
- --ctp-frappe-rosewater-rgb: 242 213 207;
- --ctp-frappe-rosewater-hsl: 10.286 57.377% 88.039%;
- --ctp-frappe-flamingo: #eebebe;
- --ctp-frappe-flamingo-rgb: 238 190 190;
- --ctp-frappe-flamingo-hsl: 0.000 58.537% 83.922%;
- --ctp-frappe-pink: #f4b8e4;
- --ctp-frappe-pink-rgb: 244 184 228;
- --ctp-frappe-pink-hsl: 316.000 73.171% 83.922%;
- --ctp-frappe-mauve: #ca9ee6;
- --ctp-frappe-mauve-rgb: 202 158 230;
- --ctp-frappe-mauve-hsl: 276.667 59.016% 76.078%;
- --ctp-frappe-red: #e78284;
- --ctp-frappe-red-rgb: 231 130 132;
- --ctp-frappe-red-hsl: 358.812 67.785% 70.784%;
- --ctp-frappe-maroon: #ea999c;
- --ctp-frappe-maroon-rgb: 234 153 156;
- --ctp-frappe-maroon-hsl: 357.778 65.854% 75.882%;
- --ctp-frappe-peach: #ef9f76;
- --ctp-frappe-peach-rgb: 239 159 118;
- --ctp-frappe-peach-hsl: 20.331 79.085% 70.000%;
- --ctp-frappe-yellow: #e5c890;
- --ctp-frappe-yellow-rgb: 229 200 144;
- --ctp-frappe-yellow-hsl: 39.529 62.044% 73.137%;
- --ctp-frappe-green: #a6d189;
- --ctp-frappe-green-rgb: 166 209 137;
- --ctp-frappe-green-hsl: 95.833 43.902% 67.843%;
- --ctp-frappe-teal: #81c8be;
- --ctp-frappe-teal-rgb: 129 200 190;
- --ctp-frappe-teal-hsl: 171.549 39.227% 64.510%;
- --ctp-frappe-sky: #99d1db;
- --ctp-frappe-sky-rgb: 153 209 219;
- --ctp-frappe-sky-hsl: 189.091 47.826% 72.941%;
- --ctp-frappe-sapphire: #85c1dc;
- --ctp-frappe-sapphire-rgb: 133 193 220;
- --ctp-frappe-sapphire-hsl: 198.621 55.414% 69.216%;
- --ctp-frappe-blue: #8caaee;
- --ctp-frappe-blue-rgb: 140 170 238;
- --ctp-frappe-blue-hsl: 221.633 74.242% 74.118%;
- --ctp-frappe-lavender: #babbf1;
- --ctp-frappe-lavender-rgb: 186 187 241;
- --ctp-frappe-lavender-hsl: 238.909 66.265% 83.725%;
- --ctp-frappe-text: #c6d0f5;
- --ctp-frappe-text-rgb: 198 208 245;
- --ctp-frappe-text-hsl: 227.234 70.149% 86.863%;
- --ctp-frappe-subtext1: #b5bfe2;
- --ctp-frappe-subtext1-rgb: 181 191 226;
- --ctp-frappe-subtext1-hsl: 226.667 43.689% 79.804%;
- --ctp-frappe-subtext0: #a5adce;
- --ctp-frappe-subtext0-rgb: 165 173 206;
- --ctp-frappe-subtext0-hsl: 228.293 29.496% 72.745%;
- --ctp-frappe-overlay2: #949cbb;
- --ctp-frappe-overlay2-rgb: 148 156 187;
- --ctp-frappe-overlay2-hsl: 227.692 22.286% 65.686%;
- --ctp-frappe-overlay1: #838ba7;
- --ctp-frappe-overlay1-rgb: 131 139 167;
- --ctp-frappe-overlay1-hsl: 226.667 16.981% 58.431%;
- --ctp-frappe-overlay0: #737994;
- --ctp-frappe-overlay0-rgb: 115 121 148;
- --ctp-frappe-overlay0-hsl: 229.091 13.360% 51.569%;
- --ctp-frappe-surface2: #626880;
- --ctp-frappe-surface2-rgb: 98 104 128;
- --ctp-frappe-surface2-hsl: 228.000 13.274% 44.314%;
- --ctp-frappe-surface1: #51576d;
- --ctp-frappe-surface1-rgb: 81 87 109;
- --ctp-frappe-surface1-hsl: 227.143 14.737% 37.255%;
- --ctp-frappe-surface0: #414559;
- --ctp-frappe-surface0-rgb: 65 69 89;
- --ctp-frappe-surface0-hsl: 230.000 15.584% 30.196%;
- --ctp-frappe-base: #303446;
- --ctp-frappe-base-rgb: 48 52 70;
- --ctp-frappe-base-hsl: 229.091 18.644% 23.137%;
- --ctp-frappe-mantle: #292c3c;
- --ctp-frappe-mantle-rgb: 41 44 60;
- --ctp-frappe-mantle-hsl: 230.526 18.812% 19.804%;
- --ctp-frappe-crust: #232634;
- --ctp-frappe-crust-rgb: 35 38 52;
- --ctp-frappe-crust-hsl: 229.412 19.540% 17.059%;
-}
-
-:root {
- --page-width: 900px;
- --sidebar-width: 15rem;
- --firefox-shadow: 0 0 20px;
- --foreground: var(--ctp-frappe-text);
- --background: var(--ctp-frappe-crust);
- --background-secondary: var(--ctp-frappe-surface0);
- --links: var(--ctp-frappe-sapphire);
- --shadow: #cdd6f44f;
-}
-
-html {
- color-scheme: dark;
-}
diff --git a/public/css/colorschemes/catppuccin-latte.css b/public/css/colorschemes/catppuccin-latte.css
deleted file mode 100644
index 0809f30..0000000
--- a/public/css/colorschemes/catppuccin-latte.css
+++ /dev/null
@@ -1,95 +0,0 @@
-:root {
- --ctp-latte-rosewater: #dc8a78;
- --ctp-latte-rosewater-rgb: 220 138 120;
- --ctp-latte-rosewater-hsl: 10.800 58.824% 66.667%;
- --ctp-latte-flamingo: #dd7878;
- --ctp-latte-flamingo-rgb: 221 120 120;
- --ctp-latte-flamingo-hsl: 0.000 59.763% 66.863%;
- --ctp-latte-pink: #ea76cb;
- --ctp-latte-pink-rgb: 234 118 203;
- --ctp-latte-pink-hsl: 316.034 73.418% 69.020%;
- --ctp-latte-mauve: #8839ef;
- --ctp-latte-mauve-rgb: 136 57 239;
- --ctp-latte-mauve-hsl: 266.044 85.047% 58.039%;
- --ctp-latte-red: #d20f39;
- --ctp-latte-red-rgb: 210 15 57;
- --ctp-latte-red-hsl: 347.077 86.667% 44.118%;
- --ctp-latte-maroon: #e64553;
- --ctp-latte-maroon-rgb: 230 69 83;
- --ctp-latte-maroon-hsl: 354.783 76.303% 58.627%;
- --ctp-latte-peach: #fe640b;
- --ctp-latte-peach-rgb: 254 100 11;
- --ctp-latte-peach-hsl: 21.975 99.184% 51.961%;
- --ctp-latte-yellow: #df8e1d;
- --ctp-latte-yellow-rgb: 223 142 29;
- --ctp-latte-yellow-hsl: 34.948 76.984% 49.412%;
- --ctp-latte-green: #40a02b;
- --ctp-latte-green-rgb: 64 160 43;
- --ctp-latte-green-hsl: 109.231 57.635% 39.804%;
- --ctp-latte-teal: #179299;
- --ctp-latte-teal-rgb: 23 146 153;
- --ctp-latte-teal-hsl: 183.231 73.864% 34.510%;
- --ctp-latte-sky: #04a5e5;
- --ctp-latte-sky-rgb: 4 165 229;
- --ctp-latte-sky-hsl: 197.067 96.567% 45.686%;
- --ctp-latte-sapphire: #209fb5;
- --ctp-latte-sapphire-rgb: 32 159 181;
- --ctp-latte-sapphire-hsl: 188.859 69.953% 41.765%;
- --ctp-latte-blue: #1e66f5;
- --ctp-latte-blue-rgb: 30 102 245;
- --ctp-latte-blue-hsl: 219.907 91.489% 53.922%;
- --ctp-latte-lavender: #7287fd;
- --ctp-latte-lavender-rgb: 114 135 253;
- --ctp-latte-lavender-hsl: 230.935 97.203% 71.961%;
- --ctp-latte-text: #4c4f69;
- --ctp-latte-text-rgb: 76 79 105;
- --ctp-latte-text-hsl: 233.793 16.022% 35.490%;
- --ctp-latte-subtext1: #5c5f77;
- --ctp-latte-subtext1-rgb: 92 95 119;
- --ctp-latte-subtext1-hsl: 233.333 12.796% 41.373%;
- --ctp-latte-subtext0: #6c6f85;
- --ctp-latte-subtext0-rgb: 108 111 133;
- --ctp-latte-subtext0-hsl: 232.800 10.373% 47.255%;
- --ctp-latte-overlay2: #7c7f93;
- --ctp-latte-overlay2-rgb: 124 127 147;
- --ctp-latte-overlay2-hsl: 232.174 9.623% 53.137%;
- --ctp-latte-overlay1: #8c8fa1;
- --ctp-latte-overlay1-rgb: 140 143 161;
- --ctp-latte-overlay1-hsl: 231.429 10.048% 59.020%;
- --ctp-latte-overlay0: #9ca0b0;
- --ctp-latte-overlay0-rgb: 156 160 176;
- --ctp-latte-overlay0-hsl: 228.000 11.236% 65.098%;
- --ctp-latte-surface2: #acb0be;
- --ctp-latte-surface2-rgb: 172 176 190;
- --ctp-latte-surface2-hsl: 226.667 12.162% 70.980%;
- --ctp-latte-surface1: #bcc0cc;
- --ctp-latte-surface1-rgb: 188 192 204;
- --ctp-latte-surface1-hsl: 225.000 13.559% 76.863%;
- --ctp-latte-surface0: #ccd0da;
- --ctp-latte-surface0-rgb: 204 208 218;
- --ctp-latte-surface0-hsl: 222.857 15.909% 82.745%;
- --ctp-latte-base: #eff1f5;
- --ctp-latte-base-rgb: 239 241 245;
- --ctp-latte-base-hsl: 220.000 23.077% 94.902%;
- --ctp-latte-mantle: #e6e9ef;
- --ctp-latte-mantle-rgb: 230 233 239;
- --ctp-latte-mantle-hsl: 220.000 21.951% 91.961%;
- --ctp-latte-crust: #dce0e8;
- --ctp-latte-crust-rgb: 220 224 232;
- --ctp-latte-crust-hsl: 220.000 20.690% 88.627%;
-}
-
-:root {
- --page-width: 900px;
- --sidebar-width: 15rem;
- --firefox-shadow: 0 0 20px;
- --foreground: var(--ctp-latte-text);
- --background: var(--ctp-latte-crust);
- --background-secondary: var(--ctp-latte-surface0);
- --links: var(--ctp-latte-sapphire);
- --shadow: #cdd6f44f;
-}
-
-html {
- color-scheme: light;
-}
diff --git a/public/css/colorschemes/catppuccin-macchiato.css b/public/css/colorschemes/catppuccin-macchiato.css
deleted file mode 100644
index 2477eda..0000000
--- a/public/css/colorschemes/catppuccin-macchiato.css
+++ /dev/null
@@ -1,95 +0,0 @@
-:root {
- --ctp-macchiato-rosewater: #f4dbd6;
- --ctp-macchiato-rosewater-rgb: 244 219 214;
- --ctp-macchiato-rosewater-hsl: 10.000 57.692% 89.804%;
- --ctp-macchiato-flamingo: #f0c6c6;
- --ctp-macchiato-flamingo-rgb: 240 198 198;
- --ctp-macchiato-flamingo-hsl: 0.000 58.333% 85.882%;
- --ctp-macchiato-pink: #f5bde6;
- --ctp-macchiato-pink-rgb: 245 189 230;
- --ctp-macchiato-pink-hsl: 316.071 73.684% 85.098%;
- --ctp-macchiato-mauve: #c6a0f6;
- --ctp-macchiato-mauve-rgb: 198 160 246;
- --ctp-macchiato-mauve-hsl: 266.512 82.692% 79.608%;
- --ctp-macchiato-red: #ed8796;
- --ctp-macchiato-red-rgb: 237 135 150;
- --ctp-macchiato-red-hsl: 351.176 73.913% 72.941%;
- --ctp-macchiato-maroon: #ee99a0;
- --ctp-macchiato-maroon-rgb: 238 153 160;
- --ctp-macchiato-maroon-hsl: 355.059 71.429% 76.667%;
- --ctp-macchiato-peach: #f5a97f;
- --ctp-macchiato-peach-rgb: 245 169 127;
- --ctp-macchiato-peach-hsl: 21.356 85.507% 72.941%;
- --ctp-macchiato-yellow: #eed49f;
- --ctp-macchiato-yellow-rgb: 238 212 159;
- --ctp-macchiato-yellow-hsl: 40.253 69.912% 77.843%;
- --ctp-macchiato-green: #a6da95;
- --ctp-macchiato-green-rgb: 166 218 149;
- --ctp-macchiato-green-hsl: 105.217 48.252% 71.961%;
- --ctp-macchiato-teal: #8bd5ca;
- --ctp-macchiato-teal-rgb: 139 213 202;
- --ctp-macchiato-teal-hsl: 171.081 46.835% 69.020%;
- --ctp-macchiato-sky: #91d7e3;
- --ctp-macchiato-sky-rgb: 145 215 227;
- --ctp-macchiato-sky-hsl: 188.780 59.420% 72.941%;
- --ctp-macchiato-sapphire: #7dc4e4;
- --ctp-macchiato-sapphire-rgb: 125 196 228;
- --ctp-macchiato-sapphire-hsl: 198.641 65.605% 69.216%;
- --ctp-macchiato-blue: #8aadf4;
- --ctp-macchiato-blue-rgb: 138 173 244;
- --ctp-macchiato-blue-hsl: 220.189 82.813% 74.902%;
- --ctp-macchiato-lavender: #b7bdf8;
- --ctp-macchiato-lavender-rgb: 183 189 248;
- --ctp-macchiato-lavender-hsl: 234.462 82.278% 84.510%;
- --ctp-macchiato-text: #cad3f5;
- --ctp-macchiato-text-rgb: 202 211 245;
- --ctp-macchiato-text-hsl: 227.442 68.254% 87.647%;
- --ctp-macchiato-subtext1: #b8c0e0;
- --ctp-macchiato-subtext1-rgb: 184 192 224;
- --ctp-macchiato-subtext1-hsl: 228.000 39.216% 80.000%;
- --ctp-macchiato-subtext0: #a5adcb;
- --ctp-macchiato-subtext0-rgb: 165 173 203;
- --ctp-macchiato-subtext0-hsl: 227.368 26.761% 72.157%;
- --ctp-macchiato-overlay2: #939ab7;
- --ctp-macchiato-overlay2-rgb: 147 154 183;
- --ctp-macchiato-overlay2-hsl: 228.333 20.000% 64.706%;
- --ctp-macchiato-overlay1: #8087a2;
- --ctp-macchiato-overlay1-rgb: 128 135 162;
- --ctp-macchiato-overlay1-hsl: 227.647 15.455% 56.863%;
- --ctp-macchiato-overlay0: #6e738d;
- --ctp-macchiato-overlay0-rgb: 110 115 141;
- --ctp-macchiato-overlay0-hsl: 230.323 12.351% 49.216%;
- --ctp-macchiato-surface2: #5b6078;
- --ctp-macchiato-surface2-rgb: 91 96 120;
- --ctp-macchiato-surface2-hsl: 229.655 13.744% 41.373%;
- --ctp-macchiato-surface1: #494d64;
- --ctp-macchiato-surface1-rgb: 73 77 100;
- --ctp-macchiato-surface1-hsl: 231.111 15.607% 33.922%;
- --ctp-macchiato-surface0: #363a4f;
- --ctp-macchiato-surface0-rgb: 54 58 79;
- --ctp-macchiato-surface0-hsl: 230.400 18.797% 26.078%;
- --ctp-macchiato-base: #24273a;
- --ctp-macchiato-base-rgb: 36 39 58;
- --ctp-macchiato-base-hsl: 231.818 23.404% 18.431%;
- --ctp-macchiato-mantle: #1e2030;
- --ctp-macchiato-mantle-rgb: 30 32 48;
- --ctp-macchiato-mantle-hsl: 233.333 23.077% 15.294%;
- --ctp-macchiato-crust: #181926;
- --ctp-macchiato-crust-rgb: 24 25 38;
- --ctp-macchiato-crust-hsl: 235.714 22.581% 12.157%;
-}
-
-:root {
- --page-width: 900px;
- --sidebar-width: 15rem;
- --firefox-shadow: 0 0 20px;
- --foreground: var(--ctp-macchiato-text);
- --background: var(--ctp-macchiato-crust);
- --background-secondary: var(--ctp-macchiato-surface0);
- --links: var(--ctp-macchiato-sapphire);
- --shadow: #cdd6f44f;
-}
-
-html {
- color-scheme: dark;
-}
diff --git a/public/css/colorschemes/catppuccin-mocha.css b/public/css/colorschemes/catppuccin-mocha.css
deleted file mode 100644
index 40f2044..0000000
--- a/public/css/colorschemes/catppuccin-mocha.css
+++ /dev/null
@@ -1,95 +0,0 @@
-:root {
- --ctp-mocha-rosewater: #f5e0dc;
- --ctp-mocha-rosewater-rgb: 245 224 220;
- --ctp-mocha-rosewater-hsl: 9.600 55.556% 91.176%;
- --ctp-mocha-flamingo: #f2cdcd;
- --ctp-mocha-flamingo-rgb: 242 205 205;
- --ctp-mocha-flamingo-hsl: 0.000 58.730% 87.647%;
- --ctp-mocha-pink: #f5c2e7;
- --ctp-mocha-pink-rgb: 245 194 231;
- --ctp-mocha-pink-hsl: 316.471 71.831% 86.078%;
- --ctp-mocha-mauve: #cba6f7;
- --ctp-mocha-mauve-rgb: 203 166 247;
- --ctp-mocha-mauve-hsl: 267.407 83.505% 80.980%;
- --ctp-mocha-red: #f38ba8;
- --ctp-mocha-red-rgb: 243 139 168;
- --ctp-mocha-red-hsl: 343.269 81.250% 74.902%;
- --ctp-mocha-maroon: #eba0ac;
- --ctp-mocha-maroon-rgb: 235 160 172;
- --ctp-mocha-maroon-hsl: 350.400 65.217% 77.451%;
- --ctp-mocha-peach: #fab387;
- --ctp-mocha-peach-rgb: 250 179 135;
- --ctp-mocha-peach-hsl: 22.957 92.000% 75.490%;
- --ctp-mocha-yellow: #f9e2af;
- --ctp-mocha-yellow-rgb: 249 226 175;
- --ctp-mocha-yellow-hsl: 41.351 86.047% 83.137%;
- --ctp-mocha-green: #a6e3a1;
- --ctp-mocha-green-rgb: 166 227 161;
- --ctp-mocha-green-hsl: 115.455 54.098% 76.078%;
- --ctp-mocha-teal: #94e2d5;
- --ctp-mocha-teal-rgb: 148 226 213;
- --ctp-mocha-teal-hsl: 170.000 57.353% 73.333%;
- --ctp-mocha-sky: #89dceb;
- --ctp-mocha-sky-rgb: 137 220 235;
- --ctp-mocha-sky-hsl: 189.184 71.014% 72.941%;
- --ctp-mocha-sapphire: #74c7ec;
- --ctp-mocha-sapphire-rgb: 116 199 236;
- --ctp-mocha-sapphire-hsl: 198.500 75.949% 69.020%;
- --ctp-mocha-blue: #89b4fa;
- --ctp-mocha-blue-rgb: 137 180 250;
- --ctp-mocha-blue-hsl: 217.168 91.870% 75.882%;
- --ctp-mocha-lavender: #b4befe;
- --ctp-mocha-lavender-rgb: 180 190 254;
- --ctp-mocha-lavender-hsl: 231.892 97.368% 85.098%;
- --ctp-mocha-text: #cdd6f4;
- --ctp-mocha-text-rgb: 205 214 244;
- --ctp-mocha-text-hsl: 226.154 63.934% 88.039%;
- --ctp-mocha-subtext1: #bac2de;
- --ctp-mocha-subtext1-rgb: 186 194 222;
- --ctp-mocha-subtext1-hsl: 226.667 35.294% 80.000%;
- --ctp-mocha-subtext0: #a6adc8;
- --ctp-mocha-subtext0-rgb: 166 173 200;
- --ctp-mocha-subtext0-hsl: 227.647 23.611% 71.765%;
- --ctp-mocha-overlay2: #9399b2;
- --ctp-mocha-overlay2-rgb: 147 153 178;
- --ctp-mocha-overlay2-hsl: 228.387 16.757% 63.725%;
- --ctp-mocha-overlay1: #7f849c;
- --ctp-mocha-overlay1-rgb: 127 132 156;
- --ctp-mocha-overlay1-hsl: 229.655 12.775% 55.490%;
- --ctp-mocha-overlay0: #6c7086;
- --ctp-mocha-overlay0-rgb: 108 112 134;
- --ctp-mocha-overlay0-hsl: 230.769 10.744% 47.451%;
- --ctp-mocha-surface2: #585b70;
- --ctp-mocha-surface2-rgb: 88 91 112;
- --ctp-mocha-surface2-hsl: 232.500 12.000% 39.216%;
- --ctp-mocha-surface1: #45475a;
- --ctp-mocha-surface1-rgb: 69 71 90;
- --ctp-mocha-surface1-hsl: 234.286 13.208% 31.176%;
- --ctp-mocha-surface0: #313244;
- --ctp-mocha-surface0-rgb: 49 50 68;
- --ctp-mocha-surface0-hsl: 236.842 16.239% 22.941%;
- --ctp-mocha-base: #1e1e2e;
- --ctp-mocha-base-rgb: 30 30 46;
- --ctp-mocha-base-hsl: 240.000 21.053% 14.902%;
- --ctp-mocha-mantle: #181825;
- --ctp-mocha-mantle-rgb: 24 24 37;
- --ctp-mocha-mantle-hsl: 240.000 21.311% 11.961%;
- --ctp-mocha-crust: #11111b;
- --ctp-mocha-crust-rgb: 17 17 27;
- --ctp-mocha-crust-hsl: 240.000 22.727% 8.627%;
-}
-
-:root {
- --page-width: 900px;
- --sidebar-width: 15rem;
- --firefox-shadow: 0 0 20px;
- --foreground: var(--ctp-mocha-text);
- --background: var(--ctp-mocha-crust);
- --background-secondary: var(--ctp-mocha-surface0);
- --links: var(--ctp-mocha-sapphire);
- --shadow: #cdd6f44f;
-}
-
-html {
- color-scheme: dark;
-}
diff --git a/public/css/colorschemes/gruvbox-dark.css b/public/css/colorschemes/gruvbox-dark.css
deleted file mode 100644
index 783303a..0000000
--- a/public/css/colorschemes/gruvbox-dark.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #282828;
- --background-secondary: #928374;
- --foreground: #ebdbb2;
- --links: #458588;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: dark;
-}
diff --git a/public/css/colorschemes/gruvbox-material.css b/public/css/colorschemes/gruvbox-material.css
deleted file mode 100644
index db83475..0000000
--- a/public/css/colorschemes/gruvbox-material.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #282828;
- --background-secondary: #3c3836;
- --foreground: #d4be98;
- --links: #7daea3;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: dark;
-}
diff --git a/public/css/colorschemes/gruvbox.css b/public/css/colorschemes/gruvbox.css
deleted file mode 100644
index 5d02951..0000000
--- a/public/css/colorschemes/gruvbox.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #fbf1c7;
- --background-secondary: #928374;
- --foreground: #3c3836;
- --links: #458588;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: light;
-}
diff --git a/public/css/colorschemes/maia.css b/public/css/colorschemes/maia.css
deleted file mode 100644
index 4717327..0000000
--- a/public/css/colorschemes/maia.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #31363a;
- --background-secondary: #4c4f4d;
- --foreground: #e8e8e8;
- --links: #13bf9d;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: dark;
-}
diff --git a/public/css/colorschemes/man-page.css b/public/css/colorschemes/man-page.css
deleted file mode 100644
index 6a75bbe..0000000
--- a/public/css/colorschemes/man-page.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #fef49c;
- --background-secondary: #e5e500;
- --foreground: #000000;
- --links: #b200b2;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: light;
-}
diff --git a/public/css/colorschemes/mono-amber.css b/public/css/colorschemes/mono-amber.css
deleted file mode 100644
index 364900b..0000000
--- a/public/css/colorschemes/mono-amber.css
+++ /dev/null
@@ -1,17 +0,0 @@
-:root {
- --background: #2b1900;
- --background-secondary: #402500;
- --foreground: #ff9400;
- --links: #ffc28a;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: dark;
-}
-
-a {
- text-decoration: underline !important;
-}
diff --git a/public/css/colorschemes/mono-cyan.css b/public/css/colorschemes/mono-cyan.css
deleted file mode 100644
index e31971f..0000000
--- a/public/css/colorschemes/mono-cyan.css
+++ /dev/null
@@ -1,17 +0,0 @@
-:root {
- --background: #00222B;
- --background-secondary: #003340;
- --foreground: #00CCFF;
- --links: #ccf0ff;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: dark;
-}
-
-a {
- text-decoration: underline !important;
-}
diff --git a/public/css/colorschemes/mono-green.css b/public/css/colorschemes/mono-green.css
deleted file mode 100644
index ed40158..0000000
--- a/public/css/colorschemes/mono-green.css
+++ /dev/null
@@ -1,17 +0,0 @@
-:root {
- --background: #022B00;
- --background-secondary: #034000;
- --foreground: #0BFF00;
- --links: #b6ffb1;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: dark;
-}
-
-a {
- text-decoration: underline !important;
-}
diff --git a/public/css/colorschemes/mono-red.css b/public/css/colorschemes/mono-red.css
deleted file mode 100644
index d20690a..0000000
--- a/public/css/colorschemes/mono-red.css
+++ /dev/null
@@ -1,17 +0,0 @@
-:root {
- --background: #2B0C00;
- --background-secondary: #401200;
- --foreground: #FF3600;
- --links: #ffb09c;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: dark;
-}
-
-a {
- text-decoration: underline !important;
-}
diff --git a/public/css/colorschemes/mono-white.css b/public/css/colorschemes/mono-white.css
deleted file mode 100644
index e921ece..0000000
--- a/public/css/colorschemes/mono-white.css
+++ /dev/null
@@ -1,17 +0,0 @@
-:root {
- --background: #262626;
- --background-secondary: #3B3B3B;
- --foreground: #FAFAFA;
- --links: #a9a9a9;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: dark;
-}
-
-a {
- text-decoration: underline !important;
-}
diff --git a/public/css/colorschemes/mono-yellow.css b/public/css/colorschemes/mono-yellow.css
deleted file mode 100644
index b979c4b..0000000
--- a/public/css/colorschemes/mono-yellow.css
+++ /dev/null
@@ -1,17 +0,0 @@
-:root {
- --background: #2B2400;
- --background-secondary: #403500;
- --foreground: #FFD300;
- --links: #ffe8a2;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: dark;
-}
-
-a {
- text-decoration: underline !important;
-}
diff --git a/public/css/colorschemes/papercolor-dark.css b/public/css/colorschemes/papercolor-dark.css
deleted file mode 100644
index 1f5fe91..0000000
--- a/public/css/colorschemes/papercolor-dark.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #1C1C1C;
- --background-secondary: #585858;
- --foreground: #D0D0D0;
- --links: #5FAFD7;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: dark;
-}
diff --git a/public/css/colorschemes/papercolor-light.css b/public/css/colorschemes/papercolor-light.css
deleted file mode 100644
index 19edd87..0000000
--- a/public/css/colorschemes/papercolor-light.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #EEEEEE;
- --background-secondary: #BCBCBC;
- --foreground: #444444;
- --links: #0087AF;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: light;
-}
diff --git a/public/css/colorschemes/rose-pine-dawn.css b/public/css/colorschemes/rose-pine-dawn.css
deleted file mode 100644
index a74f80e..0000000
--- a/public/css/colorschemes/rose-pine-dawn.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #F2E9E1;
- --background-secondary: #9893A5;
- --foreground: #575279;
- --links: #907AA9;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: light;
-}
diff --git a/public/css/colorschemes/rose-pine-moon.css b/public/css/colorschemes/rose-pine-moon.css
deleted file mode 100644
index dc5012a..0000000
--- a/public/css/colorschemes/rose-pine-moon.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #393552;
- --background-secondary: #6E6A86;
- --foreground: #E0DEF4;
- --links: #C4A7E7;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: light;
-}
diff --git a/public/css/colorschemes/rose-pine.css b/public/css/colorschemes/rose-pine.css
deleted file mode 100644
index f45e235..0000000
--- a/public/css/colorschemes/rose-pine.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #26233A;
- --background-secondary: #6E6A86;
- --foreground: #E0DEF4;
- --links: #C4A7E7;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: dark;
-}
diff --git a/public/css/colorschemes/shel.css b/public/css/colorschemes/shel.css
deleted file mode 100644
index 6ea4e5d..0000000
--- a/public/css/colorschemes/shel.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #2C2423;
- --background-secondary: #918988;
- --foreground: #F5EEEC;
- --links: #2C64A2;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: dark;
-}
diff --git a/public/css/colorschemes/slate.css b/public/css/colorschemes/slate.css
deleted file mode 100644
index df41859..0000000
--- a/public/css/colorschemes/slate.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #222222;
- --background-secondary: #494949;
- --foreground: #E0E0E0;
- --links: #02C5E0;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: dark;
-}
diff --git a/public/css/colorschemes/solarized-dark.css b/public/css/colorschemes/solarized-dark.css
deleted file mode 100644
index d3a2aa9..0000000
--- a/public/css/colorschemes/solarized-dark.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #073642;
- --background-secondary: #657B83;
- --foreground: #FDF6E3;
- --links: #2699FF;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: dark;
-}
diff --git a/public/css/colorschemes/solarized-light.css b/public/css/colorschemes/solarized-light.css
deleted file mode 100644
index 70d747a..0000000
--- a/public/css/colorschemes/solarized-light.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #FDF6E3;
- --background-secondary: #EEE8D5;
- --foreground: #073642;
- --links: #268BD2;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: light;
-}
diff --git a/public/css/colorschemes/terminal-basic.css b/public/css/colorschemes/terminal-basic.css
deleted file mode 100644
index 929a613..0000000
--- a/public/css/colorschemes/terminal-basic.css
+++ /dev/null
@@ -1,13 +0,0 @@
-:root {
- --background: #FFFFFF;
- --background-secondary: #bfbfbf;
- --foreground: #000000;
- --links: #0000ff;
- --warning: #ff7272;
- --warning-box-bg: #f64a3c;
- --warning-box-border: #c81a11;
-}
-
-html {
- color-scheme: light;
-}
diff --git a/public/css/dirlist.css b/public/css/dirlist.css
deleted file mode 100644
index 73d10b9..0000000
--- a/public/css/dirlist.css
+++ /dev/null
@@ -1,40 +0,0 @@
-@import "colorschemes/catppuccin-macchiato.css";
-
-body {
- background-color: var(--background);
- color: var(--foreground);
-}
-
-img {
- image-rendering: pixelated;
-}
-
-a {
- color: #99f;
- text-decoration: none;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-h1#indextitle {
- font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
- margin-bottom: 0;
-}
-
-tr, th, td {
- font-family: monospace;
- font-size: 12pt;
- padding: 0 5px;
-}
-
-address {
- font-family: sans-serif;
- font-size: 12pt
-}
-
-.description {
- font-style: italic;
- font-size: 90%;
-}
diff --git a/public/css/master.css b/public/css/master.css
deleted file mode 100644
index 1dcebd9..0000000
--- a/public/css/master.css
+++ /dev/null
@@ -1,336 +0,0 @@
-@font-face {
- font-family: 'BigBlue TerminalPlus';
- src: url('/fonts/BigBlue_TerminalPlus.woff2') format('woff2'),
- url('/fonts/BigBlue_TerminalPlus.woff') format('woff');
- font-weight: normal;
- font-style: normal;
- font-display: swap;
-}
-
-@font-face {
- font-family: pixel nes;
- src: url("/fonts/Pixel_NES.eot?") format("eot"),
- url("/fonts/Pixel_NES.woff") format("woff"),
- url("/fonts/Pixel_NES.ttf") format("truetype");
- font-style: normal;
- font-weight: 400;
-}
-
-@font-face {
- font-family: nec_apc3;
- src: url("/fonts/Web437_NEC_APC3_8x16.woff") format("woff");
- font-style: normal;
- font-weight: 400;
-}
-
-@font-face {
- font-family: nec_apc3;
- src: url("/fonts/Web437_Nix8810_M16.woff") format("woff");
- font-style: normal;
- font-weight: 700;
-}
-
-@supports (-moz-appearance:none) {
- h2 {
- text-shadow: var(--firefox-shadow) var(--shadow) !important;
- }
-}
-
-html,
-body,
-.container {
- height: 100%;
-}
-
-body {
- background-color: var(--background);
- color: var(--foreground);
-}
-
-body,
-button,
-select {
- font-family: russiangothic, ms ui gothic, "nec_apc3", Tahoma, sans-serif;
-}
-
-h1,
-h2,
-h3,
-h4 {
- font-family: "pixel nes", sans-serif;
-}
-
-h1,
-h2,
-h3,
-h4,
-ul,
-p {
- margin: 0;
-}
-
-a {
- color: var(--links);
- text-decoration: underline dotted;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-ul {
- list-style: square;
- padding-left: 0;
- list-style-position: inside;
-}
-
-.container {
- display: flex;
- /*align-items: center;*/
- justify-content: center;
-}
-
-.page {
- min-width: var(--page-width);
- max-width: var(--page-width);
-}
-
-.navbar {
- border: var(--foreground) solid 1px;
-}
-
-.navbar ul {
- list-style-type: none;
- margin: 0;
- padding: 0;
- overflow: hidden;
-}
-
-.navbar li {
- float: left;
- border-right: solid var(--foreground) 1px;
-}
-
-.navbar li a {
- display: block;
- text-align: center;
- color: var(--foreground);
- text-decoration: none;
- padding: 5px 7px 5px 5px;
-}
-
-.navbar li a:hover {
- background-color: var(--foreground);
- color: var(--background);
-}
-
-.pathbar {
- border: 1px solid var(--foreground);
- padding: 5px;
-}
-
-.content {
- display: flex;
- flex-wrap: wrap;
- gap: 10px;
- padding: 0;
-}
-
-.section {
- border: var(--foreground) 1px solid;
- padding: 10px;
-}
-
-.sidebar {
- flex-basis: var(--sidebar-width);
- flex-grow: 1;
-}
-
-main {
- flex-basis: 0;
- flex-grow: 999;
- min-inline-size: 50%;
-}
-
-.navbar,
-.content,
-header,
-footer {
- margin: 10px 10px 0 0;
-}
-
-header,
-footer,
-.navbar {
- padding: 5px;
-}
-
-footer {
- display: grid;
- grid-template-columns: repeat(2, 1fr);
- grid-template-rows: 1fr;
- grid-column-gap: 0;
- grid-row-gap: 0;
-}
-
-footer div:last-child {
- text-align: right;
-}
-
-select {
- background-color: var(--background-secondary);
- border: 1px solid var(--foreground);
- color: var(--foreground);
- padding: 0.25em;
-}
-
-button {
- background-color: var(--background);
- color: var(--foreground);
- border: 1px solid var(--foreground);
- padding: 0.25em 0.5em;
-}
-
-button:hover {
- background-color: var(--foreground);
- color: var(--background);
-}
-
-img.pixel {
- image-rendering: pixelated;
-}
-
-a.button,
-a.button:hover {
- text-decoration: none;
-}
-
-a.button:hover img {
- opacity: 80%;
-}
-
-main > .section,
-.sidebar > .section {
- margin-bottom: 10px;
-}
-
-main > .section:last-child,
-.sidebar > .section:last-child {
- margin-bottom: 0;
-}
-
-.navbar-icon {
- margin-right: 0.25em;
-}
-
-.navlinks {
- padding-left: 10px;
-}
-
-.online-status {
- display: inline;
-}
-
-.centerbox {
- text-align: center;
-}
-
-.quote {
- padding-left: 10px;
- border-left: solid 2px var(--foreground);
-}
-
-.music-top10 {
- width: 100%;
-}
-
-.music-top10 td,
-.music-top10 th {
- border: none;
- border-left: 1px dotted var(--foreground);
- padding: 2px 5px
-}
-
-.music-top10 tr:nth-child(1) th {
- border-bottom: 1px dotted var(--foreground);
-}
-
-.music-top10 tr:nth-child(2) td {
- padding-top: 5px;
-}
-
-.music-top10 td:first-child,
-.music-top10 th:first-child {
- border: none;
-}
-
-.music-top10 tr th:first-child {
- text-align: right;
-}
-
-.music-top10 td {
- max-width: 200px;
- white-space: nowrap;
- text-overflow:ellipsis;
- overflow: hidden;
-}
-
-.music-top10 tr td:first-child {
- text-align: right;
-}
-
-.music-top10 tr td:nth-child(2),
-.music-top10 tr td:nth-child(3) {
-}
-
-
-.current-track h2 {
- margin: 0;
-}
-
-table.computers {
- table-layout: auto;
- width: 75%;
-}
-
-table.computers td ul {
- margin: 0;
- padding-left: 20px;
-}
-
-table.computers .section-title {
- text-decoration: underline;
- font-style: italic;
- font-weight: bold;
-}
-
-table.computers p.description {
- font-style: italic;
- margin: 5px 0 2px 0;
-}
-
-table.computers th {
- background-color: var(--background-secondary);
-}
-
-table.computers td:first-child {
- white-space: nowrap;
-}
-
-table.computers td,
-table.computers th {
- border: var(--foreground) solid 1px;
- padding: 5px;
-}
-
-.calculator-spec-table td {
- border: var(--foreground) solid 1px;
-}
-
-.calculator-spec-table td {
- padding: 5px 10px 5px 5px;
-}
-
-.calculator-spec-table tr td:first-child {
- background-color: var(--background-secondary);
-}
diff --git a/public/css/minimal.css b/public/css/minimal.css
deleted file mode 100644
index b64e0e9..0000000
--- a/public/css/minimal.css
+++ /dev/null
@@ -1,12 +0,0 @@
-* { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }
-html { color-scheme: dark; }
-body { color: #cad3f5; background-color: #181926; }
-h1, h2, h4, ul, p { margin: 0; }
-h1 { font-weight: normal; }
-h4 { margin-bottom: 5px; }
-ul { padding: 5px 30px; }
-a { color: #8aadf4; text-decoration: none; }
-a:hover { text-decoration: underline; }
-code { font-family: monospace; }
-code.addr { font-size: 24px; }
-table { border: 1px solid #cad3f5; }
diff --git a/public/favicon-128x128.png b/public/favicon-128x128.png
deleted file mode 100644
index 0d6300c..0000000
--- a/public/favicon-128x128.png
+++ /dev/null
Binary files differ
diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png
deleted file mode 100644
index 0d067a5..0000000
--- a/public/favicon-16x16.png
+++ /dev/null
Binary files differ
diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png
deleted file mode 100644
index f6a32dc..0000000
--- a/public/favicon-32x32.png
+++ /dev/null
Binary files differ
diff --git a/public/favicon.ico b/public/favicon.ico
index 28434f3..e69de29 100644
--- a/public/favicon.ico
+++ b/public/favicon.ico
Binary files differ
diff --git a/public/fonts/BigBlue_TerminalPlus.woff b/public/fonts/BigBlue_TerminalPlus.woff
deleted file mode 100644
index d153aa8..0000000
--- a/public/fonts/BigBlue_TerminalPlus.woff
+++ /dev/null
Binary files differ
diff --git a/public/fonts/BigBlue_TerminalPlus.woff2 b/public/fonts/BigBlue_TerminalPlus.woff2
deleted file mode 100644
index 3ae3f4c..0000000
--- a/public/fonts/BigBlue_TerminalPlus.woff2
+++ /dev/null
Binary files differ
diff --git a/public/fonts/Pixel_NES.eot b/public/fonts/Pixel_NES.eot
deleted file mode 100644
index 6105e67..0000000
--- a/public/fonts/Pixel_NES.eot
+++ /dev/null
Binary files differ
diff --git a/public/fonts/Pixel_NES.ttf b/public/fonts/Pixel_NES.ttf
deleted file mode 100644
index b200219..0000000
--- a/public/fonts/Pixel_NES.ttf
+++ /dev/null
Binary files differ
diff --git a/public/fonts/Pixel_NES.woff b/public/fonts/Pixel_NES.woff
deleted file mode 100644
index 4d3cc5d..0000000
--- a/public/fonts/Pixel_NES.woff
+++ /dev/null
Binary files differ
diff --git a/public/fonts/Web437_NEC_APC3_8x16.woff b/public/fonts/Web437_NEC_APC3_8x16.woff
deleted file mode 100644
index cb06dd7..0000000
--- a/public/fonts/Web437_NEC_APC3_8x16.woff
+++ /dev/null
Binary files differ
diff --git a/public/fonts/Web437_Nix8810_M16.woff b/public/fonts/Web437_Nix8810_M16.woff
deleted file mode 100644
index 45f2b56..0000000
--- a/public/fonts/Web437_Nix8810_M16.woff
+++ /dev/null
Binary files differ
diff --git a/public/images/buttons/browser.gif b/public/images/buttons/browser.gif
deleted file mode 100644
index 3f73e3f..0000000
--- a/public/images/buttons/browser.gif
+++ /dev/null
Binary files differ
diff --git a/public/images/buttons/debian.gif b/public/images/buttons/debian.gif
deleted file mode 100644
index 6a51e15..0000000
--- a/public/images/buttons/debian.gif
+++ /dev/null
Binary files differ
diff --git a/public/images/buttons/evaluatedWAVE.png b/public/images/buttons/evaluatedWAVE.png
deleted file mode 100644
index a9d3bb9..0000000
--- a/public/images/buttons/evaluatedWAVE.png
+++ /dev/null
Binary files differ
diff --git a/public/images/buttons/html_learn_it_today.gif b/public/images/buttons/html_learn_it_today.gif
deleted file mode 100644
index dd832a0..0000000
--- a/public/images/buttons/html_learn_it_today.gif
+++ /dev/null
Binary files differ
diff --git a/public/images/buttons/linuxnow.gif b/public/images/buttons/linuxnow.gif
deleted file mode 100644
index 61de1c3..0000000
--- a/public/images/buttons/linuxnow.gif
+++ /dev/null
Binary files differ
diff --git a/public/images/buttons/nukeieani.gif b/public/images/buttons/nukeieani.gif
deleted file mode 100644
index e110127..0000000
--- a/public/images/buttons/nukeieani.gif
+++ /dev/null
Binary files differ
diff --git a/public/images/buttons/valid-html401-blue.png b/public/images/buttons/valid-html401-blue.png
deleted file mode 100644
index dd20e49..0000000
--- a/public/images/buttons/valid-html401-blue.png
+++ /dev/null
Binary files differ
diff --git a/public/images/buttons/vcss-blue.gif b/public/images/buttons/vcss-blue.gif
deleted file mode 100644
index 3ab6b83..0000000
--- a/public/images/buttons/vcss-blue.gif
+++ /dev/null
Binary files differ
diff --git a/public/images/buttons/vim.gif b/public/images/buttons/vim.gif
deleted file mode 100644
index 3fd0e9e..0000000
--- a/public/images/buttons/vim.gif
+++ /dev/null
Binary files differ
diff --git a/public/images/buttons/wiby.gif b/public/images/buttons/wiby.gif
deleted file mode 100644
index 87a6a75..0000000
--- a/public/images/buttons/wiby.gif
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/casio-fx-120/1s.jpeg b/public/images/calculators/casio-fx-120/1s.jpeg
deleted file mode 100644
index 6b84854..0000000
--- a/public/images/calculators/casio-fx-120/1s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/casio-fx-120/2s.jpeg b/public/images/calculators/casio-fx-120/2s.jpeg
deleted file mode 100644
index 1a663bb..0000000
--- a/public/images/calculators/casio-fx-120/2s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/casio-fx-120/3s.jpeg b/public/images/calculators/casio-fx-120/3s.jpeg
deleted file mode 100644
index 076d147..0000000
--- a/public/images/calculators/casio-fx-120/3s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/casio-fx-120/4s.jpeg b/public/images/calculators/casio-fx-120/4s.jpeg
deleted file mode 100644
index 988ab31..0000000
--- a/public/images/calculators/casio-fx-120/4s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/casio-fx-82/1s.jpeg b/public/images/calculators/casio-fx-82/1s.jpeg
deleted file mode 100644
index 69216ac..0000000
--- a/public/images/calculators/casio-fx-82/1s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/casio-fx-82/2s.jpeg b/public/images/calculators/casio-fx-82/2s.jpeg
deleted file mode 100644
index adf3e2e..0000000
--- a/public/images/calculators/casio-fx-82/2s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/casio-fx-82/3s.jpeg b/public/images/calculators/casio-fx-82/3s.jpeg
deleted file mode 100644
index 87c6f16..0000000
--- a/public/images/calculators/casio-fx-82/3s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/casio-fx-82/4s.jpeg b/public/images/calculators/casio-fx-82/4s.jpeg
deleted file mode 100644
index 5a09e97..0000000
--- a/public/images/calculators/casio-fx-82/4s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/casio-fx-cg50/1s.jpeg b/public/images/calculators/casio-fx-cg50/1s.jpeg
deleted file mode 100644
index 6850678..0000000
--- a/public/images/calculators/casio-fx-cg50/1s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/casio-fx-cg50/2s.jpeg b/public/images/calculators/casio-fx-cg50/2s.jpeg
deleted file mode 100644
index 14dd3cf..0000000
--- a/public/images/calculators/casio-fx-cg50/2s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/casio-fx-cg50/3s.jpeg b/public/images/calculators/casio-fx-cg50/3s.jpeg
deleted file mode 100644
index c0c87e1..0000000
--- a/public/images/calculators/casio-fx-cg50/3s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/casio-fx-cg50/4s.jpeg b/public/images/calculators/casio-fx-cg50/4s.jpeg
deleted file mode 100644
index fcdac2a..0000000
--- a/public/images/calculators/casio-fx-cg50/4s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/texet-880/1s.jpeg b/public/images/calculators/texet-880/1s.jpeg
deleted file mode 100644
index 8454640..0000000
--- a/public/images/calculators/texet-880/1s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/texet-880/2s.jpeg b/public/images/calculators/texet-880/2s.jpeg
deleted file mode 100644
index 707b37c..0000000
--- a/public/images/calculators/texet-880/2s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/texet-880/3s.jpeg b/public/images/calculators/texet-880/3s.jpeg
deleted file mode 100644
index a5e5f1e..0000000
--- a/public/images/calculators/texet-880/3s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/texet-880/4s.jpeg b/public/images/calculators/texet-880/4s.jpeg
deleted file mode 100644
index eedc9be..0000000
--- a/public/images/calculators/texet-880/4s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/ti-30/1s.jpeg b/public/images/calculators/ti-30/1s.jpeg
deleted file mode 100644
index fd34a30..0000000
--- a/public/images/calculators/ti-30/1s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/ti-30/2s.jpeg b/public/images/calculators/ti-30/2s.jpeg
deleted file mode 100644
index 23804f5..0000000
--- a/public/images/calculators/ti-30/2s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/ti-30/3s.jpeg b/public/images/calculators/ti-30/3s.jpeg
deleted file mode 100644
index e0d1c27..0000000
--- a/public/images/calculators/ti-30/3s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/calculators/ti-30/4s.jpeg b/public/images/calculators/ti-30/4s.jpeg
deleted file mode 100644
index b0c3d44..0000000
--- a/public/images/calculators/ti-30/4s.jpeg
+++ /dev/null
Binary files differ
diff --git a/public/images/computers/icons/display.png b/public/images/computers/icons/display.png
deleted file mode 100644
index 7df70e9..0000000
--- a/public/images/computers/icons/display.png
+++ /dev/null
Binary files differ
diff --git a/public/images/computers/icons/expansion1.png b/public/images/computers/icons/expansion1.png
deleted file mode 100644
index cbde656..0000000
--- a/public/images/computers/icons/expansion1.png
+++ /dev/null
Binary files differ
diff --git a/public/images/computers/icons/expansion2.png b/public/images/computers/icons/expansion2.png
deleted file mode 100644
index 67452fa..0000000
--- a/public/images/computers/icons/expansion2.png
+++ /dev/null
Binary files differ
diff --git a/public/images/computers/icons/floppy35.png b/public/images/computers/icons/floppy35.png
deleted file mode 100644
index 9c2b5e6..0000000
--- a/public/images/computers/icons/floppy35.png
+++ /dev/null
Binary files differ
diff --git a/public/images/computers/icons/floppy525.png b/public/images/computers/icons/floppy525.png
deleted file mode 100644
index 511bcd9..0000000
--- a/public/images/computers/icons/floppy525.png
+++ /dev/null
Binary files differ
diff --git a/public/images/computers/icons/hdd.png b/public/images/computers/icons/hdd.png
deleted file mode 100644
index cf02818..0000000
--- a/public/images/computers/icons/hdd.png
+++ /dev/null
Binary files differ
diff --git a/public/images/computers/icons/mem1.png b/public/images/computers/icons/mem1.png
deleted file mode 100644
index 1f61096..0000000
--- a/public/images/computers/icons/mem1.png
+++ /dev/null
Binary files differ
diff --git a/public/images/computers/icons/mem2.png b/public/images/computers/icons/mem2.png
deleted file mode 100644
index 9f4eca6..0000000
--- a/public/images/computers/icons/mem2.png
+++ /dev/null
Binary files differ
diff --git a/public/images/computers/icons/msdos.png b/public/images/computers/icons/msdos.png
deleted file mode 100644
index 61251a7..0000000
--- a/public/images/computers/icons/msdos.png
+++ /dev/null
Binary files differ
diff --git a/public/images/computers/icons/network.png b/public/images/computers/icons/network.png
deleted file mode 100644
index 108fcc6..0000000
--- a/public/images/computers/icons/network.png
+++ /dev/null
Binary files differ
diff --git a/public/images/computers/icons/printer.png b/public/images/computers/icons/printer.png
deleted file mode 100644
index b60c2f1..0000000
--- a/public/images/computers/icons/printer.png
+++ /dev/null
Binary files differ
diff --git a/public/images/computers/icons/proc.png b/public/images/computers/icons/proc.png
deleted file mode 100644
index 2b38b71..0000000
--- a/public/images/computers/icons/proc.png
+++ /dev/null
Binary files differ
diff --git a/public/images/computers/icons/scsi.png b/public/images/computers/icons/scsi.png
deleted file mode 100644
index 0446891..0000000
--- a/public/images/computers/icons/scsi.png
+++ /dev/null
Binary files differ
diff --git a/public/images/computers/icons/win311.png b/public/images/computers/icons/win311.png
deleted file mode 100644
index 572511d..0000000
--- a/public/images/computers/icons/win311.png
+++ /dev/null
Binary files differ
diff --git a/public/images/computers/icons/windows9x.png b/public/images/computers/icons/windows9x.png
deleted file mode 100644
index 1fee0a5..0000000
--- a/public/images/computers/icons/windows9x.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/fav/ico/calc.ico b/public/images/icons/fav/ico/calc.ico
deleted file mode 100755
index b304c47..0000000
--- a/public/images/icons/fav/ico/calc.ico
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/fav/ico/computer.ico b/public/images/icons/fav/ico/computer.ico
deleted file mode 100644
index 01f4a74..0000000
--- a/public/images/icons/fav/ico/computer.ico
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/fav/ico/favicon.ico b/public/images/icons/fav/ico/favicon.ico
deleted file mode 100755
index 848cc6f..0000000
--- a/public/images/icons/fav/ico/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/fav/ico/globe.ico b/public/images/icons/fav/ico/globe.ico
deleted file mode 100644
index 55ae5a3..0000000
--- a/public/images/icons/fav/ico/globe.ico
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/fav/ico/help-book.ico b/public/images/icons/fav/ico/help-book.ico
deleted file mode 100644
index a156820..0000000
--- a/public/images/icons/fav/ico/help-book.ico
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/fav/png/calc.png b/public/images/icons/fav/png/calc.png
deleted file mode 100644
index fcbf0ea..0000000
--- a/public/images/icons/fav/png/calc.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/fav/png/computer.png b/public/images/icons/fav/png/computer.png
deleted file mode 100644
index d53eb99..0000000
--- a/public/images/icons/fav/png/computer.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/fav/png/globe.png b/public/images/icons/fav/png/globe.png
deleted file mode 100644
index 21b4b17..0000000
--- a/public/images/icons/fav/png/globe.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/fav/png/help-book.png b/public/images/icons/fav/png/help-book.png
deleted file mode 100644
index 845863a..0000000
--- a/public/images/icons/fav/png/help-book.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/nav/admin.png b/public/images/icons/nav/admin.png
deleted file mode 100644
index 153a405..0000000
--- a/public/images/icons/nav/admin.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/nav/bookmarks.png b/public/images/icons/nav/bookmarks.png
deleted file mode 100644
index 1409930..0000000
--- a/public/images/icons/nav/bookmarks.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/nav/calculators.png b/public/images/icons/nav/calculators.png
deleted file mode 100644
index a87a591..0000000
--- a/public/images/icons/nav/calculators.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/nav/computers.png b/public/images/icons/nav/computers.png
deleted file mode 100644
index e6dda18..0000000
--- a/public/images/icons/nav/computers.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/nav/guestbook.png b/public/images/icons/nav/guestbook.png
deleted file mode 100644
index a1f7fc4..0000000
--- a/public/images/icons/nav/guestbook.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/nav/home.png b/public/images/icons/nav/home.png
deleted file mode 100644
index 304ab01..0000000
--- a/public/images/icons/nav/home.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/nav/home2.png b/public/images/icons/nav/home2.png
deleted file mode 100644
index 76f6da7..0000000
--- a/public/images/icons/nav/home2.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/nav/login.png b/public/images/icons/nav/login.png
deleted file mode 100644
index 77f7e71..0000000
--- a/public/images/icons/nav/login.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/nav/mail.png b/public/images/icons/nav/mail.png
deleted file mode 100644
index 5249691..0000000
--- a/public/images/icons/nav/mail.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/nav/music.png b/public/images/icons/nav/music.png
deleted file mode 100644
index 748094a..0000000
--- a/public/images/icons/nav/music.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/nav/pubfiles.png b/public/images/icons/nav/pubfiles.png
deleted file mode 100644
index 06ba84a..0000000
--- a/public/images/icons/nav/pubfiles.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/nav/repo.png b/public/images/icons/nav/repo.png
deleted file mode 100644
index 27ade1c..0000000
--- a/public/images/icons/nav/repo.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/nav/user-desktop.png b/public/images/icons/nav/user-desktop.png
deleted file mode 100644
index af9715f..0000000
--- a/public/images/icons/nav/user-desktop.png
+++ /dev/null
Binary files differ
diff --git a/public/images/icons/nav/weather.png b/public/images/icons/nav/weather.png
deleted file mode 100644
index f087e56..0000000
--- a/public/images/icons/nav/weather.png
+++ /dev/null
Binary files differ
diff --git a/public/images/login-background.png b/public/images/login-background.png
deleted file mode 100644
index 0dc7bfc..0000000
--- a/public/images/login-background.png
+++ /dev/null
Binary files differ
diff --git a/public/images/logo.png b/public/images/logo.png
deleted file mode 100644
index a20bab1..0000000
--- a/public/images/logo.png
+++ /dev/null
Binary files differ
diff --git a/public/index.php b/public/index.php
deleted file mode 100644
index 1d69f3a..0000000
--- a/public/index.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-use Illuminate\Contracts\Http\Kernel;
-use Illuminate\Http\Request;
-
-define('LARAVEL_START', microtime(true));
-
-/*
-|--------------------------------------------------------------------------
-| Check If The Application Is Under Maintenance
-|--------------------------------------------------------------------------
-|
-| If the application is in maintenance / demo mode via the "down" command
-| we will load this file so that any pre-rendered content can be shown
-| instead of starting the framework, which could cause an exception.
-|
-*/
-
-if (file_exists($maintenance = __DIR__.'/../storage/framework/maintenance.php')) {
- require $maintenance;
-}
-
-/*
-|--------------------------------------------------------------------------
-| Register The Auto Loader
-|--------------------------------------------------------------------------
-|
-| Composer provides a convenient, automatically generated class loader for
-| this application. We just need to utilize it! We'll simply require it
-| into the script here so we don't need to manually load our classes.
-|
-*/
-
-require __DIR__.'/../vendor/autoload.php';
-
-/*
-|--------------------------------------------------------------------------
-| Run The Application
-|--------------------------------------------------------------------------
-|
-| Once we have the application, we can handle the incoming request using
-| the application's HTTP kernel. Then, we will send the response back
-| to this client's browser, allowing them to enjoy our application.
-|
-*/
-
-$app = require_once __DIR__.'/../bootstrap/app.php';
-
-$kernel = $app->make(Kernel::class);
-
-$response = $kernel->handle(
- $request = Request::capture()
-)->send();
-
-$kernel->terminate($request, $response);
diff --git a/public/js/christmas/snow.js b/public/js/christmas/snow.js
deleted file mode 100644
index 3d2d7af..0000000
--- a/public/js/christmas/snow.js
+++ /dev/null
@@ -1,113 +0,0 @@
-/*!
-// Snow.js - v0.0.3
-// kurisubrooks.com
-//
-// Modified by floppydisk
-// - Changed snowflakes to "Heavy chevron snowflake" (U+2746)
-// - Made snowflakes randomly rotate slowly either right or left
-*/
-
-// Amount of Snowflakes
-var snowMax = 80;
-
-// Snowflake Colours
-var snowColor = [
- "#cad3f5",
- "#a5adcb",
- "#5b6078"
-];
-
-// Snow Entity
-var snowEntity = "&#10054" //"&#x2022;";
-
-// Falling Velocity
-var snowSpeed = 0.5;
-
-// Minimum Flake Size
-var snowMinSize = 8;
-
-// Maximum Flake Size
-var snowMaxSize = 24;
-
-// Refresh Rate (in milliseconds)
-var snowRefresh = 50;
-
-// Additional Styles
-var snowStyles = "cursor: default; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;";
-
-/*
-// End of Configuration
-// ----------------------------------------
-// Do not modify the code below this line
-*/
-
-var snow = [],
- pos = [],
- coords = [],
- lefr = [],
- marginBottom,
- marginRight;
-
-function randomise(range) {
- rand = Math.floor(range * Math.random());
- return rand;
-}
-
-function initSnow() {
- var snowSize = snowMaxSize - snowMinSize;
- marginBottom = Math.max(document.body.scrollHeight, window.innerHeight) - 5;
- marginRight = document.body.clientWidth - 15;
-
- for (i = 0; i <= snowMax; i++) {
- coords[i] = 0;
- lefr[i] = Math.random() * 15;
- pos[i] = 0.03 + Math.random() / 10;
- snow[i] = document.getElementById("flake" + i);
- snow[i].style.fontFamily = "inherit";
- snow[i].size = randomise(snowSize) + snowMinSize;
- snow[i].style.fontSize = snow[i].size + "px";
- snow[i].style.color = snowColor[randomise(snowColor.length)];
- snow[i].style.zIndex = 1000;
- snow[i].sink = snowSpeed * snow[i].size / 5;
- snow[i].posX = randomise(marginRight - snow[i].size);
- snow[i].posY = randomise(2 * marginBottom - marginBottom - 2 * snow[i].size);
- snow[i].style.left = snow[i].posX + "px";
- snow[i].style.top = snow[i].posY + "px";
- snow[i].rotation = Math.random() * 360; // add a random initial rotation
- snow[i].direction = Math.random() > 0.5 ? 1 : -1; // add a random direction
- }
-
- moveSnow();
-}
-
-function resize() {
- marginBottom = Math.max(document.body.scrollHeight, window.innerHeight) - 5;
- marginRight = document.body.clientWidth - 15;
-}
-
-function moveSnow() {
- for (i = 0; i <= snowMax; i++) {
- coords[i] += pos[i];
- snow[i].posY += snow[i].sink;
- snow[i].style.left = snow[i].posX + lefr[i] * Math.sin(coords[i]) + "px";
- snow[i].style.top = snow[i].posY + "px";
-
-
- if (snow[i].posY >= marginBottom - 2 * snow[i].size || parseInt(snow[i].style.left) > (marginRight - 3 * lefr[i])) {
- snow[i].posX = randomise(marginRight - snow[i].size);
- snow[i].posY = 0;
- }
- snow[i].rotation += snow[i].sink * snow[i].direction; // increment rotation based on direction
- snow[i].style.transform = "rotate(" + snow[i].rotation + "deg)"; // rotate the snowflake
- }
-
- setTimeout("moveSnow()", snowRefresh);
-}
-
-for (i = 0; i <= snowMax; i++) {
- document.write("<span id='flake" + i + "' style='" + snowStyles + "position:absolute;top:-" + snowMaxSize + "'>" + snowEntity + "</span>");
-}
-
-window.addEventListener('resize', resize);
-window.addEventListener('load', initSnow);
-
diff --git a/public/js/liveClock.js b/public/js/liveClock.js
deleted file mode 100644
index 07c9eae..0000000
--- a/public/js/liveClock.js
+++ /dev/null
@@ -1,10 +0,0 @@
-function time() {
- var span = document.getElementById("clock");
- var d = new Date();
- var s = d.getSeconds();
- var m = d.getMinutes();
- var h = d.getHours();
- span.textContent =
- ("0" + h).substr(-2) + ":" + ("0" + m).substr(-2) + ":" + ("0" + s).substr(-2);
-}
-setInterval(time, 1000);
diff --git a/public/js/neverSaid.js b/public/js/neverSaid.js
deleted file mode 100644
index ac0e6ae..0000000
--- a/public/js/neverSaid.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Define an array of strings
-const neverSaid = [
- "<strong>ASM:</strong> The Director liked all the props we got today.",
- "<strong>PM:</strong> Ah ha, a revolve. Terrific.",
- "<strong>Chippie:</strong> I don't know, let's look at the ground plan.",
- "<strong>Set Designer:</strong> Well, let's just have whatever is cheaper.",
- "<strong>Sound:</strong> Better turn that down a bit. We don't want to deafen them.",
- "<strong>Director:</strong> Sorry, my mistake.",
- "<strong>Electrics:</strong> This equipment is more complicated than we need.",
- "<strong>Performer:</strong> I really think my big scene should be cut.",
- "<strong>SM:</strong> Can we do that scene change again please?",
- "<strong>LX designer:</strong> Bit more light from those big chaps at the side. Yes that's right, the ones on stalks whatever they are called.",
- "<strong>Electrics:</strong> All the equipment works perfectly.",
- "<strong>Musicians:</strong> So what if that's the end of a call. Let's just finish this bit off.",
- "<strong>Wardrobe:</strong> Now, when exactly is the first dress rehearsal?",
- "<strong>Workshop:</strong> I don't want anyone to know, but if you insist then yes, I admit it, I have just done an all-nighter.",
- "<strong>Performer:</strong> This costume is so comfortable.",
- "<strong>Admin:</strong> The level of overtime payments here are simply unacceptable. Our backstage staff deserve better.",
- "<strong>Box Office:</strong> Comps? No problem.",
- "<strong>Set Designer:</strong> You're right, it looks dreadful.",
- "<strong>Flyman:</strong> No, my lips are sealed. What I may or may not have seen remains a secret.",
- "<strong>Electrics:</strong> That had nothing to do with the computer, it was my fault.",
- "<strong>Crew:</strong> No, no, I'm sure that's our job.",
- "<strong>SMgt:</strong> Thanks, but I don't drink",
- "<strong>Performer:</strong> Let me stand down here with my back to the audience.",
- "<strong>Chippie:</strong> I can't really manage those big fast power tools myself.",
- "<strong>Chippie:</strong> I prefer to use these little hand drills.",
- "<strong>All:</strong> Let's go and ask the Production Manager. He'll know."
-]
-
-// Generate a random index into the array
-const randomIndex = Math.floor(Math.random() * neverSaid.length);
-
-// Use document.write to output the random string
-document.write(neverSaid[randomIndex]);
diff --git a/public/js/schemeSwap.js b/public/js/schemeSwap.js
deleted file mode 100644
index 044df0f..0000000
--- a/public/js/schemeSwap.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- * Retrieves a cookies value
- * @param {string} cname Cookie name
- * @returns {string} Cookie value
- */
-function getCookie(cname) {
- let name = cname + "=";
- let decodedCookie = decodeURIComponent(document.cookie);
- let ca = decodedCookie.split(';');
- for(let i = 0; i <ca.length; i++) {
- let c = ca[i];
- while (c.charAt(0) === ' ') {
- c = c.substring(1);
- }
- if (c.indexOf(name) === 0) {
- return c.substring(name.length, c.length);
- }
- }
- return "";
-}
-
-/**
- * Sets/creates a cookie
- * @param {string} cname Cookie name
- * @param {string} cvalue Cookie value
- * @param {number} exdays Cookie lifespan (days)
- */
-function setCookie(cname, cvalue, exdays) {
- const hostname = window.location.hostname;
- const d = new Date();
- d.setTime(d.getTime() + (exdays*24*60*60*1000));
- let expires = "expires="+ d.toUTCString();
- document.cookie = `${cname}=${cvalue};${expires};path=/;SameSite=Strict;Domain=${hostname}`
-}
-
-/**
- * Checks if a cookie exists
- * @param {string} cname Cookie name
- * @returns {boolean} If cookie exists or not
- */
-function cookieExists(cname) {
- const cvalue = getCookie(cname);
- return cvalue !== "";
-}
-
-/**
- * Swaps the colorscheme
- * @param {string} scheme Color scheme ID
- */
-function swapScheme() {
- let scheme = document.getElementById('scheme-selector').value ;
- setCookie("colorscheme", scheme, 90);
- document.getElementById("css-colorscheme").href = `/css/colorschemes/${scheme}.css`;
- console.log(`Set colorscheme to ${getCookie("colorscheme")}`)
-}
-
-function setSchemeSelector() {
- if (!cookieExists("colorscheme")) {
- setCookie("colorscheme", "catppuccin-macchiato", 90);
- } else {
- const scheme = getCookie("colorscheme");
- const scheme_selector = document.getElementById("scheme-selector");
- if (scheme && scheme_selector) {
- for (let option of scheme_selector.options) {
- if (option.value === scheme) {
- option.selected = true;
- break;
- }
- }
- }
- }
-}
diff --git a/public/pub b/public/pub
deleted file mode 120000
index dfdd58e..0000000
--- a/public/pub
+++ /dev/null
@@ -1 +0,0 @@
-/srv/pubfiles \ No newline at end of file
diff --git a/public/robots.txt b/public/robots.txt
index 582552d..c19f78a 100644
--- a/public/robots.txt
+++ b/public/robots.txt
@@ -1,21 +1 @@
-User-agent: *
-Disallow: /admin
-Disallow: /login
-Disallow: /js
-Disallow: /css
-
-User-Agent: GPTBot
-Disallow: /
-
-User-Agent: ChatGPT-User
-Disallow: /
-
-User-Agent: Google-Extended
-Disallow: /
-
-User-Agent: CCBot
-Disallow: /
-
-User-Agent: PerplexityBot
-Disallow: /
-
+# See https://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
diff --git a/public/sitemap.xml b/public/sitemap.xml
deleted file mode 100644
index 783c056..0000000
--- a/public/sitemap.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--suppress ALL -->
-<urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9">
- <url>
- <loc>https://www.diskfloppy.me</loc>
- <lastmod>2023-10-10</lastmod>
- <changefreq>always</changefreq>
- <priority>0.5</priority>
- </url>
- <url>
- <loc>https://www.diskfloppy.me/pub</loc>
- <lastmod>2023-10-10</lastmod>
- <changefreq>always</changefreq>
- <priority>0.5</priority>
- </url>
- <url>
- <loc>https://www.diskfloppy.me/computers</loc>
- <lastmod>2023-10-10</lastmod>
- <changefreq>always</changefreq>
- <priority>0.5</priority>
- </url>
- <url>
- <loc>https://www.diskfloppy.me/guestbook</loc>
- <lastmod>2023-10-10</lastmod>
- <changefreq>always</changefreq>
- <priority>0.5</priority>
- </url>
- <url>
- <loc>https://www.diskfloppy.me/weather</loc>
- <lastmod>2023-10-10</lastmod>
- <changefreq>always</changefreq>
- <priority>0.5</priority>
- </url>
- <url>
- <loc>https://www.diskfloppy.me/music</loc>
- <lastmod>2023-10-10</lastmod>
- <changefreq>always</changefreq>
- <priority>0.5</priority>
- </url>
- <url>
- <loc>https://www.diskfloppy.me/bookmarks</loc>
- <lastmod>2023-10-10</lastmod>
- <changefreq>always</changefreq>
- <priority>0.5</priority>
- </url>
-</urlset>
diff --git a/public/videos/silly.mp4 b/public/videos/silly.mp4
deleted file mode 100644
index 720dbb1..0000000
--- a/public/videos/silly.mp4
+++ /dev/null
Binary files differ
diff --git a/resources/js/app.js b/resources/js/app.js
deleted file mode 100644
index e59d6a0..0000000
--- a/resources/js/app.js
+++ /dev/null
@@ -1 +0,0 @@
-import './bootstrap';
diff --git a/resources/js/bootstrap.js b/resources/js/bootstrap.js
deleted file mode 100644
index 846d350..0000000
--- a/resources/js/bootstrap.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * We'll load the axios HTTP library which allows us to easily issue requests
- * to our Laravel back-end. This library automatically handles sending the
- * CSRF token as a header based on the value of the "XSRF" token cookie.
- */
-
-import axios from 'axios';
-window.axios = axios;
-
-window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
-
-/**
- * Echo exposes an expressive API for subscribing to channels and listening
- * for events that are broadcast by Laravel. Echo and event broadcasting
- * allows your team to easily build robust real-time web applications.
- */
-
-// import Echo from 'laravel-echo';
-
-// import Pusher from 'pusher-js';
-// window.Pusher = Pusher;
-
-// window.Echo = new Echo({
-// broadcaster: 'pusher',
-// key: import.meta.env.VITE_PUSHER_APP_KEY,
-// cluster: import.meta.env.VITE_PUSHER_APP_CLUSTER ?? 'mt1',
-// wsHost: import.meta.env.VITE_PUSHER_HOST ? import.meta.env.VITE_PUSHER_HOST : `ws-${import.meta.env.VITE_PUSHER_APP_CLUSTER}.pusher.com`,
-// wsPort: import.meta.env.VITE_PUSHER_PORT ?? 80,
-// wssPort: import.meta.env.VITE_PUSHER_PORT ?? 443,
-// forceTLS: (import.meta.env.VITE_PUSHER_SCHEME ?? 'https') === 'https',
-// enabledTransports: ['ws', 'wss'],
-// });
diff --git a/resources/js/neverSaid.js b/resources/js/neverSaid.js
deleted file mode 100644
index 5b58d60..0000000
--- a/resources/js/neverSaid.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Define an array of strings
-const neverSaid = [
- "<td style=\"width: 105px\"><strong>ASM:</strong></td> <td>The Director liked all the props we got today.</td>",
- "<td style=\"width: 105px\"><strong>PM:</strong></td> <td>Ah ha, a revolve. Terrific.</td>",
- "<td style=\"width: 105px\"><strong>Chippie:</strong></td> <td>I don't know, let's look at the ground plan.</td>",
- "<td style=\"width: 105px\"><strong>Set Designer:</strong></td> <td>Well, let's just have whatever is cheaper.</td>",
- "<td style=\"width: 105px\"><strong>Sound:</strong></td> <td>Better turn that down a bit. We don't want to deafen them.</td>",
- "<td style=\"width: 105px\"><strong>Director:</strong></td> <td>Sorry, my mistake.</td>",
- "<td style=\"width: 105px\"><strong>Electrics:</strong></td> <td>This equipment is more complicated than we need.</td>",
- "<td style=\"width: 105px\"><strong>Performer:</strong></td> <td>I really think my big scene should be cut.</td>",
- "<td style=\"width: 105px\"><strong>SM:</strong></td> <td>Can we doo that scene change again please?",
- "<td style=\"width: 105px\"><strong>LX designer:</strong></td> <td>Bit more light from those big chaps at the side. Yes that's right, the ones on stalks whatever they are called.</td>",
- "<td style=\"width: 105px\"><strong>Electrics:</strong></td> <td>All the equipment works perfectly.</td>",
- "<td style=\"width: 105px\"><strong>Musicians:</strong></td> <td>So what if that's the end of a call. Let's just finish this bit off.</td>",
- "<td style=\"width: 105px\"><strong>Wardrobe:</strong></td> <td>Now, when exactly is the first dress rehearsal?",
- "<td style=\"width: 105px\"><strong>Workshop:</strong></td> <td>I don't want anyone to know, but if you insist then yes, I admit it, I have just done an all-nighter.</td>",
- "<td style=\"width: 105px\"><strong>Performer:</strong></td> <td>This costume is so comfortable.</td>",
- "<td style=\"width: 105px\"><strong>Admin:</strong></td> <td>The level of overtime payments here are simply unacceptable. Our backstage staff deserve better.</td>",
- "<td style=\"width: 105px\"><strong>Box Office:</strong></td> <td>Comps? No problem.</td>",
- "<td style=\"width: 105px\"><strong>Set Designer:</strong></td> <td>You're right, it looks dreadful.</td>",
- "<td style=\"width: 105px\"><strong>Flyman:</strong></td> <td>No, my lips are sealed. What I may or may not have seen remains a secret.</td>",
- "<td style=\"width: 105px\"><strong>Electrics:</strong></td> <td>That had nothing to do with the computer, it was my fault.</td>",
- "<td style=\"width: 105px\"><strong>Crew:</strong></td> <td>No, no, I'm sure that's our job.</td>",
- "<td style=\"width: 105px\"><strong>SMgt:</strong></td> <td>Thanks, but I don't drink",
- "<td style=\"width: 105px\"><strong>Performer:</strong></td> <td>Let me stand down here with my back to the audience.</td>",
- "<td style=\"width: 105px\"><strong>Chippie:</strong></td> <td>I can't really manage those big fast power tools myself.</td>",
- "<td style=\"width: 105px\"><strong>Chippie:</strong></td> <td>I prefer to use these little hand drills.</td>",
- "<td style=\"width: 105px\"><strong>All:</strong></td> <td>Let's go and ask the Production Manager. He'll know.</td>"
-]
-
-// Generate a random index into the array
-const randomIndex = Math.floor(Math.random() * neverSaid.length);
-
-// Use document.write to output the random string
-document.write(neverSaid[randomIndex]);
diff --git a/resources/js/schemeSwap.js b/resources/js/schemeSwap.js
deleted file mode 100644
index 3baa09b..0000000
--- a/resources/js/schemeSwap.js
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * Retrieves a cookies value
- * @param {string} cname Cookie name
- * @returns {string} Cookie value
- */
-function getCookie(cname) {
- let name = cname + "=";
- let decodedCookie = decodeURIComponent(document.cookie);
- let ca = decodedCookie.split(';');
- for(let i = 0; i <ca.length; i++) {
- let c = ca[i];
- while (c.charAt(0) === ' ') {
- c = c.substring(1);
- }
- if (c.indexOf(name) === 0) {
- return c.substring(name.length, c.length);
- }
- }
- return "";
-}
-
-/**
- * Sets/creates a cookie
- * @param {string} cname Cookie name
- * @param {string} cvalue Cookie value
- * @param {number} exdays Cookie lifespan (days)
- */
-function setCookie(cname, cvalue, exdays) {
- const d = new Date();
- d.setTime(d.getTime() + (exdays*24*60*60*1000));
- let expires = "expires="+ d.toUTCString();
- document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/;SameSite=Strict;Domain=.diskfloppy.me";
-}
-
-/**
- * Checks if a cookie exists
- * @param {string} cname Cookie name
- * @returns {boolean} If cookie exists or not
- */
-function cookieExists(cname) {
- const cvalue = getCookie(cname);
- return cvalue !== "";
-}
-
-/**
- * Swaps the colorscheme
- * @param {string} scheme Color scheme ID
- */
-function swapScheme(scheme) {
- setCookie("colorscheme", scheme, 90);
- document.getElementById("css-colorscheme").href = `/css/colorschemes/${scheme}.css`;
- console.log(`Set colorscheme to ${getCookie("colorscheme")}`)
-}
-
-function setSchemeSelector() {
- if (!cookieExists("colorscheme")) {
- setCookie("colorscheme", "catppuccin-macchiato", 90);
- } else {
- const scheme = getCookie("colorscheme");
- const scheme_selector = document.getElementById("scheme-selector");
- if (scheme && scheme_selector) {
- for (let option of scheme_selector.options) {
- if (option.value === scheme) {
- option.selected = true;
- break;
- }
- }
- }
- }
-}
diff --git a/resources/views/bookmarks.blade.php b/resources/views/bookmarks.blade.php
deleted file mode 100644
index c8d0e11..0000000
--- a/resources/views/bookmarks.blade.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<x-layout>
- <x-slot:title>Bookmarks</x-slot:title>
- @foreach($categories as $category)
- <div class="section">
- <h2>{{ $category->name }}</h2>
- <hr>
- <ul>
- @foreach($category->sites as $site)
- <li><a href="{{ $site->url }}">{{ $site->name }}</a> - {{ $site->description }}</li>
- @endforeach
- </ul>
- </div>
- @endforeach
-</x-layout>
diff --git a/resources/views/calculators.blade.php b/resources/views/calculators.blade.php
deleted file mode 100644
index e36ac43..0000000
--- a/resources/views/calculators.blade.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<x-layout>
- <x-slot:title>Calculators</x-slot:title>
- <div class="section">
- <h2>CASIO fx-CG50</h2>
- <p>TBD</p>
- <br>
- <p><strong>Pictures</strong></p>
- <img src="{{ asset('images/calculators/casio-fx-cg50/1s.jpeg') }}" width="15%" alt="Casio fx-CG50 Front view">
- <img src="{{ asset('images/calculators/casio-fx-cg50/2s.jpeg') }}" width="15%" alt="Casio fx-CG50 Rear view (battery cover removed)">
- <img src="{{ asset('images/calculators/casio-fx-cg50/3s.jpeg') }}" width="15%" alt="Casio fx-CG50 Front view (top half)">
- <img src="{{ asset('images/calculators/casio-fx-cg50/4s.jpeg') }}" width="15%" alt="Casio fx-CG50 Front view (bottom half)">
- </div>
- <div class="section">
- <h2>CASIO fx-120 (1977-78)</h2>
- <p>TBD</p>
- <br>
- <p><strong>Specifications</strong></p>
- <table class="calculator-spec-table">
- <tr>
- <td><b>Size</b></td>
- <td>8.4cm x 16.2cm x 2.4cm</td>
- </tr>
- <tr>
- <td><b>Weight (w/ battery)</b></td>
- <td>209g</td>
- </tr>
- <tr>
- <td><b>Type</b></td>
- <td>Scientific</td>
- </tr>
- <tr>
- <td><b>CPU</b></td>
- <td>Hitachi HD38111A</td>
- </tr>
- <tr>
- <td><b>Registers</b></td>
- <td>2 standard<br>1 constant<br>4 bracket<br>1 memory</td>
- </tr>
- <tr>
- <td><b>Features</b></td>
- <td>%, +/-, RV, F, Sci, a<sup>b</sup>&frasl;<sub>c</sub>, Sqr, x<sup>2</sup>, pi, <sup>1</sup>&frasl;<sub>x</sub>, trig,<br>hyp, DMS-DD, log, y<sup>x</sup>, SD, nCr, P-R, n!</td>
- </tr>
- <tr>
- <td><b>Display</b></td>
- <td>12-digit VFD (NEC LD8197A)</td>
- </tr>
- </table>
- <br>
- <p><strong>Pictures</strong></p>
- <img src="{{ asset('images/calculators/casio-fx-120/1s.jpeg') }}" width="15%" alt="Casio fx-120 Front view">
- <img src="{{ asset('images/calculators/casio-fx-120/2s.jpeg') }}" width="15%" alt="Casio fx-120 Front view (top half)">
- <img src="{{ asset('images/calculators/casio-fx-120/3s.jpeg') }}" width="15%" alt="Casio fx-120 Front view (bottom half)">
- <img src="{{ asset('images/calculators/casio-fx-120/4s.jpeg') }}" width="15%" alt="Casio fx-120 Rear view (battery and expansion covers removed">
- </div>
- <div class="section">
- <h2>CASIO fx-82 (1982-85)</h2>
- <p>TBD</p>
- <br>
- <p><strong>Pictures</strong></p>
- <img src="{{ asset('images/calculators/casio-fx-82/1s.jpeg') }}" width="15%" alt="Casio fx-82 Front view">
- <img src="{{ asset('images/calculators/casio-fx-82/2s.jpeg') }}" width="15%" alt="Casio fx-82 Rear view (battery cover removed)">
- <img src="{{ asset('images/calculators/casio-fx-82/3s.jpeg') }}" width="15%" alt="Casio fx-82 Front view (top half)">
- <img src="{{ asset('images/calculators/casio-fx-82/4s.jpeg') }}" width="15%" alt="Casio fx-82 Front view (bottom half)">
- </div>
- <div class="section">
- <h2>Texas Instruments TI-30 (1976-90)</h2>
- <p>TBD</p>
- <br>
- <p><strong>Pictures</strong></p>
- <img src="{{ asset('images/calculators/ti-30/1s.jpeg') }}" width="15%" alt="Texas Instruments TI-30 Front view (with manual)">
- <img src="{{ asset('images/calculators/ti-30/2s.jpeg') }}" width="15%" alt="Texas Instruments TI-30 Rear view (battery cover removed)">
- <img src="{{ asset('images/calculators/ti-30/3s.jpeg') }}" width="15%" alt="Texas Instruments TI-30 Front view (top half)">
- <img src="{{ asset('images/calculators/ti-30/4s.jpeg') }}" width="15%" alt="Texas Instruments TI-30 Front view (bottom half)">
- </div>
- <div class="section">
- <h2>Texet 880 Executive (1977-78)</h2>
- <p>The calculator measures 74.2mm x 135mm x 22.2mm. It weighs 86g without the battery installed, which is a 9v PP3-type battery. Rather than the usual press-stud type holder, the housing has two metal slide clips. There is also what I assume to be a sponge at one end which is supposed to aid in holding the battery in, however it appears to have gone completely hard and I will most likely replace it in the future. There's small adaptor hole at the top, of which the input isn't specified (though it's generally agreed that it's 4.5v centre-positive).</p>
- <p>The case is black &amp; silvery colored with a thin brushed metallic front panel. The eight-digit bubble display has an absolutely <i>terrible</i> viewing angle, which means you either have to be holding it under your coat or against your face to read it!</p>
- The keypad is particularly strange in the way that it has 3 cancel buttons, [CE], [C] and [CA], while the [CS] button is a Clear Sign button, <i>not</i> another cancel! The keys themselves are particularly stiff, and you really have to push them to get them to register. Many 880s suffered something referred to as the "pseudo fixed decimal bug" where, if you typed in 1 + 1.00 = , it would display 2.00 instead of the expected 2
- <br>
- <p><strong>Specifications</strong></p>
- <table class="calculator-spec-table">
- <tr>
- <td><b>Size</b></td>
- <td>7.4cm x 13.5cm x 2.2cm</td>
- </tr>
- <tr>
- <td><b>Weight (w/o battery)</b></td>
- <td>86</td>
- </tr>
- <tr>
- <td><b>Type</b></td>
- <td>Arithmetic</td>
- </tr>
- <tr>
- <td><b>Logic</b></td>
- <td>Algebraic</td>
- </tr>
- <tr>
- <td><b>Power Source</b></td>
- <td>PP3 9v</td>
- </tr>
- <tr>
- <td><b>Display</b></td>
- <td>8-digit LED</td>
- </tr>
- </table>
- <p><strong>Pictures</strong></p>
- <img src="{{ asset('images/calculators/texet-880/1s.jpeg') }}" width="15%" alt="Texet 880 Executive Front view">
- <img src="{{ asset('images/calculators/texet-880/2s.jpeg') }}" width="15%" alt="Texet 880 Executive Rear view (battery cover removed)">
- <img src="{{ asset('images/calculators/texet-880/3s.jpeg') }}" width="15%" alt="Texet 880 Executive Front view (top half)">
- <img src="{{ asset('images/calculators/texet-880/4s.jpeg') }}" width="15%" alt="Texet 880 Executive Front view (bottom half)">
- </div>
-</x-layout>
diff --git a/resources/views/components/current-track.blade.php b/resources/views/components/current-track.blade.php
deleted file mode 100644
index 0770240..0000000
--- a/resources/views/components/current-track.blade.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<div class="section current-track">
- <h2>Last/Current Track:</h2>
- <a href="{{ $track["url"] }}">{{ $track["title"] }} • {{ $track["artist"] }}</a><br>
-</div>
diff --git a/resources/views/components/discord-status.blade.php b/resources/views/components/discord-status.blade.php
deleted file mode 100644
index 00d2c7a..0000000
--- a/resources/views/components/discord-status.blade.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<span>I'm</span>
-<h2 class="online-status" style="color: {{ $status["color"] }};text-shadow: var(--firefox-shadow) {{ $status["color"] }}4f !important">{{ $status["text"] }}!</h2>
-<p><strong>Time in Britain:</strong> <span id="clock"></span></p>
diff --git a/resources/views/components/errors/api-error.blade.php b/resources/views/components/errors/api-error.blade.php
deleted file mode 100644
index 1d4609a..0000000
--- a/resources/views/components/errors/api-error.blade.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<div class="error-box">
- <p><b>API Error:</b> There was an error connecting to the API.</p>
- <p>If this error persists, please notify me via <a href="mailto:webmaster@diskfloppy.me">e-mail</a>.</p>
-</div>
diff --git a/resources/views/components/errors/db-error.blade.php b/resources/views/components/errors/db-error.blade.php
deleted file mode 100644
index 45f6157..0000000
--- a/resources/views/components/errors/db-error.blade.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<div class="error-box">
- <p><b>DB Error:</b> There was an error connecting to the database.</p>
- <p>If this error persists, please notify me via <a href="mailto:webmaster@diskfloppy.me">e-mail</a>.</p>
-</div>
diff --git a/resources/views/components/git.blade.php b/resources/views/components/git.blade.php
deleted file mode 100644
index e66a6eb..0000000
--- a/resources/views/components/git.blade.php
+++ /dev/null
@@ -1,48 +0,0 @@
-@php
-$api_root = app('config')->get('app')['api_root'];
-
-$commits = json_decode(file_get_contents($api_root.'/gitdata'));
-$count = 0;
-
-function formatRelativeTime(DateTime $dateTime) {
- $currentTimestamp = time();
- $dateTimeTimestamp = $dateTime->getTimestamp();
- $difference = $currentTimestamp - $dateTimeTimestamp;
-
- if ($difference < 60) {
- return "just now";
- } elseif ($difference < 3600) {
- $minutes = floor($difference / 60);
- $suffix = ($minutes > 1) ? "s" : "";
- return $minutes . " minute" . $suffix . " ago";
- } elseif ($difference < 86400) {
- $hours = floor($difference / 3600);
- $suffix = ($hours > 1) ? "s" : "";
- return $hours . " hour" . $suffix . " ago";
- } elseif ($difference < 604800) {
- $days = floor($difference / 86400);
- $suffix = ($days > 1) ? "s" : "";
- return $days . " day" . $suffix . " ago";
- } else {
- return $dateTime->format('Y-m-d H:i:s'); // Fallback to a specific format if desired
- }
-}
-@endphp
-<h1>Recent Site Updates</h1>
- <table class="commits">
-@foreach ($commits as $commit)
-
- @if ($count >= 5)
- </table>
- @break
- @endif
- @php
- $date = DateTime::createFromFormat("Y-m-d\TH:i:s\Z", $commit->author->date)
- @endphp
- <tr>
- <td>&bull;</td>
- <td>{{ formatRelativeTime($date) }}</td>
- <td><a href="{{ $commit->url }}">{{ $commit->message }}</a></td>
- </tr>
-@php $count++ @endphp
-@endforeach
diff --git a/resources/views/components/layout.blade.php b/resources/views/components/layout.blade.php
deleted file mode 100644
index 7e36de5..0000000
--- a/resources/views/components/layout.blade.php
+++ /dev/null
@@ -1,88 +0,0 @@
-@php // Get colorscheme from cookie and apply immediately
- $colorscheme = request()->cookie('colorscheme', 'catppuccin-macchiato');
-@endphp
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <!-- Global -->
- <meta charset="utf-8">
- <meta property="og:type" content="website">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="theme-color" content="#333333">
- <link rel="stylesheet" href="{{ asset("/css/colorschemes/$colorscheme.css") }}" id="css-colorscheme"/>
- <link rel="stylesheet" href="{{ asset('/css/master.css') }}"/>
- <link rel="icon" type="image/png" href="{{ asset('/favicon-32x32.png') }}" sizes="32x32"/>
- <link rel="icon" type="image/png" href="{{ asset('/favicon-16x16.png') }}" sizes="16x16"/>
- <script src="{{ asset('/js/schemeSwap.js') }}"></script>
- <script src="{{ asset('/js/liveClock.js') }}"></script>
- {!! (intval(date('n')) == 12) ? '<script src="/js/christmas/snow.js"></script>' : '' !!}
-
- <!-- Page-specific -->
- <title>{{ $title ?? 'Unknown' }} - {{ str_replace("www.", "", Request::getHost()) }}</title>
- <meta property="og:title" content="{{ str_replace("www.", "", Request::getHost()) }} | {{ $title }}">
- <meta property="og:image" content="/favicon-128x128.png">
-</head>
-<body onload="setSchemeSelector()">
-<div class="container">
- <div class="page">
- <header>
- <h1>{{ str_replace("www.", "", Request::getHost()) }}</h1>
- </header>
- <div class="navbar">
- <p>
- <strong>Current Path:</strong>
- @if(Request::getRequestUri() == "/")
- /
- @else
- {{ str_replace("/", " / ", rtrim(Request::getRequestUri(), "/")) }}
- @endif
- </p>
- </div>
- <div class="content">
- <main>
- {{ $slot }}
- </main>
- <div class="sidebar">
- <div class="section"><nav><x-navigation/></nav></div>
- <div class="section"><x-settings/></div>
- <div class="section centerbox"><x-discord-status/></div>
- <div class="section"><x-weather/></div>
- </div>
- </div>
- <footer>
- <div>
- (c) floppydisk 2021-{{ date('Y') }}<br>
- v{{ config('app.version') }}, <a href="https://git.frzn.dev/fwoppydwisk/diskfloppy.me/releases/latest">Source</a><br>
- Served by {{ gethostname() }}
- </div>
- <div>
- <a href="https://dimden.dev/" class="button">
- <img src="https://dimden.dev/services/images/88x31.gif" width="88" height="31"
- class="pixel" alt="dimden.dev">
- </a>
- <a href="https://www.linux.org/" class="button">
- <img src="{{ URL::asset('images/buttons/linuxnow.gif') }}" width="88"
- class="pixel" height="31" alt="Linux NOW!">
- </a>
- <a href="https://www.vim.org/" class="button">
- <img src="{{ URL::asset('images/buttons/vim.gif') }}" width="88" height="31"
- class="pixel" alt="vim">
- </a><br>
- <a href="https://wave.webaim.org/" class="button">
- <img src="{{ URL::asset('images/buttons/evaluatedWAVE.png') }}" width="88" height="31"
- class="pixel" alt="Evaluated to be accessible!">
- </a>
- <a href="https://jigsaw.w3.org/css-validator/check/referer" class="button">
- <img src="{{ URL::asset('images/buttons/vcss-blue.gif') }}" width="88" height="31"
- class="pixel" alt="Valid CSS!">
- </a>
- <a href="https://wiby.me/" class="button">
- <img src="{{ URL::asset('images/buttons/wiby.gif') }}" width="88" height="31"
- class="pixel" alt="Wiby - Search Engine for the Classic Web">
- </a>
- </div>
- </footer>
- </div>
-</div>
-</body>
-</html>
diff --git a/resources/views/components/minimal-error.blade.php b/resources/views/components/minimal-error.blade.php
deleted file mode 100644
index 3be5511..0000000
--- a/resources/views/components/minimal-error.blade.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <title>{{ $title ?? '' }}</title>
- <link rel="stylesheet" href="{{ URL::asset ('css/minimal.css') }}"/>
-</head>
-
-<body>
- <h1>Error {{ $code }} | <strong>{{ $message }}</strong></h1>
- <hr align="left">
- <p>Here, have a cat...</p>
- <img src="https://http.cat/{{ $code }}" width="500"><br><br>
- <p>If you believe this is a server error, contact the <a href="mailto:webmaster@diskfloppy.me">webmaster</a></p>
- <br>
- <h4>Diagnostic Info</h4>
- <table><tr><td>
- <code>
- Server: &nbsp;{{ gethostname() }}<br>
- Your IP: {{ Request::ip() }}<br>
- Root: &nbsp;&nbsp;&nbsp;{!! url('') !!}<br>
- Path: &nbsp;&nbsp;&nbsp;@if(Request::path() == "/")/@else/{{ Request::path() }}/@endif<br>
- Epoch: &nbsp;&nbsp;{{ now()->timestamp }}<br>
- Agent: &nbsp;&nbsp;Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:122.0) Gecko/20100101 Firefox/122.0 </code>
- </td></tr></table>
- <hr align="left">
- <p>&copy; floppydisk 2021-2024</p>
-</body>
-</html>
diff --git a/resources/views/components/navigation.blade.php b/resources/views/components/navigation.blade.php
deleted file mode 100644
index 6c99e8c..0000000
--- a/resources/views/components/navigation.blade.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<p><strong>Navigation:</strong></p>
-<div class="navlinks">
-<a href="/">
- <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/home2.png') }}" width="16" height="16" alt="">Home
-</a><br>
-<a href="//git.diskfloppy.me/">
- <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/repo.png') }}" width="16" height="16" alt="">Git
-</a><br>
-<a href="/pub/">
- <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/pubfiles.png') }}" width="16" height="16" alt="">Public Files
-</a><br>
-<a href="/computers/">
- <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/computers.png') }}" width="16" height="16" alt="">Computers
-</a><br>
-<a href="/calculators/">
- <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/calculators.png') }}" width="16" height="16" alt="">Calculators
-</a><br>
-<a href="/bookmarks/">
- <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/bookmarks.png') }}" width="16" height="16" alt="">Bookmarks
-</a><br>
-<a href="/guestbook/">
- <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/guestbook.png') }}" width="16" height="16" alt="">Guestbook
-</a><br>
-<a href="//weather.diskfloppy.me/">
- <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/weather.png') }}" width="16" height="16" alt="">Weather
-</a><br>
-<a href="/music/">
- <img class="pixel navbar-icon" src="{{ asset('images/icons/nav/music.png') }}" width="16" height="16" alt="">Music
-</a><br>
-</div>
diff --git a/resources/views/components/never-said.blade.php b/resources/views/components/never-said.blade.php
deleted file mode 100644
index 9cb47b7..0000000
--- a/resources/views/components/never-said.blade.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<p class="quote">
- <strong>{{ $quote["name"] }}:</strong> "{{ $quote["quote"] }}"<br>
-</p>
diff --git a/resources/views/components/settings.blade.php b/resources/views/components/settings.blade.php
deleted file mode 100644
index 8851f6c..0000000
--- a/resources/views/components/settings.blade.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<p><strong>Site Settings:</strong></p>
-<label for="scheme-selector">Colors:</label>
-<select id="scheme-selector">
-{{-- <optgroup label="Misc">--}}
-{{-- <option value="c64">C64</option>--}}
-{{-- </optgroup>--}}
- <optgroup label="Light">
- <option value="catppuccin-latte">Catppuccin Latte</option>
-{{-- <option value="gruvbox">Gruvbox</option>--}}
-{{-- <option value="man-page">Man Page</option>--}}
-{{-- <option value="papercolor-light">Papercolor Light</option>--}}
-{{-- <option value="rose-pine-dawn">Rosé Pine Dawn</option>--}}
-{{-- <option value="solarized-light">Solarized Light</option>--}}
-{{-- <option value="terminal-basic">Terminal Basic</option>--}}
- </optgroup>
- <optgroup label="Dark">
- <option value="catppuccin-frappe">Catppuccin Frappé</option>
- <option value="catppuccin-macchiato" selected="selected">Catppuccin Macchiato</option>
- <option value="catppuccin-mocha">Catppuccin Mocha</option>
-{{-- <option value="gruvbox-dark">Gruvbox Dark</option>--}}
-{{-- <option value="gruvbox-material">Gruvbox Material</option>--}}
-{{-- <option value="maia">Maia</option>--}}
-{{-- <option value="mono-amber">Mono Amber</option>--}}
-{{-- <option value="mono-cyan">Mono Cyan</option>--}}
-{{-- <option value="mono-green">Mono Green</option>--}}
-{{-- <option value="mono-red">Mono Red</option>--}}
-{{-- <option value="mono-white">Mono White</option>--}}
-{{-- <option value="mono-yellow">Mono Yellow</option>--}}
-{{-- <option value="papercolor-dark">Papercolor Dark</option>--}}
-{{-- <option value="rose-pine">Rosé Pine</option>--}}
-{{-- <option value="rose-pine-moon">Rose Pine Moon</option>--}}
-{{-- <option value="shel">Shel</option>--}}
-{{-- <option value="slate">Slate</option>--}}
-{{-- <option value="solarized-dark">Solarized Dark</option>--}}
- </optgroup>
-</select><br>
-<button onclick="swapScheme()">Apply</button>
diff --git a/resources/views/components/toh-quote.blade.php b/resources/views/components/toh-quote.blade.php
deleted file mode 100644
index d9dfab1..0000000
--- a/resources/views/components/toh-quote.blade.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<p class="quote">
- @foreach($quote["lines"] as $line)
- <strong>{{ $line["character"] }}:</strong>
- {{-- Literally only one thing will trigger this lmao --}}
- @if($line["line"] == "*Rage squeals*")
- {{ $line["line"] }}
- @else
- "{{ $line["line"] }}"
- @endif<br>
- @endforeach
- <small>({{ $quote["attribution"] }})</small>
-</p>
diff --git a/resources/views/components/top-tracks.blade.php b/resources/views/components/top-tracks.blade.php
deleted file mode 100644
index 0b563b4..0000000
--- a/resources/views/components/top-tracks.blade.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<div class="section">
-<table class="music-top10">
- <caption>
- <h2 style="margin-bottom: 5px">Top 10 Tracks (Last 30 days):</h2>
- </caption>
- <tr>
- <th><b>#</b></th>
- <th><b>Track</b></th>
- <th><b>Artist</b></th>
- <th><b>Plays</b></th>
- </tr>
- @php($count = 0)
- @foreach ($tracks as $track)
- @php($count++)
- <x-track :track="$track" :count="$count"/>
- @endforeach
-</table>
-</div>
diff --git a/resources/views/components/track.blade.php b/resources/views/components/track.blade.php
deleted file mode 100644
index b176e95..0000000
--- a/resources/views/components/track.blade.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<tr>
- <td>{{ $count }}</td>
- <td><a href="{{ $track["url"] }}">{{ $track["title"] }}</a></td>
- <td>{{ $track["artist"] }}</td>
- <td>{{ $track["plays"] }}</td>
-</tr>
diff --git a/resources/views/components/weather.blade.php b/resources/views/components/weather.blade.php
deleted file mode 100644
index b4dfcaa..0000000
--- a/resources/views/components/weather.blade.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<p><strong>Weather Conditions:</strong></p>
-<hr style="margin: 4px 0">
-<p><strong>Temperature:</strong> {{ round(($conditions[0]["temp"] - 32) * (5/9), 1) }} degC</p>
-<p><strong>Rain:</strong> {{ ($conditions[0]["rain_rate_last"] * 0.2) }}mm/hr ({{ $conditions[0]["rainfall_daily"] }}mm today)</p>
-@if ($conditions[0]["wind_speed_last"] != 0)
- <p><strong>Wind:</strong> {{ round($conditions[0]["wind_speed_last"], 1) }}mph ({{ $conditions[0]["wind_dir_last"] }} deg)</p>
-@else
- <p><strong>Wind:</strong> 0mph</p>
-@endif
-<p><strong>Humidity:</strong> {{ round($conditions[0]["hum"], 1) }}%</p>
-<p><strong>Pressure:</strong> {{ round($conditions[2]["bar_sea_level"], 1) }} inHg</p>
diff --git a/resources/views/computers.blade.php b/resources/views/computers.blade.php
deleted file mode 100644
index 4d3457e..0000000
--- a/resources/views/computers.blade.php
+++ /dev/null
@@ -1,253 +0,0 @@
-<x-layout>
- <x-slot:title>Computers</x-slot:title>
- <p>TBD</p>
-{{-- <table class="computers">--}}
-{{-- <tr>--}}
-{{-- <th>MODEL</th>--}}
-{{-- <th>CPU</th>--}}
-{{-- <th>GPU</th>--}}
-{{-- <th>STORAGE</th>--}}
-{{-- <th>RAM</th>--}}
-{{-- <th>OS</th>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Random Whitebox<br>(???)</td>--}}
-{{-- <td>486DX2</td>--}}
-{{-- <td></td>--}}
-{{-- <td>280MB HDD</td>--}}
-{{-- <td>16MB</td>--}}
-{{-- <td>MS-DOS 6.22 &amp; Windows for Workgroups 3.11</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>MacBook Pro 14"<br>(2023)</td>--}}
-{{-- <td colspan="2">M3 Pro</td>--}}
-{{-- <td>500GB SSD</td>--}}
-{{-- <td>18GB</td>--}}
-{{-- <td>macOS Sonoma</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>MacBook Pro 13"<br>(2018)</td>--}}
-{{-- <td>Intel i5-8592U (2.3GHz)</td>--}}
-{{-- <td>Intel Iris Plus 655</td>--}}
-{{-- <td>250GB SSD</td>--}}
-{{-- <td>8GB</td>--}}
-{{-- <td>macOS Mojave</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Lenovo ThinkPad T430<br>(2012)</td>--}}
-{{-- <td>Intel Core i7 (idk what it is)</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>16GB</td>--}}
-{{-- <td>Windows 7 Pro / NixOS</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>IBM ThinkPad X41T<br>(2005)</td>--}}
-{{-- <td>Intel Pentium M (1.6GHz)</td>--}}
-{{-- <td>Mobile Intel Express Chipset (128MB)</td>--}}
-{{-- <td>40GB HDD</td>--}}
-{{-- <td>1.5GB</td>--}}
-{{-- <td>Windows XP Tablet PC Edition</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Dell OptiPlex GX1<br>(1999)</td>--}}
-{{-- <td>Intel Pentium II (Deschutes, 400MHz)</td>--}}
-{{-- <td>ATI 3D Rage Pro (4MB)</td>--}}
-{{-- <td>40GB HDD</td>--}}
-{{-- <td>639MB</td>--}}
-{{-- <td>Windows 2000</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>IBM ThinkPad T40<br>(2003)</td>--}}
-{{-- <td>Intel Pentium M (1.3GHz)</td>--}}
-{{-- <td>ATI Mobility Radeon 7500 (32MB)</td>--}}
-{{-- <td>N/A</td>--}}
-{{-- <td>N/A</td>--}}
-{{-- <td>N/A</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>HP Compaq Elite 8100<br>(2010)</td>--}}
-{{-- <td>Intel Core i7 (something or other)</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>16GB</td>--}}
-{{-- <td>Windows Vista Ultimate (64-bit)</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Mac mini<br>(2014)</td>--}}
-{{-- <td>Intel Core i5-4278U (2.6GHz)</td>--}}
-{{-- <td>Intel Iris Graphics</td>--}}
-{{-- <td>1TB HDD</td>--}}
-{{-- <td>8GB</td>--}}
-{{-- <td>Proxmox VE 8.2</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Fujitsu Milan<br>(1996)</td>--}}
-{{-- <td>Intel Pentium</td>--}}
-{{-- <td></td>--}}
-{{-- <td>1215MB HDD</td>--}}
-{{-- <td>32MB</td>--}}
-{{-- <td>Windows 98 SE</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Compaq Armada M300<br>(1999)</td>--}}
-{{-- <td>Intel Pentium III</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>SuperMicro X9SCM</td>--}}
-{{-- <td>Intel Pentium G850 (2.9GHz)</td>--}}
-{{-- <td>Matrox MGA G6200eW</td>--}}
-{{-- <td>2TB HDD / 80GB HDD</td>--}}
-{{-- <td>16GB</td>--}}
-{{-- <td>Proxmox VE 8.2</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Main PC</td>--}}
-{{-- <td>Intel Core i7-6700K (4GHz)</td>--}}
-{{-- <td>NVidia GTX 1060 (3GB)</td>--}}
-{{-- <td>(multiple)</td>--}}
-{{-- <td>64GB</td>--}}
-{{-- <td>Windows 10 Pro / NixOS</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Toshiba Qosmio F20<br>(2005)</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>N/A</td>--}}
-{{-- <td>N/A</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>MacBook Pro 13"<br>(2009)</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>N/A</td>--}}
-{{-- <td>N/A</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Packard-Bell EasyNote MIT-LYN01<br>(???)</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>Windows XP Home</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Sony VAIO PCG-3B1M<br>(???)</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>Windows Vista</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Dell OptiPlex 745 USFF<br>(2006)</td>--}}
-{{-- <td>Intel Pentium Dual Core</td>--}}
-{{-- <td>Intel Integrated</td>--}}
-{{-- <td>(multiple)</td>--}}
-{{-- <td>4GB</td>--}}
-{{-- <td>(multiple)</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Dell Inspiron 1525<br>(2008)</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>N/A</td>--}}
-{{-- <td>N/A</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Random Whitebox 2</td>--}}
-{{-- <td>AMD Phenom II X6-1055T</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>8GB</td>--}}
-{{-- <td>N/A</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Dell Latitude D531<br>(2007)</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>Windows XP Professional</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>IBM ThinkPad R40<br>(2003)</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>Windows 2000</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Dell Latitude CPi<br>(2001)</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>Windows 2000</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Dell Latitude CPx<br>(1999)</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>Windows 98 SE</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Dell Latitude 4898T<br>(???)</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>N/A</td>--}}
-{{-- <td>N/A</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Time 8375<br>(???)</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>N/A</td>--}}
-{{-- <td>N/A</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Toshiba Satellite 200CDS<br>(1996)</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>HP Compaq NC6000<br>(2004)</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>N/A</td>--}}
-{{-- <td>N/A</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>IBM Personal Computer 330<br>(1997)</td>--}}
-{{-- <td>Intel Pentium</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>N/A</td>--}}
-{{-- <td>N/A</td>--}}
-{{-- </tr>--}}
-{{-- <tr>--}}
-{{-- <td>Shuttle XPC SN21G5<br>(2006)</td>--}}
-{{-- <td>AMD Athlon 64 X2</td>--}}
-{{-- <td></td>--}}
-{{-- <td></td>--}}
-{{-- <td>N/A</td>--}}
-{{-- <td>N/A</td>--}}
-{{-- </tr>--}}
-{{-- </table>--}}
-</x-layout>
diff --git a/resources/views/errors/401.blade.php b/resources/views/errors/401.blade.php
deleted file mode 100644
index 7c0d081..0000000
--- a/resources/views/errors/401.blade.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<x-minimal-error>
- <x-slot:code>401</x-slot:code>
- <x-slot:message>Unauthorized</x-slot:message>
-</x-minimal-error>
diff --git a/resources/views/errors/402.blade.php b/resources/views/errors/402.blade.php
deleted file mode 100644
index 4048cba..0000000
--- a/resources/views/errors/402.blade.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<x-minimal-error>
- <x-slot:code>402</x-slot:code>
- <x-slot:message>Payment Required</x-slot:message>
-</x-minimal-error>
diff --git a/resources/views/errors/403.blade.php b/resources/views/errors/403.blade.php
deleted file mode 100644
index d661d00..0000000
--- a/resources/views/errors/403.blade.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<x-minimal-error>
- <x-slot:code>403</x-slot:code>
- <x-slot:message>{{__($exception->getMessage() ?: 'Forbidden')}}</x-slot:message>
-</x-minimal-error>
diff --git a/resources/views/errors/404.blade.php b/resources/views/errors/404.blade.php
deleted file mode 100644
index 812ec99..0000000
--- a/resources/views/errors/404.blade.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<x-minimal-error>
- <x-slot:code>404</x-slot:code>
- <x-slot:message>Page not found!</x-slot:message>
-</x-minimal-error>
diff --git a/resources/views/errors/418.blade.php b/resources/views/errors/418.blade.php
deleted file mode 100644
index 7ced586..0000000
--- a/resources/views/errors/418.blade.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<x-minimal-error>
- <x-slot:code>418</x-slot:code>
- <x-slot:message>I'm a teapot</x-slot:message>
-</x-minimal-error>
diff --git a/resources/views/errors/419.blade.php b/resources/views/errors/419.blade.php
deleted file mode 100644
index 7008bd8..0000000
--- a/resources/views/errors/419.blade.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<x-minimal-error>
- <x-slot:code>419</x-slot:code>
- <x-slot:message>Page Expired</x-slot:message>
-</x-minimal-error>
diff --git a/resources/views/errors/429.blade.php b/resources/views/errors/429.blade.php
deleted file mode 100644
index 9ff195b..0000000
--- a/resources/views/errors/429.blade.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<x-minimal-error>
- <x-slot:code>429</x-slot:code>
- <x-slot:message>Too Many Requests</x-slot:message>
-</x-minimal-error>
diff --git a/resources/views/errors/500.blade.php b/resources/views/errors/500.blade.php
deleted file mode 100644
index d2c28c5..0000000
--- a/resources/views/errors/500.blade.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<x-minimal-error>
- <x-slot:code>500</x-slot:code>
- <x-slot:message>Server Error</x-slot:message>
-</x-minimal-error>
diff --git a/resources/views/errors/503.blade.php b/resources/views/errors/503.blade.php
deleted file mode 100644
index 708c4d9..0000000
--- a/resources/views/errors/503.blade.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<x-minimal-error>
- <x-slot:code>503</x-slot:code>
- <x-slot:message>Service Unavailable</x-slot:message>
-</x-minimal-error>
diff --git a/resources/views/errors/generic-error.blade.php b/resources/views/errors/generic-error.blade.php
deleted file mode 100644
index 0082093..0000000
--- a/resources/views/errors/generic-error.blade.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<x-minimal>
- <x-slot:title>Error 401: Unauthorized User!</x-slot:title>
- <h1>{{ $error }}</h1>
- <hr>
- @if(isset($description))
- <p>{{ $description }}</p>
- @endif
-</x-minimal>
diff --git a/resources/views/errors/guestbook-ipban.blade.php b/resources/views/errors/guestbook-ipban.blade.php
deleted file mode 100644
index 5072e35..0000000
--- a/resources/views/errors/guestbook-ipban.blade.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<x-minimal>
- <x-slot:title>Error 403: IP Blocked!</x-slot:title>
- <h1>Error 403: IP Blocked!</h1>
- <hr>
- <p>Your IP has been banned from submitting to the guestbook.</p>
- @if (isset($reason))
- <p><b>Reason:</b> {{ $reason }}</p>
- @endif
- <br>
- Click <a href="/guestbook">here</a> to go back to the guestbook.
-</x-minimal>
diff --git a/resources/views/errors/guestbook-ratelimit.blade.php b/resources/views/errors/guestbook-ratelimit.blade.php
deleted file mode 100644
index cb24d9e..0000000
--- a/resources/views/errors/guestbook-ratelimit.blade.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<x-minimal>
- <x-slot:title>Error 429: Overclocking Detected!</x-slot:title>
- <h1>Error 429: Overclocking Detected!</h1>
- <hr>
- <p>Whoa there! Your submissions are going at warp speed.</p>
- <p>Remember you can only submit an entry <u>once every hour</u>!</p>
- <br>
- Click <a href="/guestbook">here</a> to go back to the guestbook.
-</x-minimal>
diff --git a/resources/views/errors/minimal.blade.php b/resources/views/errors/minimal.blade.php
deleted file mode 100644
index 4ae6830..0000000
--- a/resources/views/errors/minimal.blade.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<x-minimal>
-
-</x-minimal>
diff --git a/resources/views/errors/no-auth.blade.php b/resources/views/errors/no-auth.blade.php
deleted file mode 100644
index 1d99498..0000000
--- a/resources/views/errors/no-auth.blade.php
+++ /dev/null
@@ -1,8 +0,0 @@
-@extends('layouts.minimal')
-@section('title', 'Error 401: Unauthorized User!')
-@section('content')
- <h1>Error 401: Unauthorized User!</h1>
- <hr>
- <p>Woah there! Only authorized users can access this page. Please <a href="/login">log in</a> to proceed.</p>
- <p>Ended up here on accident? Click <a href="/">here</a> to return to the homepage</u>!</p>
-@stop
diff --git a/resources/views/guestbook.blade.php b/resources/views/guestbook.blade.php
deleted file mode 100644
index f9f04ca..0000000
--- a/resources/views/guestbook.blade.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<x-layout>
- <x-slot:title>Guestbook</x-slot:title>
- <table class="gb-entry-form-container" role="presentation">
- <tr>
- <td>
- <form method="POST" action="/guestbook">
- @csrf
- <x-honeypot/>
- <table class="form" role="presentation">
- <tr>
- <td>
- <label for="name"><strong>Name:</strong></label>
- </td>
- <td>
- <input name="name" type="text" id="name">
- </td>
- <td>
- <span class="text-danger">{{ $errors->first('name') }}</span>
- </td>
- </tr>
- <tr>
- <td>
- <label for="message"><strong>Message:</strong></label>
- </td>
- <td>
- <textarea name="message" id="message" rows="3"></textarea>
- </td>
- <td>
- <span class="text-danger">{{ $errors->first('message') }}</span>
- </td>
- </tr>
- <tr>
- <td></td>
- <td>
- <button type="submit">Submit</button>
- </td>
- </tr>
- </table>
- </form>
- </td>
- <td>
- <p><i>A few things to note:</i></p>
- <ul>
- <li>You can submit an entry <u>once every hour</u>.</li>
- <li>Your IP address is logged but <u>not</u> publicly displayed.</li>
- <li>Any entries that appear to be spam <u>will</u> be removed.</li>
- </ul>
- </td>
- </tr>
- </table>
-
-
- <hr>
- <h2>Entries <small>({{ count($entries) }} total)</small></h2>
- @foreach ($entries as $entry)
- @php
- $user_agent = $parser->parse($entry->agent);
- @endphp
- <div class="section">
- Submitted by <strong>{{ $entry->name }}</strong>
- on <strong>{{ $entry->created_at->format('Y-m-d') }}</strong>
- at <strong>{{ $entry->created_at->format('h:i:s A (e)') }}</strong>
- <hr>
- <span class="guestbook-message">{{ $entry->message }}</span>
- <hr>
- @if($entry->agent === "Agent Unavailable")
- <address>Agent unavailable</address>
- @else
- <address>Posted using <strong>{{ $user_agent->ua->toString() }}</strong>
- on <strong>{{ $user_agent->os->toString() }}</strong></address>
- @endif
- </div>
- <br>
- @endforeach
-</x-layout>
diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php
deleted file mode 100644
index 75af3de..0000000
--- a/resources/views/home.blade.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<x-layout>
- <x-slot:title>Home</x-slot:title>
-
- <div class="section">
- <h2>About Me</h2>
- <hr>
- <p>Hi! This is my personal homepage on the <strong>W</strong>orld <strong>W</strong>ide <strong>W</strong>eb.</p>
- <br>
- <p>QuickFacts&trade;:</p>
- <ul>
- <li>{{ $age }} y/o, he/him, British</li>
- <li>Theatre Technician, &quot;Web Developer&quot; and NixOS User</li>
- <li>Loves ETC desks, prefers Generics to LEDs for some reason</li>
- <li>Has a crippling Soundcraft addiction</li>
- <li>Spends way too much time on his computer</li>
- <li>Favorite games: <a href="https://steamcommunity.com/id/floppydisk05/recommended/420530/">OneShot</a>, Minecraft, Stardew Valley, N++ and Starbound</li>
- <li><a href="http://wxqa.com/">CWOP</a> member</li>
- </ul>
- <br>
- <p>Interests:</p>
- <ul>
- <li><strong>Tech Theatre</strong> - Lighting, Stage Management, etc. (<a href="https://www.controlbooth.com/members/floppydisk.28673/">ControlBooth</a>)</li>
- <li><strong>Programming</strong> - HTML, CSS, JavaScript, C#, Java, PHP, Ruby, Python (<a href="https://github.com/floppydisk05">GitHub</a>)</li>
- <li><strong>Photography</strong> - <a href="https://www.flickr.com/photos/floppydisk/">Flickr</a></li>
- <li><strong>Gaming</strong> - <a href="https://steamcommunity.com/id/floppydisk05/">Steam Profile</a></li>
- </ul>
- </div>
- <div class="section">
- <h2>Random Quote</h2>
- <hr>
- <x-toh-quote/>
- </div>
- <div class="section">
- <h2>Contact</h2>
- <hr>
- <p>
- <strong>E-mail:</strong> <a href="mailto:contact@diskfloppy.me">contact@diskfloppy.me</a><br>
- <strong>Mastodon:</strong> <a rel="me" href="https://c.im/@floppydisk">@floppydisk@c.im</a><br>
- <strong>Matrix:</strong> <a href="https://matrix.to/#/@floppydisk:arcticfoxes.net">@floppydisk:arcticfoxes.net</a>
- </p>
- </div>
-</x-layout>
diff --git a/resources/views/music.blade.php b/resources/views/music.blade.php
deleted file mode 100644
index 92e5a90..0000000
--- a/resources/views/music.blade.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<x-layout>
- <x-slot:title>Music</x-slot:title>
- <x-current-track :track="$current_track"/>
- <x-top-tracks :tracks="$top_tracks"/>
-</x-layout>
diff --git a/routes/api.php b/routes/api.php
deleted file mode 100644
index fa84410..0000000
--- a/routes/api.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-
-use Illuminate\Http\Request;
-use Illuminate\Support\Facades\Route;
-
-/*
-|--------------------------------------------------------------------------
-| API Routes
-|--------------------------------------------------------------------------
-|
-| Here is where you can register API routes for your application. These
-| routes are loaded by the RouteServiceProvider and all of them will
-| be assigned to the "api" middleware group. Make something great!
-|
-*/
diff --git a/routes/channels.php b/routes/channels.php
deleted file mode 100644
index 409c335..0000000
--- a/routes/channels.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-use Illuminate\Support\Facades\Broadcast;
-
-/*
-|--------------------------------------------------------------------------
-| Broadcast Channels
-|--------------------------------------------------------------------------
-|
-| Here you may register all of the event broadcasting channels that your
-| application supports. The given channel authorization callbacks are
-| used to check if an authenticated user can listen to the channel.
-|
-*/
diff --git a/routes/console.php b/routes/console.php
deleted file mode 100644
index 1e141ea..0000000
--- a/routes/console.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-
-use Illuminate\Foundation\Inspiring;
-use Illuminate\Support\Facades\Artisan;
-
-/*
-|--------------------------------------------------------------------------
-| Console Routes
-|--------------------------------------------------------------------------
-|
-| This file is where you may define all of your Closure based console
-| commands. Each Closure is bound to a command instance allowing a
-| simple approach to interacting with each command's IO methods.
-|
-*/
diff --git a/routes/web.php b/routes/web.php
deleted file mode 100644
index 0b10251..0000000
--- a/routes/web.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-use App\Http\Controllers\BookmarksController;
-use App\Http\Controllers\CalculatorsController;
-use App\Http\Controllers\ComputersController;
-use App\Http\Controllers\GuestbookController;
-use App\Http\Controllers\HomeController;
-use App\Http\Controllers\MusicController;
-use Illuminate\Support\Facades\Route;
-
-/*
-|--------------------------------------------------------------------------
-| Web Routes
-|--------------------------------------------------------------------------
-|
-| Here is where you can register web routes for your application. These
-| routes are loaded by the RouteServiceProvider and all of them will
-| be assigned to the "web" middleware group. Make something great!
-|
-*/
-
-// Run the PageView middleware for *all* public GET routes
-Route::get('/', [HomeController::class, 'show']);
-Route::get('/bookmarks', [BookmarksController::class, 'show']);
-Route::get('/guestbook', [GuestbookController::class, 'show']);
-Route::get('/calculators', [CalculatorsController::class, 'show']);
-Route::get('/computers', [ComputersController::class, 'show']);
-Route::get('/music', [MusicController::class, 'show']);
-Route::post('/guestbook', [GuestbookController::class, 'addEntry'])
- ->middleware('rate_limit');
diff --git a/scripts/updatecache.bat b/scripts/updatecache.bat
deleted file mode 100644
index 0245663..0000000
--- a/scripts/updatecache.bat
+++ /dev/null
@@ -1,6 +0,0 @@
-@echo off
-php artisan config:cache
-php artisan route:cache
-php artisan view:cache
-php artisan event:cache
-php artisan cache:clear
diff --git a/scripts/updatecache.sh b/scripts/updatecache.sh
deleted file mode 100755
index b4acd8c..0000000
--- a/scripts/updatecache.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-php artisan config:cache
-php artisan route:cache
-php artisan view:cache
-php artisan event:cache
-php artisan cache:clear
diff --git a/storage/.keep b/storage/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/storage/.keep
diff --git a/storage/app/.gitignore b/storage/app/.gitignore
deleted file mode 100644
index 8f4803c..0000000
--- a/storage/app/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*
-!public/
-!.gitignore
diff --git a/storage/app/public/.gitignore b/storage/app/public/.gitignore
deleted file mode 100644
index d6b7ef3..0000000
--- a/storage/app/public/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/storage/framework/.gitignore b/storage/framework/.gitignore
deleted file mode 100644
index 05c4471..0000000
--- a/storage/framework/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-compiled.php
-config.php
-down
-events.scanned.php
-maintenance.php
-routes.php
-routes.scanned.php
-schedule-*
-services.json
diff --git a/storage/framework/cache/.gitignore b/storage/framework/cache/.gitignore
deleted file mode 100644
index 01e4a6c..0000000
--- a/storage/framework/cache/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*
-!data/
-!.gitignore
diff --git a/storage/framework/cache/data/.gitignore b/storage/framework/cache/data/.gitignore
deleted file mode 100644
index d6b7ef3..0000000
--- a/storage/framework/cache/data/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/storage/framework/sessions/.gitignore b/storage/framework/sessions/.gitignore
deleted file mode 100644
index d6b7ef3..0000000
--- a/storage/framework/sessions/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/storage/framework/testing/.gitignore b/storage/framework/testing/.gitignore
deleted file mode 100644
index d6b7ef3..0000000
--- a/storage/framework/testing/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/storage/framework/views/.gitignore b/storage/framework/views/.gitignore
deleted file mode 100644
index d6b7ef3..0000000
--- a/storage/framework/views/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/storage/logs/.gitignore b/storage/logs/.gitignore
deleted file mode 100644
index d6b7ef3..0000000
--- a/storage/logs/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/test/application_system_test_case.rb b/test/application_system_test_case.rb
new file mode 100644
index 0000000..d19212a
--- /dev/null
+++ b/test/application_system_test_case.rb
@@ -0,0 +1,5 @@
+require "test_helper"
+
+class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
+ driven_by :selenium, using: :chrome, screen_size: [1400, 1400]
+end
diff --git a/test/controllers/.keep b/test/controllers/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/controllers/.keep
diff --git a/test/fixtures/files/.keep b/test/fixtures/files/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/fixtures/files/.keep
diff --git a/test/helpers/.keep b/test/helpers/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/helpers/.keep
diff --git a/test/integration/.keep b/test/integration/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/integration/.keep
diff --git a/test/models/.keep b/test/models/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/models/.keep
diff --git a/test/system/.keep b/test/system/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/system/.keep
diff --git a/test/test_helper.rb b/test/test_helper.rb
new file mode 100644
index 0000000..950b83f
--- /dev/null
+++ b/test/test_helper.rb
@@ -0,0 +1,15 @@
+ENV["RAILS_ENV"] ||= "test"
+require_relative "../config/environment"
+require "rails/test_help"
+
+module ActiveSupport
+ class TestCase
+ # Run tests in parallel with specified workers
+ parallelize(workers: :number_of_processors, with: :threads)
+
+ # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
+ fixtures :all
+
+ # Add more helper methods to be used by all tests here...
+ end
+end
diff --git a/tests/CreatesApplication.php b/tests/CreatesApplication.php
deleted file mode 100644
index cc68301..0000000
--- a/tests/CreatesApplication.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-namespace Tests;
-
-use Illuminate\Contracts\Console\Kernel;
-use Illuminate\Foundation\Application;
-
-trait CreatesApplication
-{
- /**
- * Creates the application.
- */
- public function createApplication(): Application
- {
- $app = require __DIR__.'/../bootstrap/app.php';
-
- $app->make(Kernel::class)->bootstrap();
-
- return $app;
- }
-}
diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php
deleted file mode 100644
index 8364a84..0000000
--- a/tests/Feature/ExampleTest.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-namespace Tests\Feature;
-
-// use Illuminate\Foundation\Testing\RefreshDatabase;
-use Tests\TestCase;
-
-class ExampleTest extends TestCase
-{
- /**
- * A basic test example.
- */
- public function test_the_application_returns_a_successful_response(): void
- {
- $response = $this->get('/');
-
- $response->assertStatus(200);
- }
-}
diff --git a/tests/TestCase.php b/tests/TestCase.php
deleted file mode 100644
index 2932d4a..0000000
--- a/tests/TestCase.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-namespace Tests;
-
-use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
-
-abstract class TestCase extends BaseTestCase
-{
- use CreatesApplication;
-}
diff --git a/tests/Unit/ExampleTest.php b/tests/Unit/ExampleTest.php
deleted file mode 100644
index 5773b0c..0000000
--- a/tests/Unit/ExampleTest.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-namespace Tests\Unit;
-
-use PHPUnit\Framework\TestCase;
-
-class ExampleTest extends TestCase
-{
- /**
- * A basic test example.
- */
- public function test_that_true_is_true(): void
- {
- $this->assertTrue(true);
- }
-}
diff --git a/tmp/.keep b/tmp/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tmp/.keep
diff --git a/tmp/pids/.keep b/tmp/pids/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tmp/pids/.keep
diff --git a/tmp/storage/.keep b/tmp/storage/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tmp/storage/.keep
diff --git a/vendor/.keep b/vendor/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/vendor/.keep
diff --git a/vendor/javascript/.keep b/vendor/javascript/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/vendor/javascript/.keep
diff --git a/vite.config.js b/vite.config.js
deleted file mode 100644
index 421b569..0000000
--- a/vite.config.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import { defineConfig } from 'vite';
-import laravel from 'laravel-vite-plugin';
-
-export default defineConfig({
- plugins: [
- laravel({
- input: ['resources/css/app.css', 'resources/js/app.js'],
- refresh: true,
- }),
- ],
-});