Open pgaskin opened 7 years ago
It should be not very difficult to implement I think.
@lunny Where would the data be stored? I am not familiar with that part of gitea yet,
Did someone wrote iframe
? Dear lord! So, @geek1011, you are asking that Gitea becomes like WordPress, a bookmark manager, or a Portal, right? While you are at it, may as well add a bulletin board, chats, blogs, etc. 😝 .
I give this one a 👎 .
I think we need a plugin system. a plugin could setup a tab on the repository and user could chose repository should use which tabs. Code
, Issues
, Wiki
and etc. could be as basic tabs.
I think you can try this: https://docs.gitea.io/en-us/customizing-gitea/
@zhv9 That's not the same thing.
Currently, if a repo is in an organization, you could define which Unit
you want and you also could give it to some team. maybe this is what's you want? @geek1011
@lunny I think he wants to add new tab with custom name (same as code, issues, pr, ...) as bookmark to other page or to be able to load that page to iframe inside that tab. So when you click on tab, it will show you page from from another url (maybe tables, graphs, map, ...).
But why? That is literaly what the Wiki is for... 😒
Wouldn't mind having the ability to link to page (e.g., adding a forum tab or something like that to a project). But, personally, I wouldn't want an iframe option.
IMHO I am against that feature as @bkcsoft mentioned the existing wiki. However we should definitely work on a plugin architecture to enable such customization.
Hi, I could use a feature like this or even better the plugin system discussed in other issues (linked below). This is a long comment, written as I considered a couple of approaches, and ends with a pull request (#3308 Templates for extra links in top navbar and repo tool tabs.) that to me seems to fix both this issue and #2115.
I'm writing a tool as a single-page web application that uses the HTTP API.
I put that page under custom/public/
and then it works as if it was part of Gitea, without having to log-in separately or anything like that.
To have it accessible from the main interface, I've copied and modified the templates base/head.tmpl
and repo/header.tmpl
.
This works great but complicates installation and maintenance: every time I upgrade, I have to check that those template files did not change. If they do, I need to copy and modify the new ones.
Being able to add links to the navigation menus / tabs from the configuration would make such single-page web mini-applications dead simple. The link specification string would need placeholders for parameters such as the current repository full name: that's what I do in repo/header.tmpl
for instance, to have my application fetch the correct repository data.
However, it should stop at plain links, not iframes because they bring all kind of problems. For the cases where we want to insert extra content in the interface, a plugin system that allows specifying additional routes to new templates is more useful. If I understand correctly, I can add new .tmpl
files but they won't be loaded unless I modify the go code at https://github.com/go-gitea/gitea/tree/master/routers
I'm looking now at the templates, thinking what a configuration entry might look like, and I just realized that it would have some issues, particularly with i18n.
Could this be done by adding an empty template at the end of the tabs?
I mean something like {{template "repo/extra_tabs" .}}
at https://github.com/go-gitea/gitea/blob/master/templates/repo/header.tmpl#L91 right before {{if .IsRepositoryAdmin}}
, and {{template "base/extra_tabs" .}}
at https://github.com/go-gitea/gitea/blob/master/templates/base/head.tmpl#L159
After a quick test it seems to work wonderfully, so I've made a pull request:
This also solves "Custom Routing / new Pages?! #2115", which asked about custom routing but just needed to add links to pages like "imprint" (German "Impressum", noting who is responsible for the site and other legalities) and "privacy policy". Those pages can be put under "custom/public/".
Related issues about the plugin system:
@AlbertoGP I would like a new tab type Link
like others (i.e. Code
, Issue
) and repository owners could add one or more this tab on the repository. And External Issue Tracker
and External Wiki
could be removed sine they are both Link
tabs.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs during the next 2 weeks. Thank you for your contributions.
so, this has been implemented here: https://github.com/go-gitea/gitea/pull/3308 ? ready to close ?
@warnat If you mean custom template, it did.
We also link to add custom tabs to repos. Unfortunately the approach using templates does not work for us as they can only be edited by system administrators. We want to allow repo managers to be able to add custom tabs, e.g. linking to external apps/resources etc. So it would be great if the repo settings could be extended so custom links can be registered.
@sebthom Why do you not just include a README.md and include these links there? Or enable the wiki and provide these links there?
It would be nice to be able to add custom tabs to the web ui, because then people can link to important places and have it fit in with the rest of the ui. There should be an option to have it be an iframe (for integration), or a standard link.