sharenjoy/noah-cms

This is my package noah-cms

dev-main 2025-03-30 17:28 UTC

This package is not auto-updated.

Last update: 2025-03-30 17:34:14 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This is where your description should go. Limit it to a paragraph or two. Consider adding a small example.

Support us

We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.

We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.

Installation

Add repositories section to composer

"repositories": [
    {
        "type": "composer",
        "url": "https://satis.ralphjsmit.com"
    }
]

You can install the package via composer:

composer require sharenjoy/noah-cms:dev-main

Replace this to user model

<?php

namespace App\Models;

use Sharenjoy\NoahCms\Models\User as NoahCmsUser;

class User extends NoahCmsUser {}

Update auth.php in config folder

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => env('AUTH_MODEL', \Sharenjoy\NoahCms\Models\User::class),
    ],
],

You can publish migrations and run migrate and other database related:

php artisan vendor:publish --tag="noah-cms-migrations"
php artisan migrate
php artisan shield:super-admin
php artisan shield:generate --all

You can publish assets and run the migrations with:

php artisan filament:assets

You can run the storage link with:

php artisan storage:link

You can publish the config file with:

php artisan vendor:publish --tag="noah-cms-config"

You can publish the assets using

php artisan vendor:publish --tag="noah-cms-assets"

Optionally, you can publish the views using

php artisan vendor:publish --tag="noah-cms-views"

Optionally, you can publish the translations using

php artisan vendor:publish --tag="noah-cms-translations" --force

Create custom panel theme

php artisan make:filament-theme

Update resources/css/filament/noah/theme.css

@import "/vendor/filament/filament/resources/css/theme.css";
@import "/vendor/awcodes/filament-tiptap-editor/resources/css/plugin.css";

@config 'tailwind.config.js';

Update resources/css/filament/noah/tailwind.config.js

import preset from "../../../../vendor/filament/filament/tailwind.config.preset";

export default {
    presets: [preset],
    content: [
        "./app/Filament/**/*.php",
        "./resources/views/filament/**/*.blade.php",
        "./vendor/filament/**/*.blade.php",
        "./vendor/ralphjsmit/laravel-filament-media-library/resources/**/*.blade.php",
        "./vendor/awcodes/filament-tiptap-editor/resources/**/*.blade.php",
        "./vendor/solution-forest/filament-tree/resources/**/*.blade.php",
        "./vendor/ralphjsmit/laravel-filament-activitylog/resources/**/*.blade.php",
    ],
};

Update vite.config.js

import { defineConfig } from "vite";
import laravel, { refreshPaths } from "laravel-vite-plugin";

export default defineConfig({
    plugins: [
        laravel({
            input: [
                "resources/css/app.css",
                "resources/js/app.js",
                "resources/css/filament/noah/theme.css",
            ],
            refresh: [
                ...refreshPaths,
                "app/Livewire/**",
                "app/Models/**",
                "app/Filament/**",
                "app/Providers/Filament/**",
            ],
            detectTls: "noah-cms.test",
        }),
    ],
});

Npm install and build

npm install
npm run build

Usage

$noahCms = new Sharenjoy\NoahCms();
echo $noahCms->echoPhrase('Hello, Sharenjoy!');

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.