<commit_before><?php


namespace af;

use Leafo\ScssPhp\Compiler;


define('AF_STAGE_NONE',		0);
define('AF_STAGE_HEADER',	1);
define('AF_STAGE_BODY',		2);
define('AF_STAGE_FOOTER',	3);
define('AF_STAGE_COMPLETE',	4);




////////////////////////////////////////////////////////////////////////////////
// METHODS TO STREAMLINE TBX TEMPLATE GENERATION AND PROCESSING
////////////////////////////////////////////////////////////////////////////////
trait template {




	////////////////////////////////////////////////////////////////////////////
	// LINK A JAVASCRIPT FILE IN HTML HEADER
	////////////////////////////////////////////////////////////////////////////
	public function script($path) {
		if (tbx_array($path)) {
			foreach ($path as $item) {
				$this->_script[] = ['path' => $item];
			}
		} else {
			$this->_script[] = ['path' => $path];
		}
		return $this;
	}




	////////////////////////////////////////////////////////////////////////////
	// EMBED INLINE JAVASCRIPT IN HTML HEADER
	////////////////////////////////////////////////////////////////////////////
	public function javascript($script, $merge=false) {
		$this->_js[] = [$script, $merge];
		return $this;
	}




	////////////////////////////////////////////////////////////////////////////
	// EMBED INLINE JAVASCRIPT IN HTML HEADER FROM FILE
	////////////////////////////////////////////////////////////////////////////
	public function js($file, $merge=false) {
		$data = @file_get_contents($file, true);
		if ($data === false) {
			throw new \afException('Unable to load JS file: '.$file);
		}
		$this->_js[] = [$data, $merge];
		return $this;
	}




	////////////////////////////////////////////////////////////////////////////
	// LINK A CASCADING STYLE SHEET FILE IN HTML HEADER
	////////////////////////////////////////////////////////////////////////////
	public function style($path) {
		if (tbx_array($path)) {
			foreach ($path as $item) {
				$this->_style[] = ['path' => $item];
			}
		} else {
			$this->_style[] = ['path' => $path];
		}
		return $this;
	}




	////////////////////////////////////////////////////////////////////////////
	// EMBED INLINE CASCADING STYLE SHEET IN HTML HEADER
	////////////////////////////////////////////////////////////////////////////
	public function sheet($styles, $merge=false) {
		$this->_css[] = [$styles, $merge];
		return $this;
	}




	////////////////////////////////////////////////////////////////////////////
	// EMBED INLINE CASCADING STYLE SHEET IN HTML HEADER FROM FILE
	////////////////////////////////////////////////////////////////////////////
	public function css($file, $merge=false) {
		require_once('_scss/scss.inc.php');

		$text = @file_get_contents($file, true);
		if ($text === false) {
			throw new \afException('Unable to load (S)CSS file: '.$file);
		}

		if (substr($file, -5) === '.scss') {
			$text = (new Compiler)->compile($text);
		}

		$this->_css[] = [$text, $merge];<commit_msg>Updating reference to new scss precompiler TODO: this dependency should NOT exist within this project!<commit_after><?php


namespace af;

use ScssPhp\ScssPhp\Compiler;


define('AF_STAGE_NONE',		0);
define('AF_STAGE_HEADER',	1);
define('AF_STAGE_BODY',		2);
define('AF_STAGE_FOOTER',	3);
define('AF_STAGE_COMPLETE',	4);




////////////////////////////////////////////////////////////////////////////////
// METHODS TO STREAMLINE TBX TEMPLATE GENERATION AND PROCESSING
////////////////////////////////////////////////////////////////////////////////
trait template {




	////////////////////////////////////////////////////////////////////////////
	// LINK A JAVASCRIPT FILE IN HTML HEADER
	////////////////////////////////////////////////////////////////////////////
	public function script($path) {
		if (tbx_array($path)) {
			foreach ($path as $item) {
				$this->_script[] = ['path' => $item];
			}
		} else {
			$this->_script[] = ['path' => $path];
		}
		return $this;
	}




	////////////////////////////////////////////////////////////////////////////
	// EMBED INLINE JAVASCRIPT IN HTML HEADER
	////////////////////////////////////////////////////////////////////////////
	public function javascript($script, $merge=false) {
		$this->_js[] = [$script, $merge];
		return $this;
	}




	////////////////////////////////////////////////////////////////////////////
	// EMBED INLINE JAVASCRIPT IN HTML HEADER FROM FILE
	////////////////////////////////////////////////////////////////////////////
	public function js($file, $merge=false) {
		$data = @file_get_contents($file, true);
		if ($data === false) {
			throw new \afException('Unable to load JS file: '.$file);
		}
		$this->_js[] = [$data, $merge];
		return $this;
	}




	////////////////////////////////////////////////////////////////////////////
	// LINK A CASCADING STYLE SHEET FILE IN HTML HEADER
	////////////////////////////////////////////////////////////////////////////
	public function style($path) {
		if (tbx_array($path)) {
			foreach ($path as $item) {
				$this->_style[] = ['path' => $item];
			}
		} else {
			$this->_style[] = ['path' => $path];
		}
		return $this;
	}




	////////////////////////////////////////////////////////////////////////////
	// EMBED INLINE CASCADING STYLE SHEET IN HTML HEADER
	////////////////////////////////////////////////////////////////////////////
	public function sheet($styles, $merge=false) {
		$this->_css[] = [$styles, $merge];
		return $this;
	}




	////////////////////////////////////////////////////////////////////////////
	// EMBED INLINE CASCADING STYLE SHEET IN HTML HEADER FROM FILE
	////////////////////////////////////////////////////////////////////////////
	public function css($file, $merge=false) {
		require_once('_scss/scss.inc.php');

		$text = @file_get_contents($file, true);
		if ($text === false) {
			throw new \afException('Unable to load (S)CSS file: '.$file);
		}

		if (substr($file, -5) === '.scss') {
			$text = (new Compiler)->compileString($text)->getCss();
		}

		$this->_css[] = [$text, $merge];
{'fraction_non_alphanumeric': 0.46610028319173746, 'fraction_numerical': 0.001999000499750125, 'mean_word_length': 0.986763732627399, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 30, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5790887', 'n_tokens_mistral': 1675, 'n_tokens_neox': 1470, 'n_words': 371}