aboutsummaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorfloppydiskette <floppydisk@hyprcat.net>2024-09-13 12:58:12 +0100
committerfloppydiskette <floppydisk@hyprcat.net>2024-09-13 12:59:16 +0100
commit2c3400fb4f5a22951d42f286975201bf817d7883 (patch)
treea08b06f5f6d5df4f6774da7645d85418609a4cf2 /config
parentd8915dcca4d9752f6f254e86afa39ef7f83617d1 (diff)
wronglucky
Diffstat (limited to 'config')
-rw-r--r--config/app.php34
-rw-r--r--config/application.cr24
-rw-r--r--config/auth.php115
-rw-r--r--config/authentic.cr11
-rw-r--r--config/bookmarks.php117
-rw-r--r--config/broadcasting.php44
-rw-r--r--config/cache.php111
-rw-r--r--config/colors.cr4
-rw-r--r--config/cookies.cr25
-rw-r--r--config/cors.php34
-rw-r--r--config/database.cr29
-rw-r--r--config/database.php31
-rw-r--r--config/domain.php27
-rw-r--r--config/email.cr26
-rw-r--r--config/env.cr33
-rw-r--r--config/error_handler.cr3
-rw-r--r--config/filesystems.php76
-rw-r--r--config/hashing.php17
-rw-r--r--config/html_page.cr3
-rw-r--r--config/log.cr50
-rw-r--r--config/logging.php93
-rw-r--r--config/mail.php125
-rw-r--r--config/projects.php71
-rw-r--r--config/queue.php109
-rw-r--r--config/quotes.php957
-rw-r--r--config/route_helper.cr10
-rw-r--r--config/sentry.php108
-rw-r--r--config/server.cr65
-rw-r--r--config/services.php25
-rw-r--r--config/session.php201
-rw-r--r--config/view.php36
-rw-r--r--config/watch.yml3
32 files changed, 286 insertions, 2331 deletions
diff --git a/config/app.php b/config/app.php
deleted file mode 100644
index 72e11a5..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.08.30',
- '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.cr b/config/application.cr
new file mode 100644
index 0000000..c807149
--- /dev/null
+++ b/config/application.cr
@@ -0,0 +1,24 @@
+# This file may be used for custom Application configurations.
+# It will be loaded before other config files.
+#
+# Read more on configuration:
+# https://luckyframework.org/guides/getting-started/configuration#configuring-your-own-code
+
+# Use this code as an example:
+#
+# ```
+# module Application
+# Habitat.create do
+# setting support_email : String
+# setting lock_with_basic_auth : Bool
+# end
+# end
+#
+# Application.configure do |settings|
+# settings.support_email = "support@myapp.io"
+# settings.lock_with_basic_auth = LuckyEnv.staging?
+# end
+#
+# # In your application, call
+# # `Application.settings.support_email` anywhere you need it.
+# ```
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/authentic.cr b/config/authentic.cr
new file mode 100644
index 0000000..b9efc31
--- /dev/null
+++ b/config/authentic.cr
@@ -0,0 +1,11 @@
+require "./server"
+
+Authentic.configure do |settings|
+ settings.secret_key = Lucky::Server.settings.secret_key_base
+
+ unless LuckyEnv.production?
+ # This value can be between 4 and 31
+ fastest_encryption_possible = 4
+ settings.encryption_cost = fastest_encryption_possible
+ end
+end
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/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/colors.cr b/config/colors.cr
new file mode 100644
index 0000000..761ae94
--- /dev/null
+++ b/config/colors.cr
@@ -0,0 +1,4 @@
+# This enables the color output when in development or test
+# Check out the Colorize docs for more information
+# https://crystal-lang.org/api/Colorize.html
+Colorize.enabled = LuckyEnv.development? || LuckyEnv.test?
diff --git a/config/cookies.cr b/config/cookies.cr
new file mode 100644
index 0000000..8db93eb
--- /dev/null
+++ b/config/cookies.cr
@@ -0,0 +1,25 @@
+require "./server"
+
+Lucky::Session.configure do |settings|
+ settings.key = "_diskfloppydotme_session"
+end
+
+Lucky::CookieJar.configure do |settings|
+ settings.on_set = ->(cookie : HTTP::Cookie) {
+ # If ForceSSLHandler is enabled, only send cookies over HTTPS
+ cookie.secure(Lucky::ForceSSLHandler.settings.enabled)
+
+ # By default, don't allow reading cookies with JavaScript
+ cookie.http_only(true)
+
+ # Restrict cookies to a first-party or same-site context
+ cookie.samesite(:lax)
+
+ # Set all cookies to the root path by default
+ cookie.path("/")
+
+ # You can set other defaults for cookies here. For example:
+ #
+ # cookie.expires(1.year.from_now).domain("mydomain.com")
+ }
+end
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/database.cr b/config/database.cr
new file mode 100644
index 0000000..ac60f1a
--- /dev/null
+++ b/config/database.cr
@@ -0,0 +1,29 @@
+database_name = "diskfloppydotme_#{LuckyEnv.environment}"
+
+AppDatabase.configure do |settings|
+ if LuckyEnv.production?
+ settings.credentials = Avram::Credentials.parse(ENV["DATABASE_URL"])
+ else
+ settings.credentials = Avram::Credentials.parse?(ENV["DATABASE_URL"]?) || Avram::Credentials.new(
+ database: database_name,
+ hostname: ENV["DB_HOST"]? || "localhost",
+ port: ENV["DB_PORT"]?.try(&.to_i) || 5432,
+ # Some common usernames are "postgres", "root", or your system username (run 'whoami')
+ username: ENV["DB_USERNAME"]? || "postgres",
+ # Some Postgres installations require no password. Use "" if that is the case.
+ password: ENV["DB_PASSWORD"]? || "postgres"
+ )
+ end
+end
+
+Avram.configure do |settings|
+ settings.database_to_migrate = AppDatabase
+
+ # In production, allow lazy loading (N+1).
+ # In development and test, raise an error if you forget to preload associations
+ settings.lazy_load_enabled = LuckyEnv.production?
+
+ # Always parse `Time` values with these specific formats.
+ # Used for both database values, and datetime input fields.
+ # settings.time_formats << "%F"
+end
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/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/email.cr b/config/email.cr
new file mode 100644
index 0000000..7c87544
--- /dev/null
+++ b/config/email.cr
@@ -0,0 +1,26 @@
+require "carbon_sendgrid_adapter"
+
+BaseEmail.configure do |settings|
+ if LuckyEnv.production?
+ # If you don't need to send emails, set the adapter to DevAdapter instead:
+ #
+ # settings.adapter = Carbon::DevAdapter.new
+ #
+ # If you do need emails, get a key from SendGrid and set an ENV variable
+ send_grid_key = send_grid_key_from_env
+ settings.adapter = Carbon::SendGridAdapter.new(api_key: send_grid_key)
+ elsif LuckyEnv.development?
+ settings.adapter = Carbon::DevAdapter.new(print_emails: true)
+ else
+ settings.adapter = Carbon::DevAdapter.new
+ end
+end
+
+private def send_grid_key_from_env
+ ENV["SEND_GRID_KEY"]? || raise_missing_key_message
+end
+
+private def raise_missing_key_message
+ puts "Missing SEND_GRID_KEY. Set the SEND_GRID_KEY env variable to 'unused' if not sending emails, or set the SEND_GRID_KEY ENV var.".colorize.red
+ exit(1)
+end
diff --git a/config/env.cr b/config/env.cr
new file mode 100644
index 0000000..3f36407
--- /dev/null
+++ b/config/env.cr
@@ -0,0 +1,33 @@
+# Environments are managed using `LuckyEnv`. By default, development, production
+# and test are supported. See
+# https://luckyframework.org/guides/getting-started/configuration for details.
+#
+# The default environment is development unless the environment variable
+# LUCKY_ENV is set.
+#
+# Example:
+# ```
+# LuckyEnv.environment # => "development"
+# LuckyEnv.development? # => true
+# LuckyEnv.production? # => false
+# LuckyEnv.test? # => false
+# ```
+#
+# New environments can be added using the `LuckyEnv.add_env` macro.
+#
+# Example:
+# ```
+# LuckyEnv.add_env :staging
+# LuckyEnv.staging? # => false
+# ```
+#
+# To determine whether or not a `LuckyTask` is currently running, you can use
+# the `LuckyEnv.task?` predicate.
+#
+# Example:
+# ```
+# LuckyEnv.task? # => false
+# ```
+
+# Add a staging environment.
+# LuckyEnv.add_env :staging
diff --git a/config/error_handler.cr b/config/error_handler.cr
new file mode 100644
index 0000000..c6b736e
--- /dev/null
+++ b/config/error_handler.cr
@@ -0,0 +1,3 @@
+Lucky::ErrorHandler.configure do |settings|
+ settings.show_debug_output = !LuckyEnv.production?
+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/html_page.cr b/config/html_page.cr
new file mode 100644
index 0000000..dca168e
--- /dev/null
+++ b/config/html_page.cr
@@ -0,0 +1,3 @@
+Lucky::HTMLPage.configure do |settings|
+ settings.render_component_comments = !LuckyEnv.production?
+end
diff --git a/config/log.cr b/config/log.cr
new file mode 100644
index 0000000..225d25c
--- /dev/null
+++ b/config/log.cr
@@ -0,0 +1,50 @@
+require "file_utils"
+
+if LuckyEnv.test?
+ # Logs to `tmp/test.log` so you can see what's happening without having
+ # a bunch of log output in your spec results.
+ FileUtils.mkdir_p("tmp")
+
+ backend = Log::IOBackend.new(File.new("tmp/test.log", mode: "w"))
+ backend.formatter = Lucky::PrettyLogFormatter.proc
+ Log.dexter.configure(:debug, backend)
+elsif LuckyEnv.production?
+ # Lucky uses JSON in production so logs can be searched more easily
+ #
+ # If you want logs like in develpoment use 'Lucky::PrettyLogFormatter.proc'.
+ backend = Log::IOBackend.new
+ backend.formatter = Dexter::JSONLogFormatter.proc
+ Log.dexter.configure(:info, backend)
+else
+ # Use a pretty formatter printing to STDOUT in development
+ backend = Log::IOBackend.new
+ backend.formatter = Lucky::PrettyLogFormatter.proc
+ Log.dexter.configure(:debug, backend)
+ DB::Log.level = :info
+end
+
+# Lucky only logs when before/after pipes halt by redirecting, or rendering a
+# response. Pipes that run without halting are not logged.
+#
+# If you want to log every pipe that runs, set the log level to ':info'
+Lucky::ContinuedPipeLog.dexter.configure(:none)
+
+# Lucky only logs failed queries by default.
+#
+# Set the log to ':info' to log all queries
+Avram::QueryLog.dexter.configure(:none)
+
+# Subscribe to Pulsar events to log when queries are made,
+# queries fail, or save operations fail. Remove this to
+# disable these log events without disabling all logging.
+Avram.initialize_logging
+
+# Skip logging static assets requests in development
+Lucky::LogHandler.configure do |settings|
+ if LuckyEnv.development?
+ settings.skip_if = ->(context : HTTP::Server::Context) {
+ context.request.method.downcase == "get" &&
+ context.request.resource.starts_with?(/\/css\/|\/js\/|\/assets\/|\/favicon\.ico/)
+ }
+ end
+end
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/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/route_helper.cr b/config/route_helper.cr
new file mode 100644
index 0000000..ede1f32
--- /dev/null
+++ b/config/route_helper.cr
@@ -0,0 +1,10 @@
+# This is used when generating URLs for your application
+Lucky::RouteHelper.configure do |settings|
+ if LuckyEnv.production?
+ # Example: https://my_app.com
+ settings.base_uri = ENV.fetch("APP_DOMAIN")
+ else
+ # Set domain to the default host/port in development/test
+ settings.base_uri = "http://localhost:#{Lucky::ServerSettings.port}"
+ end
+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/server.cr b/config/server.cr
new file mode 100644
index 0000000..8ed58de
--- /dev/null
+++ b/config/server.cr
@@ -0,0 +1,65 @@
+# Here is where you configure the Lucky server
+#
+# Look at config/route_helper.cr if you want to change the domain used when
+# generating links with `Action.url`.
+Lucky::Server.configure do |settings|
+ if LuckyEnv.production?
+ settings.secret_key_base = secret_key_from_env
+ settings.host = "0.0.0.0"
+ settings.port = ENV["PORT"].to_i
+ settings.gzip_enabled = true
+ # By default certain content types will be gzipped.
+ # For a full list look in
+ # https://github.com/luckyframework/lucky/blob/main/src/lucky/server.cr
+ # To add additional extensions do something like this:
+ # settings.gzip_content_types << "content/type"
+ else
+ settings.secret_key_base = "ldNN2xc+lugplW75tBMdqikv+4ssY4v7bwdTx1FmK0U="
+ # Change host/port in config/watch.yml
+ # Alternatively, you can set the DEV_PORT env to set the port for local development
+ settings.host = Lucky::ServerSettings.host
+ settings.port = Lucky::ServerSettings.port
+ end
+
+ # By default Lucky will serve static assets in development and production.
+ #
+ # However you could use a CDN when in production like this:
+ #
+ # Lucky::Server.configure do |settings|
+ # if LuckyEnv.production?
+ # settings.asset_host = "https://mycdnhost.com"
+ # else
+ # settings.asset_host = ""
+ # end
+ # end
+ settings.asset_host = "" # Lucky will serve assets
+end
+
+Lucky::ForceSSLHandler.configure do |settings|
+ # To force SSL in production, uncomment the lines below.
+ # This will cause http requests to be redirected to https:
+ #
+ # settings.enabled = LuckyEnv.production?
+ # settings.strict_transport_security = {max_age: 1.year, include_subdomains: true}
+ #
+ # Or, leave it disabled:
+ settings.enabled = false
+end
+
+# Set a unique ID for each HTTP request.
+# To enable the request ID, uncomment the lines below.
+# You can set your own custom String, or use a random UUID.
+# Lucky::RequestIdHandler.configure do |settings|
+# settings.set_request_id = ->(context : HTTP::Server::Context) {
+# UUID.random.to_s
+# }
+# end
+
+private def secret_key_from_env
+ ENV["SECRET_KEY_BASE"]? || raise_missing_secret_key_in_production
+end
+
+private def raise_missing_secret_key_in_production
+ puts "Please set the SECRET_KEY_BASE environment variable. You can generate a secret key with 'lucky gen.secret_key'".colorize.red
+ exit(1)
+end
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/config/watch.yml b/config/watch.yml
new file mode 100644
index 0000000..3a59b41
--- /dev/null
+++ b/config/watch.yml
@@ -0,0 +1,3 @@
+host: 127.0.0.1
+port: 3000
+reload_port: 3001