69 lines
2.2 KiB
Swift
69 lines
2.2 KiB
Swift
import Foundation
|
|
|
|
/**
|
|
The global configuration of the website.
|
|
*/
|
|
struct Configuration: Codable {
|
|
|
|
/**
|
|
The width of page content in pixels.
|
|
|
|
The width specification is used to scale images to the correct width,
|
|
when images are included in markdown content using the syntax
|
|
`![](image.jpg)`.
|
|
- Note: A high-resolution `@2x` version will be generated as well.
|
|
*/
|
|
let pageImageWidth: Int
|
|
|
|
/**
|
|
Automatically minify all `.css` and `.js` resources which are copied
|
|
to the output folder.
|
|
- Note: This option requires the `uglifyjs` and `clean-css` tools,
|
|
which can be installed using the `install.sh` script in the root folder of the generator.
|
|
*/
|
|
let minifyCSSandJS: Bool
|
|
|
|
/**
|
|
The path to the directory where the root element metadata is located.
|
|
*/
|
|
let contentPath: String
|
|
|
|
/**
|
|
The path where the generated website should be written.
|
|
*/
|
|
let outputPath: String
|
|
|
|
/**
|
|
Create .md files for content pages, if they don't exist.
|
|
|
|
After the languages of the root element are read, the generator looks
|
|
for localized `.md` files for each page element which has metadata.
|
|
If it can't find a content file, it generates a placeholder.
|
|
|
|
Setting this option to `true` will cause the generator to create empty `.md`
|
|
files for each root level language. This can be helpful to see which content still needs
|
|
to be written. There is then also no need to manually create these files.
|
|
|
|
- Note: Empty content files will continue to be ignored by the generator,
|
|
and treated as if they are not present.
|
|
*/
|
|
let createMdFilesIfMissing: Bool
|
|
|
|
var contentDirectory: URL {
|
|
.init(fileURLWithPath: contentPath)
|
|
}
|
|
|
|
var outputDirectory: URL {
|
|
.init(fileURLWithPath: outputPath)
|
|
}
|
|
|
|
func printOverview() {
|
|
print(" Source folder: \(contentDirectory.path)")
|
|
print(" Output folder: \(outputDirectory.path)")
|
|
print(" Page width: \(pageImageWidth)")
|
|
print(" Minify JavaScript: \(minifyCSSandJS)")
|
|
print(" Minify CSS: \(minifyCSSandJS)")
|
|
print(" Create markdown files: \(createMdFilesIfMissing)")
|
|
}
|
|
}
|