#112Implement plugin system upstream

I imagine new features to Gogs may be implemented here and ideally merged upstream, which is awesome. But for the changes that are more subjective, such as the changed theme colors and homepage, I think we'd prefer to minimize the changes so merging from upstream doesn't require a lot of maintenance.

If such a thing hasn't been implemented, I imagine a way to go about this is some sort of plugin/theme system implemented in Gogs. Maybe we could implement hooks in Gogs for overriding the stylesheet so we can keep the custom styles totally separate.

I know of the WordPress way, which introduces many hooks that arbitrary code can be loaded into. There is also the way Django does it where you can override system files by creating new files that match the same name.

I'm sharing this here instead of upstream because I think NotABug could benefit from this feature.

Please let me know your thoughts. Thanks!

I imagine new features to Gogs may be implemented here and ideally merged upstream, which is awesome. But for the changes that are more subjective, such as the changed theme colors and homepage, I think we'd prefer to minimize the changes so merging from upstream doesn't require a lot of maintenance.
If such a thing hasn't been implemented, I imagine a way to go about this is some sort of plugin/theme system implemented in Gogs. Maybe we could implement hooks in Gogs for overriding the stylesheet so we can keep the custom styles totally separate.
I know of the WordPress way, which introduces many hooks that arbitrary code can be loaded into. There is also the way Django does it where you can override system files by creating new files that match the same name.
I'm sharing this here instead of upstream because I think NotABug could benefit from this feature.
Please let me know your thoughts. Thanks!

This would indeed be ideal. We could try speccing out something and see if upstream is interested in it, we may also be moving away from gogs and to pagure though, if that happens this becomes kind of moot.

This would indeed be ideal. We could try speccing out something and see if upstream is interested in it, we may also be moving away from gogs and to pagure though, if that happens this becomes kind of moot.

I personally really love Gogs. What is the thinking behind making a change? I can help with front-end code here.

Also, side note: may I ask about NotABug? I noticed it's run by Peers. You all seem like the coolest group ever. But how do you fund these projects? Can we rely on NotABug as a replacement for GitHub? Thanks for all your work!

I personally really love Gogs. What is the thinking behind making a change? I can help with front-end code here.
Also, side note: may I ask about NotABug? I noticed it's run by Peers. You all seem like the coolest group ever. But how do you fund these projects? Can we rely on NotABug as a replacement for GitHub? Thanks for all your work!

Interesting, thanks. Clearly Pagure is the best here. I really just like the familiar and easy to use interface of Gogs. Pagure seems like a step backwards in that sense, but I share your values on the other points. I wonder if this move would deter novice users or users migrating from GitHub.

Interesting, thanks. Clearly Pagure is the best here. I really just like the familiar and easy to use interface of Gogs. Pagure seems like a step backwards in that sense, but I share your values on the other points. I wonder if this move would deter novice users or users migrating from GitHub.

just because the GUI does not look and behave exactly like github does not constitute a step backward - if you're a front-end guy you should well know that the "look-and-feel" should be orthogonal to the underlying features

perhaps you would like to tweak the pagure interface - there is a local fork we will be using for customizations and experimentation here --> https://notabug.org/NotABug.org/pagure - feel free to fork that repo

also - i would not envy anyone with the task of over-riding gogs css now since it is now using strictly "semantic css" which makes customization anywhere from tedious to impossible

o/c the interface of gogs is actually the unashamedly cloned interface of github
@alexgleason -
just because the GUI does not look and behave exactly like github does not constitute a step backward - if you're a front-end guy you should well know that the "look-and-feel" should be orthogonal to the underlying features
perhaps you would like to tweak the pagure interface - there is a local fork we will be using for customizations and experimentation here --> https://notabug.org/NotABug.org/pagure - feel free to fork that repo
also - i would not envy anyone with the task of over-riding gogs css now since it is now using strictly "semantic css" which makes customization anywhere from tedious to impossible