/** * {@inheritdoc} */ public function getItems() { $line = 1; $items = []; $isFirstRow = true; $reader = $this->buildCsvReader(); $rows = $reader->fetchAssoc(['title', 'permalink', 'content', 'published_at', 'categories', 'tags', 'markup']); foreach ($rows as $row) { if ($this->options['not_header'] == false && $isFirstRow == true) { ++$line; $isFirstRow = false; continue; } $data = $this->resolveCsvRow($row, $line); $item = new Item(Item::TYPE_POST, $data['permalink']); $item->setDate($data['published_at']); $item->setContent($data['content']); $item->setTitle($data['title']); $item->setContentExtension($data['markup']); $attributes = []; if (count($data['categories']) > 0) { $attributes['categories'] = $data['categories']; } if (count($data['tags']) > 0) { $attributes['tags'] = $data['tags']; } $item->setAttributes($attributes); $items[] = $item; ++$line; } return $items; }
/** * {@inheritdoc} */ public function getItems() { $items = []; foreach ($this->contents as $content) { if (isset($content['type']) === false) { continue; } if (isset($content['permalink']) === false) { continue; } $item = new Item($content['type'], $content['permalink']); if (isset($content['content']) === true) { $item->setContent($content['content']); } if (isset($content['content_extension']) === true) { $item->setContentExtension($content['content_extension']); } if (isset($content['title']) === true) { $item->setTitle($content['title']); } if (isset($content['date']) === true) { $item->setDate(new \DateTime($content['date'])); } if (isset($content['attributes']) === true) { $item->setAttributes($content['attributes']); } $items[] = $item; } return $items; }
public function testSetFetchPermalink() { $item = new Item(Item::TYPE_RESOURCE, '/example.png'); $item->setFetchPermalink(false); $this->assertFalse($item->getFetchPermalink()); }
protected function getSpressContent(Item $item) { $attributes = $item->getAttributes(); switch ($item->getType()) { case Item::TYPE_POST: if (empty($this->layoutPost) == false) { $attributes['layout'] = $this->layoutPost; } break; case Item::TYPE_PAGE: if (empty($this->layoutPage) == false) { $attributes['layout'] = $this->layoutPage; } break; } if (empty($item->getTitle()) == false) { $attributes['title'] = $item->getTitle(); } $yamlContent = Yaml::dump($attributes); $content = sprintf("---\n%s\n---\n%s", $yamlContent, $item->getContent()); return $content; }