Browse Source

Initial commit

master
dimti 3 months ago
commit
ae36a5cb0a
  1. 1
      .gitignore
  2. 96
      Plugin.php
  3. 16
      classes/ManifestReader.php
  4. 22
      composer.json
  5. 1
      updates/version.yaml

1
.gitignore

@ -0,0 +1 @@
/.idea

96
Plugin.php

@ -0,0 +1,96 @@
<?php namespace Wpstudio\AssetsManifest;
use Backend;
use System\Classes\PluginBase;
/**
* assetsmanifest Plugin Information File
*/
class Plugin extends PluginBase
{
/**
* Returns information about this plugin.
*
* @return array
*/
public function pluginDetails()
{
return [
'name' => 'assetsmanifest',
'description' => 'No description provided yet...',
'author' => 'wpstudio',
'icon' => 'icon-leaf'
];
}
/**
* Register method, called when the plugin is first registered.
*
* @return void
*/
public function register()
{
}
/**
* Boot method, called right before the request route.
*
* @return array
*/
public function boot()
{
}
/**
* Registers any front-end components implemented in this plugin.
*
* @return array
*/
public function registerComponents()
{
return []; // Remove this line to activate
return [
'Wpstudio\Assetsmanifest\Components\MyComponent' => 'myComponent',
];
}
/**
* Registers any back-end permissions used by this plugin.
*
* @return array
*/
public function registerPermissions()
{
return []; // Remove this line to activate
return [
'wpstudio.assetsmanifest.some_permission' => [
'tab' => 'assetsmanifest',
'label' => 'Some permission'
],
];
}
/**
* Registers back-end navigation items for this plugin.
*
* @return array
*/
public function registerNavigation()
{
return []; // Remove this line to activate
return [
'assetsmanifest' => [
'label' => 'assetsmanifest',
'url' => Backend::url('wpstudio/assetsmanifest/mycontroller'),
'icon' => 'icon-leaf',
'permissions' => ['wpstudio.assetsmanifest.*'],
'order' => 500,
],
];
}
}

16
classes/ManifestReader.php

@ -0,0 +1,16 @@
<?php namespace Wpstudio\AssetsManifest\Classes;
class ManifestReader
{
private $manifest = null;
public function __construct(string $manifestPath)
{
$this->manifest = json_decode(file_get_contents($manifestPath));
}
public function get($assetName)
{
return $this->manifest->$assetName;
}
}

22
composer.json

@ -0,0 +1,22 @@
{
"name": "wpstudio/assetsmanifest-plugin",
"type": "october-plugin",
"description": "Extract full paths to assets files from manifest.json",
"require": {
"composer/installers": "~1.0"
},
"keywords": [
"manifest",
"json",
"webpack",
"assets",
"hash"
],
"license": "MIT",
"authors": [
{
"name": "WP Studio Team",
"email": "info@wpstudio.ru"
}
]
}

1
updates/version.yaml

@ -0,0 +1 @@
1.0.1: First version of assetsmanifest
Loading…
Cancel
Save