mirror of
https://github.com/LinkStackOrg/LinkStack.git
synced 2025-02-16 20:11:01 +01:00
Added advanced config
See https://littlelink-custom.com/blog/littlelink-custom-got-more-custom/
This commit is contained in:
commit
b7166119ef
288
config/advanced-config.php.example
Normal file
288
config/advanced-config.php.example
Normal file
@ -0,0 +1,288 @@
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
$analytics =
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Analytics
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Add external analytics services to your LittleLink Custom instance by adding them below.
|
||||
| Everything you enter below will be added to the <head> tag of every page.
|
||||
| Formatting in plain HTML is expected.
|
||||
|
|
||||
*/
|
||||
|
||||
<<<EOD
|
||||
<!----------Insert your analytics code here:---------->
|
||||
|
||||
<!-- Global Site Tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=TRACKING_ID"></script>
|
||||
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'TRACKING_ID');
|
||||
</script>
|
||||
|
||||
<!--------------------------------------------------->
|
||||
EOD;;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default source repository type
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Will only be active if "CUSTOM_META_TAGS" is set to "true" in the config.
|
||||
| These tags will only be applied to the home page or if a LittleLink page
|
||||
| is set as the homepage in the config (for example: HOME_URL="admin").
|
||||
|
|
||||
| Empty entries will be ignored.
|
||||
|
|
||||
*/
|
||||
|
||||
'lang' => 'en', // Sets <html lang="en">
|
||||
'title' => 'Title', // Overrides the default meta page title. Leave empty to use your LittleLink page title as the title.
|
||||
'description' => 'This is a description', // Overrides the default meta page description. Leave empty to use your LittleLink page description as the description.
|
||||
'robots' => 'index,follow',
|
||||
'viewport' => 'width=device-width, initial-scale=1',
|
||||
'canonical_url' => 'https://example.com', // Tells search engines to index "https://example.com/" instead of "https://example.com/@admin", for example.
|
||||
'twitter_creator' => '@elonmusk', // Twitter @username. For example: "@elonmusk".
|
||||
'author' => 'Julian Prieber', // Your name.
|
||||
|
||||
|
||||
/*
|
||||
| All settings below are always active
|
||||
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
*/
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Additional settings
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Empty entries will be ignored.
|
||||
|
|
||||
*/
|
||||
|
||||
|
||||
// Overwrites default theme regardless of preference defined by the operating system, unless manually overwritten by user.
|
||||
'theme' => 'light', // Either "dark" or "light".
|
||||
|
||||
|
||||
// Overwrites default theme regardless of preference defined by the operating system, unless manually overwritten by user.
|
||||
// Overwrites default page title after the LittleLink name on LittleLink pages.
|
||||
// Example: "admin 🔗 LittleLink Custom"
|
||||
// ⤌------------------⤍
|
||||
// ⬑ What you can change with this setting.
|
||||
'littlelink_title' => '💡 Little CustomLink',
|
||||
|
||||
|
||||
// Either "true", "false" or "auth".
|
||||
// If "auth" is selected, the share button will only be shown to users on their own page.
|
||||
'display_share_button' => 'true',
|
||||
|
||||
|
||||
// Do not change here!
|
||||
'analytics' => $analytics, // Set on top of page.
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| You can change routes to improve security.
|
||||
|
|
||||
*/
|
||||
|
||||
'login_url' => '/login',
|
||||
'register_url' => '/register',
|
||||
'forgot_password_url' => '/forgot-password',
|
||||
|
||||
'custom_home_url' => '/home', // Only applies if you set a "HOME_URL" in the config.
|
||||
|
||||
// If 'true' the Home Page will be disabled entirely.
|
||||
// You will still be able to login on the login page etc.
|
||||
'disable_home_page' => 'false', // Either 'true', 'false' or 'redirect'.
|
||||
'redirect_home_page' => 'https://littlelink-custom.com', // Only active if value above is set to 'redirect'.
|
||||
|
||||
// The URL prefix is the symbol that comes before a LittleLink URL.
|
||||
// For example the '@' in 'example.com/@admin'.
|
||||
// If empty no prefix is required. Use with caution.
|
||||
'custom_url_prefix' => '✅', // The '@' prefix will always work regardless of this setting.
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Footer links
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Footer links are the links that are displayed on the bottom of your page, reading: "Home, Terms, Privacy, Contact".
|
||||
| You can toggle each individual link on or off.
|
||||
| You can also set a custom URL for the "Home" link.
|
||||
|
|
||||
*/
|
||||
|
||||
// Either "true" or "false".
|
||||
'display_link_home' => 'true',
|
||||
'display_link_terms' => 'true',
|
||||
'display_link_privacy' => 'true',
|
||||
'display_link_contact' => 'true',
|
||||
|
||||
// Enter a custom home link (for example, 'https://littlelink-custom.com').
|
||||
'custom_link_home' => 'https://littlelink-custom.com', // Leave empty to use default value.
|
||||
// Changes the text on the "Home" link.
|
||||
'custom_text_home' => 'Custom Text', // Leave empty to use default value.
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Home Page settings
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| To change footer text on the Home Page, set the setting 'footer' to your preference.
|
||||
|
|
||||
| The footer text is the towards the bottom of the Home Page that reads: "and X other buttons ..."
|
||||
|
|
||||
| Depending on the amount of buttons on your Home Page, you might want to change this text.
|
||||
|
|
||||
| 'default' -> Uses default text.
|
||||
| 'alt' -> Displays an alternative version based on the Button Editor.
|
||||
| 'custom' -> Displays your custom text defined with 'custom_footer_text'.
|
||||
| 'false' -> Removes the footer.
|
||||
|
|
||||
*/
|
||||
|
||||
'home_footer' => 'custom', // Either 'default', 'alt', 'custom' or 'false'.
|
||||
|
||||
// You can enter plain text or HTML into this field.
|
||||
// You can use "{year}" as a placeholder for the current year.
|
||||
// So "©{year}" would output "©2033" (or whatever the current year is).
|
||||
'custom_home_footer_text' => '© Copyright {year} - All Rights Reserved',
|
||||
|
||||
|
||||
// Apply a theme to your Home Page.
|
||||
// Some themes are not compatible with the Home Page. Use at your own discretion.
|
||||
// Enter the name of a theme located in your "themes" folder (for example, 'galaxy').
|
||||
'home_theme' => 'galaxy', // Leave empty or enter 'default' to use the default theme.
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Buttons on Home Page
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you can configure your own buttons for the Home Page.
|
||||
| You can add or remove as many buttons as you like.
|
||||
|
|
||||
| The syntax of the custom buttons is as follows:
|
||||
|
|
||||
| array(
|
||||
| 'button' => '',
|
||||
| 'link' => '',
|
||||
| 'title' => '',
|
||||
| 'icon' => '',
|
||||
| 'custom_css' => ''
|
||||
| ),
|
||||
|
|
||||
| In the 'button' field, you have to enter the button name (i.e. 'twitter', 'github', 'custom'...).
|
||||
| You can find a list of all available buttons below.
|
||||
|
|
||||
| In the 'link' field, you can enter your desired link you may leave this field empty for a display only, non-functional button.
|
||||
|
|
||||
|
|
||||
|
|
||||
| The input fields below only apply to buttons such as 'custom' and 'custom_website' but must always be included even if only empty.
|
||||
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
|
||||
| In the 'title' field, changes the text on a button, such as 'custom' and 'custom_website'.
|
||||
|
|
||||
| In the 'icon' field, uses the same syntax as the Button Editor on the Admin Panel.
|
||||
| This allows you to add your own icons to 'custom' buttons. You can find a list of available icons on llc.bio/fa.
|
||||
|
|
||||
| In the 'custom_css' field, here you can enter custom CSS to change the color of your button.
|
||||
| If you don't feel comfortable working with CSS,
|
||||
| you can copy and paste the CSS from the 'Custom CSS' field of the Button Editor on the Admin Panel.
|
||||
|
|
||||
*/
|
||||
|
||||
'use_custom_buttons' => 'true', // Set this to false if you wish to display the old buttons.
|
||||
|
||||
'buttons' => array(
|
||||
array(
|
||||
'button' => 'github',
|
||||
'link' => 'https://github.com/JulianPrieber/littlelink-custom',
|
||||
'title' => '',
|
||||
'icon' => '',
|
||||
'custom_css' => ''
|
||||
),
|
||||
array(
|
||||
'button' => 'custom',
|
||||
'link' => 'https://littlelink-custom.com',
|
||||
'title' => 'Project Website',
|
||||
'icon' => 'llc',
|
||||
'custom_css' => 'color:#ffffff; background-image:linear-gradient(76deg, #f70fff 0%, #11d4de 100%);'),
|
||||
array(
|
||||
'button' => 'custom',
|
||||
'link' => 'https://littlelink-custom.com/sponsor',
|
||||
'title' => 'Help us out',
|
||||
'icon' => 'fa-hand-holding-hand',
|
||||
'custom_css' => 'color:#ffffff; background-image:radial-gradient(circle, #00d2ff 0%, #3a7bd5 95%);'
|
||||
),
|
||||
)
|
||||
|
||||
/*
|
||||
|--------------------------------|
|
||||
| List of Available buttons: |
|
||||
|--------------------------------|
|
||||
| 'button' => 'custom' |
|
||||
| 'button' => 'custom_website' |
|
||||
| 'button' => 'github' |
|
||||
| 'button' => 'twitter' |
|
||||
| 'button' => 'instagram' |
|
||||
| 'button' => 'facebook' |
|
||||
| 'button' => 'messenger' |
|
||||
| 'button' => 'linkedin' |
|
||||
| 'button' => 'youtube' |
|
||||
| 'button' => 'discord' |
|
||||
| 'button' => 'twitch' |
|
||||
| 'button' => 'snapchat' |
|
||||
| 'button' => 'spotify' |
|
||||
| 'button' => 'reddit' |
|
||||
| 'button' => 'medium' |
|
||||
| 'button' => 'pinterest' |
|
||||
| 'button' => 'soundcloud' |
|
||||
| 'button' => 'figma' |
|
||||
| 'button' => 'kit' |
|
||||
| 'button' => 'telegram' |
|
||||
| 'button' => 'tumblr' |
|
||||
| 'button' => 'steam' |
|
||||
| 'button' => 'vimeo' |
|
||||
| 'button' => 'wordpress' |
|
||||
| 'button' => 'goodreads' |
|
||||
| 'button' => 'skoob' |
|
||||
| 'button' => 'tiktok' |
|
||||
| 'button' => 'default email' |
|
||||
| 'button' => 'default email_alt'|
|
||||
| 'button' => 'bandcamp' |
|
||||
| 'button' => 'patreon' |
|
||||
| 'button' => 'signal' |
|
||||
| 'button' => 'venmo' |
|
||||
| 'button' => 'cashapp' |
|
||||
| 'button' => 'gitlab' |
|
||||
| 'button' => 'mastodon' |
|
||||
| 'button' => 'paypal' |
|
||||
| 'button' => 'whatsapp' |
|
||||
| 'button' => 'xing' |
|
||||
| 'button' => 'buy me a coffee' |
|
||||
| 'button' => 'website' |
|
||||
| 'button' => 'heading' |
|
||||
| 'button' => 'space' |
|
||||
|--------------------------------|
|
||||
*/
|
||||
|
||||
];
|
1
littlelink/icons/llc.svg
Normal file
1
littlelink/icons/llc.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 54 KiB |
@ -1,15 +1,30 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
@include('layouts.lang')
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
@include('layouts.analytics')
|
||||
|
||||
@if(env('CUSTOM_META_TAGS') == 'true' and config('advanced-config.title') != '')
|
||||
<title>{{ config('advanced-config.title') }}</title>
|
||||
@else
|
||||
<title>{{ config('app.name') }}</title>
|
||||
@endif
|
||||
|
||||
<?php $cleaner_input = strip_tags($message->home_message); ?>
|
||||
|
||||
@if(env('CUSTOM_META_TAGS') == 'true')
|
||||
@include('layouts.meta')
|
||||
@else
|
||||
<meta name="description" content="{{ $cleaner_input }}">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
@endif
|
||||
|
||||
<!-- Custom icons font-awesome -->
|
||||
<script src="https://kit.fontawesome.com/c4a5e06183.js" crossorigin="anonymous"></script>
|
||||
|
||||
<link href="//fonts.googleapis.com/css?family=Open+Sans:400,600,800&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/normalize.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/brands.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/hover-min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/animate.css') }}">
|
||||
@if(file_exists(base_path("littlelink/images/avatar.png" )))
|
||||
<link rel="icon" type="image/png" href="{{ asset('littlelink/images/avatar.png') }}">
|
||||
@ -17,21 +32,63 @@
|
||||
<link rel="icon" type="image/svg+xml" href="{{ asset('littlelink/images/logo.svg') }}">
|
||||
@endif
|
||||
|
||||
{{-- custom font for logo text --}}
|
||||
<style>@font-face{font-family:'ll';src:url({{ asset('littlelink/fonts/littlelink-custom.otf') }}) format("opentype")}</style>
|
||||
@if(config('advanced-config.home_theme') != '' and config('advanced-config.home_theme') != 'default')
|
||||
|
||||
<!-- LittleLink Custom Theme: "{{config('advanced-config.home_theme')}}" -->
|
||||
|
||||
<link rel="stylesheet" href="themes/{{config('advanced-config.home_theme')}}/brands.css">
|
||||
<link rel="stylesheet" href="themes/{{config('advanced-config.home_theme')}}/skeleton-auto.css">
|
||||
@if(file_exists(base_path('themes/' . config('advanced-config.home_theme') . '/animations.css')))
|
||||
<link rel="stylesheet" href="<?php echo asset('themes/' . config('advanced-config.home_theme') . '/animations.css') ?>">
|
||||
@else
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/animations.css') }}">
|
||||
@endif
|
||||
|
||||
@else
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/brands.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/animations.css') }}">
|
||||
<?php // override dark/light mode if override cookie is set
|
||||
$color_scheme_override = isset($_COOKIE["color_scheme_override"]) ? $_COOKIE["color_scheme_override"] : false; ?>
|
||||
@if ($color_scheme_override == 'dark')
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-dark.css') }}">
|
||||
@elseif ($color_scheme_override == 'light')
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-light.css') }}">
|
||||
@elseif (config('advanced-config.theme') == 'dark')
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-dark.css') }}">
|
||||
@elseif (config('advanced-config.theme') == 'light')
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-light.css') }}">
|
||||
@else
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-auto.css') }}">
|
||||
@endif
|
||||
@endif
|
||||
|
||||
{{-- custom font for logo text --}}
|
||||
<style>@font-face{font-family:'ll';src:url({{ asset('littlelink/fonts/littlelink-custom.otf') }}) format("opentype")}</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@if(config('advanced-config.home_theme') != '' and config('advanced-config.home_theme') != 'default')
|
||||
<!-- Enables parallax background animations -->
|
||||
<div class="background-container">
|
||||
<section class="parallax-background">
|
||||
<div id="object1" class="object1"></div>
|
||||
<div id="object2" class="object2"></div>
|
||||
<div id="object3" class="object3"></div>
|
||||
<div id="object4" class="object4"></div>
|
||||
<div id="object5" class="object5"></div>
|
||||
<div id="object6" class="object6"></div>
|
||||
<div id="object7" class="object7"></div>
|
||||
<div id="object8" class="object8"></div>
|
||||
<div id="object9" class="object9"></div>
|
||||
<div id="object10" class="object10"></div>
|
||||
<div id="object11" class="object11"></div>
|
||||
<div id="object12" class="object12"></div>
|
||||
</section>
|
||||
</div>
|
||||
<!-- End of parallax background animations -->
|
||||
@endif
|
||||
|
||||
<?php
|
||||
$pages = DB::table('pages')->get();
|
||||
foreach($pages as $page)
|
||||
@ -76,14 +133,56 @@ foreach($pages as $page)
|
||||
<?php echo $message->home_message; ?>
|
||||
</div>
|
||||
|
||||
<?php $initial=1; // <-- Effectively sets the initial loading time of the buttons. This value should be left at 1. ?>
|
||||
|
||||
<!-- Buttons -->
|
||||
<?php $initial=1; // <-- Effectively sets the initial loading time of the buttons. This value should be left at 1. ?>
|
||||
@if(config('advanced-config.use_custom_buttons') == 'true')
|
||||
<?php $array = config('advanced-config.buttons'); ?>
|
||||
@foreach($array as $button)
|
||||
@php $linkName = str_replace('default ','',$button['button']) @endphp
|
||||
@if($button['button'] === "custom" and $button['custom_css'] === "" or $button['custom_css'] === "NULL")
|
||||
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-{{ $button['button'] }} button button-hover icon-hover" @if($button['link'] != '') href="{{ $button['link'] }}" target="_blank"@endif>@if($button['icon'] == 'llc')<img alt="button-icon" class="icon hvr-icon" src="{{ asset('\/littlelink/icons\/')}}llc.svg">@else<i style="color: {{ $button['icon'] }}" class="icon hvr-icon fa {{ $button['icon'] }}"></i>@endif{{ $button['title'] }}</a></div>
|
||||
@elseif($button['button'] === "custom" and $button['custom_css'] != "")
|
||||
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-hover icon-hover" style="{{ $button['custom_css'] }}" @if($button['link'] != '') href="{{ $button['link'] }}" target="_blank"@endif>@if($button['icon'] == 'llc')<img alt="button-icon" class="icon hvr-icon" src="{{ asset('\/littlelink/icons\/')}}llc.svg">@else<i style="color: {{ $button['icon'] }}" class="icon hvr-icon fa {{ $button['icon'] }}"></i>@endif{{ $button['title'] }}</a></div>
|
||||
@elseif($button['button'] === "buy me a coffee")
|
||||
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-coffee button button-hover icon-hover" @if($button['link'] != '') href="{{ $button['link'] }}" target="_blank"@endif><img alt="button-icon" class="icon hvr-icon" src="{{ asset('\/littlelink/icons\/')}}coffee.svg">Buy me a Coffee</a></div>
|
||||
@elseif($button['button'] === "custom_website"and $button['custom_css'] === "" or $button['custom_css'] === "NULL")
|
||||
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-custom_website button button-hover icon-hover" @if($button['link'] != '') href="{{ $button['link'] }}" target="_blank"@endif><img alt="button-icon" class="icon hvr-icon" src="http://www.google.com/s2/favicons?domain={{$link->link}}">{{ $button['title'] }}</a></div>
|
||||
@elseif($button['button'] === "custom_website" and $button['custom_css'] != "")
|
||||
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-hover icon-hover" style="{{ $button['custom_css'] }}" @if($button['link'] != '') href="{{ $button['link'] }}" target="_blank"@endif><img alt="button-icon" class="icon hvr-icon" src="http://www.google.com/s2/favicons?domain={{$link->link}}">{{ $button['title'] }}</a></div>
|
||||
@elseif($button['button'] === "space")
|
||||
<?php
|
||||
if (is_numeric($button['title']) and $button['title'] < 10)
|
||||
echo str_repeat("<br>",$button['title']);
|
||||
elseif (is_numeric($button['title']) and $button['title'] >= 10)
|
||||
echo str_repeat("<br>",10);
|
||||
else
|
||||
echo "<br><br><br>"
|
||||
?>
|
||||
@elseif($button['button'] === "heading")
|
||||
<h2>{{ $button['title'] }}</h2>
|
||||
@else
|
||||
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-{{ $button['button'] }} button button-hover icon-hover" @if($button['link'] != '') href="{{ $button['link'] }}" target="_blank"@endif><img alt="button-icon" class="icon hvr-icon" src="{{ asset('\/littlelink/icons\/') . $linkName }}.svg">{{ ucfirst($linkName) }}</a></div>
|
||||
@endif
|
||||
@endforeach
|
||||
@else
|
||||
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><div class="button button-github button hvr-grow hvr-icon-wobble-vertical"><img alt="button-icon" class="icon hvr-icon" src="{{ asset('littlelink/icons/github.svg') }}">Github</div></div>
|
||||
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><div class="button button-twitter button hvr-grow hvr-icon-wobble-vertical"><img alt="button-icon" class="icon hvr-icon" src="{{ asset('littlelink/icons/twitter.svg') }}">Twitter</div></div>
|
||||
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><div class="button button-instagram button hvr-grow hvr-icon-wobble-vertical"><img alt="button-icon" class="icon hvr-icon" src="{{ asset('littlelink/icons/instagram.svg') }}">Instagram</div></div>
|
||||
@endif
|
||||
</br></br>
|
||||
|
||||
<div class="fadein">
|
||||
@if(config('advanced-config.home_footer') == 'custom')
|
||||
<p><?php $year = date("Y"); echo strtr(config('advanced-config.custom_home_footer_text'), array('{year}' => $year)); ?></p>
|
||||
@elseif(config('advanced-config.home_footer') == 'alt')
|
||||
<p><i style="position:relative;top:1px;" class="fa-solid fa-infinity"></i> - Button combinations</p>
|
||||
@elseif(config('advanced-config.home_footer') == 'false')
|
||||
@else
|
||||
<p>and {{ $countButton - 3 }} other buttons ...</p>
|
||||
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<hr class="my-4" style="display:none">
|
||||
|
||||
<p style="display:none">updated pages</p>
|
||||
|
13
resources/views/layouts/analytics.blade.php
Normal file
13
resources/views/layouts/analytics.blade.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
$analyticsHTML = config('advanced-config.analytics');
|
||||
$analyticsHTML = preg_replace("~<!--(.*?)-->~s", "", $analyticsHTML);
|
||||
$analyticsHTML = trim($analyticsHTML);
|
||||
?>
|
||||
|
||||
@if(preg_replace( "/\r|\n/", "", $analyticsHTML ) != '')
|
||||
<!-- Analytics -->
|
||||
|
||||
{!! $analyticsHTML !!}
|
||||
|
||||
<!-- /Analytics -->
|
||||
@endif
|
@ -2,6 +2,9 @@
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
@include('layouts.analytics')
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
<div class="container">
|
||||
<div class="footer fadein" style="margin:5% 0px 35px 0px;">
|
||||
@if(env('DISPLAY_FOOTER') === true)
|
||||
<a class="footer-hover spacing" href="{{ url('') }}/">Home</a>
|
||||
<a class="footer-hover spacing" href="{{ url('') }}/pages/terms">Terms</a>
|
||||
<a class="footer-hover spacing" href="{{ url('') }}/pages/privacy">Privacy</a>
|
||||
<a class="footer-hover spacing" href="{{ url('') }}/pages/contact">Contact</a>
|
||||
@if(config('advanced-config.display_link_home') != 'false')<a class="footer-hover spacing" @if(config('advanced-config.custom_link_home') != '')href="{{ config('advanced-config.custom_link_home') }}"@else href="{{ url('') }}/"@endif> @if(config('advanced-config.custom_text_home') != ''){{config('advanced-config.custom_text_home')}}@else Home @endif</a>@endif
|
||||
@if(config('advanced-config.display_link_terms') != 'false')<a class="footer-hover spacing" href="{{ url('') }}/pages/terms">Terms</a>@endif
|
||||
@if(config('advanced-config.display_link_privacy') != 'false')<a class="footer-hover spacing" href="{{ url('') }}/pages/privacy">Privacy</a>@endif
|
||||
@if(config('advanced-config.display_link_contact') != 'false')<a class="footer-hover spacing" href="{{ url('') }}/pages/contact">Contact</a>@endif
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@ -20,4 +20,4 @@
|
||||
</section>
|
||||
</a></div><br><br><br>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
@ -2,9 +2,18 @@
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
@include('layouts.analytics')
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
@if(file_exists(base_path("littlelink/images/avatar.png" )))
|
||||
<link rel="icon" type="image/png" href="{{ asset('littlelink/images/avatar.png') }}">
|
||||
@else
|
||||
<link rel="icon" type="image/svg+xml" href="{{ asset('littlelink/images/logo.svg') }}">
|
||||
@endif
|
||||
|
||||
<title>{{ config('app.name') }}</title>
|
||||
|
||||
<!-- Fonts -->
|
||||
@ -44,7 +53,7 @@
|
||||
<?php // loads dark mode CSS if dark mode detected
|
||||
$color_scheme = isset($_COOKIE["color_scheme"]) ? $_COOKIE["color_scheme"] : false;
|
||||
$color_scheme_override = isset($_COOKIE["color_scheme_override"]) ? $_COOKIE["color_scheme_override"] : false; ?>
|
||||
@if ($color_scheme == 'dark' and $color_scheme_override != 'light' or $color_scheme_override == 'dark')
|
||||
@if ($color_scheme == 'dark' and config('advanced-config.theme') != 'light' and $color_scheme_override != 'light' or $color_scheme_override == 'dark' or config('advanced-config.theme') == 'dark')
|
||||
<link rel="stylesheet" href="{{ asset('css/app-dark.css') }}">
|
||||
@endif
|
||||
<!-- end dark mode detection -->
|
||||
|
5
resources/views/layouts/lang.blade.php
Normal file
5
resources/views/layouts/lang.blade.php
Normal file
@ -0,0 +1,5 @@
|
||||
@if(env('CUSTOM_META_TAGS') == 'true' and config('advanced-config.lang') != '')
|
||||
<html lang="{{ config('advanced-config.lang') }}">
|
||||
@else
|
||||
<html lang="en">
|
||||
@endif
|
15
resources/views/layouts/meta.blade.php
Normal file
15
resources/views/layouts/meta.blade.php
Normal file
@ -0,0 +1,15 @@
|
||||
@if(config('advanced-config.description') != '')<meta name="description" content="{{ config('advanced-config.description') }}">
|
||||
@elseif(Route::currentRouteName() != 'home')<meta name="description" content="{{ $userinfo->littlelink_description }}">
|
||||
@else<meta name="description" content="{{ $cleaner_input }}">@endif
|
||||
|
||||
@if(config('advanced-config.author') != '')<meta name="author" content="{{ config('advanced-config.author') }}">
|
||||
@elseif(Route::currentRouteName() != 'home')<meta name="author" content="{{ $userinfo->name }}">@endif
|
||||
|
||||
@if(config('advanced-config.viewport') != '')<meta name="viewport" content="{{ config('advanced-config.viewport') }}"/>
|
||||
@else<meta name="viewport" content="width=device-width, initial-scale=1">@endif
|
||||
|
||||
@if(config('advanced-config.robots') != '')<meta name="robots" content="{{ config('advanced-config.robots') }}">@endif
|
||||
|
||||
@if(config('advanced-config.canonical_url') != '')<link rel="canonical" href="{{ config('advanced-config.canonical_url') }}">@endif
|
||||
|
||||
@if(config('advanced-config.twitter_creator') != '')<meta name="twitter:creator" content="{{ config('advanced-config.twitter_creator') }}">@endif
|
@ -1,8 +1,11 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
@include('layouts.lang')
|
||||
<head>
|
||||
<title>Studio ⚙️ {{ config('app.name') }}</title>
|
||||
<meta charset="utf-8">
|
||||
|
||||
@include('layouts.analytics')
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/hover-min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/animate.css') }}">
|
||||
@ -37,10 +40,13 @@
|
||||
<?php // loads dark mode CSS if dark mode detected
|
||||
$color_scheme = isset($_COOKIE["color_scheme"]) ? $_COOKIE["color_scheme"] : false;
|
||||
$color_scheme_override = isset($_COOKIE["color_scheme_override"]) ? $_COOKIE["color_scheme_override"] : false; ?>
|
||||
@if ($color_scheme == 'dark' and $color_scheme_override != 'light' or $color_scheme_override == 'dark')
|
||||
@if ($color_scheme == 'dark' and config('advanced-config.theme') != 'light' and $color_scheme_override != 'light' or $color_scheme_override == 'dark')
|
||||
<!-- switch the two <link> Tags below to default to dark mode if cookie detection fails -->
|
||||
<link rel="stylesheet" href="{{ asset('/studio/css/bootstrap.min-dark.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/studio/css/style-dashboard-dark.css') }}">
|
||||
@elseif(config('advanced-config.theme') == 'dark')
|
||||
<link rel="stylesheet" href="{{ asset('/studio/css/bootstrap.min-dark.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/studio/css/style-dashboard-dark.css') }}">
|
||||
@else
|
||||
<link rel="stylesheet" href="{{ asset('/studio/css/bootstrap.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/studio/css/style-dashboard.css') }}">
|
||||
@ -154,10 +160,11 @@ if ($url1sb->successful() or $url2sb->successful()) {
|
||||
@if(env('DISPLAY_FOOTER') === true)
|
||||
<p>
|
||||
Copyright © @php echo date('Y'); @endphp {{ config('app.name') }}<i class="icon-heart" aria-hidden="true"></i> </br>
|
||||
<a href="{{ url('') }}/">Home</a> .
|
||||
<a href="{{ url('') }}/pages/terms" target="_blank">Terms</a> .
|
||||
<a href="{{ url('') }}/pages/privacy" target="_blank">Privacy</a> .
|
||||
<a href="{{ url('') }}/pages/contact" target="_blank">Contact</a>
|
||||
@php if(config('advanced-config.display_link_home') != 'false' and config('advanced-config.display_link_terms') != 'false' and config('advanced-config.display_link_privacy') != 'false' and config('advanced-config.display_link_contact') != 'false'){$dot=" . "; } else {$dot=" ";} @endphp
|
||||
@if(config('advanced-config.display_link_home') != 'false')<a class="footer-hover spacing" @if(config('advanced-config.custom_link_home') != '')href="{{ config('advanced-config.custom_link_home') }}"@else href="{{ url('') }}/"@endif> @if(config('advanced-config.custom_text_home') != ''){{config('advanced-config.custom_text_home')}}@else Home @endif</a>{!!$dot!!}@endif
|
||||
@if(config('advanced-config.display_link_terms') != 'false')<a class="footer-hover spacing" href="{{ url('') }}/pages/terms">Terms</a>{!!$dot!!}@endif
|
||||
@if(config('advanced-config.display_link_privacy') != 'false')<a class="footer-hover spacing" href="{{ url('') }}/pages/privacy">Privacy</a>{!!$dot!!}@endif
|
||||
@if(config('advanced-config.display_link_contact') != 'false')<a class="footer-hover spacing" href="{{ url('') }}/pages/contact">Contact</a>@endif
|
||||
</p>
|
||||
@endif
|
||||
@if(env('DISPLAY_CREDIT') === true)
|
||||
@ -255,7 +262,10 @@ if ($url1sb->successful() or $url2sb->successful()) {
|
||||
<a style="color:tomato;" class="nav-link" href="{{ url('update') }}">You are in BETA mode! <img src="https://img.shields.io/static/v1?label=installed:&message=<?php if(file_exists(base_path("vbeta.json"))) {echo file_get_contents(base_path("vbeta.json"));} else {echo "none";} ?>&color=FFFFFF"> <img src="https://img.shields.io/static/v1?label=server:&message=<?php echo file_get_contents("https://update.littlelink-custom.com/beta/vbeta.json"); ?>&color=FFFFFF"></a>
|
||||
@endif
|
||||
|
||||
@if ($color_scheme_override == 'dark' or ($color_scheme == 'dark' and $color_scheme_override != 'dark' and $color_scheme_override != 'light'))
|
||||
@if (config('advanced-config.theme') == 'light' and $color_scheme_override != 'dark')
|
||||
<div id="myBtn" class="toggle"><span>🌙</span><input type="checkbox" id="toggle-switch" checked/><label for="toggle-switch"></label><span>☀️</span></div>
|
||||
<script>function ColorOverrride(){document.cookie="color_scheme_override=dark; path=/",location.reload()}var btn=document.getElementById("myBtn");btn.addEventListener("click",ColorOverrride);</script>
|
||||
@elseif ($color_scheme_override == 'dark' or ($color_scheme == 'dark' and $color_scheme_override != 'dark' and $color_scheme_override != 'light'))
|
||||
<div id="myBtn" class="toggle"><span>🌙</span><input type="checkbox" id="toggle-switch" /><label for="toggle-switch"></label><span>☀️</span></div>
|
||||
<script>function ColorOverrride(){document.cookie="color_scheme_override=light; path=/",location.reload()}var btn=document.getElementById("myBtn");btn.addEventListener("click",ColorOverrride);</script>
|
||||
@elseif ($color_scheme_override == 'light' or ($color_scheme == 'light' and $color_scheme_override != 'dark' and $color_scheme_override != 'light'))
|
||||
|
@ -1,8 +1,11 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
@include('layouts.lang')
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
@include('layouts.analytics')
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
@stack('updater-head')
|
||||
@ -29,6 +32,10 @@
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-dark.css') }}">
|
||||
@elseif ($color_scheme_override == 'light')
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-light.css') }}">
|
||||
@elseif (config('advanced-config.theme') == 'dark')
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-dark.css') }}">
|
||||
@elseif (config('advanced-config.theme') == 'light')
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-light.css') }}">
|
||||
@else
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-auto.css') }}">
|
||||
@endif
|
||||
|
@ -1,15 +1,27 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
@include('layouts.lang')
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
@if(env('HOME_URL') != '')
|
||||
|
||||
@include('layouts.analytics')
|
||||
|
||||
@if(config('advanced-config.littlelink_title') != '' and env('HOME_URL') === '')
|
||||
<title>{{ $userinfo->name }} {{ config('advanced-config.littlelink_title') }}</title>
|
||||
@elseif(env('CUSTOM_META_TAGS') == 'true' and config('advanced-config.title') != '')
|
||||
<title>{{ config('advanced-config.title') }}</title>
|
||||
@elseif(env('HOME_URL') != '')
|
||||
<title>{{ $userinfo->name }}</title>
|
||||
@else
|
||||
<title>{{ $userinfo->name }} 🔗 {{ config('app.name') }} </title>
|
||||
@endif
|
||||
|
||||
@if(env('CUSTOM_META_TAGS') == 'true')
|
||||
@include('layouts.meta')
|
||||
@else
|
||||
<meta name="description" content="{{ $userinfo->littlelink_description }}">
|
||||
<meta name="author" content="{{ $userinfo->name }}">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
@endif
|
||||
|
||||
<!--#### BEGIN Meta Tags social media preview images ####-->
|
||||
<!-- This shows a preview for title, description and avatar image of users profiles if shared on social media sites -->
|
||||
@ -78,6 +90,10 @@
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-dark.css') }}">
|
||||
@elseif ($color_scheme_override == 'light')
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-light.css') }}">
|
||||
@elseif (config('advanced-config.theme') == 'dark')
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-dark.css') }}">
|
||||
@elseif (config('advanced-config.theme') == 'light')
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-light.css') }}">
|
||||
@else
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-auto.css') }}">
|
||||
@endif
|
||||
@ -107,6 +123,26 @@
|
||||
@endif
|
||||
|
||||
<?php ////begin share button//// ?>
|
||||
|
||||
@if(config('advanced-config.display_share_button') != '')
|
||||
|
||||
@if(config('advanced-config.display_share_button') == 'false')
|
||||
<?php $ShowShrBtn = 'false'; ?>
|
||||
@elseif(config('advanced-config.display_share_button') == 'user')
|
||||
@if($littlelink_names = Auth::user()->littlelink_name)
|
||||
<?php $ShowShrBtn = 'true'; ?>
|
||||
@else
|
||||
<?php $ShowShrBtn = 'false'; ?>
|
||||
@endif
|
||||
@else
|
||||
<?php $ShowShrBtn = 'true'; ?>
|
||||
@endif
|
||||
|
||||
@else
|
||||
<?php $ShowShrBtn = 'true'; ?>
|
||||
@endif
|
||||
|
||||
@if($ShowShrBtn == 'true')
|
||||
<?php
|
||||
//Get browser type
|
||||
$arr_browsers = ["Opera", "Edg", "Chrome", "Safari", "Firefox", "MSIE", "Trident"];
|
||||
@ -169,6 +205,8 @@ function get_operating_system() {
|
||||
</span>
|
||||
@endif
|
||||
<script src="{{ asset('littlelink/js/share.button.js') }}"></script>
|
||||
|
||||
@endif
|
||||
<?php ////end share button//// ?>
|
||||
|
||||
<div class="container">
|
||||
|
@ -1,7 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
@include('layouts.lang')
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
@include('layouts.analytics')
|
||||
|
||||
<title>{{ config('app.name') }}</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link href="//fonts.googleapis.com/css?family=Open+Sans:400,600,800&display=swap" rel="stylesheet">
|
||||
@ -44,12 +47,16 @@
|
||||
<?php // loads dark mode CSS if dark mode detected
|
||||
$color_scheme = isset($_COOKIE["color_scheme"]) ? $_COOKIE["color_scheme"] : false;
|
||||
$color_scheme_override = isset($_COOKIE["color_scheme_override"]) ? $_COOKIE["color_scheme_override"] : false; ?>
|
||||
@if ($color_scheme == 'dark' and $color_scheme_override != 'light' or $color_scheme_override == 'dark')
|
||||
@if ($color_scheme == 'dark' and config('advanced-config.theme') != 'light' and $color_scheme_override != 'light' or $color_scheme_override == 'dark')
|
||||
<!-- switch the two <link> Tags below to default to dark mode if cookie detection fails -->
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-dark.css') }}">
|
||||
@else
|
||||
@elseif (config('advanced-config.theme') == 'dark')
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-dark.css') }}">
|
||||
@elseif (config('advanced-config.theme') == 'light')
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-light.css') }}">
|
||||
@endif
|
||||
@else
|
||||
<link rel="stylesheet" href="{{ asset('littlelink/css/skeleton-light.css') }}">
|
||||
@endif
|
||||
<!-- end dark mode detection -->
|
||||
|
||||
<style>.container-text{position:relative;width:95%;max-width:900px;margin:0 auto;box-sizing:border-box}</style>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
@include('layouts.lang')
|
||||
@if(auth()->user()->role == 'admin')
|
||||
<head>
|
||||
<!-- begin dark mode detection -->
|
||||
@ -96,4 +96,4 @@ phpinfo(INFO_MODULES);
|
||||
</div>
|
||||
</body>
|
||||
@endif
|
||||
</html>
|
||||
</html>
|
@ -125,7 +125,10 @@ exit(); ?>
|
||||
<p><?php if(file_exists(base_path("vbeta.json"))) {echo "Installed beta version= " . file_get_contents(base_path("vbeta.json"));} else {echo "Installed beta version= none";} ?></p>
|
||||
<p><?php if($Vgit > $Vlocal) {echo "You need to update to the latest mainline release";} else {echo "You're running the latest mainline release";} ?></p>
|
||||
@else
|
||||
<h4 class="">The update was successful, you can now return to the Admin Panel:</h4>
|
||||
<h4 class="">The update was successful, you can now return to the Admin Panel.</h4>
|
||||
<style>.noteslink:hover{color:#006fd5;text-shadow:0px 6px 7px rgba(23,10,6,0.66);}</style>
|
||||
<a class="noteslink" href="https://github.com/JulianPrieber/littlelink-custom/releases/latest" target="_blank"><i class="fa-solid fa-up-right-from-square"></i> View the release notes</a>
|
||||
<br>
|
||||
@endif
|
||||
<br><div class="row">
|
||||
 <a class="btn" href="{{ route('studioIndex') }}"><button><i class="fa-solid fa-house-laptop btn"></i> Admin Panel</button></a> 
|
||||
|
@ -4,6 +4,9 @@
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
|
||||
@include('layouts.analytics')
|
||||
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>@lang('env-editor::env-editor.menuTitle')</title>
|
||||
|
@ -10,25 +10,43 @@ use App\Http\Controllers\Auth\RegisteredUserController;
|
||||
use App\Http\Controllers\Auth\VerifyEmailController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
Route::get('/register', [RegisteredUserController::class, 'create'])
|
||||
if(config('advanced-config.register_url') != '') {
|
||||
$register = config('advanced-config.register_url');
|
||||
} else {
|
||||
$register = "/register";
|
||||
}
|
||||
|
||||
if(config('advanced-config.login_url') != '') {
|
||||
$login = config('advanced-config.login_url');
|
||||
} else {
|
||||
$login = "/login";
|
||||
}
|
||||
|
||||
if(config('advanced-config.forgot_password_url') != '') {
|
||||
$forgot_password = config('advanced-config.forgot_password_url');
|
||||
} else {
|
||||
$forgot_password = "/forgot-password";
|
||||
}
|
||||
|
||||
Route::get($register, [RegisteredUserController::class, 'create'])
|
||||
->middleware('guest')
|
||||
->name('register');
|
||||
|
||||
Route::post('/register', [RegisteredUserController::class, 'store'])
|
||||
Route::post($register, [RegisteredUserController::class, 'store'])
|
||||
->middleware('guest');
|
||||
|
||||
Route::get('/login', [AuthenticatedSessionController::class, 'create'])
|
||||
Route::get($login, [AuthenticatedSessionController::class, 'create'])
|
||||
->middleware('guest')
|
||||
->name('login');
|
||||
|
||||
Route::post('/login', [AuthenticatedSessionController::class, 'store'])
|
||||
Route::post($login, [AuthenticatedSessionController::class, 'store'])
|
||||
->middleware('guest');
|
||||
|
||||
Route::get('/forgot-password', [PasswordResetLinkController::class, 'create'])
|
||||
Route::get( $forgot_password, [PasswordResetLinkController::class, 'create'])
|
||||
->middleware('guest')
|
||||
->name('password.request');
|
||||
|
||||
Route::post('/forgot-password', [PasswordResetLinkController::class, 'store'])
|
||||
Route::post( $forgot_password, [PasswordResetLinkController::class, 'store'])
|
||||
->middleware('guest')
|
||||
->name('password.email');
|
||||
|
||||
|
@ -20,12 +20,26 @@ use App\Http\Controllers\UserController;
|
||||
// generates new APP KEY if no one is set
|
||||
if(EnvEditor::getKey('APP_KEY')==''){Artisan::call('key:generate');}
|
||||
|
||||
// copies template meta config if none is present
|
||||
if(!file_exists(base_path("config/advanced-config.php"))){copy(base_path('storage/templates/advanced-config.php'), base_path('config/advanced-config.php'));}
|
||||
|
||||
//Changes the homepage to a LittleLink Custom profile if set in the config
|
||||
if(config('advanced-config.custom_home_url') != '') {
|
||||
$custom_home_page_url = config('advanced-config.custom_home_url');
|
||||
} else {
|
||||
$custom_home_page_url = "/home";
|
||||
}
|
||||
if(env('HOME_URL') != '') {
|
||||
Route::get('/', [UserController::class, 'littlelinkhome'])->name('littlelink');
|
||||
Route::get('/home', [App\Http\Controllers\HomeController::class, 'home'])->name('home');
|
||||
if(config('advanced-config.disable_home_page') == 'redirect') {
|
||||
Route::get($custom_home_page_url, function () {return redirect(config('advanced-config.redirect_home_page'));});
|
||||
}elseif(config('advanced-config.disable_home_page') != 'true') {
|
||||
Route::get( $custom_home_page_url, [App\Http\Controllers\HomeController::class, 'home'])->name('home');}
|
||||
} else {
|
||||
Route::get('/', [App\Http\Controllers\HomeController::class, 'home'])->name('home');
|
||||
if(config('advanced-config.disable_home_page') == 'redirect') {
|
||||
Route::get('/', function () {return redirect(config('advanced-config.redirect_home_page'));});
|
||||
}elseif(config('advanced-config.disable_home_page') != 'true') {
|
||||
Route::get('/', [App\Http\Controllers\HomeController::class, 'home'])->name('home');}
|
||||
}
|
||||
|
||||
//Redirect if no page URL is set
|
||||
@ -39,8 +53,9 @@ Route::get('/panel/diagnose', function () {
|
||||
});
|
||||
|
||||
//Public route
|
||||
$custom_prefix = config('advanced-config.custom_url_prefix');
|
||||
Route::get('/going/{id?}/{link?}', [UserController::class, 'clickNumber'])->where('link', '.*')->name('clickNumber');
|
||||
Route::get('/+{littlelink}', [UserController::class, 'littlelink'])->name('littlelink');
|
||||
Route::get('/' . $custom_prefix . '{littlelink}', [UserController::class, 'littlelink'])->name('littlelink');
|
||||
Route::get('/@{littlelink}', [UserController::class, 'littlelink'])->name('littlelink');
|
||||
Route::get('/pages/{name}', [AdminController::class, 'pages'])->name('pages');
|
||||
Route::get('/theme/@{littlelink}', [UserController::class, 'theme'])->name('theme');
|
||||
|
280
storage/templates/advanced-config.php
Normal file
280
storage/templates/advanced-config.php
Normal file
@ -0,0 +1,280 @@
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
$analytics =
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Analytics
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Add external analytics services to your LittleLink Custom instance by adding them below.
|
||||
| Everything you enter below will be added to the <head> tag of every page.
|
||||
| Formatting in plain HTML is expected.
|
||||
|
|
||||
*/
|
||||
|
||||
<<<EOD
|
||||
<!----------Insert your analytics code here:---------->
|
||||
|
||||
|
||||
|
||||
<!--------------------------------------------------->
|
||||
EOD;;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default source repository type
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Will only be active if "CUSTOM_META_TAGS" is set to "true" in the config.
|
||||
| These tags will only be applied to the home page or if a LittleLink page
|
||||
| is set as the homepage in the config (for example: HOME_URL="admin").
|
||||
|
|
||||
| Empty entries will be ignored.
|
||||
|
|
||||
*/
|
||||
|
||||
'lang' => 'en', // Sets <html lang="en">
|
||||
'title' => '', // Overrides the default meta page title. Leave empty to use your LittleLink page title as the title.
|
||||
'description' => '', // Overrides the default meta page description. Leave empty to use your LittleLink page description as the description.
|
||||
'robots' => 'index,follow',
|
||||
'viewport' => 'width=device-width, initial-scale=1',
|
||||
'canonical_url' => '', // Tells search engines to index "https://example.com/" instead of "https://example.com/@admin", for example.
|
||||
'twitter_creator' => '', // Twitter @username. For example: "@elonmusk".
|
||||
'author' => '', // Your name.
|
||||
|
||||
|
||||
/*
|
||||
| All settings below are always active
|
||||
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
*/
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Additional settings
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Empty entries will be ignored.
|
||||
|
|
||||
*/
|
||||
|
||||
|
||||
// Overwrites default theme regardless of preference defined by the operating system, unless manually overwritten by user.
|
||||
'theme' => '', // Either "dark" or "light".
|
||||
|
||||
|
||||
// Overwrites default theme regardless of preference defined by the operating system, unless manually overwritten by user.
|
||||
// Overwrites default page title after the LittleLink name on LittleLink pages.
|
||||
// Example: "admin 🔗 LittleLink Custom"
|
||||
// ⤌------------------⤍
|
||||
// ⬑ What you can change with this setting.
|
||||
'littlelink_title' => '',
|
||||
|
||||
|
||||
// Either "true", "false" or "auth".
|
||||
// If "auth" is selected, the share button will only be shown to users on their own page.
|
||||
'display_share_button' => 'true',
|
||||
|
||||
|
||||
// Do not change here!
|
||||
'analytics' => $analytics, // Set on top of page.
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| You can change routes to improve security.
|
||||
|
|
||||
*/
|
||||
|
||||
'login_url' => '/login',
|
||||
'register_url' => '/register',
|
||||
'forgot_password_url' => '/forgot-password',
|
||||
|
||||
'custom_home_url' => '/home', // Only applies if you set a "HOME_URL" in the config.
|
||||
|
||||
// If 'true' the Home Page will be disabled entirely.
|
||||
// You will still be able to login on the login page etc.
|
||||
'disable_home_page' => 'false', // Either 'true', 'false' or 'redirect'.
|
||||
'redirect_home_page' => 'https://littlelink-custom.com', // Only active if value above is set to 'redirect'.
|
||||
|
||||
// The URL prefix is the symbol that comes before a LittleLink URL.
|
||||
// For example the '@' in 'example.com/@admin'.
|
||||
// If empty no prefix is required. Use with caution.
|
||||
'custom_url_prefix' => '+', // The '@' prefix will always work regardless of this setting.
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Footer links
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Footer links are the links that are displayed on the bottom of your page, reading: "Home, Terms, Privacy, Contact".
|
||||
| You can toggle each individual link on or off.
|
||||
| You can also set a custom URL for the "Home" link.
|
||||
|
|
||||
*/
|
||||
|
||||
// Either "true" or "false".
|
||||
'display_link_home' => 'true',
|
||||
'display_link_terms' => 'true',
|
||||
'display_link_privacy' => 'true',
|
||||
'display_link_contact' => 'true',
|
||||
|
||||
// Enter a custom home link (for example, 'https://littlelink-custom.com').
|
||||
'custom_link_home' => '', // Leave empty to use default value.
|
||||
// Changes the text on the "Home" link.
|
||||
'custom_text_home' => 'Home', // Leave empty to use default value.
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Home Page settings
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| To change footer text on the Home Page, set the setting 'footer' to your preference.
|
||||
|
|
||||
| The footer text is the towards the bottom of the Home Page that reads: "and X other buttons ..."
|
||||
|
|
||||
| Depending on the amount of buttons on your Home Page, you might want to change this text.
|
||||
|
|
||||
| 'default' -> Uses default text.
|
||||
| 'alt' -> Displays an alternative version based on the Button Editor.
|
||||
| 'custom' -> Displays your custom text defined with 'custom_footer_text'.
|
||||
| 'false' -> Removes the footer.
|
||||
|
|
||||
*/
|
||||
|
||||
'home_footer' => 'default', // Either 'default', 'alt', 'custom' or 'false'.
|
||||
|
||||
// You can enter plain text or HTML into this field.
|
||||
// You can use "{year}" as a placeholder for the current year.
|
||||
// So "©{year}" would output "©2033" (or whatever the current year is).
|
||||
'custom_home_footer_text' => '© Copyright {year} - All Rights Reserved',
|
||||
|
||||
|
||||
// Apply a theme to your Home Page.
|
||||
// Some themes are not compatible with the Home Page. Use at your own discretion.
|
||||
// Enter the name of a theme located in your "themes" folder (for example, 'galaxy').
|
||||
'home_theme' => 'default', // Leave empty or enter 'default' to use the default theme.
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Buttons on Home Page
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you can configure your own buttons for the Home Page.
|
||||
| You can add or remove as many buttons as you like.
|
||||
|
|
||||
| The syntax of the custom buttons is as follows:
|
||||
|
|
||||
| array(
|
||||
| 'button' => '',
|
||||
| 'link' => '',
|
||||
| 'title' => '',
|
||||
| 'icon' => '',
|
||||
| 'custom_css' => ''
|
||||
| ),
|
||||
|
|
||||
| In the 'button' field, you have to enter the button name (i.e. 'twitter', 'github', 'custom'...).
|
||||
| You can find a list of all available buttons below.
|
||||
|
|
||||
| In the 'link' field, you can enter your desired link you may leave this field empty for a display only, non-functional button.
|
||||
|
|
||||
|
|
||||
|
|
||||
| The input fields below only apply to buttons such as 'custom' and 'custom_website' but must always be included even if only empty.
|
||||
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
|
||||
| In the 'title' field, changes the text on a button, such as 'custom' and 'custom_website'.
|
||||
|
|
||||
| In the 'icon' field, uses the same syntax as the Button Editor on the Admin Panel.
|
||||
| This allows you to add your own icons to 'custom' buttons. You can find a list of available icons on llc.bio/fa.
|
||||
|
|
||||
| In the 'custom_css' field, here you can enter custom CSS to change the color of your button.
|
||||
| If you don't feel comfortable working with CSS,
|
||||
| you can copy and paste the CSS from the 'Custom CSS' field of the Button Editor on the Admin Panel.
|
||||
|
|
||||
*/
|
||||
|
||||
'use_custom_buttons' => 'true', // Set this to false if you wish to display the old buttons.
|
||||
|
||||
'buttons' => array(
|
||||
array(
|
||||
'button' => 'github',
|
||||
'link' => 'https://github.com/JulianPrieber/littlelink-custom',
|
||||
'title' => '',
|
||||
'icon' => '',
|
||||
'custom_css' => ''
|
||||
),
|
||||
array(
|
||||
'button' => 'custom',
|
||||
'link' => 'https://littlelink-custom.com',
|
||||
'title' => 'Project Website',
|
||||
'icon' => 'llc',
|
||||
'custom_css' => 'color:#ffffff; background-image:linear-gradient(76deg, #f70fff 0%, #11d4de 100%);'),
|
||||
array(
|
||||
'button' => 'custom',
|
||||
'link' => 'https://littlelink-custom.com/sponsor',
|
||||
'title' => 'Help us out',
|
||||
'icon' => 'fa-hand-holding-hand',
|
||||
'custom_css' => 'color:#ffffff; background-image:radial-gradient(circle, #00d2ff 0%, #3a7bd5 95%);'
|
||||
),
|
||||
)
|
||||
|
||||
/*
|
||||
|--------------------------------|
|
||||
| List of Available buttons: |
|
||||
|--------------------------------|
|
||||
| 'button' => 'custom' |
|
||||
| 'button' => 'custom_website' |
|
||||
| 'button' => 'github' |
|
||||
| 'button' => 'twitter' |
|
||||
| 'button' => 'instagram' |
|
||||
| 'button' => 'facebook' |
|
||||
| 'button' => 'messenger' |
|
||||
| 'button' => 'linkedin' |
|
||||
| 'button' => 'youtube' |
|
||||
| 'button' => 'discord' |
|
||||
| 'button' => 'twitch' |
|
||||
| 'button' => 'snapchat' |
|
||||
| 'button' => 'spotify' |
|
||||
| 'button' => 'reddit' |
|
||||
| 'button' => 'medium' |
|
||||
| 'button' => 'pinterest' |
|
||||
| 'button' => 'soundcloud' |
|
||||
| 'button' => 'figma' |
|
||||
| 'button' => 'kit' |
|
||||
| 'button' => 'telegram' |
|
||||
| 'button' => 'tumblr' |
|
||||
| 'button' => 'steam' |
|
||||
| 'button' => 'vimeo' |
|
||||
| 'button' => 'wordpress' |
|
||||
| 'button' => 'goodreads' |
|
||||
| 'button' => 'skoob' |
|
||||
| 'button' => 'tiktok' |
|
||||
| 'button' => 'default email' |
|
||||
| 'button' => 'default email_alt'|
|
||||
| 'button' => 'bandcamp' |
|
||||
| 'button' => 'patreon' |
|
||||
| 'button' => 'signal' |
|
||||
| 'button' => 'venmo' |
|
||||
| 'button' => 'cashapp' |
|
||||
| 'button' => 'gitlab' |
|
||||
| 'button' => 'mastodon' |
|
||||
| 'button' => 'paypal' |
|
||||
| 'button' => 'whatsapp' |
|
||||
| 'button' => 'xing' |
|
||||
| 'button' => 'buy me a coffee' |
|
||||
| 'button' => 'website' |
|
||||
| 'button' => 'heading' |
|
||||
| 'button' => 'space' |
|
||||
|--------------------------------|
|
||||
*/
|
||||
|
||||
];
|
101
themes/galaxy/animations.css
vendored
Normal file
101
themes/galaxy/animations.css
vendored
Normal file
@ -0,0 +1,101 @@
|
||||
/* ************************************************************* */
|
||||
/*
|
||||
/* Use this file to add custom CSS animations.
|
||||
/* Delete this file if you wish to use the default animations.
|
||||
/* If you do not want to have animations in your theme,
|
||||
/* remove or comment them and include this file in your theme.
|
||||
/*
|
||||
/* ************************************************************* */
|
||||
|
||||
|
||||
/* Table of contents
|
||||
––––––––––––––––––––––––––––––––––––––––––––––––––
|
||||
- Entrance animations
|
||||
- Button hover animations
|
||||
- Icon hover animations
|
||||
- Footer hover animations
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* Entrance animations
|
||||
–––––––––––––––––––––––––––––––––––––––––––––––––– */
|
||||
|
||||
.button-entrance {
|
||||
animation-name: popUp;
|
||||
animation-duration: 1s;
|
||||
animation-fill-mode: both;
|
||||
/* Used to start button entrance animation one after another */
|
||||
animation-delay: calc(var(--delay)/10);
|
||||
}
|
||||
|
||||
@keyframes popUp {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: scale3d(0.3, 0.3, 0.3);
|
||||
}
|
||||
|
||||
50% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.fadein {
|
||||
animation-name: fadein;
|
||||
animation-duration: 3s;
|
||||
animation-fill-mode: both;
|
||||
}
|
||||
|
||||
@keyframes fadein {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Button hover animations
|
||||
–––––––––––––––––––––––––––––––––––––––––––––––––– */
|
||||
/* (Also apply to icon) */
|
||||
|
||||
.button-hover, .credit-hover{
|
||||
display:inline-block;
|
||||
-webkit-transform:perspective(1px) translateZ(0);
|
||||
transform:perspective(1px) translateZ(0);
|
||||
box-shadow:0 0 1px rgba(0,0,0,0);
|
||||
-webkit-transition-duration:.1s;
|
||||
transition-duration:.1s;
|
||||
-webkit-transition-property:transform;
|
||||
transition-property:transform
|
||||
}
|
||||
.button-hover:active,.credit-hover:active,
|
||||
.button-hover:focus,.credit-hover:focus,
|
||||
.button-hover:hover,.credit-hover:hover{
|
||||
-webkit-transform:scale(1.02);
|
||||
transform:scale(1.02)
|
||||
}
|
||||
|
||||
|
||||
/* Footer hover animations
|
||||
–––––––––––––––––––––––––––––––––––––––––––––––––– */
|
||||
|
||||
.footer-hover{
|
||||
display:inline-block;
|
||||
-webkit-transform:perspective(1px) translateZ(0);
|
||||
transform:perspective(1px) translateZ(0);
|
||||
box-shadow:0 0 1px rgba(0,0,0,0);
|
||||
-webkit-transition-duration:.3s;
|
||||
transition-duration:.3s;
|
||||
-webkit-transition-property:transform;
|
||||
transition-property:transform;
|
||||
-webkit-transition-timing-function:ease-out;
|
||||
transition-timing-function:ease-out
|
||||
}
|
||||
.footer-hover:active,.footer-hover:focus,.footer-hover:hover{
|
||||
-webkit-transform:translateY(-8px);
|
||||
transform:translateY(-8px)
|
||||
}
|
@ -2,8 +2,8 @@
|
||||
Find more themes: https://github.com/JulianPrieber/llc-themes
|
||||
|
||||
* Theme Name: Galaxy
|
||||
* Theme Version: 1.2
|
||||
* Theme Date: 2022-05-30
|
||||
* Theme Version: 1.3
|
||||
* Theme Date: 2022-06-09
|
||||
* Theme Author: JulianPrieber
|
||||
* Theme Author URI: https://github.com/JulianPrieber
|
||||
* Theme License: GPLv3
|
||||
|
Loading…
x
Reference in New Issue
Block a user