Skip to content

Commit

Permalink
Merge pull request #2 from uasoft-indonesia/layout-postfree
Browse files Browse the repository at this point in the history
Layout postfree
  • Loading branch information
rizkiheryandi authored Feb 27, 2024
2 parents 334bd23 + 5d2bf5b commit 101ec35
Show file tree
Hide file tree
Showing 122 changed files with 11,399 additions and 0 deletions.
Binary file added .DS_Store
Binary file not shown.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
vendor
node_modules
.DS_Store
composer.lock
28 changes: 28 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
image: node:15.12-alpine3.13

stages:
- test
- deploy

test:
stage: test
script:
- cd website
- yarn install
- yarn build
rules:
- if: $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH

pages:
stage: deploy
script:
- cd website
- yarn install
- yarn build
- mv ./build ../public
artifacts:
paths:
- public
rules:
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH

48 changes: 48 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"version": "0.1.0",
"name": "badaso/postfree-theme",
"description": "Official free theme for post module system on badaso",
"keywords": [
"laravel",
"admin",
"panel",
"dashboard",
"pwa",
"generator",
"blog",
"badaso",
"news"
],
"license": "proprietary",
"homepage": "https://badaso.uatech.co.id/",
"support": {
"issues": "https://github.com/uasoft-indonesia/badaso-postfree-theme/issues",
"discussion": "https://github.com/uasoft-indonesia/badaso-postfree-theme/discussions",
"source": "https://github.com/uasoft-indonesia/badaso-postfree-theme"
},
"type": "library",
"require": {
"badaso/content-module": "^2.1.1",
"badaso/core": "^2.9",
"badaso/post-module": "^2.3.0"
},
"authors": [
{
"name": "UASOFT",
"email": "[email protected]"
}
],
"minimum-stability": "alpha",
"autoload": {
"psr-4": {
"Uasoft\\Badaso\\Theme\\PostfreeTheme\\": "src/"
}
},
"extra": {
"laravel": {
"providers": [
"Uasoft\\Badaso\\Theme\\PostfreeTheme\\Providers\\PostfreeThemeServiceProvider"
]
}
}
}
Binary file added src/.DS_Store
Binary file not shown.
146 changes: 146 additions & 0 deletions src/Commands/PostfreeThemeSetup.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
<?php

namespace Uasoft\Badaso\Theme\PostfreeTheme\Commands;

use Illuminate\Console\Command;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Str;

class PostfreeThemeSetup extends Command
{
protected $file;
/**
* The console command name.
*
* @var string
*/
protected $name = 'badaso-postfree-theme:setup';

/**
* The console command description.
*
* @var string
*/
protected $description = 'Setup Badaso Postfree Theme';

/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
$this->file = app('files');
parent::__construct();
}

/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$this->updatePackageJson();
$this->publishConfig();
$this->addingBadasoEnv();
$this->updateWebpackMix();

}

protected function publishConfig()
{
Artisan::call('vendor:publish', ['--tag' => 'BadasoPostfreeTheme']);

$this->info('Badaso postfree theme provider published');
}

protected function checkExist($file, $search)
{
return $this->file->exists($file) && !Str::contains($this->file->get($file), $search);
}

protected function updateWebpackMix()
{
$mix_file = base_path('webpack.mix.js');
$search = 'Badaso Postfree Theme';

if ($this->checkExist($mix_file, $search)) {
$data =
<<<'EOT'
// Badaso Postfree Theme
mix.js("vendor/badaso/postfree-theme/src/resources/js/app.js", "public/js/postfree-theme.js")
.css("vendor/badaso/postfree-theme/src/resources/js/assets/css/style.css","public/css/postfree-theme.css",{},[
require("tailwindcss")('./tailwind-postfree.config.js'),
require("autoprefixer"),
]
)
EOT;

$this->file->append($mix_file, $data);
}

$this->info('webpack.mix.js updated');
}

protected function envListUpload()
{
return [
'POSTFREE_THEME_PREFIX' => 'postfree',
];
}

protected function addingBadasoEnv()
{
try {
$env_path = base_path('.env');

$env_file = file_get_contents($env_path);
$arr_env_file = explode("\n", $env_file);

$env_will_adding = $this->envListUpload();

$new_env_adding = [];
foreach ($env_will_adding as $key_add_env => $val_add_env) {
$status_adding = true;
foreach ($arr_env_file as $key_env_file => $val_env_file) {
$val_env_file = trim($val_env_file);
if (substr($val_env_file, 0, 1) != '#' && $val_env_file != '' && strstr($val_env_file, $key_add_env)) {
$status_adding = false;
break;
}
}
if ($status_adding) {
$new_env_adding[] = "{$key_add_env}={$val_add_env}";
}
}

foreach ($new_env_adding as $index_env_add => $val_env_add) {
$arr_env_file[] = $val_env_add;
}

$env_file = join("\n", $arr_env_file);
file_put_contents($env_path, $env_file);

$this->info('Adding badaso env');
} catch (\Exception $e) {
$this->error('Failed adding badaso env '.$e->getMessage());
}
}

protected function updatePackageJson()
{
$package_json = file_get_contents(base_path('package.json'));
$decoded_json = json_decode($package_json, true);

$decoded_json['dependencies']['daisyui'] = '^4.6.0';
$decoded_json['dependencies']['alpinejs'] = '^3.13.5';
$decoded_json['dependencies']['tailwindcss'] = '^3.4.1';
$decoded_json['dependencies']['@tailwindcss/aspect-ratio'] = '^0.4.2';
$encoded_json = json_encode($decoded_json, JSON_PRETTY_PRINT);
file_put_contents(base_path('package.json'), $encoded_json);

$this->info('package.json updated');
}
}
10 changes: 10 additions & 0 deletions src/Config/badaso-postfree-theme.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?php

return [
'postfree_theme_prefix' => env('POSTFREE_THEME_PREFIX'),

/**
* Overriding controllers.
*/
'controllers' => [],
];
Binary file added src/Controllers/.DS_Store
Binary file not shown.
15 changes: 15 additions & 0 deletions src/Controllers/Controller.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?php

namespace Uasoft\Badaso\Theme\PostfreeTheme\Controllers;

use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;

class Controller extends BaseController
{
use AuthorizesRequests;
use DispatchesJobs;
use ValidatesRequests;
}
33 changes: 33 additions & 0 deletions src/Controllers/HomeController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?php

namespace Uasoft\Badaso\Theme\PostfreeTheme\Controllers;

use Exception;
use Illuminate\Http\Request;
use Uasoft\Badaso\Module\Post\Models\Post;
use Uasoft\Badaso\Module\Post\Models\Category;
use Uasoft\Badaso\Theme\PostfreeTheme\Helpers\Configurations;

class HomeController extends Controller
{
public function index(){
$category = Category::where('slug', 'postfree')->first();

$data_json = Post::where('category_id', $category['id'])->get();
$title = $data_json[0]->title;
$content = $data_json[0]->content;
$slug = $data_json[0]->slug;

$config = Configurations::index();
$sitetitle = $config->siteTitle;

return view('postfree-theme::pages.landing-page', [
'title' => $title,
'content' => $content,
'sitetitle' => $sitetitle,
'slug' => $slug,
]);
}


}
18 changes: 18 additions & 0 deletions src/Facades/PostfreeTheme.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php

namespace Uasoft\Badaso\Theme\PostfreeTheme\Facades;

use Illuminate\Support\Facades\Facade;

class PostfreeTheme extends Facade
{
/**
* Get the registered name of the component.
*
* @return string
*/
protected static function getFacadeAccessor()
{
return 'badaso-postfree-theme';
}
}
13 changes: 13 additions & 0 deletions src/Helpers/CaseConvert.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

namespace Uasoft\Badaso\Theme\PostfreeTheme\Helpers;

class CaseConvert
{
public static function slugToCapitalize($string)
{
$modified_string = str_replace('-', ' ', $string);

return ucwords($modified_string);
}
}
24 changes: 24 additions & 0 deletions src/Helpers/Configurations.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php

namespace Uasoft\Badaso\Theme\PostfreeTheme\Helpers;

use Uasoft\Badaso\Models\Configuration;

class Configurations
{
public static function index()
{
$configurations = Configuration::where('group', 'postfreeTheme')->get();
foreach ($configurations as $key => $config) {
if ($config->key == 'postfreeThemeSiteTitle') {
$site_title = $config->value;
}

}

$title = (object)[
"siteTitle" => $site_title
];
return $title;
}
}
20 changes: 20 additions & 0 deletions src/Helpers/Route.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

namespace Uasoft\Badaso\Theme\PostfreeTheme\Helpers;

class Route
{
public static function getController($key)
{
// get config 'controllers' from config/badaso-postfree-theme.php
$controllers = config('badaso-postfree-theme.controllers');

// if the key is not found, return $key
if (!isset($controllers[$key])) {
return 'Uasoft\\Badaso\\Theme\\PostfreeTheme\\Controllers\\'.$key;
}

// return the value of the key
return $controllers[$key];
}
}
Binary file added src/Images/.DS_Store
Binary file not shown.
Binary file added src/Images/postfree-img/.DS_Store
Binary file not shown.
Binary file added src/Images/postfree-img/Full-logo-badaso-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions src/Images/postfree-img/dashboard.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/Images/postfree-img/default-user.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 101ec35

Please sign in to comment.