geniv / nette-front-loader
Front loader extension for Nette Framework
Installs: 1 135
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=7.0
- latte/latte: >=2.4
- nette/application: >=2.4
- nette/utils: >=2.4
- tracy/tracy: >=2.4
README
for CSS & JS loader
Installation
$ composer require geniv/nette-front-loader
or
"geniv/nette-front-loader": "^1.2"
require:
"php": ">=7.0", "nette/application": ">=2.4", "nette/utils": ">=2.4", "latte/latte": ">=2.4", "tracy/tracy": ">=2.4"
Include in application
neon configure:
# front loader frontLoader: # debugger: false # productionMode: true # developmentMode: false dir: %wwwDir% css: # files without extension - css/global - static:css/global1 - "https://fonts.googleapis.com" - "//fonts.googleapis.com" front: # source - css/styles1 - static:css/styles2 js: # files without extension - js/global - static:js/global1 - "https://cdnjs.com" - "//cdnjs.com" front: # source - js/script1 - static:js/script2 tagDev: '.' tagProd: '.min.' envDev: 'development' envProd: 'production' modifyTimeVar: 'mt'
if productionMode is not defined or set null then loader will be automatic detect production mode
developmet
or stage
environment is development (tagDev
) settings (full css).
production
environment is production (tagProd
) settings (minimal css).
compile
block work only developmentMode
, other accept: productionMode
.
Setting for load css/js file without change environment name begin keyword: static:
like http
.
each mode states:
-
development:
- productionMode: false
- developmentMode: true
-
stage:
- productionMode: false
- developmentMode: false
-
production:
- productionMode: true
- developmentMode: false
neon configure extension:
extensions: frontLoader: FrontLoader\Bridges\Nette\Extension
usage:
use FrontLoader\IFrontLoader; protected function createComponentFrontLoader(IFrontLoader $frontLoader): IFrontLoader { //$frontLoader->setFormat('css', ' <link rel="stylesheet" href="%s">'); //$frontLoader->setFormat('js', ' <script type="text/javascript" src="%s"></script>'); return $frontLoader; }
@layout.latte
for CSS
{block head} {control frontLoader:css} {/block}
or defined source
{block head} {control frontLoader:css 'front'} {/block}
for JS
{block scripts} {control frontLoader:js} {/block}
or defined source
{block scripts} {control frontLoader:js 'front'} {/block}
other presenter *.latte:
{block title}...{/block} {block description}...{/block} {block slug}...{/block} {block content} ... {/block} {block scripts} {include parent} <script src="source.js"></script> {/block} {block head} {include parent} <link rel="stylesheet" href="source.css"> {/block}