If you ignore any "files" beginning with "." including directories, then the all() method will exclude .somedir, but not .somedir/somefile. Subsequently, when trying to copy all files returned from all(), it will fail when the method tries to copy a file into a directory that has not yet been created because .somedir was omitted from the return array of all().
I found this bug when trying to install the admin plugin and ./tmp was a mount and thus rename() failed and self:copy() was invoked instead (line 365).
Exception gets thrown when $this->header->metadata is not an array, added extra verification in order to make sure it is and array before doing array_merge()
* Allow naive iterables in Taxonomy
Currently, Taxonomy only supports one-level arrays in a Page's Taxonomy, so this works:
```
---yaml
title: XMark Test
taxonomy:
categories: academic
tags: [xmark, link]
author:
- "Ole Vik"
- "Ole Vik"
- "Ole Vik"
---
```
But this does not:
```yaml
---
title: XMark Test
taxonomy:
categories: academic
tags: [xmark, link]
author:
- "Ole Vik"
- "Ole Vik"
- "Ole Vik"
- name: "Ole Vik"
email: "git@olevik.net"
url: "https://olevik.me"
---
```
The change allows another level, to accommodate cases where the Taxonomy contains arrays of strings or hashes. This could potentially be expanded to recursively allow any amount of nesting of Taxonomies.
In both the naive and expanded case, are there implications for finding and filtering by Taxonomies? I've not checked if that recurses through values as I'm not currently at my desktop, but I imagine more changes would be necessary.
* Recursively iterate taxonomy fields
* Accommodate findTaxonomy() by reducing to dot-notation
* Remove superfluous conditional