Commit Graph

65 Commits

Author SHA1 Message Date
Julian Prieber 452d94c578 Improved home page loading time 2023-03-07 18:58:26 +01:00
Julian Prieber 58a89ecb0a Bugfix
https://github.com/JulianPrieber/littlelink-custom/issues/330
2023-03-01 15:42:35 +01:00
Julian Prieber 5f38bee1cc Legacy support for themes 2023-01-25 20:11:50 +01:00
Julian Prieber 38c856484d Added support for custom favicon
Custom logo and custom favicons can now have any supported format.
2022-11-29 23:33:25 +01:00
Julian Prieber 19a49fedad Caching favicons locally 2022-11-28 19:44:02 +01:00
Julian Prieber 4b1054fc1f Revert "Moved favicon API offsite"
This reverts commit 940e7e35a5.
2022-11-28 17:03:17 +01:00
Julian Prieber 654b015107 Revert "Update home.blade.php"
This reverts commit 6147ecfecd.
2022-11-28 17:03:01 +01:00
Julian Prieber 6147ecfecd Update home.blade.php 2022-11-28 14:23:12 +01:00
Julian Prieber 940e7e35a5 Moved favicon API offsite 2022-11-28 13:55:40 +01:00
Julian Prieber 801a7cb67f Optimized internal favicon API 2022-11-26 18:40:12 +01:00
Julian Prieber 5600ac090c Remove all external dependencies 2022-11-26 13:15:18 +01:00
Julian Prieber 346340a548 Remove all external dependencies 2022-11-24 20:01:34 +01:00
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