Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move page models into new Models\Pages namespace to make them more distinct from auxiliary helper models #130

Merged
merged 8 commits into from
Jul 2, 2022
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ This serves two purposes:
1. People can see what changes they might expect in upcoming releases
2. At release time, you can move the Unreleased section changes into a new release version section.

This release mainly makes internal changes to the Framework API. If you are an end user, most of the changes are not relevant.
However, if you are a package developer, or if you have published Blade views or otherwise extended Hyde you may want to take a look as there are internal breaking changes.

### Added
- Added Hyde::makeTitle() helper, an improved version of Hyde::titleFromSlug()
- Added new helper method render() to MarkdownDocuments to compile the Markdown to HTML, fixes https://github.com/hydephp/develop/issues/109
Expand All @@ -30,6 +33,10 @@ This serves two purposes:
- Updates the codebase to use the new Hyde::makeTitle() helper
- Several internal changes to how page models are structured, https://github.com/hydephp/develop/pull/122
- Internal: Separate the MarkdownDocument into a dedicated abstract page class, https://github.com/hydephp/develop/pull/126
- Moved `Hyde\Framework\Models\BladePage` to new namespace `Hyde\Framework\Models\Pages\BladePage`
- Moved `Hyde\Framework\Models\MarkdownPage` to new namespace `Hyde\Framework\Models\Pages\MarkdownPage`
- Moved `Hyde\Framework\Models\MarkdownPost` to new namespace `Hyde\Framework\Models\Pages\MarkdownPost`
- Moved `Hyde\Framework\Models\DocumentationPage` to new namespace `Hyde\Framework\Models\Pages\DocumentationPage`

### Deprecated
- Deprecated Hyde::titleFromSlug(), use Hyde::makeTitle() instead
Expand Down
Original file line number Diff line number Diff line change
@@ -1,47 +1,48 @@
@php
/** @var \Hyde\Framework\Models\MarkdownPost $post */
/** @var \Hyde\Framework\Models\Pages\MarkdownPost $post */
@endphp

<article class="mt-4 mb-8" itemscope itemtype="http://schema.org/Article">
<meta itemprop="identifier" content="{{ $post->slug }}">
@if(Hyde::uriPath())
<meta itemprop="url" content="{{ Hyde::uriPath('posts/' . $post->slug) }}">
@endif

<header>
<a href="posts/{{ Hyde::pageLink($post->slug . '.html') }}" class="block w-fit">
<h2 class="text-2xl font-bold text-gray-700 hover:text-gray-900 dark:text-gray-200 dark:hover:text-white transition-colors duration-75">
{{ $post->matter['title'] ?? $post->title }}
</h2>
</a>
</header>
@if(Hyde::uriPath())
<meta itemprop="url" content="{{ Hyde::uriPath('posts/' . $post->slug) }}">
@endif

<footer>
@isset($post->date)
<span class="opacity-75">
<header>
<a href="posts/{{ Hyde::pageLink($post->slug . '.html') }}" class="block w-fit">
<h2 class="text-2xl font-bold text-gray-700 hover:text-gray-900 dark:text-gray-200 dark:hover:text-white transition-colors duration-75">
{{ $post->matter['title'] ?? $post->title }}
</h2>
</a>
</header>

<footer>
@isset($post->date)
<span class="opacity-75">
<span itemprop="dateCreated datePublished">
{{ $post->date->short }}</span>{{ isset($post->author) ? ',' : '' }}
</span>
@endisset
@isset($post->author)
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@endisset
@isset($post->author)
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
<span class="opacity-75">by</span>
<span itemprop="name">
{{ $post->author->name ?? $post->author->username }}
</span>
</span>
@endisset
</footer>
@isset($post->matter['description'])
<section role="doc-abstract" aria-label="Excerpt">
<p class="leading-relaxed my-1">
{{ $post->matter['description'] }}
</p>
</section>
@endisset
@endisset
</footer>

@isset($post->matter['description'])
<section role="doc-abstract" aria-label="Excerpt">
<p class="leading-relaxed my-1">
{{ $post->matter['description'] }}
</p>
</section>
@endisset

<footer>
<a href="posts/{{ Hyde::pageLink($post->slug . '.html') }}" class="text-indigo-500 hover:underline font-medium">Read post</a>
</footer>
<footer>
<a href="posts/{{ Hyde::pageLink($post->slug . '.html') }}" class="text-indigo-500 hover:underline font-medium">
Read post</a>
</footer>
</article>
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
@foreach(\Hyde\Framework\Models\MarkdownPost::getLatestPosts() as $post)
@include('hyde::components.article-excerpt')
@foreach(\Hyde\Framework\Models\Pages\MarkdownPost::getLatestPosts() as $post)
@include('hyde::components.article-excerpt')
@endforeach
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
@php
$page = new \Hyde\Framework\Models\DocumentationPage([], '', 'Search', 'search');
$title = 'Search';
$currentPage = $page->getCurrentPagePath();
$markdown = '';
$page = new \Hyde\Framework\Models\Pages\DocumentationPage([], '', 'Search', 'search');
$title = 'Search';
$currentPage = $page->getCurrentPagePath();
$markdown = '';
@endphp

@extends('hyde::layouts.docs')
@section('content')
<h1>Search the documentation site</h1>
<style>#searchMenuButton{display:none!important;}#search-results{max-height:unset!important;}</style>
@include('hyde::components.docs.search-input')
<h1>Search the documentation site</h1>
<style>#searchMenuButton {
display: none !important;
}

#search-results {
max-height: unset !important;
}</style>
@include('hyde::components.docs.search-input')
@endsection
6 changes: 3 additions & 3 deletions packages/framework/src/Actions/CreatesNewPageSourceFile.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
use Hyde\Framework\Exceptions\FileConflictException;
use Hyde\Framework\Exceptions\UnsupportedPageTypeException;
use Hyde\Framework\Hyde;
use Hyde\Framework\Models\BladePage;
use Hyde\Framework\Models\DocumentationPage;
use Hyde\Framework\Models\MarkdownPage;
use Hyde\Framework\Models\Pages\BladePage;
use Hyde\Framework\Models\Pages\DocumentationPage;
use Hyde\Framework\Models\Pages\MarkdownPage;
use Illuminate\Support\Str;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
use Hyde\Framework\Concerns\InteractsWithDirectories;
use Hyde\Framework\Contracts\ActionContract;
use Hyde\Framework\Hyde;
use Hyde\Framework\Models\DocumentationPage;
use Hyde\Framework\Models\Pages\DocumentationPage;
use Hyde\Framework\Models\Parsers\DocumentationPageParser;
use Hyde\Framework\Services\CollectionService;
use Illuminate\Support\Collection;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
use Hyde\Framework\Concerns\Internal\TransfersMediaAssetsForBuildCommands;
use Hyde\Framework\Helpers\Features;
use Hyde\Framework\Hyde;
use Hyde\Framework\Models\BladePage;
use Hyde\Framework\Models\DocumentationPage;
use Hyde\Framework\Models\MarkdownPage;
use Hyde\Framework\Models\MarkdownPost;
use Hyde\Framework\Models\Pages\BladePage;
use Hyde\Framework\Models\Pages\DocumentationPage;
use Hyde\Framework\Models\Pages\MarkdownPage;
use Hyde\Framework\Models\Pages\MarkdownPost;
use Hyde\Framework\Services\BuildHookService;
use Hyde\Framework\Services\CollectionService;
use Hyde\Framework\Services\DiscoveryService;
Expand Down
6 changes: 3 additions & 3 deletions packages/framework/src/Commands/HydeMakePageCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

use Hyde\Framework\Actions\CreatesNewPageSourceFile;
use Hyde\Framework\Exceptions\UnsupportedPageTypeException;
use Hyde\Framework\Models\BladePage;
use Hyde\Framework\Models\DocumentationPage;
use Hyde\Framework\Models\MarkdownPage;
use Hyde\Framework\Models\Pages\BladePage;
use Hyde\Framework\Models\Pages\DocumentationPage;
use Hyde\Framework\Models\Pages\MarkdownPage;
use LaravelZero\Framework\Commands\Command;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
namespace Hyde\Framework\Concerns\FacadeHelpers;

use Hyde\Framework\Helpers\Features;
use Hyde\Framework\Models\DocumentationPage;
use Hyde\Framework\Models\Pages\DocumentationPage;

/**
* Provide static facade methods, and instance helpers for HydeSmartDocs.
Expand All @@ -16,7 +16,7 @@ trait HydeSmartDocsFacade
/**
* Create a new HydeSmartDocs instance, process, and return it.
*
* @param DocumentationPage $page The source page object
* @param \Hyde\Framework\Models\Pages\DocumentationPage $page The source page object
* @param string $html compiled HTML content
* @return static new processed instance
*/
Expand Down
2 changes: 1 addition & 1 deletion packages/framework/src/Concerns/GeneratesPageMetadata.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
namespace Hyde\Framework\Concerns;

use Hyde\Framework\Hyde;
use Hyde\Framework\Models\MarkdownPost;
use Hyde\Framework\Models\Pages\MarkdownPost;

/**
* Generates metadata for page models that have front matter.
Expand Down
2 changes: 1 addition & 1 deletion packages/framework/src/Concerns/HasPageMetadata.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use Hyde\Framework\Helpers\Meta;
use Hyde\Framework\Hyde;
use Hyde\Framework\Models\MarkdownPost;
use Hyde\Framework\Models\Pages\MarkdownPost;
use Hyde\Framework\Services\RssFeedService;
use Hyde\Framework\Services\SitemapService;

Expand Down
2 changes: 1 addition & 1 deletion packages/framework/src/Concerns/Internal/FileHelpers.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace Hyde\Framework\Concerns\Internal;

use Hyde\Framework\Models\DocumentationPage;
use Hyde\Framework\Models\Pages\DocumentationPage;

/**
* Offloads file helper methods for the Hyde Facade.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

namespace Hyde\Framework\Concerns\Internal;

use Hyde\Framework\Models\BladePage;
use Hyde\Framework\Models\DocumentationPage;
use Hyde\Framework\Models\MarkdownPage;
use Hyde\Framework\Models\MarkdownPost;
use Hyde\Framework\Models\Pages\BladePage;
use Hyde\Framework\Models\Pages\DocumentationPage;
use Hyde\Framework\Models\Pages\MarkdownPage;
use Hyde\Framework\Models\Pages\MarkdownPost;
use Hyde\Framework\Services\DiscoveryService;
use Hyde\Framework\StaticPageBuilder;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use Hyde\Framework\Helpers\Features;
use Hyde\Framework\Helpers\Markdown;
use Hyde\Framework\Models\DocumentationPage;
use Hyde\Framework\Models\Pages\DocumentationPage;

/**
* Allow the Markdown service to have configurable features.
Expand Down
6 changes: 3 additions & 3 deletions packages/framework/src/Contracts/AbstractMarkdownPage.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
*
* Extends the AbstractPage class to provide relevant
* helpers for Markdown-based page model classes.
* @see \Hyde\Framework\Models\MarkdownPage
* @see \Hyde\Framework\Models\MarkdownPost
* @see \Hyde\Framework\Models\DocumentationPage
* @see \Hyde\Framework\Models\Pages\MarkdownPage
* @see \Hyde\Framework\Models\Pages\MarkdownPost
* @see \Hyde\Framework\Models\Pages\DocumentationPage
* @see \Hyde\Framework\Contracts\AbstractPage
*
* @test \Hyde\Framework\Testing\Feature\AbstractPageTest
Expand Down
8 changes: 4 additions & 4 deletions packages/framework/src/HydeServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
use Composer\InstalledVersions;
use Hyde\Framework\Concerns\RegistersDefaultDirectories;
use Hyde\Framework\Contracts\AssetServiceContract;
use Hyde\Framework\Models\BladePage;
use Hyde\Framework\Models\DocumentationPage;
use Hyde\Framework\Models\MarkdownPage;
use Hyde\Framework\Models\MarkdownPost;
use Hyde\Framework\Models\Pages\BladePage;
use Hyde\Framework\Models\Pages\DocumentationPage;
use Hyde\Framework\Models\Pages\MarkdownPage;
use Hyde\Framework\Models\Pages\MarkdownPost;
use Hyde\Framework\Services\AssetService;
use Illuminate\Support\ServiceProvider;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Hyde\Framework\Models;
namespace Hyde\Framework\Models\Pages;

use Hyde\Framework\Contracts\AbstractPage;
use Hyde\Framework\Contracts\PageParserContract;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Hyde\Framework\Models;
namespace Hyde\Framework\Models\Pages;

use Hyde\Framework\Concerns\HasTableOfContents;
use Hyde\Framework\Contracts\AbstractMarkdownPage;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Hyde\Framework\Models;
namespace Hyde\Framework\Models\Pages;

use Hyde\Framework\Contracts\AbstractMarkdownPage;
use Hyde\Framework\Models\Parsers\MarkdownPageParser;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Hyde\Framework\Models;
namespace Hyde\Framework\Models\Pages;

use Hyde\Framework\Concerns\GeneratesPageMetadata;
use Hyde\Framework\Concerns\HasAuthor;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use Hyde\Framework\Contracts\AbstractPageParser;
use Hyde\Framework\Hyde;
use Hyde\Framework\Models\DocumentationPage;
use Hyde\Framework\Models\Pages\DocumentationPage;
use Hyde\Framework\Services\MarkdownFileService;

class DocumentationPageParser extends AbstractPageParser
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use Hyde\Framework\Contracts\AbstractPageParser;
use Hyde\Framework\Hyde;
use Hyde\Framework\Models\MarkdownPage;
use Hyde\Framework\Models\Pages\MarkdownPage;
use Hyde\Framework\Services\MarkdownFileService;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use Hyde\Framework\Contracts\AbstractPageParser;
use Hyde\Framework\Hyde;
use Hyde\Framework\Models\MarkdownPost;
use Hyde\Framework\Models\Pages\MarkdownPost;
use Hyde\Framework\Services\MarkdownFileService;

class MarkdownPostParser extends AbstractPageParser
Expand Down
8 changes: 4 additions & 4 deletions packages/framework/src/Services/CollectionService.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@

use Hyde\Framework\Contracts\AbstractPage;
use Hyde\Framework\Hyde;
use Hyde\Framework\Models\BladePage;
use Hyde\Framework\Models\DocumentationPage;
use Hyde\Framework\Models\MarkdownPage;
use Hyde\Framework\Models\MarkdownPost;
use Hyde\Framework\Models\Pages\BladePage;
use Hyde\Framework\Models\Pages\DocumentationPage;
use Hyde\Framework\Models\Pages\MarkdownPage;
use Hyde\Framework\Models\Pages\MarkdownPost;

/**
* Contains service methods to return helpful collections of arrays and lists.
Expand Down
8 changes: 4 additions & 4 deletions packages/framework/src/Services/DiscoveryService.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
namespace Hyde\Framework\Services;

use Hyde\Framework\Contracts\AbstractPage;
use Hyde\Framework\Models\BladePage;
use Hyde\Framework\Models\DocumentationPage;
use Hyde\Framework\Models\MarkdownPage;
use Hyde\Framework\Models\MarkdownPost;
use Hyde\Framework\Models\Pages\BladePage;
use Hyde\Framework\Models\Pages\DocumentationPage;
use Hyde\Framework\Models\Pages\MarkdownPage;
use Hyde\Framework\Models\Pages\MarkdownPost;

/**
* The Discovery Service (previously called BuildService) provides
Expand Down
2 changes: 1 addition & 1 deletion packages/framework/src/Services/HydeSmartDocs.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
namespace Hyde\Framework\Services;

use Hyde\Framework\Concerns\FacadeHelpers\HydeSmartDocsFacade;
use Hyde\Framework\Models\DocumentationPage;
use Hyde\Framework\Models\Pages\DocumentationPage;
use Illuminate\Support\Str;

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/framework/src/Services/RssFeedService.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use Hyde\Framework\Helpers\Features;
use Hyde\Framework\Hyde;
use Hyde\Framework\Models\MarkdownPost;
use Hyde\Framework\Models\Pages\MarkdownPost;
use SimpleXMLElement;

/**
Expand Down
Loading