{
  "added_at": "2026-11-09",
  "additional_evidence_urls": [
    "https://github.com/VirInvictus/Viaduct/blob/a0622903b93da2c2752244cf6d415377a41fbe7a/.github/workflows/ci.yml",
    "https://github.com/VirInvictus/Viaduct/blob/a0622903b93da2c2752244cf6d415377a41fbe7a/LICENSE"
  ],
  "category": "reconstruction-cases",
  "class": "software",
  "description_en": "A Linux RSS reader in Rust and GTK4 that the README calls a port of NetNewsWire. A local OPML file is the account input; cargo build --release writes target/release/viaduct, and the CI workflow runs cargo test --workspace.",
  "description_zh": "README 称为 NetNewsWire 移植的 Linux RSS 阅读器，用 Rust 和 GTK4 编写。本地账户的输入是磁盘上的 OPML；cargo build --release 写出 target/release/viaduct，CI 工作流运行 cargo test --workspace。",
  "entry_url": "https://awesomerea.org/resources/viaduct-netnewswire-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/viaduct-netnewswire-case/",
  "evidence_url": "https://github.com/VirInvictus/Viaduct/blob/a0622903b93da2c2752244cf6d415377a41fbe7a/README.md",
  "group": "cases",
  "id": "viaduct-netnewswire-case",
  "json_url": "https://awesomerea.org/resources/viaduct-netnewswire-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/viaduct-netnewswire-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/viaduct-netnewswire-case/index.md",
  "name": "viaduct: a Linux port of NetNewsWire",
  "name_zh": "viaduct：NetNewsWire 的 Linux 移植",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "scope",
    "testing",
    "license"
  ],
  "requirements": [
    "Commit a0622903b93da2c2752244cf6d415377a41fbe7a. The README says Viaduct translates NetNewsWire’s local-account architecture. Local accounts keep OPML on disk as the source of truth; Inoreader is the other supported account. The .netnewswire reference tree is gitignored, so that tree is not in the public Git history.",
    "cargo build --release writes target/release/viaduct. The README names gtk4 and WebKitGTK 6.0 as build dependencies. .github/workflows/ci.yml runs cargo clippy --workspace --all-targets and xvfb-run -a cargo test --workspace.",
    "LICENSE is the MIT license, with copyright lines for Brent Simmons and Ranchero Software (2002-2026) and Brandon LaRocque (2026)."
  ],
  "requirements_zh": [
    "提交 a0622903b93da2c2752244cf6d415377a41fbe7a。README 写明 Viaduct 移植了 NetNewsWire 的本地账户结构。本地账户以磁盘上的 OPML 为层级的依据；另一个受支持的账户是 Inoreader。.netnewswire 参考树被 gitignore，因此不在公开 Git 历史中。",
    "cargo build --release 写出 target/release/viaduct。README 把 gtk4 和 WebKitGTK 6.0 列为构建依赖。.github/workflows/ci.yml 运行 cargo clippy --workspace --all-targets，以及 xvfb-run -a cargo test --workspace。",
    "LICENSE 是 MIT 许可，版权行包括 Brent Simmons 与 Ranchero Software（2002-2026）以及 Brandon LaRocque（2026）。"
  ],
  "targets": [
    "app"
  ],
  "url": "https://github.com/VirInvictus/Viaduct",
  "verification": "source-reviewed",
  "verified_at": "2026-11-03"
}
