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
captcha.js
clipboard.js
code-frequency.js
codeeditor.js
colorpicker.js
common-global.js feat: replace cross origin protection (#9830) 2025-10-29 22:43:22 +01:00
common-issue-list.js
common-issue-list.test.js
common-organization.js
contextpopup.js feat(ui): lazy-load all Vue components (#9444) 2025-09-28 05:40:40 +02:00
contributors.js
copycontent.js
dashboard-repo-list.ts feat(ui): lazy-load all Vue components (#9444) 2025-09-28 05:40:40 +02:00
dropzone.js
emoji.js feat: make text expander aware of custom emojis 2025-08-10 23:11:41 +02:00
eventsource.sharedworker.js
file-fold.js
heatmap.js feat(ui): lazy-load all Vue components (#9444) 2025-09-28 05:40:40 +02:00
imagediff.js
install.js
notification.js
org-team.js
pull-view-file.js
recent-commits.js
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
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
repo-editor.js feat: first native dialog for modal (#8859) 2025-09-20 20:09:17 +02:00
repo-findfile.js
repo-findfile.test.js
repo-graph.js
repo-home.js
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
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
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
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
repo-migration.js Add support for migrating from Pagure (#8513) 2025-08-11 16:56:26 +02:00
repo-milestone.js
repo-projects.js
repo-release.js
repo-search.js
repo-settings.js feat: replace cross origin protection (#9830) 2025-10-29 22:43:22 +01:00
repo-template.js
repo-unicode-escape.js fix(ui): make unicode escape work in wiki (#8923) 2025-09-10 08:10:23 +02:00
repo-wiki.js
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
tablesort.js
tribute.js
user-auth-webauthn.js
user-auth.js