Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
version: 2
updates:
- package-ecosystem: bundler
directory: "/"
schedule:
interval: weekly
open-pull-requests-limit: 10
allow:
- dependency-type: direct
- dependency-type: indirect
groups:
ruby:
patterns:
- "*"
- package-ecosystem: "npm"
directory: "/"
schedule:
Expand Down
6 changes: 0 additions & 6 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,6 @@ jobs:
node-version: "22"
cache: "npm"

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
bundler-cache: true

- name: Install dependencies
run: npm ci

Expand Down
8 changes: 0 additions & 8 deletions .rubocop.yml

This file was deleted.

32 changes: 16 additions & 16 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,13 @@ What this repo owns:

- docs content and navigation under `src/content/docs/`
- docs-specific components and styling under `src/components/`
- feed-directory presentation and client behavior
- generated docs data consumed by the site (`src/data/configs.json`)
- feed-directory presentation and client behavior (`FeedDirectory.astro`, `feed-directory.js`)

What this repo does not own:

- runtime extractor behavior and CLI semantics (`html2rss/`)
- web API behavior and OpenAPI generation (`html2rss-web/`)
- feed YAML catalog definitions (`html2rss-configs/`)
- catalog metadata, YAML configs, or catalog serialization (`html2rss-configs/` → `Html2rss::Configs::Catalog`)
- catalog HTTP API (`html2rss-web/` → `GET /api/v1/configs`)

When docs describe behavior from other repos, treat those repos as source-of-truth and update docs to match them.

Expand All @@ -30,40 +29,41 @@ Before substantial edits, state cross-repo context in your notes:

Common contracts:

- Feed directory data comes from `html2rss-configs` via `bin/data-update`.
- Feed Directory browse data comes from `{instance}/api/v1/configs` on a running `html2rss-web` instance (see OpenAPI in `html2rss-web`).
- Instance URL persistence: default public instance, `#!url=` hash deep link from the web app, and browser localStorage (see `feed-directory.js`).
- Deep link from `html2rss-web`: `https://html2rss.github.io/feed-directory/#!url={encodedInstanceUrl}` must keep working.
- Catalog metadata in YAML (`directory.title`, `directory.summary`, `directory.topics`) is authored in `html2rss-configs` only.
- Ruby gem docs should match `html2rss` behavior and CLI output.
- Web application docs should match `html2rss-web` behavior and published OpenAPI.

If a cross-repo behavior changed but upstream is not updated yet, document the gap clearly instead of inventing new behavior.

## Generated Artifacts
## Feed Directory (agent maintenance)

Treat `src/data/configs.json` as generated.
- The browse UI is a **thin client**: fetch catalog JSON from the active instance, render rows client-side, build RSS links from each entry's `path`.
- Do not reintroduce `bin/data-update`, `src/data/configs.json`, or a `html2rss-configs` gem dependency in this repo.
- Wire shape v1 is defined in `html2rss-web` request specs and OpenAPI (`catalog_version`, `parameters.schema`, `parameters.defaults`).
- When the instance is unreachable or returns `404` with `catalog_disabled`, show an error state — no static fallback list.

- Do not hand-edit it.
- Regenerate with repo-native commands:
- `make update`
- or `bin/data-update` (after dependencies are installed)
- `bin/data-update` reads packaged configs (from `html2rss-configs`) and writes `src/data/configs.json`.
## Generated Artifacts

If a change only affects generated data, include the source change rationale in the PR description.
This repo has no generated catalog data. Do not add a packaged-config snapshot back into the docs build.

## Build, Test, and Dev Commands

Run commands from `html2rss.github.io/`:

- `make setup` installs dependencies and refreshes generated data
- `make setup` installs npm dependencies
- `make dev` runs Astro locally
- `make build` builds production output
- `make lint` checks formatting
- `make lintfix` applies formatting fixes
- `make update` refreshes feed-directory data from packaged configs

Preferred verification flow for docs/content changes:

1. Run targeted check(s) first (`make lint` or `make build`).
2. Run the broader check set before PR (`make lint` and `make build`).
3. If feed directory or config references changed, run `make update` and verify resulting diffs.
3. For feed-directory UI changes, spot-check against a running instance with catalog enabled (`GET /api/v1/configs` returns entries).

## Docs Authoring Rules

Expand Down
6 changes: 0 additions & 6 deletions Gemfile

This file was deleted.

140 changes: 0 additions & 140 deletions Gemfile.lock

This file was deleted.

8 changes: 1 addition & 7 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
default: setup clean lintfix dev
default: setup lint dev

setup:
npm ci
bundle check || bundle
make update

dev:
npm run dev
Expand All @@ -26,7 +24,3 @@ lintfix:
clean:
find . -type d -empty -delete
find . -type f -empty -delete

update:
bundle update html2rss-configs
bin/data-update
11 changes: 5 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,35 +8,34 @@ website.
### Prerequisites

- Node.js (for Astro)
- Ruby (for data updates)

### Quick Setup

```bash
# Install dependencies and refresh generated feed data
# Install dependencies
make setup

# Start the local Astro development server
make dev
```

Feed Directory browse data comes from a running `html2rss-web` instance (`GET /api/v1/configs`). For local feed-directory testing, run an instance (for example from `html2rss-web`) and point the directory UI at it.

### 💻 Try in Browser

You can develop html2rss directly in your browser using GitHub Codespaces:

[Open in GitHub Codespaces](https://github.com/codespaces/new?repo=html2rss/html2rss.github.io)

The Codespace provides a cloud development environment with Node.js and Ruby pre-installed. Run `make setup` to install dependencies and get started!
The Codespace provides a cloud development environment with Node.js pre-installed. Run `make setup` to install dependencies and get started!

### Available Commands

- `make setup` - Install dependencies and refresh generated feed data
- `make setup` - Install npm dependencies
- `make dev` - Start Astro development server
- `make build` - Build for production
- `make preview` - Preview production build
- `make build-full` - Update data and build for production
- `make lintfix` - Fix code formatting
- `make update` - Update feed data

## 🌐 Community & Resources

Expand Down
65 changes: 0 additions & 65 deletions bin/data-update

This file was deleted.

3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
"build": "astro build",
"preview": "astro preview",
"astro": "astro",
"update-data": "ruby bin/data-update",
"build:full": "npm run update-data && npm run build",
"build:full": "npm run build",
"lint": "prettier --check .",
"lintfix": "prettier --write ."
},
Expand Down
Loading