Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 18 additions & 28 deletions bin/update-path-opengraph-images
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,6 @@ $container = require 'config/container.php';
$entityManager = $container->get(EntityManager::class);
$postRepository = $entityManager->getRepository(Post::class);

$config = $container->get('config');
$baseUrl = rtrim($config['application']['baseUrl'] ?? '', '/');

/**
*
* @return array<string, string>
Expand All @@ -29,7 +26,7 @@ function indexUploadSources(string $uploadsDir, string $excludeDir): array
$index = [];

$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($uploadsDir, FilesystemIterator::SKIP_DOTS)
new RecursiveDirectoryIterator($uploadsDir, FilesystemIterator::SKIP_DOTS)
);

foreach ($iterator as $file) {
Expand All @@ -53,9 +50,13 @@ function indexUploadSources(string $uploadsDir, string $excludeDir): array

$sourceIndex = indexUploadSources($uploadsDir, $ogDir);

if (! is_dir($ogDir) && ! mkdir($ogDir, 0775, true) && ! is_dir($ogDir)) {
fwrite(STDERR, sprintf("Failed to create directory '%s'%s", $ogDir, PHP_EOL));
exit(1);
}

$postsUpdated = 0;
$postsSkipped = 0;
$dirsCreated = 0;
$imagesMissing = 0;

$posts = $postRepository->findAll();
Expand All @@ -66,7 +67,7 @@ foreach ($posts as $post) {
continue;
}

if ($baseUrl !== '' && str_starts_with($image, $baseUrl . '/')) {
if (str_starts_with($image, '/uploads/opengraph/article/')) {
continue;
}

Expand All @@ -81,22 +82,13 @@ foreach ($posts as $post) {
continue;
}

$targetDir = $ogDir . '/' . $post->getId()->toString();
if (! is_dir($targetDir)) {
if (! mkdir($targetDir, 0775, true) && ! is_dir($targetDir)) {
fwrite(STDERR, sprintf("Failed to create directory '%s'%s", $targetDir, PHP_EOL));
continue;
}
$dirsCreated++;
}

$targetPath = $targetDir . '/' . $filename;
if (! file_exists($targetPath) && ! copy($sourceIndex[$filename], $targetPath)) {
$targetPath = $ogDir . '/' . $filename;
if (! copy($sourceIndex[$filename], $targetPath)) {
fwrite(STDERR, sprintf("Failed to copy '%s' to '%s'%s", $sourceIndex[$filename], $targetPath, PHP_EOL));
continue;
}

$post->setOpenGraphImage('/' . $targetPath);
$post->setOpenGraphImage('/uploads/opengraph/article/' . $filename);
$postsUpdated++;
}

Expand All @@ -105,14 +97,12 @@ $entityManager->flush();
$postsSkipped = count($posts) - $postsUpdated - $imagesMissing;

printf(
"Done. %d post%s updated, %d director%s created, %d image%s missing, %d post%s skipped.%s",
$postsUpdated,
$postsUpdated === 1 ? '' : 's',
$dirsCreated,
$dirsCreated === 1 ? 'y' : 'ies',
$imagesMissing,
$imagesMissing === 1 ? '' : 's',
$postsSkipped,
$postsSkipped === 1 ? '' : 's',
PHP_EOL
"Done. %d post%s updated, %d image%s missing, %d post%s skipped.%s",
$postsUpdated,
$postsUpdated === 1 ? '' : 's',
$imagesMissing,
$imagesMissing === 1 ? '' : 's',
$postsSkipped,
$postsSkipped === 1 ? '' : 's',
PHP_EOL
);
2 changes: 1 addition & 1 deletion src/App/templates/partial/meta.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<meta name="description" content="{{ (meta.description ?? meta.excerpt ?? app.meta.description) }}"/>
<meta property="og:title" content="{{ meta.title ?? app.meta.title }}"/>
<meta property="og:description" content="{{ (meta.description ?? meta.excerpt ?? app.meta.description) }}"/>
<meta property="og:image" content="{{ meta.openGraphImage ? (app.baseUrl ~ meta.openGraphImage) : app.meta.image }}"/>
<meta property="og:image" content="{{ (meta is defined and meta.openGraphImage) ? (app.baseUrl ~ meta.openGraphImage) : app.meta.image }}"/>
<meta property="og:type" content="{{ meta.type ?? app.meta.type }}"/>
<meta property="og:site_name" content="{{ app.meta.siteName }}"/>
<meta property="og:url" content="{{ meta.url ?? (routeName is defined and routeName ? url(routeName) : app.baseUrl) }}"/>
Expand Down
24 changes: 0 additions & 24 deletions src/Blog/templates/page/contact.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -47,30 +47,6 @@
</ul>
</div>
</div>
<div class="pb-5">
<div class="wrap">
<div class="section-head">
<span class="eyebrow">About</span>
<h2>A full-fledged Headless Platform</h2>
<p>A headless platform built on top of the Mezzio microframework using Laminas components, with both <a href="https://github.com/dotkernel/admin" target="_blank" rel="noopener" style="color:var(--teal);">backend management</a> and <a href="https://github.com/dotkernel/api" target="_blank" rel="noopener" style="color:var(--teal);">frontend-agnostic capabilities</a>.</p>
</div>
<ul class="feature-list">
<li>Built entirely on PSR-15 middleware</li>
<li>Follows the middleware pipeline pattern offered by Laminas and the PSR standards</li>
<li>
Adhering strictly to
<a href="https://www.php-fig.org/psr/psr-3/" target="_blank" rel="noopener" style="color:var(--teal);">PSR-3</a>
(<a href="https://github.com/php-fig/log" target="_blank" rel="noopener" style="color:var(--teal);">logging</a>),
<a href="https://www.php-fig.org/psr/psr-7/" target="_blank" rel="noopener" style="color:var(--teal);">PSR-7</a>
(<a href="https://github.com/php-fig/http-message" target="_blank" rel="noopener" style="color:var(--teal);">HTTP messages</a>),
<a href="https://www.php-fig.org/psr/psr-11/" target="_blank" rel="noopener" style="color:var(--teal);">PSR-11</a>
(<a href="https://github.com/php-fig/container" target="_blank" rel="noopener" style="color:var(--teal);">containers</a>),
<a href="https://www.php-fig.org/psr/psr-15/" target="_blank" rel="noopener" style="color:var(--teal);">PSR-15</a>
(<a href="https://github.com/php-fig/http-server-handler" target="_blank" rel="noopener" style="color:var(--teal);">middleware</a>).
</li>
</ul>
</div>
</div>
<div class="posts-grid">
<a class="post-card" href="https://github.com/dotkernel" target="_blank" rel="noopener noreferrer">
<svg viewBox="0 0 24 24" fill="currentColor"
Expand Down