├── .agents └── rules │ └── base.md ├── .cursor └── rules │ └── base.mdc ├── .editorconfig ├── .github ├── CODEOWNERS ├── FUNDING.yml ├── ISSUE_TEMPLATE │ └── new-feed-request.md ├── actions │ ├── restore-feed-cache │ │ └── action.yml │ └── save-feed-cache │ │ └── action.yml ├── copilot-instructions.md ├── pull_request_template.md ├── renovate.json5 └── workflows │ ├── ci.yml │ ├── external-test.yml │ └── generate-feed.yml ├── .gitignore ├── .node-version ├── .secretlintignore ├── .secretlintrc.json ├── .tool-versions ├── .typos.toml ├── AGENTS.md ├── CLAUDE.md ├── LICENSE.txt ├── README.md ├── biome.json ├── eleventy.config.ts ├── package.json ├── src ├── @types │ └── eleventy-fetch.d.ts ├── cli │ ├── generate-feed-command.ts │ ├── prepare-site-command.ts │ └── register-index-command.ts ├── common │ ├── constants.ts │ ├── eleventy-cache-option.ts │ └── eleventy-utils.ts ├── feed │ ├── common-util.ts │ ├── feed-crawler.ts │ ├── feed-generator.ts │ ├── feed-storer.ts │ ├── feed-validator.ts │ └── logger.ts ├── resources │ └── feed-info-list.ts └── site │ ├── _data │ ├── blogFeeds.js │ ├── constants.js │ ├── currentDate.js │ ├── feedItemsChunks.js │ ├── feedItemsHot.js │ └── lastModifiedBlogsDate.js │ ├── _includes │ ├── layouts │ │ ├── main.njk │ │ └── partials │ │ │ ├── feed-item.njk │ │ │ ├── nav.njk │ │ │ └── top-section.njk │ ├── scripts │ │ └── index.ts │ └── styles │ │ ├── main.css │ │ └── vendor │ │ ├── base.css │ │ └── reset.css │ ├── blog-feed.njk │ ├── blogs.njk │ ├── hot.njk │ ├── images │ ├── alternate-feed-image.png │ ├── apple-icon.png │ ├── favicon.ico │ ├── hatenabookmark-icon.png │ ├── icon-github.png │ ├── icon-transparent.png │ ├── icon-x.png │ ├── icon.png │ ├── icon256-transparent.png │ ├── icon512-transparent.png │ ├── icon512.png │ ├── og-image.png │ ├── slack-mark.png │ ├── subscribe-feedly.png │ └── subscribe-inoreader.png │ ├── index.njk │ ├── site.njk │ ├── sitemap.njk │ └── styles │ └── bundle-css.njk ├── tests ├── common-util.test.ts ├── external │ ├── feed-availability.test.ts │ └── generate-feed.test.ts ├── feed-info-list.test.ts ├── feed-validator.test.ts └── test-setup.ts ├── tsconfig.json ├── vitest.config.ts └── vitest.external.config.ts /.agents/rules/base.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/.agents/rules/base.md -------------------------------------------------------------------------------- /.cursor/rules/base.mdc: -------------------------------------------------------------------------------- 1 | ../../.agents/rules/base.md -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Default owner for everything in the repo 2 | * @yamadashy 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: yamadashy 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/new-feed-request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/.github/ISSUE_TEMPLATE/new-feed-request.md -------------------------------------------------------------------------------- /.github/actions/restore-feed-cache/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/.github/actions/restore-feed-cache/action.yml -------------------------------------------------------------------------------- /.github/actions/save-feed-cache/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/.github/actions/save-feed-cache/action.yml -------------------------------------------------------------------------------- /.github/copilot-instructions.md: -------------------------------------------------------------------------------- 1 | ../.agents/rules/base.md -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.github/renovate.json5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/.github/renovate.json5 -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/external-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/.github/workflows/external-test.yml -------------------------------------------------------------------------------- /.github/workflows/generate-feed.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/.github/workflows/generate-feed.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/.gitignore -------------------------------------------------------------------------------- /.node-version: -------------------------------------------------------------------------------- 1 | 23.6.0 2 | -------------------------------------------------------------------------------- /.secretlintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/.secretlintignore -------------------------------------------------------------------------------- /.secretlintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/.secretlintrc.json -------------------------------------------------------------------------------- /.tool-versions: -------------------------------------------------------------------------------- 1 | nodejs 24.0.1 2 | -------------------------------------------------------------------------------- /.typos.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/.typos.toml -------------------------------------------------------------------------------- /AGENTS.md: -------------------------------------------------------------------------------- 1 | .agents/rules/base.md -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- 1 | .agents/rules/base.md -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/README.md -------------------------------------------------------------------------------- /biome.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/biome.json -------------------------------------------------------------------------------- /eleventy.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/eleventy.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/package.json -------------------------------------------------------------------------------- /src/@types/eleventy-fetch.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/@types/eleventy-fetch.d.ts -------------------------------------------------------------------------------- /src/cli/generate-feed-command.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/cli/generate-feed-command.ts -------------------------------------------------------------------------------- /src/cli/prepare-site-command.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/cli/prepare-site-command.ts -------------------------------------------------------------------------------- /src/cli/register-index-command.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/cli/register-index-command.ts -------------------------------------------------------------------------------- /src/common/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/common/constants.ts -------------------------------------------------------------------------------- /src/common/eleventy-cache-option.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/common/eleventy-cache-option.ts -------------------------------------------------------------------------------- /src/common/eleventy-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/common/eleventy-utils.ts -------------------------------------------------------------------------------- /src/feed/common-util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/feed/common-util.ts -------------------------------------------------------------------------------- /src/feed/feed-crawler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/feed/feed-crawler.ts -------------------------------------------------------------------------------- /src/feed/feed-generator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/feed/feed-generator.ts -------------------------------------------------------------------------------- /src/feed/feed-storer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/feed/feed-storer.ts -------------------------------------------------------------------------------- /src/feed/feed-validator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/feed/feed-validator.ts -------------------------------------------------------------------------------- /src/feed/logger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/feed/logger.ts -------------------------------------------------------------------------------- /src/resources/feed-info-list.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/resources/feed-info-list.ts -------------------------------------------------------------------------------- /src/site/_data/blogFeeds.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/_data/blogFeeds.js -------------------------------------------------------------------------------- /src/site/_data/constants.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/_data/constants.js -------------------------------------------------------------------------------- /src/site/_data/currentDate.js: -------------------------------------------------------------------------------- 1 | export default () => { 2 | return new Date().toISOString(); 3 | }; 4 | -------------------------------------------------------------------------------- /src/site/_data/feedItemsChunks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/_data/feedItemsChunks.js -------------------------------------------------------------------------------- /src/site/_data/feedItemsHot.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/_data/feedItemsHot.js -------------------------------------------------------------------------------- /src/site/_data/lastModifiedBlogsDate.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/_data/lastModifiedBlogsDate.js -------------------------------------------------------------------------------- /src/site/_includes/layouts/main.njk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/_includes/layouts/main.njk -------------------------------------------------------------------------------- /src/site/_includes/layouts/partials/feed-item.njk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/_includes/layouts/partials/feed-item.njk -------------------------------------------------------------------------------- /src/site/_includes/layouts/partials/nav.njk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/_includes/layouts/partials/nav.njk -------------------------------------------------------------------------------- /src/site/_includes/layouts/partials/top-section.njk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/_includes/layouts/partials/top-section.njk -------------------------------------------------------------------------------- /src/site/_includes/scripts/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/_includes/scripts/index.ts -------------------------------------------------------------------------------- /src/site/_includes/styles/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/_includes/styles/main.css -------------------------------------------------------------------------------- /src/site/_includes/styles/vendor/base.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/_includes/styles/vendor/base.css -------------------------------------------------------------------------------- /src/site/_includes/styles/vendor/reset.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/_includes/styles/vendor/reset.css -------------------------------------------------------------------------------- /src/site/blog-feed.njk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/blog-feed.njk -------------------------------------------------------------------------------- /src/site/blogs.njk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/blogs.njk -------------------------------------------------------------------------------- /src/site/hot.njk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/hot.njk -------------------------------------------------------------------------------- /src/site/images/alternate-feed-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/images/alternate-feed-image.png -------------------------------------------------------------------------------- /src/site/images/apple-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/images/apple-icon.png -------------------------------------------------------------------------------- /src/site/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/images/favicon.ico -------------------------------------------------------------------------------- /src/site/images/hatenabookmark-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/images/hatenabookmark-icon.png -------------------------------------------------------------------------------- /src/site/images/icon-github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/images/icon-github.png -------------------------------------------------------------------------------- /src/site/images/icon-transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/images/icon-transparent.png -------------------------------------------------------------------------------- /src/site/images/icon-x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/images/icon-x.png -------------------------------------------------------------------------------- /src/site/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/images/icon.png -------------------------------------------------------------------------------- /src/site/images/icon256-transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/images/icon256-transparent.png -------------------------------------------------------------------------------- /src/site/images/icon512-transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/images/icon512-transparent.png -------------------------------------------------------------------------------- /src/site/images/icon512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/images/icon512.png -------------------------------------------------------------------------------- /src/site/images/og-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/images/og-image.png -------------------------------------------------------------------------------- /src/site/images/slack-mark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/images/slack-mark.png -------------------------------------------------------------------------------- /src/site/images/subscribe-feedly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/images/subscribe-feedly.png -------------------------------------------------------------------------------- /src/site/images/subscribe-inoreader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/images/subscribe-inoreader.png -------------------------------------------------------------------------------- /src/site/index.njk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/index.njk -------------------------------------------------------------------------------- /src/site/site.njk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/site.njk -------------------------------------------------------------------------------- /src/site/sitemap.njk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/sitemap.njk -------------------------------------------------------------------------------- /src/site/styles/bundle-css.njk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/src/site/styles/bundle-css.njk -------------------------------------------------------------------------------- /tests/common-util.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/tests/common-util.test.ts -------------------------------------------------------------------------------- /tests/external/feed-availability.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/tests/external/feed-availability.test.ts -------------------------------------------------------------------------------- /tests/external/generate-feed.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/tests/external/generate-feed.test.ts -------------------------------------------------------------------------------- /tests/feed-info-list.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/tests/feed-info-list.test.ts -------------------------------------------------------------------------------- /tests/feed-validator.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/tests/feed-validator.test.ts -------------------------------------------------------------------------------- /tests/test-setup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/tests/test-setup.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/vitest.config.ts -------------------------------------------------------------------------------- /vitest.external.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yamadashy/tech-blog-rss-feed/HEAD/vitest.external.config.ts --------------------------------------------------------------------------------