-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Languages Statusbar #2165
Comments
Here is the PR to gogs (it was not merged) implemeting that feature gogs/gogs#2135. It could be reused to add it in gitea 😉 |
@xxxTonixxx maybe someone could send it to Gitea. |
If @generaltso want, he could do it! If not, I think I could attempt it 😅 |
gogs/gogs#2135 is certainly out of date by now as the gogs codebase has probably changed and the API for linguist has definitely changed. Of course anyone is more than welcome to use my library but implementing this feature isn't going to be a copy/paste job. That said, I copied and pasted the CSS I whipped up for those screenshots into a codepen: https://codepen.io/anon/pen/PjMdBy -tso |
And I don't think it can be accepted in that form, stats should be generated and cached only once when repository default branch changes, not on every page load |
@lafriks yes, exactly. probably best to have like a post-receive hook that runs in the background and stores the result in the db. -tso |
I put up a small ($5) bounty on this one. Miss this feature! EDIT: Here is the current pledge amount. If anyone else feels like contributing, feel free! |
Hm, now my interest is piqued ;) I could take another stab at it maybe tomorrow evening (I'm in EST). But be forewarned, my preliminary attempt will probably be an awful hack job. I will need to rely on the rest of the community's advice to do it right. -tso |
Sounds great! In addition to caching, the final version should probably also be limited by file size. Maybe an adjustable setting? |
@generaltso Yeah, I just figure it'd kinda suck if someone uploaded some monstrous set of files that the server had to analyze. But, I haven't looked at your linguist library. Does it ever actually do some content analysis or is it pretty much entirely based on extension? If it is purely based on the extension, then I don't think it's necessary to add that particular limitation. |
well it can do either. in the reference implementation, after being filtered by linguist.ShouldIgnoreFilename() the file extension is passed to linguist.LanguageHints(). if there is more than one possible language for an extension (e.g. a pretty straightforward process imo but I'm a tiny bit biased since I wrote it :p it might be more convenient to encapsulate all the nuance into a single package-level function instead of requiring all of those steps for the typical use-case, I welcome any input in improving the library for users as well if you or anyone else have any suggestions :) -tso |
Ah, thanks for the clarification! By the way, #2108 appears to include its own submenu—minus the linguist functionality, though. Might be worth waiting for that to get merged? |
@54 that would seem to make the most sense in the grand scheme of things, but I'm just gonna get to hacking away at something on a separate branch based off master since I just reinstalled MySQL and setup gitea and I'm ready to go, just to get the ball moving I'll update here with screenshots and code and stuff in a couple hours makes coffee ☕ 😁 |
Yeah, of course. I just meant since there is some overlap, probably best not to make something super polished just yet 😁 Good luck, @generaltso! |
OK I got my feet wet in the code base and basically just implemented the design I had previously come up with some dummy placeholder results for now. I have lots of questions but I think I made some decent progress for 1.5 hours of work you can view my commits: these should be probably squashed with a rebase if/when it's ready for a PR NOTE: I had to First thing I did was add a table to the DB (even though I'm not using it just yet) ALTERNATIVE TO THIS would be a single Here's the Commits/Branches/Releases/Contributors bar to complete this I need to know how to
It's already using to complete this I need:
my biggest questions I need guidance with now are:
ADDITIONALLY and this is me getting way ahead of myself here but for the future:
again my commits are viewable here: I appreciate any further guidance but I think I'm going to make dinner now and relax a bit. <3 -tso EDIT: also note there is a transition for the commits/etc bar -> language %'s. It looks like this codepen of a 3D cube flip effect because I took it directly from that and changed the timing function (see also https://github.com/generaltso/gitea/blob/fdcd6b8b9ebfb8098ecfa81f92352c20ed58f270/templates/repo/home.tmpl#L77) |
@genedna all db related operation on |
@lunny @genedna -> @generaltso ? |
@genedna sorry for wrong mention. :) @generaltso |
@lunny thanks I'll have to read over the code in any other comments/feedback on what I did so far? or does it look ok |
@generaltso liking it so far! Any progress update? |
I just want to add that I would love to see the repository size in it (like this extension does it for GitHub). |
@alexanderadam Good idea as well! As far as the language recognition goes, there is already a linguist port to Go. |
@alexanderadam mind opening a seperate issue for that? |
Are there any plans for gitea to get a status-bar that shows how much of different code its used in the git?
And when you click on it you see the different languages that are used and how many % of the code that is used of that language in the git?
Its a really neat feature that i really miss!
The text was updated successfully, but these errors were encountered: