Skip to content

Instantly share code, notes, and snippets.

@ercanertan
ercanertan / README.md
Created March 17, 2025 08:49 — forked from markshust/README.md
GitHub Action to deploy Laravel app

Set up GitHub Actions to handle deployments for your Laravel application. This has similar functionality to Laravel Forge without the recurring cost. GitHub Actions can be used to automate your deployment process on every push to your repository.

Prerequisites

  1. Server Access: Ensure you have SSH access to your server where the Laravel app will be deployed.
  2. Secrets: Store sensitive information such as your server's IP address, SSH username, and private SSH key in GitHub Secrets. Go to your GitHub repository, navigate to "Settings" > "Secrets and variables" > "Actions", and add the following secrets:
    • DEPLOY_SERVER_IP: Your server's IP address.
    • DEPLOY_SERVER_USER: Your SSH username.
    • DEPLOY_SERVER_KEY: Your private SSH key. Make sure this key is authorized to access your server (~/.ssh/authorized_keys).
  • DEPLOY_SERVER_DIR: The directory where you'd like to deploy your app, relative to /var/www/. Ex: example.com
# SETUP #
DOMAIN=example.com
PROJECT_REPO="[email protected]:example.com/app.git"
AMOUNT_KEEP_RELEASES=5
RELEASE_NAME=$(date +%s--%Y_%m_%d--%H_%M_%S)
RELEASES_DIRECTORY=~/$DOMAIN/releases
DEPLOYMENT_DIRECTORY=$RELEASES_DIRECTORY/$RELEASE_NAME
# stop script on error signal (-e) and undefined variables (-u)
@ercanertan
ercanertan / acf-php-to-json.php
Created June 5, 2024 17:34 — forked from ollietreend/acf-php-to-json.php
Convert Advanced Custom Fields Pro configuration from PHP to JSON.
<?php
/**
* Plugin Name: Convert ACF PHP to JSON
* Description: Convert Advanced Custom Fields Pro configuration from PHP to JSON.
*/
namespace ConvertAcfPhpToJson;
/**
* Add submenu item under 'Custom Fields'
@ercanertan
ercanertan / functions.php
Created January 6, 2023 18:20 — forked from yoren/functions.php
Parent Post From Another Post Type And A New URL Structure In WordPress
<?php
// Flush rewrite rules after switch theme
function my_rewrite_flush() {
flush_rewrite_rules();
}
add_action( 'after_switch_theme', 'my_rewrite_flush' );
// A little help so we can get the stylesheet from parent theme
// Remove line 10-19 if this is not a child theme
function my_enqueue_styles() {
@ercanertan
ercanertan / instructions.md
Created February 26, 2022 18:44 — forked from ju5t/instructions.md
Livewire enabled TinyMCE blade component

Instructions

This is a very basic TinyMCE component. It uses 'entangle'. This allows you to link a Livewire and Alpine property to eachother. If one value changes, the other does too.

Installation

Add tinymce.blade.php to views/components/input. This can be another component folder too if you prefer, but keep in mind that you should also

@ercanertan
ercanertan / Fetch_example.md
Created June 23, 2021 20:02 — forked from jimgwhit/Fetch_example.md
Fetch simple example

Just test data and uptating one field using put:

    document.getElementById('submitBtn').addEventListener('click', submitPost);
    function submitPost(e) {
        e.preventDefault();
        const data = {petid: document.getElementById('petid').value,
            species: document.getElementById('species').value,
            _token: document.getElementsByName("_token")[0].value,
            _method: document.getElementsByName("_method")[0].value};
@ercanertan
ercanertan / JSON_Query.txt
Last active July 14, 2020 08:30
JSON Query with Laravel
// Sample Query
$page = Page::query()
->select('title',\DB::raw('advance_custom_fields->"$[*].field_type" AS field'))
->whereRaw('advance_custom_fields->"$[*].field_type" IS NOT NULL')
->whereRaw('JSON_SEARCH(advance_custom_fields, "one", "image") IS NOT NULL')
->get();
Table is pages
json coloumn is advance_custom_fields
@ercanertan
ercanertan / My JsFiddles
Created December 18, 2018 09:38
My JsFiddles
Scroll down animation on carousel - https://jsfiddle.net/qku98e4b/14/