Fix the URL Generator for inherit_index, fixes #381

This commit is contained in:
Stéphane Goetz 2016-08-02 23:39:57 +02:00
parent c450903b3a
commit 647c0beb3b
6 changed files with 20 additions and 17 deletions

View File

@ -266,11 +266,11 @@ If your server does not have a default timezone set in php.ini, it may return er
``` ```
###Inherit Index ###Inherit Index
This feature will insruct the router to seek the first available file to use when a request to a folder is made and the index is not found. This feature will instructs the navigation generator to seek the first available file to use when there is no index in a folder.
```json ```json
{ {
"live": { "html": {
"inherit_index": true "inherit_index": true
} }
} }

View File

@ -8,7 +8,6 @@
"folders": ["99_Not_Ready"] "folders": ["99_Not_Ready"]
}, },
"live": { "live": {
"inherit_index": true,
"clean_urls": true "clean_urls": true
}, },
"html": { "html": {
@ -18,6 +17,7 @@
"toggle_code": true, "toggle_code": true,
"date_modified": true, "date_modified": true,
"float": true, "float": true,
"inherit_index": true,
"repo": "justinwalsh/daux.io", "repo": "justinwalsh/daux.io",
"twitter": ["justin_walsh", "todaymade"], "twitter": ["justin_walsh", "todaymade"],

View File

@ -19,7 +19,6 @@
"timezone": "America/Los_Angeles", "timezone": "America/Los_Angeles",
"live": { "live": {
"inherit_index": false,
"clean_urls": false "clean_urls": false
}, },
@ -32,6 +31,7 @@
"auto_landing": true, "auto_landing": true,
"search": true, "search": true,
"auto_toc": false, "auto_toc": false,
"inherit_index": false,
"repo": "", "repo": "",
"twitter": [], "twitter": [],

View File

@ -87,4 +87,17 @@ class Config extends ArrayObject
{ {
return array_key_exists('languages', $this) && !empty($this['languages']); return array_key_exists('languages', $this) && !empty($this['languages']);
} }
public function shouldInheritIndex()
{
if (array_key_exists('html', $this) && array_key_exists('inherit_index', $this['html'])) {
return $this['html']['inherit_index'];
}
if (array_key_exists('live', $this) && array_key_exists('inherit_index', $this['live'])) {
return $this['live']['inherit_index'];
}
return false;
}
} }

View File

@ -133,12 +133,8 @@ class Template
'class' => strpos($current_url, $link) === 0 ? 'Nav__item--open' : '', 'class' => strpos($current_url, $link) === 0 ? 'Nav__item--open' : '',
]; ];
if ($mode === Daux::STATIC_MODE) { if ($index = $node->getIndexPage()) {
$link .= '/index.html'; $folder['href'] = $base_page . $index->getUrl();
}
if ($node->getIndexPage()) {
$folder['href'] = $base_page . $link;
} }
//Child pages //Child pages

View File

@ -120,13 +120,7 @@ class Directory extends Entry implements \ArrayAccess, \IteratorAggregate
return $this->children[$index_key]; return $this->children[$index_key];
} }
/* if ($this->getConfig()->shouldInheritIndex() && $first_page = $this->seekFirstPage()) {
If the inherit_index flag is set, then we seek child content
*/
if ($this->getConfig()['mode'] == Daux::LIVE_MODE
&& !empty($this->getConfig()['live']['inherit_index'])
&& $first_page = $this->seekFirstPage()
) {
return $first_page; return $first_page;
} }