forgejo/web_src/js/features
oliverpool 8f28cdefe0 feat(ui): add switch between formats when previewing CITATION.{cff,bib} files (#9103)
See #8222 for context (loosely related to #4595).

## Implemented changes

The conversion logic is kept in the frontend and the related npm libraries are lazy-loaded (unchanged).

### Show some tabs on the preview of the `CITATION.*` file to switch between the formats:

![image](/attachments/be02656f-d906-4191-aa84-d666ee5a90ba)
![image](/attachments/240384e3-dec8-4f02-94e6-261143193541)

### Convert the "Cite repository" to a simple link to the citation file

So that this change can be considered non-breaking

## Current state (before this PR)

The last non-test call of `git.Blob.GetBlobContent` is made to retrieve the content of an eventual CITATION file.
This is available in the `...` menu near the clone URL:
![image](/attachments/ef79128d-ee3f-4e43-a74d-a00e4dcfe6b4)
And is displayed as a popup:

![image](/attachments/7aa930f9-0766-47b9-8145-cbebb5b051b0)

Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9103
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: oliverpool <git@olivier.pfad.fr>
Co-committed-by: oliverpool <git@olivier.pfad.fr>
2025-11-14 14:39:20 +01:00
..
admin feat: move more modals to native dialogs (#9636) 2025-10-13 17:48:49 +02:00
comp feat: move more modals to native dialogs (#9636) 2025-10-13 17:48:49 +02:00
autofocus-end.js When the title in the issue has a value, set the text cursor at the end of the text. (#30090) 2024-03-30 07:17:31 +01:00
captcha.js Enforce trailing comma in JS on multiline (#30002) 2024-03-26 19:04:27 +01:00
clipboard.js Fix Citation modal responsiveness and clipboard copy (#29799) 2024-03-20 08:46:29 +01:00
code-frequency.js Enforce trailing comma in JS on multiline (#30002) 2024-03-26 19:04:27 +01:00
codeeditor.js Remove obsolete monaco workaround (#30893) 2024-05-12 20:03:10 +02:00
colorpicker.js Replace coloris with vanilla-colorful (#30201) 2024-04-07 15:40:31 +02:00
common-global.js feat: replace cross origin protection (#9830) 2025-10-29 22:43:22 +01:00
common-issue-list.js Remove jQuery from the issue "go to" button (#30028) 2024-03-26 19:04:27 +01:00
common-issue-list.test.js Use vitest globals (#27102) 2023-09-27 04:37:13 +00:00
common-organization.js Fix initCompLabelEdit not being called (#29198) 2024-02-17 23:24:31 +01:00
contextpopup.js feat(ui): lazy-load all Vue components (#9444) 2025-09-28 05:40:40 +02:00
contributors.js Add "n commits" link to contributors in contributors graph page (#32799) 2024-12-15 13:21:02 +01:00
copycontent.js Remove fomantic input module (#30194) 2024-04-07 15:40:31 +02:00
dashboard-repo-list.ts feat(ui): lazy-load all Vue components (#9444) 2025-09-28 05:40:40 +02:00
dropzone.js JS refactors (#22227) 2022-12-24 00:03:11 +08:00
emoji.js feat: make text expander aware of custom emojis 2025-08-10 23:11:41 +02:00
eventsource.sharedworker.js chore: add new lint rules 2024-10-23 08:10:18 +02:00
file-fold.js Update JS dependencies (#27922) 2023-11-06 21:14:32 +00:00
heatmap.js feat(ui): lazy-load all Vue components (#9444) 2025-09-28 05:40:40 +02:00
imagediff.js Refactor imagediff and fix regression bug (#30694) 2024-04-28 15:39:01 +02:00
install.js [CHORE] Remove Microsoft SQL Server Support 2024-04-05 23:37:36 +02:00
notification.js Remove jQuery class from the notification count (#30172) 2024-04-07 15:40:31 +02:00
org-team.js chore: enable no-jquery/no-each-util 2025-04-01 03:59:12 +02:00
pull-view-file.js Fix counter display number incorrectly displayed on the page (#29448) 2024-03-06 12:10:44 +08:00
recent-commits.js Enforce trailing comma in JS on multiline (#30002) 2024-03-26 19:04:27 +01:00
repo-action-view.ts display pre-execution errors in action view UI 2025-10-04 19:56:38 -06:00
repo-activity-top-authors.ts fix: add vue data to createApp instead mount (#9467) 2025-09-29 15:44:01 +02:00
repo-branch-tag-selector.js feat: replace cross origin protection (#9830) 2025-10-29 22:43:22 +01:00
repo-branch.ts feat: convert create/rename branch and create tag to native dialog (#9760) 2025-10-30 21:06:14 +01:00
repo-code.test.ts chore(ui): replace repo-code jQuery use, convert file to typescript (#9337) 2025-09-21 08:08:47 +02:00
repo-code.ts chore(ui): replace repo-code jQuery use, convert file to typescript (#9337) 2025-09-21 08:08:47 +02:00
repo-commit.js feat: show CI status on force-pushes (#8655) 2025-08-13 03:29:36 +02:00
repo-common.js fix(ui): make tag dropdown clickable again (#7558) 2025-04-16 12:28:39 +00:00
repo-diff-commit.js Migrate margin and padding helpers to tailwind (#30043) 2024-03-30 07:17:29 +01:00
repo-diff-commitselect.js feat(ui): lazy-load all Vue components (#9444) 2025-09-28 05:40:40 +02:00
repo-diff-filetree.js feat(ui): lazy-load all Vue components (#9444) 2025-09-28 05:40:40 +02:00
repo-diff.js Remove DiffFileList component 2025-01-19 18:56:18 +01:00
repo-editor.js feat: first native dialog for modal (#8859) 2025-09-20 20:09:17 +02:00
repo-findfile.js Refactor all .length === 0 patterns in JS (#30045) 2024-03-30 07:17:30 +01:00
repo-findfile.test.js Use vitest globals (#27102) 2023-09-27 04:37:13 +00:00
repo-graph.js fix branch selector in commit graph 2024-07-07 20:26:30 +02:00
repo-home.js Add null check for responseData.invalidTopics (#32212) 2024-10-13 08:06:49 +03:00
repo-issue-content.js feat: show spinner when loading content history menu (#9874) 2025-10-27 22:04:04 +01:00
repo-issue-list.js Make a distinction between active and selected in the issue author dropdown (#30207) 2024-04-07 15:40:31 +02:00
repo-issue-pr-form.js feat(ui): lazy-load all Vue components (#9444) 2025-09-28 05:40:40 +02:00
repo-issue-pr-status.js Fix the overflow style for "Hide all checks" (#27932) 2023-11-07 18:53:35 +00:00
repo-issue.js fix(ui): prevent JS from removing icon from close/reopen button (#9959) 2025-11-05 05:02:52 +01:00
repo-issue.test.js feat(ui): add more emoji and code block rendering in issues 2024-09-24 14:20:33 +02:00
repo-legacy.js feat(ui): add switch between formats when previewing CITATION.{cff,bib} files (#9103) 2025-11-14 14:39:20 +01:00
repo-migrate.js fix(ui): prevent exceptions on other users' repo migration pages 2024-08-21 19:57:08 +00:00
repo-migration.js Add support for migrating from Pagure (#8513) 2025-08-11 16:56:26 +02:00
repo-milestone.js feat: use combo markdown editor for milestone description 2024-10-22 19:58:44 +02:00
repo-projects.js Fix various problems around projects board view (#30696) 2024-05-12 20:03:10 +02:00
repo-release.js fix(ui): release: set default release title to tag name (#6883) 2025-02-23 08:30:39 +00:00
repo-search.js Filter Repositories by type (#29231) 2024-03-06 12:10:46 +08:00
repo-settings.js feat: replace cross origin protection (#9830) 2025-10-29 22:43:22 +01:00
repo-template.js chore: enable no-jquery/no-each-util 2025-04-01 03:59:12 +02:00
repo-unicode-escape.js fix(ui): make unicode escape work in wiki (#8923) 2025-09-10 08:10:23 +02:00
repo-wiki.js Enforce trailing comma in JS on multiline (#30002) 2024-03-26 19:04:27 +01:00
scoped-access-token-selector.ts feat(ui): lazy-load all Vue components (#9444) 2025-09-28 05:40:40 +02:00
sshkey-helper.js feat(ui): clear panel form inputs when closed 2025-09-16 15:49:02 -07:00
stopwatch.js Remove jQuery from the stopwatch (#29351) 2024-02-26 22:30:26 +01:00
tablesort.js JS refactors (#22227) 2022-12-24 00:03:11 +08:00
tribute.js Migrate margin and padding helpers to tailwind (#30043) 2024-03-30 07:17:29 +01:00
user-auth-webauthn.js Enforce trailing comma in JS on multiline (#30002) 2024-03-26 19:04:27 +01:00
user-auth.js feat: improve incorrect ROOT_URL warning (#7103) 2025-03-03 18:05:01 +00:00