Commit Graph

80 Commits

Author SHA1 Message Date
DIYgod 4568a6a6ab feat: add promotion 2026-03-17 15:59:10 +08:00
Yufan You fb07a7f2e5
fix: add summary field in JSON output format (#20778)
* fix: add summary field in JSON output format

This fixes that the summary/description was not included in the feed.

As a side-note, we cannot remove the content_html field even if only the
summary/description is present.

> content_html and content_text are each optional strings — but one or
> both must be present.

* test: add JSON view tests

---------
2025-12-30 21:57:51 +08:00
DIYgod 81ff849337
feat(tests): add comprehensive unit tests for various utility functions and views (#20779)
* feat(tests): add comprehensive unit tests for various utility functions and views

- Implement tests for cache utility to ensure proper behavior with no cache and TTL keys.
- Add tests for common utilities including string manipulation and path handling.
- Introduce tests for directory import functionality to validate file imports and pattern matching.
- Create tests for git hash retrieval to handle fallback scenarios.
- Develop tests for deprecated got utility to verify response handling and retry logic.
- Enhance got utility tests to include request hooks and search parameter handling.
- Mock header generator tests to validate user agent handling.
- Expand helpers tests to cover current path retrieval and duration parsing.
- Implement tests for ofetch utility to ensure proper proxy handling and logging.
- Add OpenTelemetry metric tests to validate metric serialization.
- Create proxy tests to verify multi-proxy selection and failure handling.
- Introduce request rewriter tests to validate fetch and get wrapper functionality.
- Add timezone utility tests to handle various input types.
- Implement view tests for Atom and RSS rendering to ensure correct output.
- Create index view tests to validate debug information display based on configuration.

* refactor: remove deprecated got implementation and associated tests

* test: expand coverage for api, middleware, and utils
2025-12-29 17:34:48 +08:00
DIYgod 0db4c9cef9
docs: update license 2025-12-28 18:39:22 +08:00
github-actions[bot] a28890a135 style: auto format 2025-11-27 02:55:46 +00:00
dependabot[bot] 802cbf95d2
chore(deps-dev): bump eslint-plugin-unicorn from 60.0.0 to 61.0.2 (#19998)
* chore(deps-dev): bump eslint-plugin-unicorn from 60.0.0 to 61.0.1

Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 60.0.0 to 61.0.1.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases)
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v60.0.0...v61.0.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-unicorn
  dependency-version: 61.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* refactor: replace `replace(/regex/g)` with replaceAll

* refactor: replace sort() with toSorted() for immutability in various routes and utilities

* refactor: fix unicorn/prefer-array-find

* refactor: fix unicorn/prefer-at

* refactor: add unicorn/no-array-sort rule to ESLint configuration

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 23:03:48 +08:00
DIYgod 5d9e0f557e
feat: add video preview url in attachments for bilibili and youtube 2025-01-21 18:32:09 +08:00
Tony 103ef92a78
fix(view/index): update logo image path to relative (#17803) 2024-12-05 03:30:07 +08:00
pseudoyu bcc2a05e0b
feat(api/rss3): change platform to RSSHub 2024-11-28 17:13:56 +08:00
pseudoyu d042b63ca8
fix(api): rss3 network format 2024-11-26 23:20:38 +08:00
Tsuyumi 40bab08529
feat: better error message display (#17477) 2024-11-07 01:55:12 +08:00
github-actions[bot] 859247d138 style: auto format 2024-09-18 22:27:13 +00:00
ixff 84209f7c15
fix: 部分Telegram频道的文章在inoreader中显示一个巨大的logo (#16799) 2024-09-19 06:25:07 +08:00
Songkeys c183692522
docs: rewording instance homepage (#16720) 2024-09-12 16:34:43 +08:00
Tony 9d7e1943f0
test: fix tests (#16697)
* test: fix tests

* revert "fix: fill image from itunes_item_image (#16694)"

This reverts commit 879772a97f.

* fix: fill image from jsonfeed template

* chore: bump msw to 2.4.3
2024-09-11 01:05:37 +08:00
Innei 4591929760
fix: error page layout (#16310)
Signed-off-by: Innei <i@innei.in>
2024-07-31 11:38:27 +00:00
DIYgod 59e19001e6
feat: update descriptions 2024-07-23 16:30:41 +08:00
ei-sugimoto ed3b079575
test: add test for rss3 (#15927)
* test: add test for rss3

* modify: timestamp pass eslint
2024-06-20 01:18:16 +08:00
DIYgod c64e6e34cf
feat: render item image as rss enclosure 2024-06-05 19:10:34 +08:00
Wei Zhu f5dbf697ee
fix(template): X (twitter) icon (#15750) 2024-05-29 02:55:38 +08:00
DIYgod 78f3cb3f75
feat: twitter.com -> x.com 2024-05-18 23:57:25 +08:00
DIYgod 7e87a4823e
feat: add layout and use sn pro font 2024-04-26 08:59:44 +08:00
Henry Wang 5c3711cbcc
feat: support .rss3 output type (#15258)
Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
2024-04-18 02:10:33 +08:00
Bin Wang 54cc62baa4
fix(core): add icon and logo back to atom feed (#15132)
icon and logo field are missing from atom feed after it's migrated to
tsx template. This PR adds them back.
2024-04-06 06:30:36 +00:00
Bin Wang 90e2e0263d
fix(core): fix interaction fields in atom feeds (#15121)
In #9355, interaction fields are introduced to atom feeds to give RSS
readers more information. But it has been removed after the code is
refactored to use tsx templates. This PR adds them back.
2024-04-05 22:56:26 +08:00
github-actions[bot] ad93d75ce7 style: auto format 2024-04-04 12:30:18 +00:00
wudifeixue c086c62acd
fix(core): fix documentation link path and error message links (#15023)
* fix: all broken sponsor links

* fix: all broken deployment links

* fix: other broken links
2024-03-30 08:12:12 +00:00
Tony 847fdaba1d
chore: fix route test github actions (#14923)
* chore: fix route test actions

* chore: bump unified
2024-03-23 08:19:05 +08:00
DIYgod 40350abcbb
feat: use jsx (#14863)
* feat: render rss using jsx

* fix: error page response header

* feat: render atom using jsx

* feat: export art

* feat: use jsxRenderer

* chore: upgrade hono
2024-03-21 00:28:11 +08:00
DIYgod 94cf0742af
feat: new error page 2024-03-06 02:33:28 +08:00
Tony 6f8a898363
fix(index): wrong error routes count 2024-03-05 15:09:38 +08:00
Tony d17ebe81d0
feat(index): add back hot stats (#14664) 2024-03-05 13:55:39 +08:00
DIYgod 1811dc7043
docs: add twitter 2024-03-04 04:25:52 +08:00
DIYgod 3bfdf9427c
feat: new home page 2024-03-03 17:36:08 +08:00
DIYgod ba1bdf9bdc
feat: use hono context json and text 2024-03-01 20:50:17 +08:00
DIYgod 829b5f0e52
feat: assets routes 2024-02-22 01:38:16 +08:00
DIYgod 174752fef5
refactor: format 2024-01-29 23:28:17 +08:00
DIYgod 4591116733
fix: middleware errors 2024-01-21 18:35:11 +08:00
DIYgod e7e3f689bd
fix: error handler and debug info 2024-01-21 15:41:42 +08:00
DIYgod 8e0154552c
feat: welcome page 2024-01-21 15:18:42 +08:00
DIYgod 847724cad1
feat: work with hono and typescript 2024-01-21 11:55:18 +08:00
Tony 6d901cb7dc
style(eslint): add eslint-unicorn (#14257)
* style: add eslint-unicorn

* style: fix unicorn/no-useless-spread

* style: fix unicorn/no-useless-promise-resolve-reject

* style: fix unicorn/no-for-loop

* fix: codeql bad HTML filtering regexp

* fix: codeql incomplete replace

* fix: unicorn/no-abusive-eslint-disable

* style: fix unicorn/no-new-array

* style: fix unicorn/no-typeof-undefined

* style: fix unicorn/no-zero-fractions

* style: fix unicorn/no-empty-file

* style: fix unicorn/prefer-date-now

* revert: auto fix unicorn/prefer-switch on lib/v2/kuaidi100/utils.js

* style: fix unicorn/prefer-array-find

* style: fix unicorn/prefer-array-flat

* style: fix unicorn/prefer-array-flat-map

* style: fix unicorn/prefer-at

* style: fix unicorn/prefer-string-starts-ends-with

* style: fix unicorn/prefer-includes

* fix: codeql URL substring sanitization

* style: fix unicorn/prefer-optional-catch-binding

* style: fix unicorn/catch-error-name

* style: fix unicorn/escape-case

* style: fix unicorn/prefer-native-coercion-functions

* style: fix unicorn/prefer-regexp-test

* style: fix unicorn/require-array-join-separator

* style: fix unicorn/prefer-math-trunc

* style: fix unicorn/prefer-negative-index

* style: fix unicorn/prefer-dom-node-dataset

* style: fix unicorn/prefer-dom-node-text-content

* style: fix unicorn/prefer-query-selector

* style: fix unicorn/no-array-for-each

* style: fix unicorn/no-negated-condition

* style: fix unicorn/prefer-add-event-listener

* style: fix unicorn/import-style

* style: fix prefer-regex-literals

* style: disable unicorn/no-useless-switch-case

* style: disable unicorn/text-encoding-identifier-case

* style: fix unicorn/prefer-set-has

* style: fix unicorn/prefer-spread

* revert: auto fix on lib/routes/universities/ynnu/edu/base64.js

* style: fix unicorn/no-useless-undefined

* style: fix unicorn/no-array-push-push

* style: fix unicorn/no-useless-undefined again

* style: fix unicorn/no-lonely-if

* style: fix unicorn/prefer-reflect-apply

* style: fix unicorn/switch-case-braces

* style: fix unicorn/prefer-switch

* style: fix unicorn/prefer-array-some

* fix: deepscan UNUSED_VAR_ASSIGN

* style: fix unicorn/prefer-ternary

* fix: follow-up of unicorn/prefer-ternary

* revert: auto fix of unicorn/prefer-string-slice for substring()

* style: disable unicorn/prefer-string-slice

fix: auto fix slice over deprecated substr

* style: fix unicorn/throw-new-error

* style: fix unicorn/filename-case

* test: fix dateParser renaming

* style: fix unicorn/better-regex

* style: fix unicorn/prefer-string-replace-all

* fix(deps): add sanitize-html

* style: fix no-prototype-builtins

* style: fix unicorn/consistent-destructuring

* style: fix unicorn/consistent-function-scoping

* style: fix unicorn/prefer-regexp-test

* style: fix unicorn/prefer-logical-operator-over-ternary

* style: fix unicorn/no-array-callback-reference

* style: add prefer-object-has-own

* style: warn unicorn/no-empty-file

* style: fix unicorn/prefer-number-properties

* style: fix no-useless-undefined again

* style: fix unicorn/numeric-separators-style

* style: disable unicorn/no-array-callback-reference

false postive with cheerio
2024-01-18 20:43:40 +08:00
DIYgod 4cde3afc68
feat: set default itunes_explicit to false, close #14093 2023-12-27 14:24:15 +08:00
Henry Wang bea92ae289
fix: incorrect field name in UMS (#14073) 2023-12-18 22:18:22 +08:00
Tony cc27156311 fix: logo loading lazy 2023-12-05 01:41:08 +08:00
Henry Wang 3a5488acdc
feat: Support RSS3 UMS output format (#13900)
* feat: support RSS3 UMS output

also optimized middleware/template

* fix: rss3_ums function name

* feat: handle current timestamp in UMS

* feat: add authors

* chore: update UMS type

* chore(deps-dev): bump @types/react from 18.2.37 to 18.2.38 in /website (#2249)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.2.37 to 18.2.38.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @types/markdown-it in /website (#2250)

Bumps [@types/markdown-it](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/markdown-it) from 13.0.6 to 13.0.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/markdown-it)

---
updated-dependencies:
- dependency-name: "@types/markdown-it"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @types/react-dom in /website (#2252)

Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 18.2.15 to 18.2.16.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @types/react-dom in /website (#2255)

Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 18.2.16 to 18.2.17.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update lib/middleware/template.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update lib/middleware/template.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update lib/utils/render.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update lib/views/rss3-ums.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update lib/views/rss3-ums.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update lib/utils/render.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* doc: update UMS related docs

* Update parameter.md

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update parameter.md

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-29 01:32:24 +08:00
Tony 71269cd696
fix(app): grey logo in error not showing
this breaks subdirectory serving
2023-09-09 22:29:20 +08:00
Tony 3276104c41
fix(app): cache logo & subdirectory serving (#13244) 2023-09-09 21:51:44 +08:00
DIYgod 7b65ba69bb
feat: add docusaurus website (#13039) 2023-08-15 03:12:12 +01:00
DIYgod 671dfa700f
docs: update readme 2023-08-13 01:27:11 +01:00