*
* @package org.cocur.slugify
* @author Florian Eckerstorfer <florian@eckerstorfer.co>
* @author Marchenko Alexandr
* @copyright 2012-2014 Florian Eckerstorfer
* @license http://www.opensource.org/licenses/MIT The MIT License
*/
interface SlugifyInterface
{
/**
* Return a URL safe version of a string.
*
* @param string $string
* @param string|array|null $options
*
* @return string
*
* @api
*/
public function slugify(string $string, array|string|null $options = null): string;
}
"syntax error, unexpected '|', expecting variable (T_VARIABLE) (View: /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/resources/views/single.blade.php)"
*
* @param string $__path
* @param array $__data
* @return string
*/
protected function evaluatePath($__path, $__data)
{
$obLevel = ob_get_level();
ob_start();
extract($__data, EXTR_SKIP);
// We'll evaluate the contents of the view inside a try/catch block so we can
// flush out any stray output that might get out before an error occurs or
// an exception is thrown. This prevents any partial views from leaking.
try {
include $__path;
} catch (Throwable $e) {
$this->handleViewException($e, $obLevel);
}
return ltrim(ob_get_clean());
}
/**
* Handle a view exception.
*
* @param \Throwable $e
* @param int $obLevel
* @return void
*
* @throws \Throwable
*/
protected function handleViewException(Throwable $e, $obLevel)
{
while (ob_get_level() > $obLevel) {
ob_end_clean();
}
*
* @package org.cocur.slugify
* @author Florian Eckerstorfer <florian@eckerstorfer.co>
* @author Marchenko Alexandr
* @copyright 2012-2014 Florian Eckerstorfer
* @license http://www.opensource.org/licenses/MIT The MIT License
*/
interface SlugifyInterface
{
/**
* Return a URL safe version of a string.
*
* @param string $string
* @param string|array|null $options
*
* @return string
*
* @api
*/
public function slugify(string $string, array|string|null $options = null): string;
}
"syntax error, unexpected '|', expecting variable (T_VARIABLE)"
public function unregister()
{
spl_autoload_unregister(array($this, 'loadClass'));
if (null !== $this->vendorDir) {
unset(self::$registeredLoaders[$this->vendorDir]);
}
}
/**
* Loads the given class or interface.
*
* @param string $class The name of the class
* @return true|null True if loaded, null otherwise
*/
public function loadClass($class)
{
if ($file = $this->findFile($class)) {
$includeFile = self::$includeFile;
$includeFile($file);
return true;
}
return null;
}
/**
* Finds the path to the file where the class is defined.
*
* @param string $class The name of the class
*
* @return string|false The path if found, false otherwise
*/
public function findFile($class)
{
// class map lookup
if (isset($this->classMap[$class])) {
return $this->classMap[$class];
}
*
* For the full copyright and license information, please view the LICENSE.md
* file that was distributed with this source code.
*
* ------------------------------------------------------------------
*/
declare(strict_types=1);
namespace TOC;
use Cocur\Slugify\Slugify;
use Cocur\Slugify\SlugifyInterface;
/**
* UniqueSlugify creates slugs from text without repeating the same slug twice per instance
*
* @author Casey McLaughlin <caseyamcl@gmail.com>
*/
class UniqueSlugify implements SlugifyInterface
{
/**
* @var SlugifyInterface
*/
private $slugify;
/**
* @var array
*/
private $used;
/**
* Constructor
*
* @param SlugifyInterface|null $slugify
*/
public function __construct(?SlugifyInterface $slugify = null)
{
$this->used = array();
$this->slugify = $slugify ?: new Slugify();
/**
* @return void
*/
private static function initializeIncludeClosure()
{
if (self::$includeFile !== null) {
return;
}
/**
* Scope isolated include.
*
* Prevents access to $this/self from included files.
*
* @param string $file
* @return void
*/
self::$includeFile = \Closure::bind(static function($file) {
include $file;
}, null, null);
}
}
"/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/UniqueSlugify.php"
public function unregister()
{
spl_autoload_unregister(array($this, 'loadClass'));
if (null !== $this->vendorDir) {
unset(self::$registeredLoaders[$this->vendorDir]);
}
}
/**
* Loads the given class or interface.
*
* @param string $class The name of the class
* @return true|null True if loaded, null otherwise
*/
public function loadClass($class)
{
if ($file = $this->findFile($class)) {
$includeFile = self::$includeFile;
$includeFile($file);
return true;
}
return null;
}
/**
* Finds the path to the file where the class is defined.
*
* @param string $class The name of the class
*
* @return string|false The path if found, false otherwise
*/
public function findFile($class)
{
// class map lookup
if (isset($this->classMap[$class])) {
return $this->classMap[$class];
}
/**
* @var HTML5
*/
private $htmlParser;
/**
* @var SlugifyInterface
*/
private $slugifier;
/**
* Constructor
*
* @param HTML5|null $htmlParser
* @param SlugifyInterface|null $slugify
*/
public function __construct(?HTML5 $htmlParser = null, ?SlugifyInterface $slugify = null)
{
$this->htmlParser = $htmlParser ?? new HTML5();
$this->slugifier = $slugify ?? new UniqueSlugify();
}
/**
* Fix markup
*
* @param string $markup
* @param int $topLevel
* @param int $depth
* @return string Markup with added IDs
* @throws RuntimeException
*/
public function fix(string $markup, int $topLevel = 1, int $depth = 6): string
{
if (! $this->isFullHtmlDocument($markup)) {
$partialID = uniqid('toc_generator_');
$markup = sprintf("<body id='%s'>%s</body>", $partialID, $markup);
}
$domDocument = $this->htmlParser->loadHTML($markup);
$domDocument->preserveWhiteSpace = true; // do not clobber whitespace
<?php
namespace App\View\Composers;
use DOMDocument;
use Roots\Acorn\View\Composer;
class BlogPost extends Composer
{
protected static $views = [
'partials.content-single',
];
public function override()
{
$fields = get_fields();
$htmlContent = apply_filters( 'the_content', get_the_content() );
$markupFixer = new \TOC\MarkupFixer();
$tocGenerator = new \TOC\TocGenerator();
$htmlContent = $markupFixer->fix($htmlContent);
$fields['toc'] = $tocGenerator->getOrderedHtmlMenu($htmlContent);
$fields['the_content'] = $htmlContent;
$fields['the_category'] = $this->getCategory();
return $fields;
}
public function getCategory() {
$category = null;
if(get_the_terms(get_the_id(), 'category')) {
foreach(get_the_terms(get_the_id(), 'category') as $term) {
if($term->name !== "Blog" && $term->name !== "Events" && $term->name !== "News") {
$category = $term;
return $category;
}
}
}
*/
public function compose(View $view)
{
$this->view = $view;
$this->data = new Fluent($view->getData());
$view->with($this->merge());
}
/**
* Data to be merged and passed to the view before rendering.
*
* @return array
*/
protected function merge()
{
return array_merge(
$this->with(),
$this->view->getData(),
$this->override()
);
}
/**
* Data to be passed to view before rendering
*
* @return array
*/
protected function with()
{
return [];
}
/**
* Data to be passed to view before rendering
*
* @return array
*/
protected function override()
{
return static::$views;
}
$view = array_slice(explode('\\', static::class), 3);
$view = array_map([Str::class, 'snake'], $view, array_fill(0, count($view), '-'));
return implode('/', $view);
}
/**
* Compose the view before rendering.
*
* @param \Illuminate\View\View $view
* @return void
*/
public function compose(View $view)
{
$this->view = $view;
$this->data = new Fluent($view->getData());
$view->with($this->merge());
}
/**
* Data to be merged and passed to the view before rendering.
*
* @return array
*/
protected function merge()
{
return array_merge(
$this->with(),
$this->view->getData(),
$this->override()
);
}
/**
* Data to be passed to view before rendering
*
* @return array
return $callback;
}
/**
* Build a class based container callback Closure.
*
* @param string $class
* @param string $prefix
* @return \Closure
*/
protected function buildClassEventCallback($class, $prefix)
{
[$class, $method] = $this->parseClassEvent($class, $prefix);
// Once we have the class and method name, we can build the Closure to resolve
// the instance out of the IoC container and call the method on it with the
// given arguments that are passed to the Closure as the composer's data.
return function () use ($class, $method) {
return $this->container->make($class)->{$method}(...func_get_args());
};
}
/**
* Parse a class based composer name.
*
* @param string $class
* @param string $prefix
* @return array
*/
protected function parseClassEvent($class, $prefix)
{
return Str::parseCallback($class, $this->classEventMethodForPrefix($prefix));
}
/**
* Determine the class event method based on the given prefix.
*
* @param string $prefix
* @return string
* @param \Closure|string $listener
* @param bool $wildcard
* @return \Closure
*/
public function makeListener($listener, $wildcard = false)
{
if (is_string($listener)) {
return $this->createClassListener($listener, $wildcard);
}
if (is_array($listener) && isset($listener[0]) && is_string($listener[0])) {
return $this->createClassListener($listener, $wildcard);
}
return function ($event, $payload) use ($listener, $wildcard) {
if ($wildcard) {
return $listener($event, $payload);
}
return $listener(...array_values($payload));
};
}
/**
* Create a class based listener using the IoC container.
*
* @param string $listener
* @param bool $wildcard
* @return \Closure
*/
public function createClassListener($listener, $wildcard = false)
{
return function ($event, $payload) use ($listener, $wildcard) {
if ($wildcard) {
return call_user_func($this->createClassCallable($listener), $event, $payload);
}
$callable = $this->createClassCallable($listener);
return $callable(...array_values($payload));
* @param bool $halt
* @return array|null
*/
public function dispatch($event, $payload = [], $halt = false)
{
// When the given "event" is actually an object we will assume it is an event
// object and use the class as the event name and this event itself as the
// payload to the handler, which makes object based events quite simple.
[$event, $payload] = $this->parseEventAndPayload(
$event, $payload
);
if ($this->shouldBroadcast($payload)) {
$this->broadcastEvent($payload[0]);
}
$responses = [];
foreach ($this->getListeners($event) as $listener) {
$response = $listener($event, $payload);
// If a response is returned from the listener and event halting is enabled
// we will just return this response, and not call the rest of the event
// listeners. Otherwise we will add the response on the response list.
if ($halt && ! is_null($response)) {
return $response;
}
// If a boolean false is returned from a listener, we will stop propagating
// the event to any further listeners down in the chain, else we keep on
// looping through the listeners and firing every one in our sequence.
if ($response === false) {
break;
}
$responses[] = $response;
}
return $halt ? null : $responses;
}
protected function addEventListener($name, $callback)
{
if (Str::contains($name, '*')) {
$callback = function ($name, array $data) use ($callback) {
return $callback($data[0]);
};
}
$this->events->listen($name, $callback);
}
/**
* Call the composer for a given view.
*
* @param \Illuminate\Contracts\View\View $view
* @return void
*/
public function callComposer(ViewContract $view)
{
$this->events->dispatch('composing: '.$view->name(), [$view]);
}
/**
* Call the creator for a given view.
*
* @param \Illuminate\Contracts\View\View $view
* @return void
*/
public function callCreator(ViewContract $view)
{
$this->events->dispatch('creating: '.$view->name(), [$view]);
}
}
} catch (Throwable $e) {
$this->factory->flushState();
throw $e;
}
}
/**
* Get the contents of the view instance.
*
* @return string
*/
protected function renderContents()
{
// We will keep track of the amount of views being rendered so we can flush
// the section after the complete rendering operation is done. This will
// clear out the sections for any separate views that may be rendered.
$this->factory->incrementRender();
$this->factory->callComposer($this);
$contents = $this->getContents();
// Once we've finished rendering the view, we'll decrement the render count
// so that each sections get flushed out next time a view is created and
// no old sections are staying around in the memory of an environment.
$this->factory->decrementRender();
return $contents;
}
/**
* Get the evaluated contents of the view.
*
* @return string
*/
protected function getContents()
{
return $this->engine->get($this->path, $this->gatherData());
}
$this->view = $view;
$this->path = $path;
$this->engine = $engine;
$this->factory = $factory;
$this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
}
/**
* Get the string contents of the view.
*
* @param callable|null $callback
* @return array|string
*
* @throws \Throwable
*/
public function render(callable $callback = null)
{
try {
$contents = $this->renderContents();
$response = isset($callback) ? $callback($this, $contents) : null;
// Once we have the contents of the view, we will flush the sections if we are
// done rendering all views so that there is nothing left hanging over when
// another view gets rendered in the future by the application developer.
$this->factory->flushStateIfDoneRendering();
return ! is_null($response) ? $response : $contents;
} catch (Throwable $e) {
$this->factory->flushState();
throw $e;
}
}
/**
* Get the contents of the view instance.
*
* @return string
<?php $__env->startSection('content'); ?>
<?php while(have_posts()): ?> <?php (the_post()); ?>
<?php echo $__env->first(['partials.content-single-' . get_post_type(), 'partials.content-single'], \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
<?php endwhile; ?>
<?php $__env->stopSection(); ?>
<?php echo $__env->make('layouts.app', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?><?php /**PATH /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/resources/views/single.blade.php ENDPATH**/ ?>
/**
* Get the evaluated contents of the view at the given path.
*
* @param string $__path
* @param array $__data
* @return string
*/
protected function evaluatePath($__path, $__data)
{
$obLevel = ob_get_level();
ob_start();
extract($__data, EXTR_SKIP);
// We'll evaluate the contents of the view inside a try/catch block so we can
// flush out any stray output that might get out before an error occurs or
// an exception is thrown. This prevents any partial views from leaking.
try {
include $__path;
} catch (Throwable $e) {
$this->handleViewException($e, $obLevel);
}
return ltrim(ob_get_clean());
}
/**
* Handle a view exception.
*
* @param \Throwable $e
* @param int $obLevel
* @return void
*
* @throws \Throwable
*/
protected function handleViewException(Throwable $e, $obLevel)
{
while (ob_get_level() > $obLevel) {
ob_end_clean();
"/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/storage/framework/views/eb422c8beb3d93cfa2fe08ce3b438f23bc0fae21.php"
*
* @param string $path
* @param array $data
* @return string
*/
public function get($path, array $data = [])
{
$this->lastCompiled[] = $path;
// If this given view has expired, which means it has simply been edited since
// it was last compiled, we will re-compile the views so we can evaluate a
// fresh copy of the view. We'll pass the compiler the path of the view.
if ($this->compiler->isExpired($path)) {
$this->compiler->compile($path);
}
// Once we have the path to the compiled file, we will evaluate the paths with
// typical PHP just like any other templates. We also keep a stack of views
// which have been rendered for right exception messages to be generated.
$results = $this->evaluatePath($this->compiler->getCompiledPath($path), $data);
array_pop($this->lastCompiled);
return $results;
}
/**
* Handle a view exception.
*
* @param \Throwable $e
* @param int $obLevel
* @return void
*
* @throws \Throwable
*/
protected function handleViewException(Throwable $e, $obLevel)
{
$e = new ViewException($this->getMessage($e), 0, 1, $e->getFile(), $e->getLine(), $e);
parent::handleViewException($e, $obLevel);
$this->factory->callComposer($this);
$contents = $this->getContents();
// Once we've finished rendering the view, we'll decrement the render count
// so that each sections get flushed out next time a view is created and
// no old sections are staying around in the memory of an environment.
$this->factory->decrementRender();
return $contents;
}
/**
* Get the evaluated contents of the view.
*
* @return string
*/
protected function getContents()
{
return $this->engine->get($this->path, $this->gatherData());
}
/**
* Get the data bound to the view instance.
*
* @return array
*/
public function gatherData()
{
$data = array_merge($this->factory->getShared(), $this->data);
foreach ($data as $key => $value) {
if ($value instanceof Renderable) {
$data[$key] = $value->render();
}
}
return $data;
}
throw $e;
}
}
/**
* Get the contents of the view instance.
*
* @return string
*/
protected function renderContents()
{
// We will keep track of the amount of views being rendered so we can flush
// the section after the complete rendering operation is done. This will
// clear out the sections for any separate views that may be rendered.
$this->factory->incrementRender();
$this->factory->callComposer($this);
$contents = $this->getContents();
// Once we've finished rendering the view, we'll decrement the render count
// so that each sections get flushed out next time a view is created and
// no old sections are staying around in the memory of an environment.
$this->factory->decrementRender();
return $contents;
}
/**
* Get the evaluated contents of the view.
*
* @return string
*/
protected function getContents()
{
return $this->engine->get($this->path, $this->gatherData());
}
/**
$this->view = $view;
$this->path = $path;
$this->engine = $engine;
$this->factory = $factory;
$this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
}
/**
* Get the string contents of the view.
*
* @param callable|null $callback
* @return array|string
*
* @throws \Throwable
*/
public function render(callable $callback = null)
{
try {
$contents = $this->renderContents();
$response = isset($callback) ? $callback($this, $contents) : null;
// Once we have the contents of the view, we will flush the sections if we are
// done rendering all views so that there is nothing left hanging over when
// another view gets rendered in the future by the application developer.
$this->factory->flushStateIfDoneRendering();
return ! is_null($response) ? $response : $contents;
} catch (Throwable $e) {
$this->factory->flushState();
throw $e;
}
}
/**
* Get the contents of the view instance.
*
* @return string
<!doctype html>
<html <?php language_attributes(); ?>>
<?php echo \Roots\view(\Roots\app('sage.view'), \Roots\app('sage.data'))->render(); ?>
</html>
}
break;
}
}
if ( ! $template ) {
$template = get_index_template();
}
/**
* Filters the path of the current template before including it.
*
* @since 3.0.0
*
* @param string $template The path of the template to include.
*/
$template = apply_filters( 'template_include', $template );
if ( $template ) {
include $template;
} elseif ( current_user_can( 'switch_themes' ) ) {
$theme = wp_get_theme();
if ( $theme->errors() ) {
wp_die( $theme->errors() );
}
}
return;
}
"/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/index.php"
<?php
/**
* Loads the WordPress environment and template.
*
* @package WordPress
*/
if ( ! isset( $wp_did_header ) ) {
$wp_did_header = true;
// Load the WordPress library.
require_once __DIR__ . '/wp-load.php';
// Set up the WordPress query.
wp();
// Load the theme template.
require_once ABSPATH . WPINC . '/template-loader.php';
}
"/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-includes/template-loader.php"
<?php
/**
* WordPress View Bootstrapper
*/
define('WP_USE_THEMES', true);
require __DIR__ . '/wp/wp-blog-header.php';
"/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-blog-header.php"
Key | Value |
query_vars | array:3 [ "page" => "" "name" => "tfs-honours-day-for-truth-reconciliation-with-screening-of-little-bird" "category_name" => "news" ] |
query_string | "name=tfs-honours-day-for-truth-reconciliation-with-screening-of-little-bird&category_name=news"
|
request | "news/tfs-honours-day-for-truth-reconciliation-with-screening-of-little-bird"
|
matched_rule | "(.+?)/([^/]+)(?:/([0-9]+))?/?$"
|
matched_query | "category_name=news&name=tfs-honours-day-for-truth-reconciliation-with-screening-of-little-bird&page="
|
did_permalink | true
|
Key | Value |
query | array:3 [ "page" => "" "name" => "tfs-honours-day-for-truth-reconciliation-with-screening-of-little-bird" "category_name" => "news" ] |
query_vars | array:66 [ "page" => 0 "name" => "tfs-honours-day-for-truth-reconciliation-with-screening-of-little-bird" "category_name" => "news" "error" => "" "m" => "" "p" => 0 "post_parent" => "" "subpost" => "" "subpost_id" => "" "attachment" => "" "attachment_id" => 0 "pagename" => "" "page_id" => 0 "second" => "" "minute" => "" "hour" => "" "day" => 0 "monthnum" => 0 "year" => 0 "w" => 0 "tag" => "" "cat" => "" "tag_id" => "" "author" => "" "author_name" => "" "feed" => "" "tb" => "" "paged" => 0 "meta_key" => "" "meta_value" => "" "preview" => "" "s" => "" "sentence" => "" "title" => "" "fields" => "" "menu_order" => "" "embed" => "" "category__in" => [] "category__not_in" => [] "category__and" => [] "post__in" => [] "post__not_in" => [] "post_name__in" => [] "tag__in" => [] "tag__not_in" => [] "tag__and" => [] "tag_slug__in" => [] "tag_slug__and" => [] "post_parent__in" => [] "post_parent__not_in" => [] "author__in" => [] "author__not_in" => [] "search_columns" => [] "ignore_sticky_posts" => false "suppress_filters" => false "cache_results" => true "update_post_term_cache" => true "update_menu_item_cache" => false "lazy_load_term_meta" => true "update_post_meta_cache" => true "post_type" => "" "posts_per_page" => 10 "nopaging" => false "comments_per_page" => "50" "no_found_rows" => false "order" => "DESC" ] |
meta_query | WP_Meta_Query {#2559} |
queried_object | WP_Post {#2560} |
queried_object_id | 23798
|
request | """ SELECT wp_posts.*\n \t\t\t\t\t FROM wp_posts \n \t\t\t\t\t WHERE 1=1 AND wp_posts.post_name = 'tfs-honours-day-for-truth-reconciliation-with-screening-of-little-bird' AND wp_posts.post_type = 'post'\n \t\t\t\t\t \n \t\t\t\t\t ORDER BY wp_posts.post_date DESC\n \t\t\t\t\t """ |
post_count | 1
|
in_the_loop | true
|
current_comment | -1
|
found_posts | 1
|
is_single | true
|
is_singular | true
|
Key | Value |
ID | 23798
|
post_author | "43"
|
post_date | "2021-10-07 13:41:09"
|
post_date_gmt | "2021-10-07 13:41:09"
|
post_content | """ <p style="text-align: center;"><em>“We, as Indigenous people, as the first peoples of this land, have so many gifts and so many stories inside of us…and it’s very important for us to share those stories so that the rest of non-Indigenous Canada can see us as human beings.”</em></p>\n <p style="text-align: center;"><em> </em>- Cheri Maracle, Mohawk actor, singer, songwriter</p>\n \n \n To mark Canada’s <a href="https://www.canada.ca/en/canadian-heritage/campaigns/national-day-truth-reconciliation.html" target="_blank" rel="noopener noreferrer">National Day for Truth and Reconciliation</a>, Toronto Film School helped celebrate the success of Mi’kmaw filmmaker <a href="https://www.imdb.com/name/nm5532058/?ref_=nmbio_bio_nm" target="_blank" rel="noopener noreferrer">Tim Myles</a> by sharing his story during a special screening of his semi-autobiographical short film, <a href="https://www.imdb.com/title/tt15246156/?ref_=nm_knf_t1" target="_blank" rel="noopener noreferrer"><em>Little Bird</em></a>.\n \n \n <p style="text-align: center;"><iframe title="YouTube video player" src="https://www.youtube.com/embed/a7eWUufN7SY" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>\n \n \n The 2016 <a href="https://www.torontofilmschool.ca/programs/acting-for-film-tv-and-the-theatre-diploma/" target="_blank" rel="noopener noreferrer">Acting for Film, TV & the Theatre</a> alumnus not only wrote and directed, but also stars in the “powerful” 15-minute short, which tells the story of a young Indigenous man who finds strength in family while struggling with the loss of his mother.\n \n \n \n “This film by Tim Myles is such a gift and we’re so proud in the Toronto Film School community to know that one of our alumni made something so special,” Toronto Film School’s <a href="https://www.torontofilmschool.ca/blog/andrew-barnsley-celebrates-schitts-creeks-historic-night-at-emmys/" target="_blank" rel="noopener noreferrer">Emmy-winning</a> President <a href="https://www.torontofilmschool.ca/blog/toronto-film-school-poised-for-global-greatness-with-andrew-barnsley-at-the-helm-as-newly-named-president/" target="_blank" rel="noopener noreferrer">Andrew Barnsley</a> said of <em>Little Bird</em>, which recently made its world premiere at the <a href="https://2021.tiffr.com/shows/little-bird" target="_blank" rel="noopener noreferrer">2021 Toronto International Film Festival</a>.\n \n \n \n “To be able to celebrate the success of the film with him on this Day for Truth and Reconciliation in Canada is hugely emotional and hugely powerful. This was a very special film and very special event.”\n \n \n \n [caption id="attachment_23801" align="aligncenter" width="670"]<img class="wp-image-23801 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/10/TFS_ACT_LittleBirdScreeningRedCarpet_0930.jpg" alt="The cast of Little Bird on the red carpet with Andrew Barnsley and Julia Christensen Hughes " width="670" height="458" /> (L-R) Toronto Film School President Andrew Barnsley; actor, singer and songwriter Cheri Maracle; Little Bird writer, director and star Tim Myles; actor and storyteller Lisa Nadon; Yorkville University President Julia Christensen Hughes.[/caption]\n \n \n \n That sentiment was echoed by Dr. Julia Christensen Hughes, president of Toronto Film School’s affiliate, <a href="https://www.yorkvilleu.ca/" target="_blank" rel="noopener noreferrer">Yorkville University</a>, who characterized the <em>Little Bird</em> screening as “an opportunity to reflect on the power of film, and also of higher education, to be a positive force for change in society.”\n \n \n \n “Recently, it was my privilege to declare today a day off for our (TFS and Yorkville) faculty and staff across Canada, providing an opportunity to all of us to learn and reflect on our profound, and indeed our moral obligation to become actively engaged in the spirit of truth-seeking and reconciliation…” Christensen Hughes said during the event’s opening remarks.\n \n \n \n <img class="aligncenter wp-image-23726 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/09/TFS_ACT_LittleBirdPoster_TimMyles_0921.jpg" alt="Little Bird TIFF movie poster " width="411" height="526" />\n \n \n \n “Consistent with calls for action resulting from Canada’s Truth and Reconciliation Commission, it is far past time for academics…to critically confront the academy’s history, examine our shortcomings, and catalyze needed change.”\n \n \n \n To those ends, Christensen Hughes went on to highlight the recent initiatives Toronto Film School and Yorkville University have undertaken to achieve some of those goals, including:\n \n \n <ul>\n \t<li>The organization of <a href="https://www.youtube.com/watch?v=q74yyjYDvmA&list=PLbA9cZlST9Os22YTvN846NKv1z6c_MYCA&index=4" target="_blank" rel="noopener noreferrer">special webinars</a> exploring how settlers can be better allies</li>\n \t<li>The hiring of a <a href="https://www.torontofilmschool.ca/blog/indigenous-partnership-engagement-manager-aims-to-amplify-voices-of-first-nation-students/" target="_blank" rel="noopener noreferrer">new Manager of Indigenous and Partnership Engagement</a></li>\n \t<li>The upcoming establishment of an advisory council for Indigenous students</li>\n \t<li>The exploration of TFS and YU curriculum to identify skills and knowledge that all graduates will need to participate meaningfully in finding truth and supporting reconciliation</li>\n </ul>\n \n \n “And, last but not least, today we are witnessing firsthand the power of film as an agent of social change,” she said, introducing <em>Little Bird</em> to the 70 students, staff, faculty and alumni who gathered at Toronto’s <a href="https://www.theroyal.to/" target="_blank" rel="noopener noreferrer">Royal Cinema</a> for the Sept. 30 live screening event.\n \n \n \n <img class="aligncenter wp-image-23805 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/10/TFS_ACT_LittleBirdScreeningInterior_0930.jpg" alt="People seated in theatre at Toronto's Royal Cinema" width="670" height="458" />\n \n \n \n Written during the COVID-19 pandemic and filmed this past June on the <a href="https://www.saugeenshores.ca/en/index.aspx" target="_blank" rel="noopener noreferrer">Saugeen Shores</a>, <em>Little Bird</em> is described as a “deeply moving, yet often humorous tribute” to Myles’ mother, Joelle, who died in 2013 death of polycystic kidney disease.\n \n \n \n “This film is a love letter to my mom and to my Mi’kmaw heritage. There was a long time when I was very nervous for people to see it because it represents a very big piece of me – a big chunk of my life and what I’ve gone through in the last eight years,” Myles said.\n \n \n \n [caption id="attachment_23728" align="aligncenter" width="462"]<img class="wp-image-23728 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/09/TFS_ACT_TimMylesMom2_0921.jpg" alt="Little Bird inspired by Tim Myles' late mother, Joelle" width="462" height="526" /> Tim Myles' late mother, Joelle[/caption]\n \n \n \n “It’s honestly for anyone who’s ever lost anyone – a parent, a sibling, or a loved one. Do not bear the weight of grief alone: that’s what this film is about, and that’s what I hope audiences take away from it.”\n \n \n \n The film earned rave reviews from Myles’ former teacher, Hart Massey, the director of TFS’s Acting for Film, TV & the Theatre program, who described the experience of watching Myles on the big screen “like seeing one of my children reach their potential.”\n \n \n \n “Tim was always such a talented actor and talented performer, so to see him extend that in this performance about a topic that is extremely meaningful really impacted me in a deep way,” he said.\n \n \n \n “I lost my own father recently, so this film just spoke to me personally about grieving with other people – that’s the only way we can get through.”\n \n \n \n <img class="aligncenter wp-image-23802 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/10/TFS_ACT_LittleBirdScreeningCast_0930.jpg" alt="The cast of Little Bird: Cheri Maracle, Tim Myles and Lisa Nadon. " width="360" height="526" />\n \n \n \n Following the exclusive screening, Barnsley moderated an on-stage panel discussion with Myles and two of <em>Little Bird </em>cast members – “highly respected” Mohawk actor, singer and songwriter <a href="https://www.imdb.com/name/nm0544752/?ref_=ttfc_fc_cl_t1" target="_blank" rel="noopener noreferrer">Cheri Maracle</a> (<a href="https://www.imdb.com/title/tt0264226/?ref_=nm_flmg_act_15" target="_blank" rel="noopener noreferrer"><em>Blackfly</em></a><em>, <a href="https://www.imdb.com/title/tt0401035/?ref_=nm_flmg_act_14" target="_blank" rel="noopener noreferrer">Moccasin Flats</a>, <a href="https://www.imdb.com/title/tt1463395/?ref_=nm_flmg_act_11" target="_blank" rel="noopener noreferrer">Blackstone</a>,</em> <a href="https://www.imdb.com/title/tt11761252/?ref_=nm_flmg_act_5" target="_blank" rel="noopener noreferrer"><em>Unsettled</em></a>), and fellow Mi’kmaw actor and longtime friend, <a href="https://www.imdb.com/name/nm12854233/?ref_=ttfc_fc_cl_t3">Lisa Nasson</a>, who were both on hand at the event.\n \n \n \n All three touched on the responsibility they feel, as Indigenous professionals in the creative arts, for the work they do to reflect positively on their respective communities.\n \n \n \n [caption id="attachment_23804" align="aligncenter" width="670"]<img class="wp-image-23804 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/10/TFS_ACT_LittleBirdPanel1_0930.jpg" alt="" width="670" height="458" /> Little Bird cast Cheri Maracle, Tim Myles and Lisa Nadon on stage.[/caption]\n \n \n \n “A good friend of mine once said a long time ago, ‘To be Indigenous is to fight,’ and I think what that really means is that to be treated with respect, to be treated as a human being in Canada as an Indigenous person, is something we are still striving for in 2021,” said Maracle, who hails from the <a href="https://www.sixnations.ca/" target="_blank" rel="noopener noreferrer">Six Nations of the Grand River Territory.</a>\n \n \n \n “So, every story we do, every story that comes out of our bodies – from our history, from our ancestors – is very important both to ourselves for healing, but also to express who we are, our traditions, our culture.”\n \n \n \n [caption id="attachment_23803" align="aligncenter" width="670"]<img class="wp-image-23803 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/10/TFS_ACT_LittleBirdPanel2_0930.jpg" alt="" width="670" height="458" /> Actor Lisa Nasson and Andrew Barnsley[/caption]\n \n \n \n “Everything I do, personally, reflects on my community, where I came from and who I grew up around,” added Nasson, a Mi’kmaw actor from <a href="https://www.millbrookband.com/" target="_blank" rel="noopener noreferrer">Millbrook First Nation</a> in Nova Scotia.\n \n \n \n “Everything I’ve learned was from there – that’s where I learned to love the land and love everything around me and learn from her. She taught me what creation was and what creativity was. Now, having the opportunity to be able to be a voice, it’s a responsibility I take on inside of me…I want to make my community proud.”\n \n \n \n <img class="aligncenter wp-image-23811 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/10/TFS_ACT_LittleBirdTheatre_0930.jpg" alt="Little Bird marquee at the Royal Cinema in Toronto" width="670" height="458" />\n \n \n \n For Myles, who admits to struggling with his Indigenous identity at times, the presence of both his maternal aunt and some of the elders from the nearby <a href="https://saugeenfirstnation.ca/" target="_blank" rel="noopener noreferrer">Saugeen First Nation</a> on the <em>Little Bird</em> set helped make the experience all the more authentic and healing.\n \n \n \n “My mom was a proud Mi’kmaw woman, but my father’s side is not Indigenous, so I sometimes didn’t know where I fit in. With <em>Little Bird</em>, I felt it very important to honour my heritage, to honour my mother. She never wanted me to forget who I was or where I came from,” he said.\n \n \n \n “I want to help elevate Indigenous stories because we are the original storytellers with lots of stories to tell. I’m still learning a lot from my community and my elders and my family, but that’s a responsibility I take really seriously.”\n \n \n \n """ |
post_title | "TFS Honours Day for Truth & Reconciliation with Screening of Little Bird"
|
post_excerpt | "" |
post_status | "publish"
|
comment_status | "open"
|
ping_status | "open"
|
post_password | "" |
post_name | "tfs-honours-day-for-truth-reconciliation-with-screening-of-little-bird"
|
to_ping | "" |
pinged | "" |
post_modified | "2023-03-27 21:07:19"
|
post_modified_gmt | "2023-03-27 21:07:19"
|
post_content_filtered | "" |
post_parent | 0
|
guid | "https://dev.tfs.staging.poundandgrain.ca/?p=23798"
|
menu_order | 0
|
post_type | "post"
|
post_mime_type | "" |
comment_count | "0"
|
filter | "raw"
|
Key | Value |
SERVER_SOFTWARE | "nginx/1.22.1"
|
REQUEST_URI | "/news/tfs-honours-day-for-truth-reconciliation-with-screening-of-little-bird/"
|
USER | "forge"
|
HOME | "/home/forge"
|
HTTP_REFERER | "https://dev.tfs.staging.poundandgrain.ca/news/tfs-honours-day-for-truth-reconciliation-with-screening-of-little-bird"
|
HTTP_ACCEPT_ENCODING | "gzip, br, zstd, deflate"
|
HTTP_USER_AGENT | "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
|
HTTP_ACCEPT | "*/*"
|
HTTP_HOST | "dev.tfs.staging.poundandgrain.ca"
|
REDIRECT_STATUS | "200"
|
HTTPS | "on"
|
SERVER_NAME | "dev.tfs.staging.poundandgrain.ca"
|
SERVER_PORT | "443"
|
SERVER_ADDR | "10.0.1.187"
|
REMOTE_PORT | "17173"
|
REMOTE_ADDR | "3.147.72.52"
|
GATEWAY_INTERFACE | "CGI/1.1"
|
SERVER_PROTOCOL | "HTTP/2.0"
|
DOCUMENT_ROOT | "/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web"
|
DOCUMENT_URI | "/index.php"
|
SCRIPT_NAME | "/index.php"
|
SCRIPT_FILENAME | "/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/index.php"
|
CONTENT_LENGTH | "" |
CONTENT_TYPE | "" |
REQUEST_METHOD | "GET"
|
QUERY_STRING | "" |
FCGI_ROLE | "RESPONDER"
|
PHP_SELF | "/index.php"
|
REQUEST_TIME_FLOAT | 1731860142.1493
|
REQUEST_TIME | 1731860142
|
DB_NAME | "tfs_dev"
|
DB_USER | "***"
|
DB_PASSWORD | "************"
|
WP_ENV | "development"
|
WP_HOME | "https://dev.tfs.staging.poundandgrain.ca"
|
WP_SITEURL | "https://dev.tfs.staging.poundandgrain.ca/wp"
|
WP_DEBUG_LOG | "/path/to/debug.log"
|
AUTH_KEY | "****************************************************************"
|
SECURE_AUTH_KEY | "****************************************************************"
|
LOGGED_IN_KEY | "****************************************************************"
|
NONCE_KEY | "****************************************************************"
|
AUTH_SALT | "****************************************************************"
|
SECURE_AUTH_SALT | "****************************************************************"
|
LOGGED_IN_SALT | "****************************************************************"
|
NONCE_SALT | "****************************************************************"
|
ACF_PRO_KEY | "b3JkZXJfaWQ9NDQxMjV8dHlwZT1kZXZlbG9wZXJ8ZGF0ZT0yMDE0LTExLTEyIDA2OjA0OjE3"
|
Key | Value |
DB_NAME | "tfs_dev"
|
DB_USER | "***"
|
DB_PASSWORD | "************"
|
WP_ENV | "development"
|
WP_HOME | "https://dev.tfs.staging.poundandgrain.ca"
|
WP_SITEURL | "https://dev.tfs.staging.poundandgrain.ca/wp"
|
WP_DEBUG_LOG | "/path/to/debug.log"
|
AUTH_KEY | "****************************************************************"
|
SECURE_AUTH_KEY | "****************************************************************"
|
LOGGED_IN_KEY | "****************************************************************"
|
NONCE_KEY | "****************************************************************"
|
AUTH_SALT | "****************************************************************"
|
SECURE_AUTH_SALT | "****************************************************************"
|
LOGGED_IN_SALT | "****************************************************************"
|
NONCE_SALT | "****************************************************************"
|
ACF_PRO_KEY | "b3JkZXJfaWQ9NDQxMjV8dHlwZT1kZXZlbG9wZXJ8ZGF0ZT0yMDE0LTExLTEyIDA2OjA0OjE3"
|