mirror of
https://github.com/gohugoio/hugo.git
synced 2024-12-29 18:50:57 +00:00
35 lines
605 B
Go
35 lines
605 B
Go
|
package source
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"fmt"
|
||
|
"path"
|
||
|
)
|
||
|
|
||
|
type ByteSource struct {
|
||
|
Name string
|
||
|
Content []byte
|
||
|
Section string
|
||
|
}
|
||
|
|
||
|
func (b *ByteSource) String() string {
|
||
|
return fmt.Sprintf("%s %s %s", b.Name, b.Section, string(b.Content))
|
||
|
}
|
||
|
|
||
|
type InMemorySource struct {
|
||
|
ByteSource []ByteSource
|
||
|
}
|
||
|
|
||
|
func (i *InMemorySource) Files() (files []*File) {
|
||
|
files = make([]*File, len(i.ByteSource))
|
||
|
for i, fake := range i.ByteSource {
|
||
|
files[i] = &File{
|
||
|
LogicalName: fake.Name,
|
||
|
Contents: bytes.NewReader(fake.Content),
|
||
|
Section: fake.Section,
|
||
|
Dir: path.Dir(fake.Name),
|
||
|
}
|
||
|
}
|
||
|
return
|
||
|
}
|