gitbucket-pages-plugin
gitbucket-pages-plugin copied to clipboard
Gitbucket-Pages-Plugin

This plugin provides Project Pages functionality for GitBucket based repositories.
User guide
This plugin serves static files directly from one of the following places:
gb-pagesbranch (with fallback togh-pagesto be compatible with github, this is the default)masterbranchdocsfolder undermasterbranch
Quick start
- create a directory or branch if necessary (eg. create an orphan branch called
gb-pages:git checkout --orphan gb-pages && git rm -f $(git ls-files)) - create a static site under this branch. E.g.
echo '<h1>hello, world</h1>' > index.htmlto create a simple file. - commit && push to gitbucket this orphan branch
- open the browser and point to
<your repo url>/pages
Note: This plugin won't render markdown content. To render markdown content, use the GitBucket Wiki functionality, or use one of the many static site generators (e.g. jekyll, hugo)
Installation
This plugin is bundled with newer version of GitBucket, for older version please follow the instruction below
Install manually
- download from releases
- copy the jar file to
<GITBUCKET_HOME>/plugins/(GITBUCKET_HOMEdefaults to~/.gitbucket) - enable it in plugin settings (you may need to restart gitbucket)
Versions
| pages version | gitbucket version |
|---|---|
| 1.10.0 | 4.36.0 |
| 1.9.0 | 4.35.0 |
| 1.8.0 | 4.32.0 |
| 1.7.0 | 4.23.0 |
| 1.6.0 | 4.19.0 |
| 1.5.0 | 4.15.0 |
| 1.3 | 4.14.1 |
| 1.2 | 4.13 |
| 1.1 | 4.11 |
| 1.0 | 4.10 |
| 0.9 | 4.9 |
| 0.8 | 4.6 |
| 0.7 | 4.3 ~ 4.6 |
| 0.6 | 4.2.x |
| 0.5 | 4.0, 4.1 |
| 0.4 | 3.13 |
| 0.3 | 3.12 |
| 0.2 | 3.11 |
| 0.1 | 3.9, 3.10 |
Security (panic mode)
To prevent XSS, one must use two different domains to host the pages and Gitbucket itself. Below is a working example of nginx configuration to achieve that.
server {
listen 80;
server_name git.local;
location ~ ^/([^/]+)/([^/]+)/pages/(.*)$ {
rewrite ^/([^/]+)/([^/]+)/pages/(.*)$ http://doc.local/$1/$2/pages/$3 redirect;
}
location / {
proxy_pass http://127.0.0.1:8080;
}
}
server {
listen 80;
server_name doc.local;
location ~ ^/([^/]+)/([^/]+)/pages/(.*)$ {
proxy_pass http://127.0.0.1:8080;
}
location / {
return 403;
}
}
CI
- build by GitHub Actions