/home
/grav
/www
/skepties-site-grav
/vendor
/twig
/twig
/lib
/Twig
/Template.php
protected function displayWithErrorHandling(array $context, array $blocks = array())
{
try {
$this->doDisplay($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getTemplateName()) {
$e->setTemplateName($this->getTemplateName());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getTemplateName(), $e);
}
}
/**
* Auto-generated method to display the template with the given context.
*
* @param array $context An array of parameters to pass to the template
* @param array $blocks An array of blocks to pass to the template
*/
abstract protected function doDisplay(array $context, array $blocks = array());
/**
* Returns a variable from the context.
*
* This method is for internal use only and should never be called
* directly.
*
* This method should not be overridden in a sub-class as this is an
* implementation detail that has been introduced to optimize variable
* access for versions of PHP before 5.4. This is not a way to override
Arguments
"An exception has been thrown during the rendering of a template ("Illegal offset type in isset or empty") in "w/license.html.twig" at line 9."
/home
/grav
/www
/skepties-site-grav
/vendor
/twig
/twig
/lib
/Twig
/Template.php
* @param mixed $object The object or array from where to get the item
* @param mixed $item The item to get from the array or object
* @param array $arguments An array of arguments to pass if the item is an object method
* @param string $type The type of attribute (@see Twig_Template constants)
* @param bool $isDefinedTest Whether this is only a defined check
* @param bool $ignoreStrictCheck Whether to ignore the strict attribute check or not
*
* @return mixed The attribute value, or a Boolean when $isDefinedTest is true, or null when the attribute is not set and $ignoreStrictCheck is true
*
* @throws Twig_Error_Runtime if the attribute does not exist and Twig is running in strict mode and $isDefinedTest is false
*
* @internal
*/
protected function getAttribute($object, $item, array $arguments = array(), $type = self::ANY_CALL, $isDefinedTest = false, $ignoreStrictCheck = false)
{
// array
if (self::METHOD_CALL !== $type) {
$arrayItem = is_bool($item) || is_float($item) ? (int) $item : $item;
if ((is_array($object) && (isset($object[$arrayItem]) || array_key_exists($arrayItem, $object)))
|| ($object instanceof ArrayAccess && isset($object[$arrayItem]))
) {
if ($isDefinedTest) {
return true;
}
return $object[$arrayItem];
}
if (self::ARRAY_CALL === $type || !is_object($object)) {
if ($isDefinedTest) {
return false;
}
if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
return;
}
if ($object instanceof ArrayAccess) {
$message = sprintf('Key "%s" in object with ArrayAccess of class "%s" does not exist.', $arrayItem, get_class($object));
Arguments
"Illegal offset type in isset or empty"
/home
/grav
/www
/skepties-site-grav
/vendor
/twig
/twig
/lib
/Twig
/Template.php
* @param mixed $object The object or array from where to get the item
* @param mixed $item The item to get from the array or object
* @param array $arguments An array of arguments to pass if the item is an object method
* @param string $type The type of attribute (@see Twig_Template constants)
* @param bool $isDefinedTest Whether this is only a defined check
* @param bool $ignoreStrictCheck Whether to ignore the strict attribute check or not
*
* @return mixed The attribute value, or a Boolean when $isDefinedTest is true, or null when the attribute is not set and $ignoreStrictCheck is true
*
* @throws Twig_Error_Runtime if the attribute does not exist and Twig is running in strict mode and $isDefinedTest is false
*
* @internal
*/
protected function getAttribute($object, $item, array $arguments = array(), $type = self::ANY_CALL, $isDefinedTest = false, $ignoreStrictCheck = false)
{
// array
if (self::METHOD_CALL !== $type) {
$arrayItem = is_bool($item) || is_float($item) ? (int) $item : $item;
if ((is_array($object) && (isset($object[$arrayItem]) || array_key_exists($arrayItem, $object)))
|| ($object instanceof ArrayAccess && isset($object[$arrayItem]))
) {
if ($isDefinedTest) {
return true;
}
return $object[$arrayItem];
}
if (self::ARRAY_CALL === $type || !is_object($object)) {
if ($isDefinedTest) {
return false;
}
if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
return;
}
if ($object instanceof ArrayAccess) {
$message = sprintf('Key "%s" in object with ArrayAccess of class "%s" does not exist.', $arrayItem, get_class($object));
Arguments
2
"Illegal offset type in isset or empty"
"/home/grav/www/skepties-site-grav/vendor/twig/twig/lib/Twig/Template.php"
511
array:7 [
"object" => array:4 [
"none" => null
"default" => "CCBYSA40"
"follow_source" => array:2 [
"display" => "이 글의 저작권은 원글을 따릅니다."
"display_name" => "이 글의 저작권은 원글을 따릅니다."
]
"CCBYSA40" => array:6 [
"url" => "https://creativecommons.org/licenses/by-sa/4.0/deed.ko"
"short_name" => "CC BY-SA 4.0"
"full_name" => "Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)"
"display_name" => "Creative Commons 저작자표시-동일조건변경허락 4.0 국제 (CC BY-SA 4.0)"
"button" => "/img/license/cc-by-sa.png"
"button_big" => "/img/license/cc-by-sa.png"
]
]
"item" => array:1 [
0 => "테스트저작권"
]
"arguments" => []
"type" => "array"
"isDefinedTest" => false
"ignoreStrictCheck" => false
"arrayItem" => array:1 [
0 => "테스트저작권"
]
]
/home
/grav
/www
/skepties-site-grav
/cache
/twig
/24
/24cc7530ec24f925e6baa144c63dc48e2186a0795440e31921ee11f1ed140db3.php
echo " ";
if ($this->getAttribute(($context["header"] ?? null), "o_source", array())) {
// line 4
echo " ";
$context["license"] = "follow_source";
// line 5
echo " ";
}
// line 6
echo " ";
if ( !($context["license"] ?? null)) {
// line 7
echo " ";
$context["license"] = $this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "data", array()), "license", array()), "default", array());
// line 8
echo " ";
}
// line 9
echo " ";
$context["license_info"] = $this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "data", array()), "license", array()), ($context["license"] ?? null), array(), "array");
// line 10
echo " <center>
";
// line 11
if ($this->getAttribute(($context["license_info"] ?? null), "button", array())) {
echo " <img src=\"";
echo ($context["base_url"] ?? null);
echo $this->getAttribute(($context["license_info"] ?? null), "button", array());
echo "\"> ";
}
echo "
";
// line 12
if ($this->getAttribute(($context["license_info"] ?? null), "display", array())) {
// line 13
echo " <b>";
echo $this->getAttribute(($context["license_info"] ?? null), "display", array());
echo "</b>
";
} else {
Arguments
array:4 [
"none" => null
"default" => "CCBYSA40"
"follow_source" => array:2 [
"display" => "이 글의 저작권은 원글을 따릅니다."
"display_name" => "이 글의 저작권은 원글을 따릅니다."
]
"CCBYSA40" => array:6 [
"url" => "https://creativecommons.org/licenses/by-sa/4.0/deed.ko"
"short_name" => "CC BY-SA 4.0"
"full_name" => "Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)"
"display_name" => "Creative Commons 저작자표시-동일조건변경허락 4.0 국제 (CC BY-SA 4.0)"
"button" => "/img/license/cc-by-sa.png"
"button_big" => "/img/license/cc-by-sa.png"
]
]
array:1 [
0 => "테스트저작권"
]
[]
"array"
/home
/grav
/www
/skepties-site-grav
/vendor
/twig
/twig
/lib
/Twig
/Template.php
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = array())
{
try {
$this->doDisplay($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getTemplateName()) {
$e->setTemplateName($this->getTemplateName());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getTemplateName(), $e);
}
}
/**
* Auto-generated method to display the template with the given context.
Arguments
array:26 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/grav/www/skepties-site-grav"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "http://skepties.net"
"base_url_relative" => ""
"theme_dir" => "/home/grav/www/skepties-site-grav/theme"
"theme_url" => "/theme"
"site" => array:9 [
"title" => "스켑티즈"
"author" => array:2 [
"name" => "Skepties"
"email" => "[email protected]"
]
"taxonomies" => array:3 [
0 => "category"
1 => "tag"
2 => "author"
]
"metadata" => array:1 [
"description" => "스켑티즈 : 회의주의 허브"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "<!-- more -->"
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"analytics" => "UA-56121005-4"
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"taxonomylist" => Taxonomylist {}
"list_url" => "/blog"
"oauth" => array:2 [
"enabled" => true
"providers" => array:1 [
"Facebook" => array:2 [
"key" => 204275019915859
"secret" => "65537821952a82fe2b3ebfa2ac478f00"
]
]
]
"form" => null
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => ""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => true
]
]
"license" => array:1 [
0 => "테스트저작권"
]
]
[]
/home
/grav
/www
/skepties-site-grav
/vendor
/twig
/twig
/lib
/Twig
/Template.php
* Returns all blocks.
*
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*
* @internal
*/
public function getBlocks()
{
return $this->blocks;
}
/**
* {@inheritdoc}
*/
public function display(array $context, array $blocks = array())
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
/**
* {@inheritdoc}
*/
public function render(array $context)
{
$level = ob_get_level();
ob_start();
try {
$this->display($context);
} catch (Exception $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
Arguments
array:25 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/grav/www/skepties-site-grav"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "http://skepties.net"
"base_url_relative" => ""
"theme_dir" => "/home/grav/www/skepties-site-grav/theme"
"theme_url" => "/theme"
"site" => array:9 [
"title" => "스켑티즈"
"author" => array:2 [
"name" => "Skepties"
"email" => "[email protected]"
]
"taxonomies" => array:3 [
0 => "category"
1 => "tag"
2 => "author"
]
"metadata" => array:1 [
"description" => "스켑티즈 : 회의주의 허브"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "<!-- more -->"
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"analytics" => "UA-56121005-4"
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"taxonomylist" => Taxonomylist {}
"list_url" => "/blog"
"oauth" => array:2 [
"enabled" => true
"providers" => array:1 [
"Facebook" => array:2 [
"key" => 204275019915859
"secret" => "65537821952a82fe2b3ebfa2ac478f00"
]
]
]
"form" => null
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => ""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => true
]
]
]
[]
/home
/grav
/www
/skepties-site-grav
/cache
/twig
/30
/301c281c54388160d6509896f42fe5154265fff2cdcdf96287a040508656407b.php
";
}
// line 26
echo " <figcaption class=\"sk-image-caption\">";
echo $this->getAttribute(($context["page"] ?? null), "img_desc", array());
echo "</figcaption>
</figure>
</header>
<!-- Contents -->
";
// line 31
echo $this->getAttribute(($context["page"] ?? null), "content", array());
echo "
</article>
<!-- Information BOXes -->
";
// line 35
$this->loadTemplate("w/license.html.twig", "post.html.twig", 35)->display($context);
// line 36
echo " ";
$this->loadTemplate("w/author.html.twig", "post.html.twig", 36)->display($context);
// line 37
echo " ";
$this->loadTemplate("w/o_author.html.twig", "post.html.twig", 37)->display($context);
// line 38
echo "
<!-- COMMENTS -->
";
// line 40
$this->loadTemplate("w/comments_block.html.twig", "post.html.twig", 40)->display($context);
// line 41
echo " </div>
";
}
public function getTemplateName()
{
return "post.html.twig";
Arguments
array:25 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/grav/www/skepties-site-grav"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "http://skepties.net"
"base_url_relative" => ""
"theme_dir" => "/home/grav/www/skepties-site-grav/theme"
"theme_url" => "/theme"
"site" => array:9 [
"title" => "스켑티즈"
"author" => array:2 [
"name" => "Skepties"
"email" => "[email protected]"
]
"taxonomies" => array:3 [
0 => "category"
1 => "tag"
2 => "author"
]
"metadata" => array:1 [
"description" => "스켑티즈 : 회의주의 허브"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "<!-- more -->"
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"analytics" => "UA-56121005-4"
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"taxonomylist" => Taxonomylist {}
"list_url" => "/blog"
"oauth" => array:2 [
"enabled" => true
"providers" => array:1 [
"Facebook" => array:2 [
"key" => 204275019915859
"secret" => "65537821952a82fe2b3ebfa2ac478f00"
]
]
]
"form" => null
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => ""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => true
]
]
]
/home
/grav
/www
/skepties-site-grav
/vendor
/twig
/twig
/lib
/Twig
/Template.php
if ($useBlocks && isset($blocks[$name])) {
$template = $blocks[$name][0];
$block = $blocks[$name][1];
} elseif (isset($this->blocks[$name])) {
$template = $this->blocks[$name][0];
$block = $this->blocks[$name][1];
} else {
$template = null;
$block = null;
}
if (null !== $template) {
// avoid RCEs when sandbox is enabled
if (!$template instanceof self) {
throw new LogicException('A block must be a method on a Twig_Template instance.');
}
try {
$template->$block($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getTemplateName()) {
$e->setTemplateName($template->getTemplateName());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getTemplateName(), $e);
}
} elseif (false !== $parent = $this->getParent($context)) {
$parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
}
}
Arguments
array:25 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/grav/www/skepties-site-grav"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "http://skepties.net"
"base_url_relative" => ""
"theme_dir" => "/home/grav/www/skepties-site-grav/theme"
"theme_url" => "/theme"
"site" => array:9 [
"title" => "스켑티즈"
"author" => array:2 [
"name" => "Skepties"
"email" => "[email protected]"
]
"taxonomies" => array:3 [
0 => "category"
1 => "tag"
2 => "author"
]
"metadata" => array:1 [
"description" => "스켑티즈 : 회의주의 허브"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "<!-- more -->"
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"analytics" => "UA-56121005-4"
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"taxonomylist" => Taxonomylist {}
"list_url" => "/blog"
"oauth" => array:2 [
"enabled" => true
"providers" => array:1 [
"Facebook" => array:2 [
"key" => 204275019915859
"secret" => "65537821952a82fe2b3ebfa2ac478f00"
]
]
]
"form" => null
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => ""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => true
]
]
]
array:9 [
"head" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_head"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_stylesheets"
]
"javascripts" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_javascripts"
]
"javascripts_bottom" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_javascripts_bottom"
]
"header" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_header"
]
"body" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_b967c7fc33a32c104e4e2a61e59805caa64bda556aed823477b0524aba26c3e9 {}
1 => "block_content"
]
"footer" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_footer"
]
"bottom" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_bottom"
]
]
/home
/grav
/www
/skepties-site-grav
/cache
/twig
/95
/951e4b37adbee43bdb1c8a79596bed0f0ccaa76ae7d2a9d264c971d022d9ffb8.php
echo " ";
$this->getAttribute(($context["assets"] ?? null), "addJs", array(0 => "theme://js/custom.js", 1 => array("group" => "bottom")), "method");
}
// line 50
public function block_header($context, array $blocks = array())
{
// line 51
echo " ";
$this->loadTemplate("partials/navigation.html.twig", "partials/base.html.twig", 51)->display($context);
// line 52
echo " ";
}
// line 54
public function block_body($context, array $blocks = array())
{
// line 55
echo " ";
$this->displayBlock('content', $context, $blocks);
// line 56
echo " ";
}
// line 55
public function block_content($context, array $blocks = array())
{
}
// line 59
public function block_footer($context, array $blocks = array())
{
// line 60
echo " ";
$this->loadTemplate("partials/footer.html.twig", "partials/base.html.twig", 60)->display($context);
// line 61
echo " ";
}
// line 63
Arguments
"content"
array:25 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/grav/www/skepties-site-grav"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "http://skepties.net"
"base_url_relative" => ""
"theme_dir" => "/home/grav/www/skepties-site-grav/theme"
"theme_url" => "/theme"
"site" => array:9 [
"title" => "스켑티즈"
"author" => array:2 [
"name" => "Skepties"
"email" => "[email protected]"
]
"taxonomies" => array:3 [
0 => "category"
1 => "tag"
2 => "author"
]
"metadata" => array:1 [
"description" => "스켑티즈 : 회의주의 허브"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "<!-- more -->"
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"analytics" => "UA-56121005-4"
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"taxonomylist" => Taxonomylist {}
"list_url" => "/blog"
"oauth" => array:2 [
"enabled" => true
"providers" => array:1 [
"Facebook" => array:2 [
"key" => 204275019915859
"secret" => "65537821952a82fe2b3ebfa2ac478f00"
]
]
]
"form" => null
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => ""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => true
]
]
]
array:9 [
"head" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_head"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_stylesheets"
]
"javascripts" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_javascripts"
]
"javascripts_bottom" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_javascripts_bottom"
]
"header" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_header"
]
"body" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_b967c7fc33a32c104e4e2a61e59805caa64bda556aed823477b0524aba26c3e9 {}
1 => "block_content"
]
"footer" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_footer"
]
"bottom" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_bottom"
]
]
/home
/grav
/www
/skepties-site-grav
/vendor
/twig
/twig
/lib
/Twig
/Template.php
if ($useBlocks && isset($blocks[$name])) {
$template = $blocks[$name][0];
$block = $blocks[$name][1];
} elseif (isset($this->blocks[$name])) {
$template = $this->blocks[$name][0];
$block = $this->blocks[$name][1];
} else {
$template = null;
$block = null;
}
if (null !== $template) {
// avoid RCEs when sandbox is enabled
if (!$template instanceof self) {
throw new LogicException('A block must be a method on a Twig_Template instance.');
}
try {
$template->$block($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getTemplateName()) {
$e->setTemplateName($template->getTemplateName());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getTemplateName(), $e);
}
} elseif (false !== $parent = $this->getParent($context)) {
$parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
}
}
Arguments
array:25 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/grav/www/skepties-site-grav"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "http://skepties.net"
"base_url_relative" => ""
"theme_dir" => "/home/grav/www/skepties-site-grav/theme"
"theme_url" => "/theme"
"site" => array:9 [
"title" => "스켑티즈"
"author" => array:2 [
"name" => "Skepties"
"email" => "[email protected]"
]
"taxonomies" => array:3 [
0 => "category"
1 => "tag"
2 => "author"
]
"metadata" => array:1 [
"description" => "스켑티즈 : 회의주의 허브"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "<!-- more -->"
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"analytics" => "UA-56121005-4"
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"taxonomylist" => Taxonomylist {}
"list_url" => "/blog"
"oauth" => array:2 [
"enabled" => true
"providers" => array:1 [
"Facebook" => array:2 [
"key" => 204275019915859
"secret" => "65537821952a82fe2b3ebfa2ac478f00"
]
]
]
"form" => null
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => ""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => true
]
]
]
array:9 [
"head" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_head"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_stylesheets"
]
"javascripts" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_javascripts"
]
"javascripts_bottom" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_javascripts_bottom"
]
"header" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_header"
]
"body" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_b967c7fc33a32c104e4e2a61e59805caa64bda556aed823477b0524aba26c3e9 {}
1 => "block_content"
]
"footer" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_footer"
]
"bottom" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_bottom"
]
]
/home
/grav
/www
/skepties-site-grav
/cache
/twig
/95
/951e4b37adbee43bdb1c8a79596bed0f0ccaa76ae7d2a9d264c971d022d9ffb8.php
<head>
";
// line 6
$this->displayBlock('head', $context, $blocks);
// line 46
echo "</head>
<body id=\"top\" class=\"";
// line 47
echo $this->getAttribute($this->getAttribute(($context["page"] ?? null), "header", array()), "body_classes", array());
echo " fullbg js\">
<div class=\"sk-most-outer\">
<div class=\"container sk-main-container\">
";
// line 50
$this->displayBlock('header', $context, $blocks);
// line 53
echo " <div class=\"sk-main-body row\">
";
// line 54
$this->displayBlock('body', $context, $blocks);
// line 57
echo " </div>
<div class=\"sk-main-footer row\">
";
// line 59
$this->displayBlock('footer', $context, $blocks);
// line 62
echo " </div>
";
// line 63
$this->displayBlock('bottom', $context, $blocks);
// line 67
echo " </div>
</div>
</body>
</html>
";
}
// line 6
Arguments
"body"
array:25 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/grav/www/skepties-site-grav"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "http://skepties.net"
"base_url_relative" => ""
"theme_dir" => "/home/grav/www/skepties-site-grav/theme"
"theme_url" => "/theme"
"site" => array:9 [
"title" => "스켑티즈"
"author" => array:2 [
"name" => "Skepties"
"email" => "[email protected]"
]
"taxonomies" => array:3 [
0 => "category"
1 => "tag"
2 => "author"
]
"metadata" => array:1 [
"description" => "스켑티즈 : 회의주의 허브"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "<!-- more -->"
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"analytics" => "UA-56121005-4"
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"taxonomylist" => Taxonomylist {}
"list_url" => "/blog"
"oauth" => array:2 [
"enabled" => true
"providers" => array:1 [
"Facebook" => array:2 [
"key" => 204275019915859
"secret" => "65537821952a82fe2b3ebfa2ac478f00"
]
]
]
"form" => null
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => ""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => true
]
]
]
array:9 [
"head" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_head"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_stylesheets"
]
"javascripts" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_javascripts"
]
"javascripts_bottom" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_javascripts_bottom"
]
"header" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_header"
]
"body" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_b967c7fc33a32c104e4e2a61e59805caa64bda556aed823477b0524aba26c3e9 {}
1 => "block_content"
]
"footer" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_footer"
]
"bottom" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_bottom"
]
]
/home
/grav
/www
/skepties-site-grav
/vendor
/twig
/twig
/lib
/Twig
/Template.php
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = array())
{
try {
$this->doDisplay($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getTemplateName()) {
$e->setTemplateName($this->getTemplateName());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getTemplateName(), $e);
}
}
/**
* Auto-generated method to display the template with the given context.
Arguments
array:25 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/grav/www/skepties-site-grav"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "http://skepties.net"
"base_url_relative" => ""
"theme_dir" => "/home/grav/www/skepties-site-grav/theme"
"theme_url" => "/theme"
"site" => array:9 [
"title" => "스켑티즈"
"author" => array:2 [
"name" => "Skepties"
"email" => "[email protected]"
]
"taxonomies" => array:3 [
0 => "category"
1 => "tag"
2 => "author"
]
"metadata" => array:1 [
"description" => "스켑티즈 : 회의주의 허브"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "<!-- more -->"
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"analytics" => "UA-56121005-4"
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"taxonomylist" => Taxonomylist {}
"list_url" => "/blog"
"oauth" => array:2 [
"enabled" => true
"providers" => array:1 [
"Facebook" => array:2 [
"key" => 204275019915859
"secret" => "65537821952a82fe2b3ebfa2ac478f00"
]
]
]
"form" => null
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => ""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => true
]
]
]
array:9 [
"head" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_head"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_stylesheets"
]
"javascripts" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_javascripts"
]
"javascripts_bottom" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_javascripts_bottom"
]
"header" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_header"
]
"body" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_b967c7fc33a32c104e4e2a61e59805caa64bda556aed823477b0524aba26c3e9 {}
1 => "block_content"
]
"footer" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_footer"
]
"bottom" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_bottom"
]
]
/home
/grav
/www
/skepties-site-grav
/vendor
/twig
/twig
/lib
/Twig
/Template.php
* Returns all blocks.
*
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*
* @internal
*/
public function getBlocks()
{
return $this->blocks;
}
/**
* {@inheritdoc}
*/
public function display(array $context, array $blocks = array())
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
/**
* {@inheritdoc}
*/
public function render(array $context)
{
$level = ob_get_level();
ob_start();
try {
$this->display($context);
} catch (Exception $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
Arguments
array:24 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/grav/www/skepties-site-grav"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "http://skepties.net"
"base_url_relative" => ""
"theme_dir" => "/home/grav/www/skepties-site-grav/theme"
"theme_url" => "/theme"
"site" => array:9 [
"title" => "스켑티즈"
"author" => array:2 [
"name" => "Skepties"
"email" => "[email protected]"
]
"taxonomies" => array:3 [
0 => "category"
1 => "tag"
2 => "author"
]
"metadata" => array:1 [
"description" => "스켑티즈 : 회의주의 허브"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "<!-- more -->"
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"analytics" => "UA-56121005-4"
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"taxonomylist" => Taxonomylist {}
"list_url" => "/blog"
"oauth" => array:2 [
"enabled" => true
"providers" => array:1 [
"Facebook" => array:2 [
"key" => 204275019915859
"secret" => "65537821952a82fe2b3ebfa2ac478f00"
]
]
]
"form" => null
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => ""
"grav" => Grav {}
]
array:9 [
"head" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_head"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_stylesheets"
]
"javascripts" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_javascripts"
]
"javascripts_bottom" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_javascripts_bottom"
]
"header" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_header"
]
"body" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_b967c7fc33a32c104e4e2a61e59805caa64bda556aed823477b0524aba26c3e9 {}
1 => "block_content"
]
"footer" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_footer"
]
"bottom" => array:2 [
0 => __TwigTemplate_a7ac3356878da80528943c73adbccef7ae989a51c0b00f4b97dd4ab4db851844 {#1}
1 => "block_bottom"
]
]
/home
/grav
/www
/skepties-site-grav
/cache
/twig
/30
/301c281c54388160d6509896f42fe5154265fff2cdcdf96287a040508656407b.php
{
public function __construct(Twig_Environment $env)
{
parent::__construct($env);
// line 1
$this->parent = $this->loadTemplate("partials/base.html.twig", "post.html.twig", 1);
$this->blocks = array(
'content' => array($this, 'block_content'),
);
}
protected function doGetParent(array $context)
{
return "partials/base.html.twig";
}
protected function doDisplay(array $context, array $blocks = array())
{
$this->parent->display($context, array_merge($this->blocks, $blocks));
}
// line 3
public function block_content($context, array $blocks = array())
{
// line 4
echo " <div class=\"sk-single-article sk-content col-lg-10 col-lg-offset-1\">
<!-- SINGLE POST -->
<article>
<header class=\"sk-header\">
<div class=\"sk-header-inbox\" ";
// line 8
if (($this->getAttribute($this->getAttribute(($context["page"] ?? null), "header", array()), "no_top_img", array()) || !$this->getAttribute($this->getAttribute(($context["page"] ?? null), "header", array()), "img", array()))) {
echo "style=\"position:relative;\"";
}
echo ">
<h1 class=\"sk-title\"> ";
// line 9
echo $this->getAttribute(($context["page"] ?? null), "title", array());
echo "</h1>
Arguments
array:24 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/grav/www/skepties-site-grav"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "http://skepties.net"
"base_url_relative" => ""
"theme_dir" => "/home/grav/www/skepties-site-grav/theme"
"theme_url" => "/theme"
"site" => array:9 [
"title" => "스켑티즈"
"author" => array:2 [
"name" => "Skepties"
"email" => "[email protected]"
]
"taxonomies" => array:3 [
0 => "category"
1 => "tag"
2 => "author"
]
"metadata" => array:1 [
"description" => "스켑티즈 : 회의주의 허브"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "<!-- more -->"
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"analytics" => "UA-56121005-4"
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"taxonomylist" => Taxonomylist {}
"list_url" => "/blog"
"oauth" => array:2 [
"enabled" => true
"providers" => array:1 [
"Facebook" => array:2 [
"key" => 204275019915859
"secret" => "65537821952a82fe2b3ebfa2ac478f00"
]
]
]
"form" => null
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => ""
"grav" => Grav {}
]
array:1 [
"content" => array:2 [
0 => __TwigTemplate_b967c7fc33a32c104e4e2a61e59805caa64bda556aed823477b0524aba26c3e9 {}
1 => "block_content"
]
]
/home
/grav
/www
/skepties-site-grav
/vendor
/twig
/twig
/lib
/Twig
/Template.php
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = array())
{
try {
$this->doDisplay($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getTemplateName()) {
$e->setTemplateName($this->getTemplateName());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getTemplateName(), $e);
}
}
/**
* Auto-generated method to display the template with the given context.
Arguments
array:24 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/grav/www/skepties-site-grav"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "http://skepties.net"
"base_url_relative" => ""
"theme_dir" => "/home/grav/www/skepties-site-grav/theme"
"theme_url" => "/theme"
"site" => array:9 [
"title" => "스켑티즈"
"author" => array:2 [
"name" => "Skepties"
"email" => "[email protected]"
]
"taxonomies" => array:3 [
0 => "category"
1 => "tag"
2 => "author"
]
"metadata" => array:1 [
"description" => "스켑티즈 : 회의주의 허브"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "<!-- more -->"
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"analytics" => "UA-56121005-4"
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"taxonomylist" => Taxonomylist {}
"list_url" => "/blog"
"oauth" => array:2 [
"enabled" => true
"providers" => array:1 [
"Facebook" => array:2 [
"key" => 204275019915859
"secret" => "65537821952a82fe2b3ebfa2ac478f00"
]
]
]
"form" => null
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => ""
"grav" => Grav {}
]
array:1 [
"content" => array:2 [
0 => __TwigTemplate_b967c7fc33a32c104e4e2a61e59805caa64bda556aed823477b0524aba26c3e9 {}
1 => "block_content"
]
]
/home
/grav
/www
/skepties-site-grav
/vendor
/twig
/twig
/lib
/Twig
/Template.php
* Returns all blocks.
*
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*
* @internal
*/
public function getBlocks()
{
return $this->blocks;
}
/**
* {@inheritdoc}
*/
public function display(array $context, array $blocks = array())
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
/**
* {@inheritdoc}
*/
public function render(array $context)
{
$level = ob_get_level();
ob_start();
try {
$this->display($context);
} catch (Exception $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
Arguments
array:24 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/grav/www/skepties-site-grav"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "http://skepties.net"
"base_url_relative" => ""
"theme_dir" => "/home/grav/www/skepties-site-grav/theme"
"theme_url" => "/theme"
"site" => array:9 [
"title" => "스켑티즈"
"author" => array:2 [
"name" => "Skepties"
"email" => "[email protected]"
]
"taxonomies" => array:3 [
0 => "category"
1 => "tag"
2 => "author"
]
"metadata" => array:1 [
"description" => "스켑티즈 : 회의주의 허브"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "<!-- more -->"
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"analytics" => "UA-56121005-4"
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"taxonomylist" => Taxonomylist {}
"list_url" => "/blog"
"oauth" => array:2 [
"enabled" => true
"providers" => array:1 [
"Facebook" => array:2 [
"key" => 204275019915859
"secret" => "65537821952a82fe2b3ebfa2ac478f00"
]
]
]
"form" => null
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => ""
"grav" => Grav {}
]
array:1 [
"content" => array:2 [
0 => __TwigTemplate_b967c7fc33a32c104e4e2a61e59805caa64bda556aed823477b0524aba26c3e9 {}
1 => "block_content"
]
]
/home
/grav
/www
/skepties-site-grav
/vendor
/twig
/twig
/lib
/Twig
/Template.php
return $this->blocks;
}
/**
* {@inheritdoc}
*/
public function display(array $context, array $blocks = array())
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
/**
* {@inheritdoc}
*/
public function render(array $context)
{
$level = ob_get_level();
ob_start();
try {
$this->display($context);
} catch (Exception $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = array())
{
try {
Arguments
array:23 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/grav/www/skepties-site-grav"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "http://skepties.net"
"base_url_relative" => ""
"theme_dir" => "/home/grav/www/skepties-site-grav/theme"
"theme_url" => "/theme"
"site" => array:9 [
"title" => "스켑티즈"
"author" => array:2 [
"name" => "Skepties"
"email" => "[email protected]"
]
"taxonomies" => array:3 [
0 => "category"
1 => "tag"
2 => "author"
]
"metadata" => array:1 [
"description" => "스켑티즈 : 회의주의 허브"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "<!-- more -->"
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"analytics" => "UA-56121005-4"
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"taxonomylist" => Taxonomylist {}
"list_url" => "/blog"
"oauth" => array:2 [
"enabled" => true
"providers" => array:1 [
"Facebook" => array:2 [
"key" => 204275019915859
"secret" => "65537821952a82fe2b3ebfa2ac478f00"
]
]
]
"form" => null
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => ""
]
/home
/grav
/www
/skepties-site-grav
/vendor
/twig
/twig
/lib
/Twig
/Environment.php
@trigger_error(sprintf('The %s method is deprecated since version 1.22 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
return $this->templateClassPrefix;
}
/**
* Renders a template.
*
* @param string $name The template name
* @param array $context An array of parameters to pass to the template
*
* @return string The rendered template
*
* @throws Twig_Error_Loader When the template cannot be found
* @throws Twig_Error_Syntax When an error occurred during compilation
* @throws Twig_Error_Runtime When an error occurred during rendering
*/
public function render($name, array $context = array())
{
return $this->loadTemplate($name)->render($context);
}
/**
* Displays a template.
*
* @param string $name The template name
* @param array $context An array of parameters to pass to the template
*
* @throws Twig_Error_Loader When the template cannot be found
* @throws Twig_Error_Syntax When an error occurred during compilation
* @throws Twig_Error_Runtime When an error occurred during rendering
*/
public function display($name, array $context = array())
{
$this->loadTemplate($name)->display($context);
}
/**
* Loads a template.
*
Arguments
array:23 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/grav/www/skepties-site-grav"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "http://skepties.net"
"base_url_relative" => ""
"theme_dir" => "/home/grav/www/skepties-site-grav/theme"
"theme_url" => "/theme"
"site" => array:9 [
"title" => "스켑티즈"
"author" => array:2 [
"name" => "Skepties"
"email" => "[email protected]"
]
"taxonomies" => array:3 [
0 => "category"
1 => "tag"
2 => "author"
]
"metadata" => array:1 [
"description" => "스켑티즈 : 회의주의 허브"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "<!-- more -->"
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"analytics" => "UA-56121005-4"
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"taxonomylist" => Taxonomylist {}
"list_url" => "/blog"
"oauth" => array:2 [
"enabled" => true
"providers" => array:1 [
"Facebook" => array:2 [
"key" => 204275019915859
"secret" => "65537821952a82fe2b3ebfa2ac478f00"
]
]
]
"form" => null
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => ""
]
/home
/grav
/www
/skepties-site-grav
/system
/src
/Grav
/Common
/Twig
/Twig.php
$twig_vars = $this->twig_vars;
$twig_vars['pages'] = $pages->root();
$twig_vars['page'] = $page;
$twig_vars['header'] = $page->header();
$twig_vars['media'] = $page->media();
$twig_vars['content'] = $content;
$ext = '.' . ($format ? $format : 'html') . TWIG_EXT;
// determine if params are set, if so disable twig cache
$params = $this->grav['uri']->params(null, true);
if (!empty($params)) {
$this->twig->setCache(false);
}
// Get Twig template layout
$template = $this->template($page->template() . $ext);
try {
$output = $this->twig->render($template, $twig_vars);
} catch (\Twig_Error_Loader $e) {
$error_msg = $e->getMessage();
// Try html version of this template if initial template was NOT html
if ($ext != '.html' . TWIG_EXT) {
try {
$output = $this->twig->render($page->template() . '.html' . TWIG_EXT, $twig_vars);
} catch (\Twig_Error_Loader $e) {
throw new \RuntimeException($error_msg, 400, $e);
}
} else {
throw new \RuntimeException($error_msg, 400, $e);
}
}
return $output;
}
/**
* Simple helper method to get the twig template if it has already been set, else return
* the one being passed in
Arguments
"post.html.twig"
array:23 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/grav/www/skepties-site-grav"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "http://skepties.net"
"base_url_relative" => ""
"theme_dir" => "/home/grav/www/skepties-site-grav/theme"
"theme_url" => "/theme"
"site" => array:9 [
"title" => "스켑티즈"
"author" => array:2 [
"name" => "Skepties"
"email" => "[email protected]"
]
"taxonomies" => array:3 [
0 => "category"
1 => "tag"
2 => "author"
]
"metadata" => array:1 [
"description" => "스켑티즈 : 회의주의 허브"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "<!-- more -->"
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"analytics" => "UA-56121005-4"
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"taxonomylist" => Taxonomylist {}
"list_url" => "/blog"
"oauth" => array:2 [
"enabled" => true
"providers" => array:1 [
"Facebook" => array:2 [
"key" => 204275019915859
"secret" => "65537821952a82fe2b3ebfa2ac478f00"
]
]
]
"form" => null
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => ""
]
/home
/grav
/www
/skepties-site-grav
/system
/src
/Grav
/Common
/Service
/OutputServiceProvider.php
<?php
/**
* @package Grav.Common.Service
*
* @copyright Copyright (C) 2014 - 2016 RocketTheme, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
namespace Grav\Common\Service;
use Pimple\Container;
use Pimple\ServiceProviderInterface;
class OutputServiceProvider implements ServiceProviderInterface
{
public function register(Container $container) {
$container['output'] = function ($c) {
return $c['twig']->processSite($c['page']->templateFormat());
};
}
}
Arguments
/home
/grav
/www
/skepties-site-grav
/vendor
/pimple
/pimple
/src
/Pimple
/Container.php
{
if (!isset($this->keys[$id])) {
throw new \InvalidArgumentException(sprintf('Identifier "%s" is not defined.', $id));
}
if (
isset($this->raw[$id])
|| !is_object($this->values[$id])
|| isset($this->protected[$this->values[$id]])
|| !method_exists($this->values[$id], '__invoke')
) {
return $this->values[$id];
}
if (isset($this->factories[$this->values[$id]])) {
return $this->values[$id]($this);
}
$raw = $this->values[$id];
$val = $this->values[$id] = $raw($this);
$this->raw[$id] = $raw;
$this->frozen[$id] = true;
return $val;
}
/**
* Checks if a parameter or an object is set.
*
* @param string $id The unique identifier for the parameter or object
*
* @return bool
*/
public function offsetExists($id)
{
return isset($this->keys[$id]);
}
/**
Arguments
/home
/grav
/www
/skepties-site-grav
/system
/src
/Grav
/Common
/Processors
/RenderProcessor.php
<?php
/**
* @package Grav.Common.Processors
*
* @copyright Copyright (C) 2014 - 2016 RocketTheme, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
namespace Grav\Common\Processors;
class RenderProcessor extends ProcessorBase implements ProcessorInterface {
public $id = 'render';
public $title = 'Render';
public function process() {
$this->container->output = $this->container['output'];
$this->container->fireEvent('onOutputGenerated');
}
}
Arguments
/home
/grav
/www
/skepties-site-grav
/system
/src
/Grav
/Common
/Grav.php
$instance->offsetSet($key, $value);
}
}
return self::$instance;
}
/**
* Process a request
*/
public function process()
{
/** @var Debugger $debugger */
$debugger = $this['debugger'];
// process all processors (e.g. config, initialize, assets, ..., render)
foreach ($this->processors as $processor) {
$processor = $this[$processor];
$this->measureTime($processor->id, $processor->title, function () use ($processor) {
$processor->process();
});
}
// Set the header type
$this->header();
echo $this->output;
$debugger->render();
$this->fireEvent('onOutputRendered');
register_shutdown_function([$this, 'shutdown']);
}
/**
* Set the system locale based on the language and configuration
*/
public function setLocale()
{
// Initialize Locale if set and configured.
/home
/grav
/www
/skepties-site-grav
/system
/src
/Grav
/Common
/Grav.php
*
* @param array $values
*
* @return static
*/
protected static function load(array $values)
{
$container = new static($values);
$container['grav'] = $container;
$container['debugger'] = new Debugger();
$debugger = $container['debugger'];
// closure that measures time by wrapping a function into startTimer and stopTimer
// The debugger can be passed to the closure. Should be more performant
// then to get it from the container all time.
$container->measureTime = function ($timerId, $timerTitle, $callback) use ($debugger) {
$debugger->startTimer($timerId, $timerTitle);
$callback();
$debugger->stopTimer($timerId);
};
$container->measureTime('_services', 'Services', function () use ($container) {
$container->registerServices($container);
});
return $container;
}
/**
* Register all services
* Services are defined in the diMap. They can either only the class
* of a Service Provider or a pair of serviceKey => serviceClass that
* gets directly mapped into the container.
*
* @return void
*/
protected function registerServices()
{
/home
/grav
/www
/skepties-site-grav
/system
/src
/Grav
/Common
/Grav.php
ob_end_flush();
@ob_flush();
flush();
}
}
// Run any time consuming tasks.
$this->fireEvent('onShutdown');
}
/**
* Magic Catch All Function
* Used to call closures like measureTime on the instance.
* Source: http://stackoverflow.com/questions/419804/closures-as-class-members
*/
public function __call($method, $args)
{
$closure = $this->$method;
call_user_func_array($closure, $args);
}
/**
* Initialize and return a Grav instance
*
* @param array $values
*
* @return static
*/
protected static function load(array $values)
{
$container = new static($values);
$container['grav'] = $container;
$container['debugger'] = new Debugger();
$debugger = $container['debugger'];
// closure that measures time by wrapping a function into startTimer and stopTimer
// The debugger can be passed to the closure. Should be more performant
Arguments
"render"
"Render"
Closure {
class: "Grav\Common\Grav"
this: Grav { …}
use: {
$processor: RenderProcessor {}
}
file: "/home/grav/www/skepties-site-grav/system/src/Grav/Common/Grav.php"
line: "120 to 122"
}
/home
/grav
/www
/skepties-site-grav
/system
/src
/Grav
/Common
/Grav.php
ob_end_flush();
@ob_flush();
flush();
}
}
// Run any time consuming tasks.
$this->fireEvent('onShutdown');
}
/**
* Magic Catch All Function
* Used to call closures like measureTime on the instance.
* Source: http://stackoverflow.com/questions/419804/closures-as-class-members
*/
public function __call($method, $args)
{
$closure = $this->$method;
call_user_func_array($closure, $args);
}
/**
* Initialize and return a Grav instance
*
* @param array $values
*
* @return static
*/
protected static function load(array $values)
{
$container = new static($values);
$container['grav'] = $container;
$container['debugger'] = new Debugger();
$debugger = $container['debugger'];
// closure that measures time by wrapping a function into startTimer and stopTimer
// The debugger can be passed to the closure. Should be more performant
Arguments
Closure {
class: "Grav\Common\Grav"
parameters: {
$timerId: {}
$timerTitle: {}
$callback: {}
}
use: {
$debugger: Debugger {}
}
file: "/home/grav/www/skepties-site-grav/system/src/Grav/Common/Grav.php"
line: "356 to 360"
}
array:3 [
0 => "render"
1 => "Render"
2 => Closure {
class: "Grav\Common\Grav"
this: Grav { …}
use: {
$processor: RenderProcessor {}
}
file: "/home/grav/www/skepties-site-grav/system/src/Grav/Common/Grav.php"
line: "120 to 122"
}
]
/home
/grav
/www
/skepties-site-grav
/system
/src
/Grav
/Common
/Grav.php
}
}
return self::$instance;
}
/**
* Process a request
*/
public function process()
{
/** @var Debugger $debugger */
$debugger = $this['debugger'];
// process all processors (e.g. config, initialize, assets, ..., render)
foreach ($this->processors as $processor) {
$processor = $this[$processor];
$this->measureTime($processor->id, $processor->title, function () use ($processor) {
$processor->process();
});
}
// Set the header type
$this->header();
echo $this->output;
$debugger->render();
$this->fireEvent('onOutputRendered');
register_shutdown_function([$this, 'shutdown']);
}
/**
* Set the system locale based on the language and configuration
*/
public function setLocale()
{
// Initialize Locale if set and configured.
if ($this['language']->enabled() && $this['config']->get('system.languages.override_locale')) {
Arguments
"measureTime"
array:3 [
0 => "render"
1 => "Render"
2 => Closure {
class: "Grav\Common\Grav"
this: Grav { …}
use: {
$processor: RenderProcessor {}
}
file: "/home/grav/www/skepties-site-grav/system/src/Grav/Common/Grav.php"
line: "120 to 122"
}
]
/home
/grav
/www
/skepties-site-grav
/index.php
// Set timezone to default, falls back to system if php.ini not set
date_default_timezone_set(@date_default_timezone_get());
// Set internal encoding if mbstring loaded
if (!extension_loaded('mbstring')) {
die("'mbstring' extension is not loaded. This is required for Grav to run correctly");
}
mb_internal_encoding('UTF-8');
// Get the Grav instance
$grav = Grav::instance(
array(
'loader' => $loader
)
);
// Process the page
try {
$grav->process();
} catch (\Exception $e) {
$grav->fireEvent('onFatalException', new Event(['exception' => $e]));
throw $e;
}