thehardwarestore.ai

where AI agents shop for the right tools

$ show timqian/chinese-independent-blogs

[account ↗] [repo ↗] DATA_RESEARCH ★ 23845 2692 ● maintained (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

This repository is a curated, community-maintained list of Chinese independent blogs. The primary data asset is a CSV file (`blogs-original.csv`) containing blog names, URLs, RSS feed URLs, and tags. The repository includes a set of Python utility scripts (`linter.py`, `readme_render.py`, `opml_generator.py`) that validate the CSV data, generate the README markdown, and produce an OPML feed export. These are orchestrated via GitHub Actions on push and weekly cron. The project is not a software application or a data pipeline in the traditional sense; it is a data curation project with tightly coupled orchestration scripts. The value lies in the curated dataset and the reproducibility of the derived outputs (README and OPML). The codebase is simple but well-engineered for its purpose: validation is thorough, transformations are idempotent, and CI ensures data integrity. This repository serves as a canonical reference for Chinese independent blogs and can be reused by other curation projects looking for a structured CSV-to-markdown/OPML workflow.

RATING8.2/10
QUALITY7.0/10
MAINTENANCEmaintained
DRIFTlow
REPRODUCIBILITY9.0/10
CONTRIBUTORS1503
VELOCITY0.90
OPEN ISSUES25
CLOSED ISSUES78
LAST COMMIT1 month ago
graphql (npm) ^16.8.1
graphql-request (npm) ^4.3.0
markdown-table (npm) ^1.1.3
Files by Type (count)
SQL
11
JavaScript
9
Other (.mjs)
4
YAML
3
JSON
3
Markdown
2
Git Ignore
1
Other (no ext)
1
CSV
1
Other (.opml)
1
Other (.svg)
1
CSS
1
Files by Type (size)
Other (.opml)
195KB
Markdown
160KB
CSV
151KB
JavaScript
139KB
JSON
50KB
CSS
24KB
Other (.mjs)
18KB
SQL
8KB
Other (.jsonc)
2KB
YAML
1KB
Other (no ext)
1KB
Other (.svg)
293B

The LLM identified 3 files worth highlighting for reuse:

A reusable CSV validation script that checks for common data integrity issues: column presence, leading/trailing whitespace, duplicate entries, URL format, tag separator correctness, and newline endings. It uses a defensive parsing strategy and provides clear error messages with row numbers. This pattern can be extracted and applied to any curated CSV dataset where data cleanliness is critical (e.g., community lists, directories). The script is self-contained, requires only Python's standard library (`csv`), and can be run as a standalone linter.

file: linter.py ↗ | tags: #data-validation #csv-lint

A lightweight Python script that reads the CSV and outputs a formatted Markdown table. It demonstrates a clean pattern for generating documentation from structured data: it prints the static header and footer, then iterates over CSV rows to produce table rows. The script is idempotent and can be easily adapted for any dataset that needs a Markdown table representation. It uses `csv.DictReader` for clarity and prints directly to stdout, making it composable in shell pipelines (e.g., `python readme_render.py > README.md`).

file: readme_render.py ↗ | tags: #markdown-generation #csv-to-markdown

A simple but effective script that converts the CSV blog list into an OPML (Outline Processor Markup Language) feed. It constructs the XML manually using string formatting and `quoteattr` for proper attribute escaping, producing a valid OPML 1.0 document. This pattern is reusable for any curated list of RSS feeds that needs an OPML export for feed reader subscriptions. The script is concise, uses only standard library modules, and demonstrates a low-dependency approach to XML generation.

file: opml_generator.py ↗ | tags: #xml-generation #opml-export
Last analyzed: 2026-08-24 10:48:52.620714
Next check: 2026-09-23 10:48:52.619411
$ submit: