Fixes on Language dictionaries
This commit is contained in:
parent
a0ab20a816
commit
5f449ab111
|
@ -24,6 +24,7 @@ class dbList extends dbJSON
|
||||||
parent::__construct($file);
|
parent::__construct($file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Returns an array with a list of key of pages, FALSE if out of range
|
||||||
public function getList($key, $pageNumber, $amountOfItems)
|
public function getList($key, $pageNumber, $amountOfItems)
|
||||||
{
|
{
|
||||||
if (empty($key)) {
|
if (empty($key)) {
|
||||||
|
@ -39,7 +40,7 @@ class dbList extends dbJSON
|
||||||
|
|
||||||
if ($amountOfItems==-1) {
|
if ($amountOfItems==-1) {
|
||||||
// Invert keys to values, is necesary returns as key the key pages
|
// Invert keys to values, is necesary returns as key the key pages
|
||||||
$list = array_flip($list);
|
//$list = array_flip($list);
|
||||||
return $list;
|
return $list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,7 +57,7 @@ class dbList extends dbJSON
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$list = array_flip($list);
|
//$list = array_flip($list);
|
||||||
return array_slice($list, $init, $amountOfItems, true);
|
return array_slice($list, $init, $amountOfItems, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,12 +31,9 @@ if (empty($published) && $Url->pageNumber()>1) {
|
||||||
Redirect::page('content');
|
Redirect::page('content');
|
||||||
}
|
}
|
||||||
|
|
||||||
// List of drafts pages
|
$drafts = $dbPages->getDraftDB(true);
|
||||||
$drafts = $dbPages->getDraftDB();
|
$scheduled = $dbPages->getScheduledDB(true);
|
||||||
|
$static = $dbPages->getStaticDB(true);
|
||||||
$scheduled = $dbPages->getScheduledDB();
|
|
||||||
|
|
||||||
$static = $dbPages->getStaticDB();
|
|
||||||
|
|
||||||
// Title of the page
|
// Title of the page
|
||||||
$layout['title'] .= ' - '.$Language->g('Manage content');
|
$layout['title'] .= ' - '.$Language->g('Manage content');
|
|
@ -46,7 +46,7 @@ function table($status, $icon='arrow-circle-o-down') {
|
||||||
</tr>';
|
</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach($list as $pageKey=>$fields) {
|
foreach($list as $pageKey) {
|
||||||
$page = buildPage($pageKey);
|
$page = buildPage($pageKey);
|
||||||
if ($page) {
|
if ($page) {
|
||||||
echo '<tr>';
|
echo '<tr>';
|
||||||
|
|
|
@ -114,11 +114,11 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td><?php $Language->p('Published') ?></td>
|
<td><?php $Language->p('Published') ?></td>
|
||||||
<td><?php echo count($dbPages->getPublishedDB()) ?></td>
|
<td><?php echo count($dbPages->getPublishedDB(false)) ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><?php $Language->p('Static') ?></td>
|
<td><?php $Language->p('Static') ?></td>
|
||||||
<td><?php echo count($dbPages->getStaticDB()) ?></td>
|
<td><?php echo count($dbPages->getStaticDB(false)) ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
<td><?php $Language->p('Users') ?></td>
|
<td><?php $Language->p('Users') ?></td>
|
||||||
<td><?php echo $dbUsers->count() ?></td>
|
<td><?php echo $dbUsers->count() ?></td>
|
||||||
|
@ -135,12 +135,11 @@
|
||||||
<h4 class="panel-title"><?php $L->p('Scheduled content') ?></h4>
|
<h4 class="panel-title"><?php $L->p('Scheduled content') ?></h4>
|
||||||
<ul class="uk-list">
|
<ul class="uk-list">
|
||||||
<?php
|
<?php
|
||||||
$scheduledPages = $dbPages->getScheduledDB();
|
$scheduledPages = $dbPages->getScheduledDB(true);
|
||||||
if( empty($scheduledPages) ) {
|
if( empty($scheduledPages) ) {
|
||||||
echo '<li>'.$Language->g('There are no scheduled content').'</li>';
|
echo '<li>'.$Language->g('There are no scheduled content').'</li>';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$keys = array_keys($scheduledPages);
|
|
||||||
foreach($keys as $key) {
|
foreach($keys as $key) {
|
||||||
$page = buildPage($key);
|
$page = buildPage($key);
|
||||||
echo '<li><span class="label-time">'.$page->dateRaw(SCHEDULED_DATE_FORMAT).'</span><a href="'.HTML_PATH_ADMIN_ROOT.'edit-content/'.$page->key().'">'.($page->title()?$page->title():'['.$Language->g('Empty title').'] ').'</a></li>';
|
echo '<li><span class="label-time">'.$page->dateRaw(SCHEDULED_DATE_FORMAT).'</span><a href="'.HTML_PATH_ADMIN_ROOT.'edit-content/'.$page->key().'">'.($page->title()?$page->title():'['.$Language->g('Empty title').'] ').'</a></li>';
|
||||||
|
@ -154,12 +153,11 @@
|
||||||
<h4 class="panel-title"><?php $L->p('Draft content') ?></h4>
|
<h4 class="panel-title"><?php $L->p('Draft content') ?></h4>
|
||||||
<ul class="uk-list">
|
<ul class="uk-list">
|
||||||
<?php
|
<?php
|
||||||
$draftPages = $dbPages->getDraftDB();
|
$draftPages = $dbPages->getDraftDB(true);
|
||||||
if( empty($draftPages) ) {
|
if( empty($draftPages) ) {
|
||||||
echo '<li>'.$Language->g('There are no draft content').'</li>';
|
echo '<li>'.$Language->g('There are no draft content').'</li>';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$keys = array_keys($draftPages);
|
|
||||||
foreach($keys as $key) {
|
foreach($keys as $key) {
|
||||||
$page = buildPage($key);
|
$page = buildPage($key);
|
||||||
echo '<li><a href="'.HTML_PATH_ADMIN_ROOT.'edit-content/'.$page->key().'">'.($page->title()?$page->title():'['.$Language->g('Empty title').'] ').'</a></li>';
|
echo '<li><a href="'.HTML_PATH_ADMIN_ROOT.'edit-content/'.$page->key().'">'.($page->title()?$page->title():'['.$Language->g('Empty title').'] ').'</a></li>';
|
||||||
|
|
|
@ -165,8 +165,7 @@ echo '<div class="bl-publish-sidebar uk-width-2-10">';
|
||||||
if (count($page->children())==0) {
|
if (count($page->children())==0) {
|
||||||
$options = array(' '=>'- '.$L->g('No parent').' -');
|
$options = array(' '=>'- '.$L->g('No parent').' -');
|
||||||
$parentsList = $dbPages->getParents();
|
$parentsList = $dbPages->getParents();
|
||||||
$parentsKey = array_keys($parentsList);
|
foreach ($parentsList as $pageKey) {
|
||||||
foreach($parentsKey as $pageKey) {
|
|
||||||
$parent = buildPage($pageKey);
|
$parent = buildPage($pageKey);
|
||||||
$options[$pageKey] = $parent->title();
|
$options[$pageKey] = $parent->title();
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,17 +17,17 @@ class dbCategories extends dbList
|
||||||
global $dbPages;
|
global $dbPages;
|
||||||
|
|
||||||
// Foreach category
|
// Foreach category
|
||||||
foreach( $this->db as $key=>$value ) {
|
foreach ($this->db as $key=>$value) {
|
||||||
$this->db[$key]['list'] = array();
|
$this->db[$key]['list'] = array();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get a database with published pages
|
// Get a database with published pages
|
||||||
$db = $dbPages->getPublishedDB();
|
$db = $dbPages->getPublishedDB(false);
|
||||||
|
|
||||||
foreach($db as $pageKey=>$pageFields) {
|
foreach ($db as $pageKey=>$pageFields) {
|
||||||
if( !empty($pageFields['category']) ) {
|
if (!empty($pageFields['category'])) {
|
||||||
$categoryKey = $pageFields['category'];
|
$categoryKey = $pageFields['category'];
|
||||||
if( isset($this->db[$categoryKey]['list']) ) {
|
if (isset($this->db[$categoryKey]['list'])) {
|
||||||
array_push($this->db[$categoryKey]['list'], $pageKey);
|
array_push($this->db[$categoryKey]['list'], $pageKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -292,8 +292,8 @@ class dbPages extends dbJSON
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns a database with published pages
|
// Returns a database with published pages keys
|
||||||
public function getPublishedDB($onlyKeys=false)
|
public function getPublishedDB($onlyKeys=true)
|
||||||
{
|
{
|
||||||
$tmp = $this->db;
|
$tmp = $this->db;
|
||||||
foreach ($tmp as $key=>$fields) {
|
foreach ($tmp as $key=>$fields) {
|
||||||
|
@ -309,7 +309,7 @@ class dbPages extends dbJSON
|
||||||
|
|
||||||
// Returns an array with a list of keys/database of static pages
|
// Returns an array with a list of keys/database of static pages
|
||||||
// By default the static pages are sort by position
|
// By default the static pages are sort by position
|
||||||
public function getStaticDB($onlyKeys=false)
|
public function getStaticDB($onlyKeys=true)
|
||||||
{
|
{
|
||||||
$tmp = $this->db;
|
$tmp = $this->db;
|
||||||
foreach ($tmp as $key=>$fields) {
|
foreach ($tmp as $key=>$fields) {
|
||||||
|
@ -325,7 +325,7 @@ class dbPages extends dbJSON
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns an array with a list of keys/database of draft pages
|
// Returns an array with a list of keys/database of draft pages
|
||||||
public function getDraftDB($onlyKeys=false)
|
public function getDraftDB($onlyKeys=true)
|
||||||
{
|
{
|
||||||
$tmp = $this->db;
|
$tmp = $this->db;
|
||||||
foreach ($tmp as $key=>$fields) {
|
foreach ($tmp as $key=>$fields) {
|
||||||
|
@ -340,7 +340,7 @@ class dbPages extends dbJSON
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns an array with a list of keys/database of scheduled pages
|
// Returns an array with a list of keys/database of scheduled pages
|
||||||
public function getScheduledDB($onlyKeys=false)
|
public function getScheduledDB($onlyKeys=true)
|
||||||
{
|
{
|
||||||
$tmp = $this->db;
|
$tmp = $this->db;
|
||||||
foreach($tmp as $key=>$fields) {
|
foreach($tmp as $key=>$fields) {
|
||||||
|
@ -376,17 +376,17 @@ class dbPages extends dbJSON
|
||||||
return ++$tmp;
|
return ++$tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns an array with a list of pages, FALSE if out of range
|
// Returns an array with a list of key of pages, FALSE if out of range
|
||||||
// The database is sorted by date or by position
|
// The database is sorted by date or by position
|
||||||
// (int) $pageNumber, the page number
|
// (int) $pageNumber, the page number
|
||||||
// (int) $amountOfItems, amount of items to return, if -1 returns all the items
|
// (int) $amountOfItems, amount of items to return, if -1 returns all the items
|
||||||
// (boolean) $onlyPublished, TRUE to return only published pages
|
// (boolean) $onlyPublished, TRUE to return only published pages
|
||||||
public function getList($pageNumber, $amountOfItems, $onlyPublished=true)
|
public function getList($pageNumber, $amountOfItems, $onlyPublished=true)
|
||||||
{
|
{
|
||||||
$db = $this->db;
|
$db = array_keys($this->db);
|
||||||
|
|
||||||
if ($onlyPublished) {
|
if ($onlyPublished) {
|
||||||
$db = $this->getPublishedDB();
|
$db = $this->getPublishedDB(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($amountOfItems==-1) {
|
if ($amountOfItems==-1) {
|
||||||
|
@ -414,7 +414,7 @@ class dbPages extends dbJSON
|
||||||
public function count($onlyPublished=true)
|
public function count($onlyPublished=true)
|
||||||
{
|
{
|
||||||
if ($onlyPublished) {
|
if ($onlyPublished) {
|
||||||
$db = $this->getPublishedDB();
|
$db = $this->getPublishedDB(false);
|
||||||
return count($db);
|
return count($db);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -424,11 +424,11 @@ class dbPages extends dbJSON
|
||||||
// Returns an array with all parents pages key, a parent page is not a child
|
// Returns an array with all parents pages key, a parent page is not a child
|
||||||
public function getParents()
|
public function getParents()
|
||||||
{
|
{
|
||||||
$db = $this->getPublishedDB() + $this->getStaticDB();
|
$db = $this->getPublishedDB(true) + $this->getStaticDB(true);
|
||||||
foreach ($db as $key=>$fields) {
|
foreach ($db as $pageKey) {
|
||||||
// if the key has slash then is a child
|
// if the key has slash then is a child
|
||||||
if (Text::stringContains($key, '/')) {
|
if (Text::stringContains($pageKey, '/')) {
|
||||||
unset($db[$key]);
|
unset($db[$pageKey]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $db;
|
return $db;
|
||||||
|
|
|
@ -17,7 +17,7 @@ class dbTags extends dbList
|
||||||
global $dbPages;
|
global $dbPages;
|
||||||
|
|
||||||
// Get a database with published pages
|
// Get a database with published pages
|
||||||
$db = $dbPages->getPublishedDB();
|
$db = $dbPages->getPublishedDB(false);
|
||||||
|
|
||||||
$tagsIndex = array();
|
$tagsIndex = array();
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php defined('BLUDIT') or die('Bludit CMS.');
|
<?php defined('BLUDIT') or die('Bludit CMS.');
|
||||||
|
|
||||||
// (object) Returns a Page object, the class is page.class.php, FALSE if something fail to load the page
|
// Returns a Page object, the class is page.class.php, FALSE if something fail to load the page
|
||||||
function buildPage($key) {
|
function buildPage($key) {
|
||||||
global $dbPages;
|
global $dbPages;
|
||||||
global $dbUsers;
|
global $dbUsers;
|
||||||
|
@ -61,6 +61,8 @@ function buildPage($key) {
|
||||||
return $page;
|
return $page;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Execute a re-index of categories
|
||||||
|
// If you create/edit/remove a page is necessary regenerate the database of categories
|
||||||
function reindexCategories() {
|
function reindexCategories() {
|
||||||
global $dbCategories;
|
global $dbCategories;
|
||||||
return $dbCategories->reindex();
|
return $dbCategories->reindex();
|
||||||
|
@ -71,6 +73,7 @@ function reindexTags() {
|
||||||
return $dbTags->reindex();
|
return $dbTags->reindex();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Returns a Page Object, this generate on the fly a page-not-found
|
||||||
function buildErrorPage() {
|
function buildErrorPage() {
|
||||||
global $dbPages;
|
global $dbPages;
|
||||||
global $Language;
|
global $Language;
|
||||||
|
@ -84,6 +87,10 @@ function buildErrorPage() {
|
||||||
return $page;
|
return $page;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This function is only used from the rule 69.pages.php, DO NOT use this function!
|
||||||
|
// This function generate a particular page from the slug of the url
|
||||||
|
// The page is stored on the global variable $page
|
||||||
|
// If the slug has not a page associacted returns FALSE and set not-found
|
||||||
function buildThePage() {
|
function buildThePage() {
|
||||||
global $Url;
|
global $Url;
|
||||||
global $page, $Page;
|
global $page, $Page;
|
||||||
|
@ -96,20 +103,23 @@ function buildThePage() {
|
||||||
$Url->setNotFound();
|
$Url->setNotFound();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// The page is not published
|
// The page is NOT published
|
||||||
elseif( $page->scheduled() || $page->draft() ) {
|
elseif( $page->scheduled() || $page->draft() ) {
|
||||||
$Url->setNotFound();
|
$Url->setNotFound();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// The page was generate successfully
|
||||||
$content[0] = $pages[0] = $page;
|
$content[0] = $pages[0] = $page;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This function is only used from the rule 69.pages.php, DO NOT use this function!
|
||||||
function buildPagesForHome() {
|
function buildPagesForHome() {
|
||||||
return buildPagesFor('home');
|
return buildPagesFor('home');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This function is only used from the rule 69.pages.php, DO NOT use this function!
|
||||||
function buildPagesByCategory() {
|
function buildPagesByCategory() {
|
||||||
global $Url;
|
global $Url;
|
||||||
|
|
||||||
|
@ -117,6 +127,7 @@ function buildPagesByCategory() {
|
||||||
return buildPagesFor('category', $categoryKey, false);
|
return buildPagesFor('category', $categoryKey, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This function is only used from the rule 69.pages.php, DO NOT use this function!
|
||||||
function buildPagesByTag() {
|
function buildPagesByTag() {
|
||||||
global $Url;
|
global $Url;
|
||||||
|
|
||||||
|
@ -124,6 +135,7 @@ function buildPagesByTag() {
|
||||||
return buildPagesFor('tag', false, $tagKey);
|
return buildPagesFor('tag', false, $tagKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Generate the global variables $pages and $content, defined on 69.pages.php
|
||||||
function buildPagesFor($for, $categoryKey=false, $tagKey=false) {
|
function buildPagesFor($for, $categoryKey=false, $tagKey=false) {
|
||||||
global $dbPages;
|
global $dbPages;
|
||||||
global $dbCategories;
|
global $dbCategories;
|
||||||
|
@ -156,7 +168,7 @@ function buildPagesFor($for, $categoryKey=false, $tagKey=false) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$pages = array(); // global variable
|
$pages = array(); // global variable
|
||||||
foreach($list as $pageKey=>$fields) {
|
foreach($list as $pageKey) {
|
||||||
$page = buildPage($pageKey);
|
$page = buildPage($pageKey);
|
||||||
if($page!==false) {
|
if($page!==false) {
|
||||||
array_push($pages, $page);
|
array_push($pages, $page);
|
||||||
|
|
|
@ -22,6 +22,8 @@ class Filesystem {
|
||||||
return $directories;
|
return $directories;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Returns an array with the list of files with the absolute path
|
||||||
|
// $sortByDate = TRUE, the first file is the newer file
|
||||||
public static function listFiles($path, $regex='*', $extension='*', $sortByDate=false)
|
public static function listFiles($path, $regex='*', $extension='*', $sortByDate=false)
|
||||||
{
|
{
|
||||||
$files = glob($path.$regex.'.'.$extension);
|
$files = glob($path.$regex.'.'.$extension);
|
||||||
|
|
|
@ -2,10 +2,13 @@
|
||||||
"language-data": {
|
"language-data": {
|
||||||
"native": "Русский (Россия)",
|
"native": "Русский (Россия)",
|
||||||
"english-name": "Russian",
|
"english-name": "Russian",
|
||||||
|
"locale": "ru, ru_RU",
|
||||||
"last-update": "2017-10-17",
|
"last-update": "2017-10-17",
|
||||||
"author": "Сергей Ворон",
|
"authors": {
|
||||||
"email": "sergey@voron.pw",
|
"0": "Сергей Ворон http://voron.pw",
|
||||||
"website": "http:\/\/voron.pw"
|
"1": "",
|
||||||
|
"2": ""
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"dashboard": "Панель управления",
|
"dashboard": "Панель управления",
|
||||||
"manage-users": "Управление пользователями",
|
"manage-users": "Управление пользователями",
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"locale": "tr_TR",
|
"locale": "tr_TR",
|
||||||
"last-update": "2017-12-25",
|
"last-update": "2017-12-25",
|
||||||
"author": "guleyc",
|
"author": "guleyc",
|
||||||
"email": "cagatay@guley.co",
|
"email": "cagatay@guley.co"
|
||||||
},
|
},
|
||||||
"dates": {
|
"dates": {
|
||||||
"Mon": "Pzt",
|
"Mon": "Pzt",
|
||||||
|
|
|
@ -246,8 +246,7 @@ class pluginAPI extends Plugin {
|
||||||
);
|
);
|
||||||
|
|
||||||
// Get keys of pages
|
// Get keys of pages
|
||||||
$keys = array_keys($list);
|
foreach ($list as $pageKey) {
|
||||||
foreach ($keys as $pageKey) {
|
|
||||||
// Create the page object from the page key
|
// Create the page object from the page key
|
||||||
$page = buildPage($pageKey);
|
$page = buildPage($pageKey);
|
||||||
array_push($tmp['data'], $page->json( $returnsArray=true ));
|
array_push($tmp['data'], $page->json( $returnsArray=true ));
|
||||||
|
|
|
@ -99,8 +99,7 @@ class pluginLatestContent extends Plugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get keys of pages
|
// Get keys of pages
|
||||||
$keys = array_keys($pages);
|
foreach($pages as $pageKey) {
|
||||||
foreach($keys as $pageKey) {
|
|
||||||
// Create the page object from the page key
|
// Create the page object from the page key
|
||||||
$page = buildPage($pageKey);
|
$page = buildPage($pageKey);
|
||||||
$html .= '<li>';
|
$html .= '<li>';
|
||||||
|
|
|
@ -55,8 +55,7 @@ class pluginRSS extends Plugin {
|
||||||
$xml .= '<description>'.$Site->description().'</description>';
|
$xml .= '<description>'.$Site->description().'</description>';
|
||||||
|
|
||||||
// Get keys of pages
|
// Get keys of pages
|
||||||
$keys = array_keys($pages);
|
foreach($pages as $pageKey) {
|
||||||
foreach($keys as $pageKey) {
|
|
||||||
// Create the page object from the page key
|
// Create the page object from the page key
|
||||||
$page = buildPage($pageKey);
|
$page = buildPage($pageKey);
|
||||||
$xml .= '<item>';
|
$xml .= '<item>';
|
||||||
|
|
|
@ -31,10 +31,9 @@ class pluginSitemap extends Plugin {
|
||||||
$pageNumber = 1;
|
$pageNumber = 1;
|
||||||
$amountOfItems = -1;
|
$amountOfItems = -1;
|
||||||
$onlyPublished = true;
|
$onlyPublished = true;
|
||||||
$db = $dbPages->getList($pageNumber, $amountOfItems, $onlyPublished);
|
$pages = $dbPages->getList($pageNumber, $amountOfItems, $onlyPublished);
|
||||||
|
|
||||||
$keys = array_keys($db);
|
foreach($pages as $pageKey) {
|
||||||
foreach($keys as $pageKey) {
|
|
||||||
// Create the page object from the page key
|
// Create the page object from the page key
|
||||||
$page = buildPage($pageKey);
|
$page = buildPage($pageKey);
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ class pluginStaticPages extends Plugin {
|
||||||
global $Site;
|
global $Site;
|
||||||
global $dbPages;
|
global $dbPages;
|
||||||
|
|
||||||
$pages = $dbPages->getStaticDB();
|
$pages = $dbPages->getStaticDB(true);
|
||||||
|
|
||||||
// HTML for sidebar
|
// HTML for sidebar
|
||||||
$html = '<div class="plugin plugin-pages">';
|
$html = '<div class="plugin plugin-pages">';
|
||||||
|
@ -60,7 +60,6 @@ class pluginStaticPages extends Plugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get keys of pages
|
// Get keys of pages
|
||||||
$keys = array_keys($pages);
|
|
||||||
foreach($keys as $pageKey) {
|
foreach($keys as $pageKey) {
|
||||||
// Create the page object from the page key
|
// Create the page object from the page key
|
||||||
$page = buildPage($pageKey);
|
$page = buildPage($pageKey);
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
node_modules
|
|
@ -0,0 +1,11 @@
|
||||||
|
sudo: false
|
||||||
|
language: node_js
|
||||||
|
node_js:
|
||||||
|
- "node"
|
||||||
|
install: npm install
|
||||||
|
script:
|
||||||
|
- npm test
|
||||||
|
- gulp
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
- node_modules
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*!
|
||||||
|
* Start Bootstrap - Scrolling Nav (https://startbootstrap.com/template-overviews/scrolling-nav)
|
||||||
|
* Copyright 2013-2017 Start Bootstrap
|
||||||
|
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-scrolling-nav/blob/master/LICENSE)
|
||||||
|
*/
|
||||||
|
|
||||||
|
header {
|
||||||
|
padding: 154px 0 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
header {
|
||||||
|
padding: 156px 0 100px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
padding: 150px 0;
|
||||||
|
}
|
|
@ -0,0 +1,62 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<?php include(THEME_DIR_PHP.'head.php') ?>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body id="page-top">
|
||||||
|
|
||||||
|
<!-- Navigation -->
|
||||||
|
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top" id="mainNav">
|
||||||
|
<div class="container">
|
||||||
|
<a class="navbar-brand js-scroll-trigger" href="#page-top">BLUDIT</a>
|
||||||
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
|
<ul class="navbar-nav">
|
||||||
|
<li class="nav-item active">
|
||||||
|
<a class="nav-link js-scroll-trigger" href="#about">about <span class="sr-only">(current)</span></a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="#">Features</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="#">Pricing</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link disabled" href="#">Disabled</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<header class="bg-primary text-white">
|
||||||
|
<div class="container text-center">
|
||||||
|
<h1>Welcome to Bludit</h1>
|
||||||
|
<p class="lead">Congratulations you have successfully installed your Bludit.</p>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<!-- Load all pages -->
|
||||||
|
<?php include(THEME_DIR_PHP.'home.php'); ?>
|
||||||
|
|
||||||
|
<!-- Footer -->
|
||||||
|
<footer class="py-5 bg-dark">
|
||||||
|
<div class="container">
|
||||||
|
<p class="m-0 text-center text-white">Copyright © Your Website 2017</p>
|
||||||
|
</div>
|
||||||
|
<!-- /.container -->
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
echo Theme::js('vendor/jquery/jquery.min.js');
|
||||||
|
echo Theme::js('vendor/bootstrap/js/bootstrap.bundle.min.js');
|
||||||
|
|
||||||
|
echo Theme::js('vendor/jquery-easing/jquery.easing.min.js');
|
||||||
|
|
||||||
|
echo Theme::js('js/scrolling-nav.js');
|
||||||
|
?>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,29 @@
|
||||||
|
(function($) {
|
||||||
|
"use strict"; // Start of use strict
|
||||||
|
|
||||||
|
// Smooth scrolling using jQuery easing
|
||||||
|
$('a.js-scroll-trigger[href*="#"]:not([href="#"])').click(function() {
|
||||||
|
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
|
||||||
|
var target = $(this.hash);
|
||||||
|
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||||
|
if (target.length) {
|
||||||
|
$('html, body').animate({
|
||||||
|
scrollTop: (target.offset().top - 54)
|
||||||
|
}, 1000, "easeInOutExpo");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Closes responsive menu when a scroll trigger link is clicked
|
||||||
|
$('.js-scroll-trigger').click(function() {
|
||||||
|
$('.navbar-collapse').collapse('hide');
|
||||||
|
});
|
||||||
|
|
||||||
|
// Activate scrollspy to add active class to navbar items on scroll
|
||||||
|
$('body').scrollspy({
|
||||||
|
target: '#mainNav',
|
||||||
|
offset: 54
|
||||||
|
});
|
||||||
|
|
||||||
|
})(jQuery); // End of use strict
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"theme-data":
|
||||||
|
{
|
||||||
|
"name": "Alternative",
|
||||||
|
"description": "One page landing page, for small websites."
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"author": "Start Bootstrap",
|
||||||
|
"email": "",
|
||||||
|
"website": "https://startbootstrap.com/template-overviews/scrolling-nav/",
|
||||||
|
"version": "1.0",
|
||||||
|
"releaseDate": "2017-10-08",
|
||||||
|
"license": "MIT",
|
||||||
|
"compatible": "2.1",
|
||||||
|
"notes": ""
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
|
||||||
|
<?php
|
||||||
|
echo Theme::headTitle();
|
||||||
|
echo Theme::headDescription();
|
||||||
|
|
||||||
|
echo Theme::favicon('img/favicon.png');
|
||||||
|
|
||||||
|
// CSS files
|
||||||
|
echo Theme::css('vendor/bootstrap/css/bootstrap.min.css');
|
||||||
|
echo Theme::css('css/scrolling-nav.css');
|
||||||
|
|
||||||
|
// Load plugins with the hook siteHead
|
||||||
|
Theme::plugins('siteHead');
|
||||||
|
?>
|
|
@ -0,0 +1,25 @@
|
||||||
|
<?php foreach ($pages as $page): ?>
|
||||||
|
|
||||||
|
<?php Theme::plugins('pageBegin') ?>
|
||||||
|
|
||||||
|
<section id="<?php echo $page->key() ?>" class="bg-light">
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-8 mx-auto">
|
||||||
|
<!-- Page title -->
|
||||||
|
<h2>
|
||||||
|
<?php echo $page->title() ?>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<!-- Page content -->
|
||||||
|
<p class="lead">
|
||||||
|
<?php echo $page->content() ?>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<?php Theme::plugins('pageEnd') ?>
|
||||||
|
|
||||||
|
<?php endforeach ?>
|
|
@ -0,0 +1,20 @@
|
||||||
|
<!-- Section -->
|
||||||
|
<section class="content">
|
||||||
|
<article class="page">
|
||||||
|
<?php Theme::plugins('pageBegin') ?>
|
||||||
|
<header>
|
||||||
|
<a href="<?php echo $page->permalink() ?>">
|
||||||
|
<h2><?php echo $page->title() ?></h2>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<?php if( $page->coverImage() ) { ?>
|
||||||
|
<img src="<?php echo $page->coverImage() ?>" alt="<?php echo $page->slug() ?>">
|
||||||
|
<?php } ?>
|
||||||
|
</header>
|
||||||
|
<?php echo $page->content() ?>
|
||||||
|
<footer>
|
||||||
|
<div class="date"><i class="fa fa-clock-o"></i> <?php echo $page->date() ?></div>
|
||||||
|
</footer>
|
||||||
|
<?php Theme::plugins('pageEnd') ?>
|
||||||
|
</article>
|
||||||
|
</section>
|
|
@ -0,0 +1 @@
|
||||||
|
<?php Theme::plugins('siteSidebar') ?>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,342 @@
|
||||||
|
/*!
|
||||||
|
* Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)
|
||||||
|
* Copyright 2011-2017 The Bootstrap Authors
|
||||||
|
* Copyright 2011-2017 Twitter, Inc.
|
||||||
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||||
|
*/
|
||||||
|
*,
|
||||||
|
*::before,
|
||||||
|
*::after {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-family: sans-serif;
|
||||||
|
line-height: 1.15;
|
||||||
|
-webkit-text-size-adjust: 100%;
|
||||||
|
-ms-text-size-adjust: 100%;
|
||||||
|
-ms-overflow-style: scrollbar;
|
||||||
|
-webkit-tap-highlight-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
@-ms-viewport {
|
||||||
|
width: device-width;
|
||||||
|
}
|
||||||
|
|
||||||
|
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||||
|
font-size: 1rem;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: 1.5;
|
||||||
|
color: #212529;
|
||||||
|
text-align: left;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
[tabindex="-1"]:focus {
|
||||||
|
outline: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
box-sizing: content-box;
|
||||||
|
height: 0;
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
abbr[title],
|
||||||
|
abbr[data-original-title] {
|
||||||
|
text-decoration: underline;
|
||||||
|
-webkit-text-decoration: underline dotted;
|
||||||
|
text-decoration: underline dotted;
|
||||||
|
cursor: help;
|
||||||
|
border-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
address {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
font-style: normal;
|
||||||
|
line-height: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol,
|
||||||
|
ul,
|
||||||
|
dl {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol ol,
|
||||||
|
ul ul,
|
||||||
|
ol ul,
|
||||||
|
ul ol {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
dt {
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd {
|
||||||
|
margin-bottom: .5rem;
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
margin: 0 0 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
dfn {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
b,
|
||||||
|
strong {
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
|
||||||
|
small {
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub,
|
||||||
|
sup {
|
||||||
|
position: relative;
|
||||||
|
font-size: 75%;
|
||||||
|
line-height: 0;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub {
|
||||||
|
bottom: -.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
sup {
|
||||||
|
top: -.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #007bff;
|
||||||
|
text-decoration: none;
|
||||||
|
background-color: transparent;
|
||||||
|
-webkit-text-decoration-skip: objects;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
color: #0056b3;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:not([href]):not([tabindex]) {
|
||||||
|
color: inherit;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
|
||||||
|
color: inherit;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:not([href]):not([tabindex]):focus {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code,
|
||||||
|
kbd,
|
||||||
|
samp {
|
||||||
|
font-family: monospace, monospace;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
overflow: auto;
|
||||||
|
-ms-overflow-style: scrollbar;
|
||||||
|
}
|
||||||
|
|
||||||
|
figure {
|
||||||
|
margin: 0 0 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
vertical-align: middle;
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
svg:not(:root) {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
a,
|
||||||
|
area,
|
||||||
|
button,
|
||||||
|
[role="button"],
|
||||||
|
input:not([type="range"]),
|
||||||
|
label,
|
||||||
|
select,
|
||||||
|
summary,
|
||||||
|
textarea {
|
||||||
|
-ms-touch-action: manipulation;
|
||||||
|
touch-action: manipulation;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
|
||||||
|
caption {
|
||||||
|
padding-top: 0.75rem;
|
||||||
|
padding-bottom: 0.75rem;
|
||||||
|
color: #868e96;
|
||||||
|
text-align: left;
|
||||||
|
caption-side: bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
text-align: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
display: inline-block;
|
||||||
|
margin-bottom: .5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:focus {
|
||||||
|
outline: 1px dotted;
|
||||||
|
outline: 5px auto -webkit-focus-ring-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
input,
|
||||||
|
button,
|
||||||
|
select,
|
||||||
|
optgroup,
|
||||||
|
textarea {
|
||||||
|
margin: 0;
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: inherit;
|
||||||
|
line-height: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
button,
|
||||||
|
input {
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
button,
|
||||||
|
select {
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
button,
|
||||||
|
html [type="button"],
|
||||||
|
[type="reset"],
|
||||||
|
[type="submit"] {
|
||||||
|
-webkit-appearance: button;
|
||||||
|
}
|
||||||
|
|
||||||
|
button::-moz-focus-inner,
|
||||||
|
[type="button"]::-moz-focus-inner,
|
||||||
|
[type="reset"]::-moz-focus-inner,
|
||||||
|
[type="submit"]::-moz-focus-inner {
|
||||||
|
padding: 0;
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="radio"],
|
||||||
|
input[type="checkbox"] {
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="date"],
|
||||||
|
input[type="time"],
|
||||||
|
input[type="datetime-local"],
|
||||||
|
input[type="month"] {
|
||||||
|
-webkit-appearance: listbox;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
overflow: auto;
|
||||||
|
resize: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldset {
|
||||||
|
min-width: 0;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
legend {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
padding: 0;
|
||||||
|
margin-bottom: .5rem;
|
||||||
|
font-size: 1.5rem;
|
||||||
|
line-height: inherit;
|
||||||
|
color: inherit;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
progress {
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
[type="number"]::-webkit-inner-spin-button,
|
||||||
|
[type="number"]::-webkit-outer-spin-button {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
[type="search"] {
|
||||||
|
outline-offset: -2px;
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
[type="search"]::-webkit-search-cancel-button,
|
||||||
|
[type="search"]::-webkit-search-decoration {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-file-upload-button {
|
||||||
|
font: inherit;
|
||||||
|
-webkit-appearance: button;
|
||||||
|
}
|
||||||
|
|
||||||
|
output {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
summary {
|
||||||
|
display: list-item;
|
||||||
|
}
|
||||||
|
|
||||||
|
template {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
[hidden] {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
/*# sourceMappingURL=bootstrap-reboot.css.map */
|
|
@ -0,0 +1,8 @@
|
||||||
|
/*!
|
||||||
|
* Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)
|
||||||
|
* Copyright 2011-2017 The Bootstrap Authors
|
||||||
|
* Copyright 2011-2017 Twitter, Inc.
|
||||||
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||||
|
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}
|
||||||
|
/*# sourceMappingURL=bootstrap-reboot.min.css.map */
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
59
bl-themes/alternative/vendor/jquery-easing/jquery.easing.compatibility.js
vendored
Executable file
59
bl-themes/alternative/vendor/jquery-easing/jquery.easing.compatibility.js
vendored
Executable file
|
@ -0,0 +1,59 @@
|
||||||
|
/*
|
||||||
|
* Easing Compatibility v1 - http://gsgd.co.uk/sandbox/jquery/easing
|
||||||
|
*
|
||||||
|
* Adds compatibility for applications that use the pre 1.2 easing names
|
||||||
|
*
|
||||||
|
* Copyright (c) 2007 George Smith
|
||||||
|
* Licensed under the MIT License:
|
||||||
|
* http://www.opensource.org/licenses/mit-license.php
|
||||||
|
*/
|
||||||
|
|
||||||
|
(function($){
|
||||||
|
$.extend( $.easing,
|
||||||
|
{
|
||||||
|
easeIn: function (x, t, b, c, d) {
|
||||||
|
return $.easing.easeInQuad(x, t, b, c, d);
|
||||||
|
},
|
||||||
|
easeOut: function (x, t, b, c, d) {
|
||||||
|
return $.easing.easeOutQuad(x, t, b, c, d);
|
||||||
|
},
|
||||||
|
easeInOut: function (x, t, b, c, d) {
|
||||||
|
return $.easing.easeInOutQuad(x, t, b, c, d);
|
||||||
|
},
|
||||||
|
expoin: function(x, t, b, c, d) {
|
||||||
|
return $.easing.easeInExpo(x, t, b, c, d);
|
||||||
|
},
|
||||||
|
expoout: function(x, t, b, c, d) {
|
||||||
|
return $.easing.easeOutExpo(x, t, b, c, d);
|
||||||
|
},
|
||||||
|
expoinout: function(x, t, b, c, d) {
|
||||||
|
return $.easing.easeInOutExpo(x, t, b, c, d);
|
||||||
|
},
|
||||||
|
bouncein: function(x, t, b, c, d) {
|
||||||
|
return $.easing.easeInBounce(x, t, b, c, d);
|
||||||
|
},
|
||||||
|
bounceout: function(x, t, b, c, d) {
|
||||||
|
return $.easing.easeOutBounce(x, t, b, c, d);
|
||||||
|
},
|
||||||
|
bounceinout: function(x, t, b, c, d) {
|
||||||
|
return $.easing.easeInOutBounce(x, t, b, c, d);
|
||||||
|
},
|
||||||
|
elasin: function(x, t, b, c, d) {
|
||||||
|
return $.easing.easeInElastic(x, t, b, c, d);
|
||||||
|
},
|
||||||
|
elasout: function(x, t, b, c, d) {
|
||||||
|
return $.easing.easeOutElastic(x, t, b, c, d);
|
||||||
|
},
|
||||||
|
elasinout: function(x, t, b, c, d) {
|
||||||
|
return $.easing.easeInOutElastic(x, t, b, c, d);
|
||||||
|
},
|
||||||
|
backin: function(x, t, b, c, d) {
|
||||||
|
return $.easing.easeInBack(x, t, b, c, d);
|
||||||
|
},
|
||||||
|
backout: function(x, t, b, c, d) {
|
||||||
|
return $.easing.easeOutBack(x, t, b, c, d);
|
||||||
|
},
|
||||||
|
backinout: function(x, t, b, c, d) {
|
||||||
|
return $.easing.easeInOutBack(x, t, b, c, d);
|
||||||
|
}
|
||||||
|
});})(jQuery);
|
|
@ -0,0 +1,166 @@
|
||||||
|
/*
|
||||||
|
* jQuery Easing v1.4.1 - http://gsgd.co.uk/sandbox/jquery/easing/
|
||||||
|
* Open source under the BSD License.
|
||||||
|
* Copyright © 2008 George McGinley Smith
|
||||||
|
* All rights reserved.
|
||||||
|
* https://raw.github.com/gdsmith/jquery-easing/master/LICENSE
|
||||||
|
*/
|
||||||
|
|
||||||
|
(function (factory) {
|
||||||
|
if (typeof define === "function" && define.amd) {
|
||||||
|
define(['jquery'], function ($) {
|
||||||
|
return factory($);
|
||||||
|
});
|
||||||
|
} else if (typeof module === "object" && typeof module.exports === "object") {
|
||||||
|
exports = factory(require('jquery'));
|
||||||
|
} else {
|
||||||
|
factory(jQuery);
|
||||||
|
}
|
||||||
|
})(function($){
|
||||||
|
|
||||||
|
// Preserve the original jQuery "swing" easing as "jswing"
|
||||||
|
$.easing.jswing = $.easing.swing;
|
||||||
|
|
||||||
|
var pow = Math.pow,
|
||||||
|
sqrt = Math.sqrt,
|
||||||
|
sin = Math.sin,
|
||||||
|
cos = Math.cos,
|
||||||
|
PI = Math.PI,
|
||||||
|
c1 = 1.70158,
|
||||||
|
c2 = c1 * 1.525,
|
||||||
|
c3 = c1 + 1,
|
||||||
|
c4 = ( 2 * PI ) / 3,
|
||||||
|
c5 = ( 2 * PI ) / 4.5;
|
||||||
|
|
||||||
|
// x is the fraction of animation progress, in the range 0..1
|
||||||
|
function bounceOut(x) {
|
||||||
|
var n1 = 7.5625,
|
||||||
|
d1 = 2.75;
|
||||||
|
if ( x < 1/d1 ) {
|
||||||
|
return n1*x*x;
|
||||||
|
} else if ( x < 2/d1 ) {
|
||||||
|
return n1*(x-=(1.5/d1))*x + 0.75;
|
||||||
|
} else if ( x < 2.5/d1 ) {
|
||||||
|
return n1*(x-=(2.25/d1))*x + 0.9375;
|
||||||
|
} else {
|
||||||
|
return n1*(x-=(2.625/d1))*x + 0.984375;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$.extend( $.easing,
|
||||||
|
{
|
||||||
|
def: 'easeOutQuad',
|
||||||
|
swing: function (x) {
|
||||||
|
return $.easing[$.easing.def](x);
|
||||||
|
},
|
||||||
|
easeInQuad: function (x) {
|
||||||
|
return x * x;
|
||||||
|
},
|
||||||
|
easeOutQuad: function (x) {
|
||||||
|
return 1 - ( 1 - x ) * ( 1 - x );
|
||||||
|
},
|
||||||
|
easeInOutQuad: function (x) {
|
||||||
|
return x < 0.5 ?
|
||||||
|
2 * x * x :
|
||||||
|
1 - pow( -2 * x + 2, 2 ) / 2;
|
||||||
|
},
|
||||||
|
easeInCubic: function (x) {
|
||||||
|
return x * x * x;
|
||||||
|
},
|
||||||
|
easeOutCubic: function (x) {
|
||||||
|
return 1 - pow( 1 - x, 3 );
|
||||||
|
},
|
||||||
|
easeInOutCubic: function (x) {
|
||||||
|
return x < 0.5 ?
|
||||||
|
4 * x * x * x :
|
||||||
|
1 - pow( -2 * x + 2, 3 ) / 2;
|
||||||
|
},
|
||||||
|
easeInQuart: function (x) {
|
||||||
|
return x * x * x * x;
|
||||||
|
},
|
||||||
|
easeOutQuart: function (x) {
|
||||||
|
return 1 - pow( 1 - x, 4 );
|
||||||
|
},
|
||||||
|
easeInOutQuart: function (x) {
|
||||||
|
return x < 0.5 ?
|
||||||
|
8 * x * x * x * x :
|
||||||
|
1 - pow( -2 * x + 2, 4 ) / 2;
|
||||||
|
},
|
||||||
|
easeInQuint: function (x) {
|
||||||
|
return x * x * x * x * x;
|
||||||
|
},
|
||||||
|
easeOutQuint: function (x) {
|
||||||
|
return 1 - pow( 1 - x, 5 );
|
||||||
|
},
|
||||||
|
easeInOutQuint: function (x) {
|
||||||
|
return x < 0.5 ?
|
||||||
|
16 * x * x * x * x * x :
|
||||||
|
1 - pow( -2 * x + 2, 5 ) / 2;
|
||||||
|
},
|
||||||
|
easeInSine: function (x) {
|
||||||
|
return 1 - cos( x * PI/2 );
|
||||||
|
},
|
||||||
|
easeOutSine: function (x) {
|
||||||
|
return sin( x * PI/2 );
|
||||||
|
},
|
||||||
|
easeInOutSine: function (x) {
|
||||||
|
return -( cos( PI * x ) - 1 ) / 2;
|
||||||
|
},
|
||||||
|
easeInExpo: function (x) {
|
||||||
|
return x === 0 ? 0 : pow( 2, 10 * x - 10 );
|
||||||
|
},
|
||||||
|
easeOutExpo: function (x) {
|
||||||
|
return x === 1 ? 1 : 1 - pow( 2, -10 * x );
|
||||||
|
},
|
||||||
|
easeInOutExpo: function (x) {
|
||||||
|
return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ?
|
||||||
|
pow( 2, 20 * x - 10 ) / 2 :
|
||||||
|
( 2 - pow( 2, -20 * x + 10 ) ) / 2;
|
||||||
|
},
|
||||||
|
easeInCirc: function (x) {
|
||||||
|
return 1 - sqrt( 1 - pow( x, 2 ) );
|
||||||
|
},
|
||||||
|
easeOutCirc: function (x) {
|
||||||
|
return sqrt( 1 - pow( x - 1, 2 ) );
|
||||||
|
},
|
||||||
|
easeInOutCirc: function (x) {
|
||||||
|
return x < 0.5 ?
|
||||||
|
( 1 - sqrt( 1 - pow( 2 * x, 2 ) ) ) / 2 :
|
||||||
|
( sqrt( 1 - pow( -2 * x + 2, 2 ) ) + 1 ) / 2;
|
||||||
|
},
|
||||||
|
easeInElastic: function (x) {
|
||||||
|
return x === 0 ? 0 : x === 1 ? 1 :
|
||||||
|
-pow( 2, 10 * x - 10 ) * sin( ( x * 10 - 10.75 ) * c4 );
|
||||||
|
},
|
||||||
|
easeOutElastic: function (x) {
|
||||||
|
return x === 0 ? 0 : x === 1 ? 1 :
|
||||||
|
pow( 2, -10 * x ) * sin( ( x * 10 - 0.75 ) * c4 ) + 1;
|
||||||
|
},
|
||||||
|
easeInOutElastic: function (x) {
|
||||||
|
return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ?
|
||||||
|
-( pow( 2, 20 * x - 10 ) * sin( ( 20 * x - 11.125 ) * c5 )) / 2 :
|
||||||
|
pow( 2, -20 * x + 10 ) * sin( ( 20 * x - 11.125 ) * c5 ) / 2 + 1;
|
||||||
|
},
|
||||||
|
easeInBack: function (x) {
|
||||||
|
return c3 * x * x * x - c1 * x * x;
|
||||||
|
},
|
||||||
|
easeOutBack: function (x) {
|
||||||
|
return 1 + c3 * pow( x - 1, 3 ) + c1 * pow( x - 1, 2 );
|
||||||
|
},
|
||||||
|
easeInOutBack: function (x) {
|
||||||
|
return x < 0.5 ?
|
||||||
|
( pow( 2 * x, 2 ) * ( ( c2 + 1 ) * 2 * x - c2 ) ) / 2 :
|
||||||
|
( pow( 2 * x - 2, 2 ) *( ( c2 + 1 ) * ( x * 2 - 2 ) + c2 ) + 2 ) / 2;
|
||||||
|
},
|
||||||
|
easeInBounce: function (x) {
|
||||||
|
return 1 - bounceOut( 1 - x );
|
||||||
|
},
|
||||||
|
easeOutBounce: bounceOut,
|
||||||
|
easeInOutBounce: function (x) {
|
||||||
|
return x < 0.5 ?
|
||||||
|
( 1 - bounceOut( 1 - 2 * x ) ) / 2 :
|
||||||
|
( 1 + bounceOut( 2 * x - 1 ) ) / 2;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
|
@ -0,0 +1 @@
|
||||||
|
(function(factory){if(typeof define==="function"&&define.amd){define(["jquery"],function($){return factory($)})}else if(typeof module==="object"&&typeof module.exports==="object"){exports=factory(require("jquery"))}else{factory(jQuery)}})(function($){$.easing.jswing=$.easing.swing;var pow=Math.pow,sqrt=Math.sqrt,sin=Math.sin,cos=Math.cos,PI=Math.PI,c1=1.70158,c2=c1*1.525,c3=c1+1,c4=2*PI/3,c5=2*PI/4.5;function bounceOut(x){var n1=7.5625,d1=2.75;if(x<1/d1){return n1*x*x}else if(x<2/d1){return n1*(x-=1.5/d1)*x+.75}else if(x<2.5/d1){return n1*(x-=2.25/d1)*x+.9375}else{return n1*(x-=2.625/d1)*x+.984375}}$.extend($.easing,{def:"easeOutQuad",swing:function(x){return $.easing[$.easing.def](x)},easeInQuad:function(x){return x*x},easeOutQuad:function(x){return 1-(1-x)*(1-x)},easeInOutQuad:function(x){return x<.5?2*x*x:1-pow(-2*x+2,2)/2},easeInCubic:function(x){return x*x*x},easeOutCubic:function(x){return 1-pow(1-x,3)},easeInOutCubic:function(x){return x<.5?4*x*x*x:1-pow(-2*x+2,3)/2},easeInQuart:function(x){return x*x*x*x},easeOutQuart:function(x){return 1-pow(1-x,4)},easeInOutQuart:function(x){return x<.5?8*x*x*x*x:1-pow(-2*x+2,4)/2},easeInQuint:function(x){return x*x*x*x*x},easeOutQuint:function(x){return 1-pow(1-x,5)},easeInOutQuint:function(x){return x<.5?16*x*x*x*x*x:1-pow(-2*x+2,5)/2},easeInSine:function(x){return 1-cos(x*PI/2)},easeOutSine:function(x){return sin(x*PI/2)},easeInOutSine:function(x){return-(cos(PI*x)-1)/2},easeInExpo:function(x){return x===0?0:pow(2,10*x-10)},easeOutExpo:function(x){return x===1?1:1-pow(2,-10*x)},easeInOutExpo:function(x){return x===0?0:x===1?1:x<.5?pow(2,20*x-10)/2:(2-pow(2,-20*x+10))/2},easeInCirc:function(x){return 1-sqrt(1-pow(x,2))},easeOutCirc:function(x){return sqrt(1-pow(x-1,2))},easeInOutCirc:function(x){return x<.5?(1-sqrt(1-pow(2*x,2)))/2:(sqrt(1-pow(-2*x+2,2))+1)/2},easeInElastic:function(x){return x===0?0:x===1?1:-pow(2,10*x-10)*sin((x*10-10.75)*c4)},easeOutElastic:function(x){return x===0?0:x===1?1:pow(2,-10*x)*sin((x*10-.75)*c4)+1},easeInOutElastic:function(x){return x===0?0:x===1?1:x<.5?-(pow(2,20*x-10)*sin((20*x-11.125)*c5))/2:pow(2,-20*x+10)*sin((20*x-11.125)*c5)/2+1},easeInBack:function(x){return c3*x*x*x-c1*x*x},easeOutBack:function(x){return 1+c3*pow(x-1,3)+c1*pow(x-1,2)},easeInOutBack:function(x){return x<.5?pow(2*x,2)*((c2+1)*2*x-c2)/2:(pow(2*x-2,2)*((c2+1)*(x*2-2)+c2)+2)/2},easeInBounce:function(x){return 1-bounceOut(1-x)},easeOutBounce:bounceOut,easeInOutBounce:function(x){return x<.5?(1-bounceOut(1-2*x))/2:(1+bounceOut(2*x-1))/2}})});
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue