feat: data files (site.Data)
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- csharp, json, yaml
- Lĩnh vực
- backend, documentation
Hướng nghiên cứu
Start with the existing YAML parser at Fanstatic/Parsers/YAMLParser.cs, then inspect site data loading, serve reload handling, and tests in Fanstatic.Test/ with fixture sites in .TestSites/. Run ./build.sh test and add coverage for site-over-theme precedence, nested YAML/JSON/CSV data, invalid-file errors, and reloads; done means the acceptance template renders the expected score and the documentation is updated.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Part of the Phase 2 epic (#23).
Current State
There is no data/ directory support; custom data must go into Params. Data files are required for render hooks
and content adapters (Phase 3), e.g. a data/ratings.yaml for [Pentiment](_rating) links.
Tasks:
- Load
data/**/*.{yaml,yml,json}from the site and the theme (site wins) intosite.Data, nested by folder and
file name (data/games/ratings.yaml→site.Data.games.ratings) - CSV support (first row = headers → list of dictionaries)
- JSON via
System.Text.Json; YAML via the existing parser (Fanstatic/Parsers/YAMLParser.cs) - Clear error with file name on invalid data
-
serve: reload on data change - Document on the docs site
Tests live in Fanstatic.Test/ (xUnit + NSubstitute); fixture sites in .TestSites/. Run ./build.sh test; new/changed methods need CRAP ≤ 15 and ≥ 75 % line coverage.
Acceptance Criteria:
{{ site.Data.games.ratings["Pentiment"].score }}renders on a fixture site.
Related:
- #23 (Phase 2 epic, parent)
- Ngôn ngữ chính
- C#
- Star
- 1
- Fork
- 0
- Merge trung bình
- 10 giờ 23 phút
- Pull request đã merge (30 ngày)
- 4
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của MASS4ORG/Fanstatic
-
c:templates p:low size:S t:task
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
-
c:content good first issue p:low size:S t:feature
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 58/100
-
c:templates p:medium size:M t:feature
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
c:content p:medium size:L t:feature
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
c:templates p:medium size:S t:feature
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 57/100
Tất cả issue của MASS4ORG/Fanstatic
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Sector-Vestige/Sector-Vestige#476 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
S: Untriaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Trauma-Station/Trauma-Station#5058 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 75/100
HoffmanEngineering/3d-print-log-api#243 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
:books: documentation untriaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Maintainer thường phản hồi trong vòng 1 ngày