This plugin provides Project Pages functionality for GitBucket based repositories.
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
- 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 just one of the many static site generators (jekyll, hugo, etc)
- download from releases
- copy the jar file to
<GITBUCKET_HOME>/plugins/(Note thatGITBUCKET_HOMEdefaults to~/.gitbucketif not changed otherwise) - restart gitbucket and enjoy
| pages version | gitbucket version |
|---|---|
| 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 |
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 127.0.0.1:8080;
}
}
server {
listen 80;
server_name doc.local;
location ~ ^/([^/]+)/([^/]+)/pages/(.*)$ {
proxy_pass 127.0.0.1:8080;
}
location / {
return 403;
}
}
- build by travis-ci