Навигация

This commit is contained in:
Alexander Yakovlev 2017-07-04 23:32:34 +07:00
parent 4e24c0742b
commit d8c1a33232
10 changed files with 73 additions and 1921 deletions

View file

@ -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"

View file

@ -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>';
}
];

View file

@ -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
View file

View file

@ -0,0 +1,3 @@
<div class="footer">
&copy; {{ date('Y') }}
</div>

View file

@ -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>

View file

@ -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>&copy; {{ 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>&copy; {{ 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>

View file

@ -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
View 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();
}
};