Classes/Cundd/Noshi/Domain/Repository/PageRepository.php
public function buildMetaDataForPageIdentifier($identifier, $pageDataPath = null)
    {
        $configuration = ConfigurationManager::getConfiguration();
        $dataPath = $configuration->get('basePath') . $configuration->get('dataPath');
        $pageName = $this->getPageNameForPageIdentifier($identifier);
        $metaDataPath = $dataPath . $pageName . '.json';

        // Read the global configuration
        $metaData = ObjectUtility::valueForKeyPathOfObject("pages.$identifier.meta", $configuration, []);

        // Check if the node exists
        if (file_exists($metaDataPath)) {
            $rawMetaData = file_get_contents($metaDataPath);
            $metaData = array_merge($metaData, (array)json_decode($rawMetaData, true));
        }

        if ($pageDataPath && file_exists($pageDataPath)) {
            $metaData['date'] = date('c', filemtime($pageDataPath));
        }

        return $metaData;
    }
public function buildMetaDataForPageIdentifier($identifier, $pageDataPath = null)
    {
        $configuration = ConfigurationManager::getConfiguration();
        $dataPath = $configuration->get('basePath') . $configuration->get('dataPath');
        $pageName = $this->getPageNameForPageIdentifier($identifier);
        $metaDataPath = $dataPath . $pageName . '.json';

        // Read the global configuration
        $metaData = ObjectUtility::valueForKeyPathOfObject("pages.$identifier.meta", $configuration, []);

        // Check if the node exists
        if (file_exists($metaDataPath)) {
            $rawMetaData = file_get_contents($metaDataPath);
            $metaData = array_merge($metaData, (array)json_decode($rawMetaData, true));
        }

        if ($pageDataPath && file_exists($pageDataPath)) {
            $metaData['date'] = date('c', filemtime($pageDataPath));
        }

        return $metaData;
    }
Returns the meta data for the given page identifier

The meta data is read from the global configuration and the page's config file (i.e. 'PageName.json'), whilst the
page config takes precedence.

@param string $identifier
@param string $pageDataPath Determined path to the page contents
@return array