Commit Graph

53 Commits

Author SHA1 Message Date
Julian Prieber d0e170523e Remove all external dependencies 2022-11-23 18:33:28 +01:00
Julian Prieber 2d43347e66 Remove all external dependencies 2022-11-23 18:32:25 +01:00
Julian Prieber 56e17b9fd5 Remove all external dependencies
https://github.com/JulianPrieber/littlelink-custom/discussions/222
2022-11-23 16:37:30 +01:00
Julian Prieber bfb75e1d1d Fixed image width 2022-11-19 12:11:34 +01:00
Julian Prieber 951df23c91 Laravel 9
Update to Laravel 9

Commit for the upcoming from-end update.
2022-11-08 16:11:59 +01:00
Julian Prieber 837e613970 Fixed home page buttons 2022-09-10 12:18:51 +02:00
Julian Prieber 25afd8f074 Added options to disable custom code in themes 2022-09-10 11:15:40 +02:00
Julian Prieber 2028862b92 Added themes v2 support to home page 2022-09-09 19:17:14 +02:00
Julian Prieber 1ddae3fc94 Fixed FA
Fixed Font Awesome. Again...

Now using CSS and JS
2022-08-22 12:44:09 +02:00
Julian Prieber db30b36202
Degoogled LittleLink Custom
Degoogled Project
2022-08-16 18:13:32 +02:00
Julian Prieber fa1210a2f2 Changed from Google to DuckDuckGo API to retrieve custom website icons
Changed from Google to DuckDuckGo API for improved privacy and compliance with local laws in an effort to degoogle LittleLink Custom.

See: https://github.com/JulianPrieber/littlelink-custom/issues/124
2022-08-16 18:01:49 +02:00
MagicLike 0ddd06b01a Degoogled Project
- Replaced Google Fonts with Bunny Fonts
- Replaced Google example with "Example" & "example.com"
2022-08-16 17:50:13 +02:00
Julian Prieber c082602715 Changed Custom Website buttons to use HTTPS to fetch favicon 2022-08-16 16:36:45 +02:00
Julian Prieber 435e09a240 Fixed FA 2022-08-10 20:03:46 +02:00
Julian Prieber fc8a18f0d7 Switched Font Awesome from JS to CSS 2022-08-08 14:11:19 +02:00
Julian Prieber ca62054b4d Fixed default button animations on Home Page 2022-06-15 13:01:46 +02:00
Julian Prieber 02bec65724 Changed name of config file 2022-06-09 22:26:35 +02:00
Julian Prieber 6e9bad6751 Renamed meta.php to config.php 2022-06-09 19:08:37 +02:00
Julian Prieber 93e2832614 Update home.blade.php 2022-06-09 14:58:07 +02:00
Julian Prieber e4abf3ed18 Added option to apply theme to Home Page 2022-06-09 14:41:26 +02:00
Julian Prieber a83d00a628 Added option to change footer links and texts 2022-06-09 12:33:23 +02:00
Julian Prieber a3262e35ab Added option to edit buttons on home page
/*
    |--------------------------------------------------------------------------
    | 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, can enter your desired link you can 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'            |
    |--------------------------------|
    */
2022-06-09 09:59:04 +02:00
Julian Prieber a36e985bfc Added overwrite for default color scheme
Overwrites default theme regardless of preference defined by the operating system, unless manually overwritten by user.

Either "dark" or "light".
2022-06-08 17:09:24 +02:00
Julian Prieber af284a58c2 Added analytics support to all pages 2022-06-08 15:58:04 +02:00
Julian Prieber ca86582157 Added support for custom meta tags
Added support for custom meta tags via a new config file.
Custom meta tags will only be active if "CUSTOM_META_TAGS" is set to "true" in the config.

Replaced "<html lang="en">" with "@include('layouts.lang')" meaning HTML lang can be changed in the new config, defaults to en if not active or not defined.
2022-06-08 15:43:51 +02:00
Julian Prieber 4243f99283 Optimized home page logo
Optimized home page logo for mobile devices and scalable resolutions. Replaced "ll" SVG with custom font for better centering.
2022-05-14 16:03:33 +02:00
Julian Prieber d5418256a9 Added dark/light mode override to ll and home page 2022-05-13 14:06:12 +02:00
Julian Prieber fe81015483 General optimization of home page
See: https://i.imgur.com/N6pNlou.png
2022-05-13 00:12:01 +02:00
Julian Prieber 833e57a5e6 Increased profile and logo image size 2022-05-12 22:55:34 +02:00
Julian Prieber 9d368ef9cb Switched to dark mode detection via CSS instead of JavaScript
Switched to dark mode detection via CSS instead of JavaScript on users LittleLink pages and the home page.

I decided to use this approach instead of the previous JavaScript version. This means that a manual switch to change between light and dark mode by user won't be added.
2022-05-12 20:17:48 +02:00
Julian Prieber 8555a8eeef
Update home.blade.php
Added option to override registration, even if disabled with the setting in the database.

This is something that probably 99.999% of users will never need, but I really need a function like this for my personal instance.
If "REGISTER_OVERRIDE=true" is added to the .env config file, users will be able to register no matter what is set with the setting in the database. This is useful if two LittleLink Custom instances access the same database, but one should allow registration and the other should not.

If this causes any errors in the future, I will remove this.
2022-05-02 21:41:02 +02:00
Julian Prieber 70e02e43d7 Made buttons on home page display only
Changed buttons on the default home page to not be clickable anymore by changing the 'a' tags into divs.
2022-04-18 23:53:07 +02:00
Julian Prieber 0aa99064eb Fixed fadein class for home message 2022-03-31 14:06:58 +02:00
Julian Prieber 8fdc1a7f74 Fixed spacing on custom links added by text editor
Fixed word spacing bug in texts added by the new page editor. This bug caused inserted links to have extended spacing between words.

This 'bug' was a previous feature added to display links further apart for easier readability. The feature didn't scale well with the newly added page editor which allowed users to add their own links to edited texts, causing the bug.

The extended spacing was achieved with the 'padding' CSS tag. I simply removed the tag from all an HTML tags and made it into its own class, 'spacing'. I added the class to every element on the site that previously depended on this tag.
2022-03-29 16:27:50 +02:00
Julian Prieber 393e18a3c9 Added visual HTML editor
Added visual HTML editor for editing HTML on the footer and home pages. This editor is based on the open source CKEditor a Smart Visual Text Editor for HTML coded in JavaScript.

Read the Blog post about this topic for more info about this feature here: https://blog.littlelink-custom.com/visual-html-editor/
2022-03-23 13:57:20 +01:00
JulianPrieber 907a3116bb Fixed dark mode not applying on first visit
This 'bug' was caused due to the way the dark mode was applied. The dark mode detection detects the preferred theme style from the client and then saves the preferred type with a cookie, all with JavaScript. Then a simple PHP if-else statement loads either the dark or light mode CSS theme, depending on the cookie.

The problem here was that the cookie would only be detected if the page was refreshed, so once the cookie was set, the dark mode was applied every time without a problem. But the first time a user visited the site and the preferred theme was set to dark mode, the page would still display the white version until the page was refreshed.

Now, I could have changed how the page applies the dark mode, however I decided against that and went with this commit instead.

Now I'm not really experienced with JavaScript at all, so this definitely could have been solved in a more elegant way, but this is what I did:

I added a bit to the JavaScript that sets and reads the cookie. When the page finished loading, a simple if statement is run that requires the following conditions: 
The URL contains a '#' and the color scheme equals 'dark' and the cookie isn't set yet. 
After these conditions are met, '#dark' is added to the URL and the page will be refreshed.

This refresh is only performed without the cookie, thus only refreshing the page on the first visit if the dark mode would be applied.

The '#dark' is only added to the URL to fail the first requirement of the if statement, preventing the page from being reloaded in an infinite loop. Otherwise, the  '#dark' part of the URL fulfills no purpose and only the '#' part is required, so it doesn't even matter what comes after the hash. I just chose this for clarification.

If the dark mode cookie is blocked by the user, the page will be set to light mode and refreshed every time they visit but the '#dark' will still be added to the URL, preventing the infinite refresh-loop.
2022-03-03 10:49:10 +01:00
JulianPrieber ec88a74889 Fixed bug/simplified setup
Fixed bug where users littlelink pages (domain.com/@username) would display a 404 error. This was caused due to the .env config file not containing an App URL. This issue could be solved by simply adding a URL to the config, this is now not necessary anymore, making the setup process easier and less confusing. 

I changed every instance of "{{ config('app.url') }}" to  "{{ url(' ') }}". This effectively automatically uses the correct URL for LittleLink links, even if LittleLink Custom is set up in a subdirectory.

In my testing, I couldn't find any problems this might have caused, so this appears to do the job just as well as setting the URL in the config. If I find any issues with this, I will revert this change.
2022-02-27 19:33:19 +01:00
JulianPrieber 4e78b1a58f Added option to disable registration
Added option to disable registration.
2022-02-23 20:19:15 +01:00
JulianPrieber 4f49204b57
Added fadein animation to text
Added 'fadein' class to app.name and home_message text. This class adds the fade-in animation from 'animate.css' found in /littlelink/css/.
2022-02-22 12:43:18 +01:00
JulianPrieber b0fe2395d4 Chnaged rounded logo on landing page
Removed the rounded-avatar class of the custom logo on the landing page.
2022-02-20 18:24:27 +01:00
JulianPrieber c22ca8f27b Revert "Revert "Merge branch 'main' of https://github.com/JulianPrieber/littlelink-custom""
This reverts commit f5ffdc18b1.
2022-02-20 15:24:27 +01:00
JulianPrieber f5ffdc18b1 Revert "Merge branch 'main' of https://github.com/JulianPrieber/littlelink-custom"
This reverts commit 30ec6bea98, reversing
changes made to 69fc08668c.
2022-02-20 14:10:40 +01:00
JulianPrieber 696d2f0d82
Fixed spelling
Changed button to buttons
2022-02-20 13:56:19 +01:00
JulianPrieber 8243d7c977 fixed logo.svg 2022-02-20 13:20:21 +01:00
JulianPrieber 96cfd5b4c1 Changed logo
As part of the new logo (https://github.com/JulianPrieber/littlelink-custom/milestone/1) I'm now using the new 'logo.svg' vector logo.

For this, I added an if-else statement in most cases, which first check for a custom logo uploaded by the admin or the avatar of an individual user. If the image doesn't exist, the default logo (logo.svg) is used.
2022-02-20 13:12:25 +01:00
JulianPrieber a5c81158cf
Added dark mode detection
Added automatic dark mode detection to home.blade.php via a cookie with js.cookie.min.js (see previous commit).

Detecting the dark mode setting is done with JavaScript. The script detects the preferred dark mode setting in the client's browser and saves it with a cookie. If the script detects a change in this setting, it corrects the cookie. 

Loading the appropriate skeleton.css is done via PHP with an if-else statement. If the cookie (saved by the previous script) color scheme equals 'dark' it will load skeleton-dark.css (found in /littlelink/css). 

If dark mode is not detected OR nothing is detected/cookie is getting blocked, the statement defaults to skeleton-light.css (also found in /littlelink/css).

You could change what the if-else statement defaults to (i.e. which color scheme is loaded if the cookie fails to detect) by switching 'skeleton-dark.css' and 'skeleton-light.css' around (see comment in if statement).

Everything added is commented and marked with begin/end.


Credit to 'user1575941' on Stack Overflow who's commented code REALLY helped getting behind all this.
2022-02-18 10:08:24 +01:00
JulianPrieber b67651df04 Revert "Added dark mode detection"
This reverts commit cc71e0d6ca.
2022-02-18 10:06:14 +01:00
JulianPrieber cc71e0d6ca
Added dark mode detection
Added automatic dark mode detection to home.blade.php via a cookie with js.cookie.min.js (see previous commit).

Detecting the dark mode setting is done with JavaScript. The script detects the preferred dark mode setting in the client's browser and saves it with a cookie. If the script detects a change in this setting, it corrects the cookie. 

Loading the appropriate skeleton.css is done via PHP with an if-else statement. If the cookie (saved by the previous script) color scheme equals 'dark' it will load skeleton-dark.css (found in /littlelink/css). 

If dark mode is not detected OR nothing is detected/cookie is getting blocked, the statement defaults to skeleton-light.css (also found in /littlelink/css).

You could change what the if-else statement defaults to (i.e. which color scheme is loaded if the cookie fails to detect) by switching 'skeleton-dark.css' 'skeleton-light.css around' (see comment in if statement).

Everything added is commented and marked with begin/end.


Credit to 'user1575941' on Stack Overflow who's commented code REALLY helped getting behind all this.
2022-02-18 10:02:43 +01:00
JulianPrieber 11d05a558b
Added button entrance animation
Live demo: https://julianprieber.github.io/littlelink-admin-demo/button-entrance.html

Added an entrance animation for buttons on home.blade.php. This animation was made by the Animate.css project (https://github.com/animate-css/animate.css).

Each button entrance animation lasts 100ms. Every button after the first adds 100ms to the value of the previous button i.e. button 1 loads after 100ms, button 2 loads after 200ms,  button 3 after 300ms and so on...

Timings for the buttons can be changed in /littlelink/css/animate.css

I put every button in a separate <div> Tag, so the animation wouldn't in interfere with the existing hover animation.
2022-02-17 22:15:51 +01:00
JulianPrieber 1c7f71e56f
Change public path
This is one of multiple public path edits. For simplified usability, I am integrating the public Laravel directory into the root directory. 

For this, I am changing every instance of 'public_path' to 'base_path' and will use this format in future changes as well.
2022-02-14 12:53:07 +01:00