This plugin provides Project Pages functionality for GitBucket based repositories.
This plugin serves static files directly from one of the following places:
gb-pages
branch (with fallback to gh-pages
to be compatible with
github, this is the default)master
branchdocs
folder under master
branchgb-pages
: git checkout --orphan gb-pages && git rm -f $(git ls-files)
)echo '<h1>hello, world</h1>' > index.html
to create a simple file.<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)
This plugin is bundled with newer version of GitBucket, for older version please follow the instruction below
<GITBUCKET_HOME>/plugins/
(GITBUCKET_HOME
defaults to ~/.gitbucket
)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 |
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;
}
}