<?php
* @package Grav\Framework\ContentBlock
*
* @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
namespace Grav\Framework\ContentBlock;
* Interface HtmlBlockInterface
* @package Grav\Framework\ContentBlock
*/
interface HtmlBlockInterface extends ContentBlockInterface
{
* @return array
*/
public function getAssets();
* @return array
*/
public function getFrameworks();
* @param string $location
* @return array
*/
public function getStyles($location = 'head');
* @param string $location
* @return array
*/
public function getScripts($location = 'head');
* @param string $location
* @return array
*/
public function getLinks($location = 'head');
* @param string $location
* @return array
*/
public function getHtml($location = 'bottom');
* @param string $framework
* @return $this
*/
public function addFramework($framework);
* @param string|array $element
* @param int $priority
* @param string $location
* @return bool
*
* @example $block->addStyle('assets/js/my.js');
* @example $block->addStyle(['href' => 'assets/js/my.js', 'media' => 'screen']);
*/
public function addStyle($element, $priority = 0, $location = 'head');
* @param string|array $element
* @param int $priority
* @param string $location
* @return bool
*/
public function addInlineStyle($element, $priority = 0, $location = 'head');
* @param string|array $element
* @param int $priority
* @param string $location
* @return bool
*/
public function addScript($element, $priority = 0, $location = 'head');
* @param string|array $element
* @param int $priority
* @param string $location
* @return bool
*/
public function addInlineScript($element, $priority = 0, $location = 'head');
* Shortcut for writing addScript(['type' => 'module', 'src' => ...]).
*
* @param string|array $element
* @param int $priority
* @param string $location
* @return bool
*/
public function addModule($element, $priority = 0, $location = 'head');
* Shortcut for writing addInlineScript(['type' => 'module', 'content' => ...]).
*
* @param string|array $element
* @param int $priority
* @param string $location
* @return bool
*/
public function addInlineModule($element, $priority = 0, $location = 'head');
* @param array $element
* @param int $priority
* @param string $location
* @return bool
*/
public function addLink($element, $priority = 0, $location = 'head');
* @param string $html
* @param int $priority
* @param string $location
* @return bool
*/
public function addHtml($html, $priority = 0, $location = 'bottom');
}