gitextract__gpz1oly/ ├── .github/ │ └── workflows/ │ ├── actions.yml │ ├── linux.yml │ ├── macos.yml │ ├── pr-for-formula.yml │ └── tag_actions.yml ├── .gitignore ├── .swift-format ├── .swiftformat ├── .swiftformatignore ├── .swiftheaderignore ├── Docker/ │ ├── Dockerfile │ └── Dockerfile.testing ├── LICENSE ├── Makefile ├── Package.resolved ├── Package.swift ├── README.md ├── Sources/ │ ├── ToucanCore/ │ │ ├── Extensions/ │ │ │ ├── Dictionary+Extensions.swift │ │ │ ├── Logging+Extensions.swift │ │ │ ├── String+Extensions.swift │ │ │ └── URL+Extensions.swift │ │ ├── GeneratorInfo.swift │ │ ├── Logger.swift │ │ └── ToucanError.swift │ ├── ToucanMarkdown/ │ │ ├── Markdown/ │ │ │ ├── HTML.swift │ │ │ ├── HTMLVisitor.swift │ │ │ ├── MarkdownBlockDirective.swift │ │ │ └── MarkdownToHTMLRenderer.swift │ │ ├── MarkdownRenderer.swift │ │ ├── Outline/ │ │ │ ├── Outline.swift │ │ │ └── OutlineParser.swift │ │ ├── ReadingTime/ │ │ │ └── ReadingTimeCalculator.swift │ │ └── Transformers/ │ │ ├── ContentTransformer.swift │ │ ├── TransformerExecutor.swift │ │ └── TransformerPipeline.swift │ ├── ToucanSDK/ │ │ ├── Behaviors/ │ │ │ ├── Behavior.swift │ │ │ ├── CompileSASSBehavior.swift │ │ │ └── MinifyCSSBehavior.swift │ │ ├── Content/ │ │ │ ├── Content+Query.swift │ │ │ ├── Content.swift │ │ │ ├── ContentResolver.swift │ │ │ ├── ContentTypeResolver.swift │ │ │ ├── IteratorInfo.swift │ │ │ ├── Query+Resolve.swift │ │ │ └── RelationValue.swift │ │ ├── DateFormats/ │ │ │ ├── DateContext.swift │ │ │ └── ToucanDateFormatters.swift │ │ ├── Models/ │ │ │ ├── ContextBundle.swift │ │ │ ├── Destination.swift │ │ │ ├── PipelineResult.swift │ │ │ └── Slug.swift │ │ ├── Outputs/ │ │ │ ├── ContextBundleToHTMLRenderer.swift │ │ │ └── ContextBundleToJSONRenderer.swift │ │ ├── Renderers/ │ │ │ ├── BuildTargetSourceRenderer.swift │ │ │ └── MustacheRenderer.swift │ │ ├── Toucan.swift │ │ ├── Utilities/ │ │ │ ├── Any+AnyCodable.swift │ │ │ ├── AnyCodable+Json.swift │ │ │ ├── Array+AnyCodable.swift │ │ │ ├── ContextKeys.swift │ │ │ ├── CopyManager.swift │ │ │ ├── Dictionary+AnyCodable.swift │ │ │ ├── Encodable+Json.swift │ │ │ └── FirstSucceeding.swift │ │ └── Validators/ │ │ ├── BuildTargetSourceValidator.swift │ │ └── TemplateValidator.swift │ ├── ToucanSerialization/ │ │ ├── ToucanDecoder.swift │ │ ├── ToucanDecoderError.swift │ │ ├── ToucanEncoder.swift │ │ ├── ToucanEncoderError.swift │ │ ├── ToucanJSONDecoder.swift │ │ ├── ToucanJSONEncoder.swift │ │ ├── ToucanYAMLDecoder.swift │ │ └── ToucanYAMLEncoder.swift │ ├── ToucanSource/ │ │ ├── Errors/ │ │ │ ├── ObjectLoaderError.swift │ │ │ ├── SourceLoaderError.swift │ │ │ └── TemplateLoaderError.swift │ │ ├── Extensions/ │ │ │ ├── Decoder+Validate.swift │ │ │ ├── Dictionary+AnyCodable.swift │ │ │ └── FileManagerKit+Extensions.swift │ │ ├── Loaders/ │ │ │ ├── BuildTargetSourceLoader.swift │ │ │ ├── ObjectLoader.swift │ │ │ ├── RawContentLoader.swift │ │ │ └── TemplateLoader.swift │ │ ├── MarkdownParser.swift │ │ ├── Models/ │ │ │ ├── BuildTargetSource.swift │ │ │ ├── BuiltTargetSourceLocations.swift │ │ │ ├── Markdown.swift │ │ │ ├── Origin.swift │ │ │ ├── Path.swift │ │ │ ├── RawContent.swift │ │ │ ├── Template.swift │ │ │ └── View.swift │ │ └── Objects/ │ │ ├── AnyCodable.swift │ │ ├── Blocks/ │ │ │ ├── Block+Attribute.swift │ │ │ ├── Block+Parameter.swift │ │ │ └── Block.swift │ │ ├── Config/ │ │ │ ├── Config+Blocks.swift │ │ │ ├── Config+Contents.swift │ │ │ ├── Config+DataTypes+Date.swift │ │ │ ├── Config+DataTypes.swift │ │ │ ├── Config+Location.swift │ │ │ ├── Config+Pipelines.swift │ │ │ ├── Config+Renderer+ParagraphStyles.swift │ │ │ ├── Config+RendererConfig.swift │ │ │ ├── Config+Site.swift │ │ │ ├── Config+Templates.swift │ │ │ ├── Config+Types.swift │ │ │ └── Config.swift │ │ ├── Date/ │ │ │ ├── DateFormatterConfig.swift │ │ │ └── DateLocalization.swift │ │ ├── Pipeline/ │ │ │ ├── Pipeline+Assets.swift │ │ │ ├── Pipeline+ContentTypes.swift │ │ │ ├── Pipeline+DataTypes+Date.swift │ │ │ ├── Pipeline+DataTypes.swift │ │ │ ├── Pipeline+Engine.swift │ │ │ ├── Pipeline+Output.swift │ │ │ ├── Pipeline+Scope+Context.swift │ │ │ ├── Pipeline+Scope.swift │ │ │ ├── Pipeline+Transformers+Transformer.swift │ │ │ ├── Pipeline+Transformers.swift │ │ │ └── Pipeline.swift │ │ ├── Property/ │ │ │ ├── Property.swift │ │ │ ├── PropertyType.swift │ │ │ └── SystemPropertyKeys.swift │ │ ├── Query/ │ │ │ ├── Condition.swift │ │ │ ├── Direction.swift │ │ │ ├── Operator.swift │ │ │ ├── Order.swift │ │ │ └── Query.swift │ │ ├── Relation/ │ │ │ ├── Relation.swift │ │ │ └── RelationType.swift │ │ ├── Settings/ │ │ │ └── Settings.swift │ │ ├── Target/ │ │ │ ├── Target.swift │ │ │ └── TargetConfig.swift │ │ └── Types/ │ │ └── ContentType.swift │ ├── _GitCommitHash/ │ │ ├── git_commit_hash.c │ │ └── include/ │ │ └── git_commit_hash.h │ ├── toucan/ │ │ └── Entrypoint.swift │ ├── toucan-generate/ │ │ └── Entrypoint.swift │ ├── toucan-init/ │ │ ├── Download.swift │ │ └── Entrypoint.swift │ ├── toucan-serve/ │ │ ├── Entrypoint.swift │ │ └── NotFoundMiddleware.swift │ └── toucan-watch/ │ └── Entrypoint.swift ├── Tests/ │ ├── ToucanCoreTests/ │ │ ├── Extensions/ │ │ │ ├── StringExtensionsTestSuite.swift │ │ │ └── URLExtensionsTestSuite.swift │ │ └── ToucanCoreTestSuite.swift │ ├── ToucanMarkdownTests/ │ │ ├── ContentRendererTestSuite.swift │ │ ├── HTMLVisitorTestSuite.swift │ │ ├── MarkdownBlockDirective+Mock.swift │ │ ├── MarkdownBlockDirectiveTestSuite.swift │ │ └── OutlineTestSuite.swift │ ├── ToucanSDKTests/ │ │ ├── BuildTargetSource/ │ │ │ ├── BuildTargetSourceRendererTestSuite.swift │ │ │ └── BuildTargetSourceValidatorTestSuite.swift │ │ ├── Content/ │ │ │ ├── ContentQueryTestSuite.swift │ │ │ └── ContentResolverTestSuite.swift │ │ ├── DateFormatter/ │ │ │ └── ToucanDateFormatterTestSuite.swift │ │ ├── E2ETestSuite.swift │ │ ├── Files/ │ │ │ ├── MarkdownFile.swift │ │ │ ├── MustacheFile.swift │ │ │ ├── RawContentBundle.swift │ │ │ └── YAMLFile.swift │ │ ├── Mocks/ │ │ │ ├── Mocks+Blocks.swift │ │ │ ├── Mocks+BuildTargetSources.swift │ │ │ ├── Mocks+ContentTypes.swift │ │ │ ├── Mocks+E2E.swift │ │ │ ├── Mocks+Files.swift │ │ │ ├── Mocks+Pipelines.swift │ │ │ ├── Mocks+RawContents.swift │ │ │ ├── Mocks+Templates.swift │ │ │ ├── Mocks+Views.swift │ │ │ └── Mocks.swift │ │ ├── Template/ │ │ │ └── TemplateValidatorTestSuite.swift │ │ ├── Toucan/ │ │ │ └── ToucanTestSuite.swift │ │ └── Utilities/ │ │ ├── AnyCodableWrapTests.swift │ │ ├── CopyManagerTestSuite.swift │ │ ├── PrettyPrint.swift │ │ ├── RecursiveMergeTests.swift │ │ ├── SlugTests.swift │ │ └── UnboxingTestSuite.swift │ └── ToucanSourceTests/ │ ├── BuildTargetSourceLoaderTestSuite.swift │ ├── Extensions/ │ │ └── FileManagerKitExtensionsTestSuite.swift │ ├── Files/ │ │ └── YAMLFile.swift │ ├── MarkdownParserTestSuite.swift │ ├── Models/ │ │ └── BuildTargetSourceLocationsTestSuite.swift │ ├── Objects/ │ │ ├── AnyCodableTestSuite.swift │ │ ├── Config/ │ │ │ └── ConfigTestSuite.swift │ │ ├── DateFormatting/ │ │ │ └── DateFormattingTestSuite.swift │ │ ├── Pipeline/ │ │ │ ├── PipelineContentTypeTestSuite.swift │ │ │ ├── PipelineScopeContextTestSuite.swift │ │ │ ├── PipelineScopeTestSuite.swift │ │ │ ├── PipelineTestSuite.swift │ │ │ └── PipelineTransformersTestSuite.swift │ │ ├── Property/ │ │ │ ├── PropertyTestSuite.swift │ │ │ └── PropertyTypeTestSuite.swift │ │ ├── Query/ │ │ │ ├── ConditionTestSuite.swift │ │ │ ├── DirectionTestSuite.swift │ │ │ ├── OperatorTestSuite.swift │ │ │ ├── OrderTestSuite.swift │ │ │ └── QueryTestSuite.swift │ │ ├── Relation/ │ │ │ ├── RelationTestSuite.swift │ │ │ └── RelationTypeTestSuite.swift │ │ ├── Settings/ │ │ │ └── SettingsTestSuite.swift │ │ ├── Target/ │ │ │ ├── TargetConfigTestSuite.swift │ │ │ └── TargetTestSuite.swift │ │ └── Types/ │ │ └── TypesTestSuite.swift │ ├── RawContentLoaderTestSuite.swift │ └── TemplateLoaderTestSuite.swift └── scripts/ ├── install-toucan.sh ├── packaging/ │ ├── deb.sh │ ├── dmg.sh │ ├── pkg.sh │ ├── rpm.sh │ └── toucan.spec ├── run-chmod.sh └── uninstall-toucan.sh