macOS • Windows • Web • Ubuntu • tvOS • iOS • Android • Amazon Linux • watchOS

文档

SDGWeb

SDGWeb 提供了生成网站的工具。

כְּשִׁמְךָ אֱלֹהִים כְּן תְּהלָּתְךָ עַל־קַצְוֵי־אֶרֶץ׃

就像你的名字一样,上帝啊,你的赞美传遍了世界的尽头。

―sons of קורח/Koraẖ

特性

使用示例

let mock = RepositoryStructure(
  root:
    sdgWebRepositoryRoot
    .appendingPathComponent("Tests")
    .appendingPathComponent("Mock Projects")
    .appendingPathComponent(mockName)
)

let site = Site<L, Unfolder>(
  repositoryStructure: mock,
  siteRoot: UserFacing<URL, L>({ _ in return URL(string: "http://example.com")! }),
  localizationDirectories: UserFacing<StrictString, L>({ localization in
    return localization.icon ?? StrictString(localization.code)
  }),
  author: UserFacing<ElementSyntax, L>({ _ in
    return .author("John Doe", language: InterfaceLocalization.englishCanada)
  }),
  reportProgress: { _ in }
)

try site.generate().get()
let warnings = site.validate()

某些平台缺少某些功能。贯穿整个文档的编译条件定义如下

.define("PLATFORM_LACKS_FOUNDATION_FILE_MANAGER", .when(platforms: [.wasi])),

导入

SDGWeb 提供了用于 Swift Package Manager 的库。

只需在 Package.swift 中添加 SDGWeb 作为依赖项,并指定要使用的库

let package = Package(
  name: "MyPackage",
  dependencies: [
    .package(
      url: "https://github.com/SDGGiesbrecht/SDGWeb",
      from: Version(6, 1, 2)
    ),
  ],
  targets: [
    .target(
      name: "MyTarget",
      dependencies: [
        .product(name: "SDGWeb", package: "SDGWeb"),
        .product(name: "SDGHTML", package: "SDGWeb"),
        .product(name: "SDGCSS", package: "SDGWeb"),
      ]
    )
  ]
)

然后可以在源文件中导入这些模块

import SDGWeb
import SDGHTML
import SDGCSS

关于

SDGWeb 项目由 Jeremy David Giesbrecht 维护。

如果 SDGWeb 节省了您的资金,请考虑将其中的一部分作为捐款捐赠出去。

如果 SDGWeb 节省了您的时间,请考虑将其中的一部分时间贡献回该项目。

Ἄξιος γὰρ ὁ ἐργάτης τοῦ μισθοῦ αὐτοῦ ἐστι.

因为工人配得他的工资。

―‎ישוע/Yeshuʼa