Навигация
This commit is contained in:
parent
4e24c0742b
commit
d8c1a33232
|
@ -1,4 +1,6 @@
|
|||
DIRECTUS_TOKEN = "directus-token-here"
|
||||
DIRECTUS_URL = "directus-selfhosted-url-here"
|
||||
DIRECTUS_STORAGE = "storage/uploads"
|
||||
DIRECTUS_TABLE = "table"
|
||||
IMAGE_DIR = "images"
|
||||
SITE_TITLE = "Contest name"
|
||||
|
|
42
config.php
42
config.php
|
@ -11,9 +11,9 @@ $client = \Directus\SDK\ClientFactory::create($config['DIRECTUS_TOKEN'], [
|
|||
]);
|
||||
|
||||
try {
|
||||
$posts = $client->getItems('blog');
|
||||
if (!file_exists('source/_posts')) {
|
||||
mkdir('source/_posts');
|
||||
$posts = $client->getItems($config['DIRECTUS_TABLE']);
|
||||
if (!file_exists('source/_games')) {
|
||||
mkdir('source/_games');
|
||||
}
|
||||
$slugify = new Slugify();
|
||||
$tidy = new tidy();
|
||||
|
@ -21,28 +21,21 @@ try {
|
|||
if ($post->active !== 1) { // skip drafts or deleted
|
||||
continue;
|
||||
}
|
||||
if (!file_exists('source/_posts/')) {
|
||||
mkdir('source/_posts');
|
||||
}
|
||||
$day = date('Y-m-d', strtotime($post->date_published));
|
||||
if (!file_exists('source/_posts/'.$day)) {
|
||||
mkdir('source/_posts/'.$day);
|
||||
}
|
||||
$filename = 'source/_posts/'.$day.'/'.$slugify->slugify($post->title).'.md';
|
||||
$filename = 'source/_games/'.$slugify->slugify($post->name).'.md';
|
||||
$content = str_replace("\r", "", $post->content);
|
||||
$content = $tidy->repairString(trim($content), [
|
||||
'show-body-only' => true
|
||||
]);
|
||||
$page = '---'.PHP_EOL.
|
||||
'extends: _layouts.post'.PHP_EOL.
|
||||
'title: '.$post->title.PHP_EOL.
|
||||
'date: '.$day.PHP_EOL.
|
||||
'feature: _'.$post->feature->name.PHP_EOL.
|
||||
'title: '.$post->name.PHP_EOL.
|
||||
'date: '.$post->created_at.PHP_EOL.
|
||||
'feature: _'.$post->cover->name.PHP_EOL.
|
||||
'---'.PHP_EOL.
|
||||
$content;
|
||||
download_file(
|
||||
$config['DIRECTUS_URL'].'/'.$config['DIRECTUS_STORAGE'].'/'.$post->feature->name,
|
||||
'source/_posts/'.$day.'/_'.$post->feature->name
|
||||
$config['DIRECTUS_URL'].'/'.$config['DIRECTUS_STORAGE'].'/'.$post->cover->name,
|
||||
'source/_games/_'.$post->cover->name
|
||||
);
|
||||
$file = fopen($filename, 'w');
|
||||
fwrite($file, $page);
|
||||
|
@ -56,14 +49,13 @@ return [
|
|||
'baseUrl' => '/',
|
||||
'production' => true,
|
||||
'collections' => [
|
||||
'posts' => [
|
||||
'path' => 'blog/{date|Y-m-d}/{filename}',
|
||||
'games' => [
|
||||
'path' => 'game/{filename}',
|
||||
'sort' => '-date'
|
||||
]
|
||||
],
|
||||
'title' => "K.lee Studio", // site title
|
||||
'title' => $config['SITE_TITLE'], // site title
|
||||
'description' => "",
|
||||
'generator' => "Jigsaw",
|
||||
|
||||
/**
|
||||
* Helpers start here
|
||||
|
@ -145,5 +137,15 @@ return [
|
|||
return $tidy->repairString(trim($new_string), [
|
||||
'show-body-only' => true
|
||||
]);
|
||||
},
|
||||
'navitem' => function($page, $url, $title) {
|
||||
$class = '';
|
||||
$sr = '';
|
||||
if ($page->getPath() === $url) {
|
||||
$class='active';
|
||||
$sr = ' <span class="sr-only">(текущая)</span>';
|
||||
}
|
||||
return '<li class="nav-item '.$class.'">'.
|
||||
'<a class="nav-link" href="'.$page->url($url).'">'.$title.$sr.'</a></li>';
|
||||
}
|
||||
];
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"yargs": "^4.6.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"bootstrap": "^4.0.0-alpha.6",
|
||||
"hasbin": "^1.2.3",
|
||||
"laravel-elixir": "^6.0.0-15",
|
||||
"yargs": "^4.8.1"
|
||||
|
|
File diff suppressed because it is too large
Load diff
0
source/_games/.gitkeep
Normal file
0
source/_games/.gitkeep
Normal file
|
@ -0,0 +1,3 @@
|
|||
<div class="footer">
|
||||
© {{ date('Y') }}
|
||||
</div>
|
|
@ -3,7 +3,7 @@
|
|||
<title>{{ $page->title }}</title>
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="{{ $page->generator }}">
|
||||
<meta name="generator" content="Jigsaw">
|
||||
<meta name="description" content="{{ $page->description }}">
|
||||
{!! $page->css('/css/style.css') !!}
|
||||
</head>
|
||||
|
|
|
@ -1,22 +1,14 @@
|
|||
<ul class="nav nav_small @if ($page->getPath() == '/') nav_hidden @endif">
|
||||
<li><a href="{!! $page->url('/') !!}">K.LEE STUDIO</a></li>
|
||||
<li><a href="{!! $page->url('/work/') !!}">WORK</a></li>
|
||||
{{-- <li><a href="{!! $page->url('/services-unknown/') !!}">CAPABILITIES</a></li> --}}
|
||||
<li><a href="{!! $page->url('/archive/') !!}">ARCHIVE</a></li>
|
||||
<li><a href="{!! $page->url('/info/') !!}">INFO</a></li>
|
||||
<li>© {{ date('Y') }}</li>
|
||||
<nav class="navbar navbar-toggleable-md navbar-inverse bg-inverse">
|
||||
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbar" aria-expanded="false" aria-label="Переключить навигацию">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="{!! $page->url('/') !!}">{{ $page->title }}</a>
|
||||
<div class="collapse navbar-collapse" id="navbar">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
{!! $page->navitem('/', 'Обложка') !!}
|
||||
{!! $page->navitem('/toc', 'Список игр') !!}
|
||||
{!! $page->navitem('/rules', 'Правила') !!}
|
||||
{!! $page->navitem('/rules', 'Добавить игру') !!}
|
||||
</ul>
|
||||
<ul class="nav nav_full @if ($page->getPath() == '/') nav_hidden @endif">
|
||||
<li><a href="/">K.LEE STUDIO</a></li>
|
||||
<li>© {{ date('Y') }}</li>
|
||||
<li><a href="{!! $page->url('/services-unknown/') !!}">CAPABILITIES</a></li>
|
||||
<li><a href="{!! $page->url('/info/') !!}">INFO</a></li>
|
||||
<li class="dropdown">
|
||||
<a href="{!! $page->url('/work/') !!}">WORK</a>
|
||||
<ul class="dropdown__menu">
|
||||
<li><a href="{!! $page->url('/work/') !!}">SELECT</a></li>
|
||||
<li><a href="{!! $page->url('/archive/') !!}">ARCHIVE</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
@section('contents')
|
||||
<div class="cover">
|
||||
<a href="/toc">
|
||||
{--
|
||||
{{--
|
||||
{!! $page->img($page->feature, $page->title) !!}
|
||||
--}
|
||||
--}}
|
||||
<img src="http://lorempixel.com/800/600" alt="Cover">
|
||||
</a>
|
||||
</img>
|
||||
|
|
18
tasks/bin.js
Normal file
18
tasks/bin.js
Normal file
|
@ -0,0 +1,18 @@
|
|||
var hasbin = require('hasbin');
|
||||
var fs = require('fs');
|
||||
|
||||
module.exports = {
|
||||
path: function() {
|
||||
if (fs.existsSync('./vendor/bin/jigsaw')) {
|
||||
return '"./vendor/bin/jigsaw"'
|
||||
}
|
||||
|
||||
if (hasbin.sync('jigsaw')) {
|
||||
return 'jigsaw';
|
||||
}
|
||||
|
||||
console.log('Could not find Jigsaw; please install it via Composer, either locally or globally.');
|
||||
|
||||
process.exit();
|
||||
}
|
||||
};
|
Loading…
Reference in a new issue